/*!***********************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./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;
  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,d09GRgABAAAAAAqgABAAAAAAEXwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAKhAAAABwAAAAcjOLzxEdERUYAAApoAAAAHAAAACAAJwAYT1MvMgAAAeQAAABEAAAAVj4wSUZjbWFwAAACPAAAAEYAAAFO0BkDx2N2dCAAAAfYAAAAFAAAABwGSf+UZnBnbQAAAoQAAAT5AAAJkYoKeDtnYXNwAAAKYAAAAAgAAAAIAAAAEGdseWYAAAf4AAAAuAAAALj5yjT+aGVhZAAAAWwAAAA1AAAANhGASlVoaGVhAAABpAAAACAAAAAkB3wDa2htdHgAAAIoAAAAFAAAABQMwgBDbG9jYQAAB+wAAAAMAAAADAA4AFxtYXhwAAABxAAAACAAAAAgAKgAR25hbWUAAAiwAAABgQAAAuggq9iKcG9zdAAACjQAAAAqAAAAPa7AQJpwcmVwAAAHgAAAAFYAAABWkqGa/3icY2BkYGAAYin+m+nx/DZfGeRZGEDgvOmMXhB9PyH33/+//9cz72KWA3I5GJhAogBAsAyTAAAAeJxjYGRgYE77n8YQw8Lw/+///8y7GIAiKIAVAKglBu0AAQAAAAUAFgABAAAAAAACAAYAEwBuAAAALQAcAAAAAHicY2BkPs84gYGVgYOpk+ksAwNDP4RmfMNgxMjBwMDEwMrMgBUEpLmmMDi8YHjByJz2P40hhlmOIRAozAiSAwAYDgv0BAAAAAAAAAABVAAABAAARgNt//14nN2MwQ3AIAwDzxQxBSMwCPtPwRbUCf10BSwlJ0u2gYdzHRGadkpfGWYzRYGlvSOwOMxUzba/Gt+A6XQ0fhLX6wWAUwawAAB4nJ1V2XbTVhSVPGRwEjpkoKAO19w4UOvKhCkYMGkqxXYhHRwIrQQdpAx05J3HPutrjkK7Vh/5tO59PSS0dK22LJbPvkdbZ9g650YcIyp9Gohr1KGSlwOprD2WSvdJXNd1L4+VDAZxXbYST0mbqJ0kSmrd7FAu8VjrKlknWCfj5SBWT1WeZ6AM4hQeZUlEG0QbqZcmSeKJ4yeJFmcQHyVJICWjEKfSyFBCNRrEUtWhTOnQq9cTcdNAykajHnVYVPdDxSfHNafUrANGKlc5whXr1Ua+G6cDL3uQxDrBs62HMR54rH6UKpCKkenIP3ZKTpSGgVRx1KFW4ugwk1/3kUwqzUCmjGJFpe6BuN39dNsWMT10Or4uSpVGqrq5ziia7dHxqIMoD9nG6aTc0Nn28OUZU1SrXXGz7UBmDVxKyWx0n0QAHSZS4+kBTjWcAqkZ9UfF2efPARLJXJSqPFUyh3oDmTM7e3Ex7W4nq7JwpJ8HMm92duOdh0OnV4d/0foXTOHMR4/iYn4+QvpQan4iTiSlRljM8qeGH3FXIEK5MYgLF8rgU4Q5dEXa2WZd47Ux9obP+UqpYT0J2uij+H4K/U4kKxxnUaP1SJzNY9d1rdxnUEu1uxc7Mq9DlSLu7wsLrjPnhGGeFgtVX5753gU0/waIZ/xA3jSFS/uWKUq0b5uiTLtoigrtElSlXTbFFO2KKaZpz5pihvYdU8zSnjMy4//L3OeR+xze8ZCb9l3kpn0PuWnfR27aD5CbViE3bR25aS8gN61GbtpVozp2BBoGaRdSFUHQNLL6YdxWm/VA1ow0fGlg8i5iyPrqREedtbXKH8V/deILB3Jpoqe7Iheb4i6v2xY+PN3uq4+aRt2w1fjGkfIwHkZ6HJrQWfnN4b/tTd0umu4yqjLoARVMCsAAZe1AAtM62wmk9Zqn+PIHYFyGeM5KQ7VUnzuGpu/leV/3sTnxvsftxi63XHd5CVnWDXJj9vDfUmSq6x/lLa1UJ0esKyePVWsYQyq8KLq+kpR7tLUbvyipsvJelNbK55OQmz2DG0Jbtu5hsCNMacolHl5TpSg91FKOskMsbynKPOCUiwtahsS4DnUPamvE6aF6GBsLIYahtL0QcEgpXRXftMp38R6ra9jo+MUV4el6chIRn+Iq+1HwVNdG/egO2rxm3TKDKVWqp/uMT7Gv2/ZRWWmkjrMXt1QH1zTrGjkV00/ka+B0bzho3QM9VHw0QSNVNcfoxihjNJY15d8EdDFWfsNo1WL7PdxPnaRVrLlLmOybE/fgtLv9Kvu1nFtG1v3XBr1t5IqfIzG/LQr8Owdit2QN1DuTgRgLyFnQGMYWJncYroNtxG32Pyan/9+GhUVyVzsau3nqw9WTUSV32fK4y012WdejNkfVThr7CI0tDzfm2OFyLLbEYEG2/sH/Me4Bd2lRAuDQyGWYiNp0oZ7q4eoeq7FtOFcSAXbNseN0AHoALkHfHLvW8wmA9dwj5y7AfXIIdsgh+JQcgs/IuQXwOTkEX5BDMCCHYJecOwAPyCF4SA7BHjkEj8jZBPiSHIKvyCGIySFIyLkN8JgcgifkEHxNDsE3Rq5OZP6WB9kA+s6im0CpnRoc2jhkRq5N2Ps8WPaBRWQfWkTqkZHrE+pTHiz1e4tI/cEiUn80cmNC/YkHS/3ZIlJ/sYjUZ8aXmSMprw6e844O/gSX6q1eAAAAS7gAyFJYsQEBjlm5CAAIAGMgsAEjRLADI3CyBCgJRVJEsgoCByqxBgFEsSQBiFFYsECIWLEGA0SxJgGIUVi4BACIWLEGAURZWVlZuAH/hbAEjbEFAEQAAHicY2BAA0YMRszc/zeCMAAQtAPhAAAAAAAAAAAAOABcAAEARgABA7oCqAAVABxAGQ8BAAEBQgACAQJqAAEAAWoAAABhFBcUAxIrARQHAQYiJwEmND8BNjIfAQE2Mh8BFgO6D/4UEC0Q/uMPD04QLRGoAXYQLhBODwIjFxD+FA8PAR0QLRFOEBCpAXgQEE4QAAAB//3/rwN0Ax4ADAASQA8AAQEKQwAAAAsARBUTAhErARQOASIuAj4BMh4BA251y+3NcQZ9wPq/gQFmeMh3d8nvyXd3yQAAAHicfZHLSsNAFIb/6UVrCyIKrg8IYhHSC7pxVSlUcOmi+7SmSUqaCZOp0NfxGdz6CLpz69atK9f+SUfBgk3I5Dv/ucyZMwAO8Q6F9XOJxLFCA0+OK9jFi+Mq9Q/HNTRUxXEdLXXieIf6teMmztWj4xaO1BcrqNoerXlZrWCFAzw6rmAfz46r1N8c18ifjus4Vi3HOzhQHcdNjNWt4xZO1SuG0MiwgkGMEBEsBGdU2/z30UUPF6QJI4SR66gYKXzOQbgumRGVnpz2gN+MVko1YERC9jDlugCGOluZOIysnA3b0u/2LmSyEk0pTv1E/KWNtMllIDOd2iBJtDfVTNushx83cEcxZAsJGzE0g3CZ+GZryhbXmGJxjLgMER7d4wAwDkwe61R6Xndr+g3FtCzhlwH3v3PL8cA2+1QtCxQTMuVEBKONcsK7KHxzKlPqHssGaWB8G9wXw8ofwr61M5kZvZCR21oyo+fB1DI4KvfIcIUO339vIrI2u+p0/sz5GyLHh70AAAB4nGNgYoAALgbsgBWIGRmYGJkYmTmTM1KTs3MTi7LZkjOLknNSATkPBkYAAAABAAH//wAPeJxjYGRgYOABYgEGCQYmIM0CxCCaEYIBBW0AQAAAAAEAAAAA3kztOAAAAADPNZiNAAAAAN9gbf4=) 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;
  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 (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);
  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);
  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);
  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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9ycy1ub2RlX21vZHVsZXNfZm9tYW50aWMtdWktbGVzc19zZW1hbnRpY19sZXNzLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Ozs7OztDQVVDO0FBQ0QsV0FBVztBQUNYOzs7Ozs7OztFQVFFO0FBQ0Y7OytCQUUrQjtBQUMvQjs7Ozs7Ozs7O0NBU0M7QUFDRDs7K0JBRStCO0FBQy9COztDQUVDO0FBQ0QsV0FBVztBQUNYLGFBQWE7QUFDYixnQkFBZ0I7QUFDaEIsWUFBWTtBQUNaLFVBQVU7QUFDVjs7K0JBRStCO0FBQy9CLDJCQUEyQjtBQUMzQixpQ0FBaUM7QUFDakM7OytCQUUrQjtBQUMvQjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3VCQUV1QjtBQUN2QiwyQkFBMkI7QUFDM0I7OytCQUUrQjtBQUMvQjs7MkRBRTJEO0FBQzNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9CLFdBQVc7QUFDWCxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsV0FBVztBQUNYLFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsZUFBZTtBQUNmLFNBQVM7QUFDVCxTQUFTO0FBQ1QsU0FBUztBQUNULFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQixPQUFPO0FBQ1AsU0FBUztBQUNULFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNULGNBQWM7QUFDZDs7K0JBRStCO0FBQy9CLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFdBQVc7QUFDWCxVQUFVO0FBQ1YsUUFBUTtBQUNSLFVBQVU7QUFDVixhQUFhO0FBQ2IsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFV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QUNHO0FOeW5GUjtBTXJuRlE7RUFDSTtBTnVuRlo7QU1sbkZRO0VBQ0k7QU5vbkZaO0FNbm5GWTtFQUNJO0FOcW5GaEI7QU1wbkZnQjtFQUNJO0FOc25GcEI7QUFDQTs7MEJBRTBCO0FNN21GdEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBTittRlI7QU01bUZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjhtRlI7QU0zbUZJO0VBQ0k7QU42bUZSO0FBQ0EsYUFBYTtBTTFtRlQ7RUFDSTtBTjRtRlI7QU16bUZJO0VBQ0k7QU4ybUZSO0FBQ0E7OzBCQUUwQjtBQUMxQixhQUFhO0FNcm1GVDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU51bUZSO0FBQ0EsaUJBQWlCO0FNcG1GYjtFQUNJO0FOc21GUjtBTW5tRkk7RUFDSTtBTnFtRlI7QUFDQSxpQkFBaUI7QU1sbUZiO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTm9tRlI7QU1qbUZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QU5tbUZSO0FBQ0EsV0FBVztBTWhtRlA7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTmttRlI7QU0vbEZJO0VBQ0k7QU5pbUZSO0FNOWxGSTtFQUNJO0FOZ21GUjtBTTdsRkk7RUFDSTtBTitsRlI7QUFDQSxpQkFBaUI7QU01bEZiO0VBQ0k7RUFDQTtBTjhsRlI7QU0zbEZJO0VBQ0k7QU42bEZSO0FNMWxGSTtFQUNJO0FONGxGUjtBTXpsRkk7RUFDSTtFQUNBO0FOMmxGUjtBTXhsRkk7RUFDSTtBTjBsRlI7QU12bEZJO0VBQ0k7QU55bEZSO0FBQ0EsaUJBQWlCO0FNdGxGYjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FOd2xGUjtBTXJsRkk7RUFDSTtFQUNBO0FOdWxGUjtBTXBsRkk7RUFDSTtFQUNBO0FOc2xGUjtBTW5sRkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBTnFsRlI7QU1sbEZJO0VBQ0k7RUFDQTtBTm9sRlI7QU1qbEZJO0VBQ0k7RUFDQTtBTm1sRlI7QUFDQTs7MEJBRTBCO0FNN2tGdEI7O0VBRUk7QU4ra0ZSO0FNNWtGSTtFQUNJO0FOOGtGUjtBTTFrRkk7RUFDSTtBTjRrRlI7QU16a0ZJO0VBQ0k7QU4ya0ZSO0FNeGtGSTtFQUNJO0FOMGtGUjtBTXZrRkk7RUFDSTtBTnlrRlI7QU10a0ZJO0VBQ0k7QU53a0ZSO0FNcmtGSTtFQUNJO0FOdWtGUjtBTXBrRkk7RUFDSTtBTnNrRlI7QU1ua0ZJO0VBQ0k7QU5xa0ZSO0FNbGtGSTtFQUNJO0FOb2tGUjtBTWprRkk7RUFDSTtBTm1rRlI7QU1oa0ZJO0VBQ0k7QU5ra0ZSO0FNL2pGSTtFQUNJO0FOaWtGUjtBTTlqRkk7RUFDSTtBTmdrRlI7QU03akZJO0VBQ0k7QU4rakZSO0FNNWpGSTtFQUNJO0FOOGpGUjtBTTNqRkk7RUFDSTtBTjZqRlI7QU0xakZJO0VBQ0k7QU40akZSO0FNempGSTtFQUNJO0FOMmpGUjtBTXhqRkk7RUFDSTtBTjBqRlI7QU12akZJO0VBQ0k7QU55akZSO0FNdGpGSTtFQUNJO0FOd2pGUjtBTXJqRkk7RUFDSTtBTnVqRlI7QUFDQSwyQkFBMkI7QU1qakZuQjs7RUFFSTtFQUNBO0VBQ0E7QU5takZaO0FNOWlGUTtFQUNJO0FOZ2pGWjtBTTdpRlE7RUFDSTtBTitpRlo7QU01aUZRO0VBQ0k7QU44aUZaO0FNM2lGUTtFQUNJO0FONmlGWjtBTTFpRlE7RUFDSTtBTjRpRlo7QU16aUZRO0VBQ0k7QU4yaUZaO0FNeGlGUTtFQUNJO0FOMGlGWjtBTXZpRlE7RUFDSTtBTnlpRlo7QU10aUZRO0VBQ0k7QU53aUZaO0FNcmlGUTtFQUNJO0FOdWlGWjtBTXBpRlE7RUFDSTtBTnNpRlo7QUFDQTs7c0JBRXNCO0FNeGdGYjs7RUFFRztFQUNBO0VBQ0E7RUFDQTtBTjBnRlo7QU14Z0ZTO0VBQ0c7QU4wZ0ZaO0FNeGdGUzs7RUFFRztFQUNBO0VBQ0E7QU4wZ0ZaO0FNeGdGUzs7RUFFRztFQUNBO0VBQ0E7QU4wZ0ZaO0FNeGdGUzs7RUFFRztFQUNBO0VB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UjtBVWpoU0s7RUFDRztFQUNBO0FWbWhTUjtBVXJoU0s7RUFDRztFQUNBO0FWdWhTUjtBVXpoU0s7RUFDRztFQUNBO0FWMmhTUjtBVXJoU1E7O0VBQ0k7QVZ3aFNaO0FVemhTUTs7RUFDSTtBVjRoU1o7QVU3aFNROztFQUNJO0FWZ2lTWjtBVWppU1E7O0VBQ0k7QVZvaVNaO0FVcmlTUTs7RUFDSTtBVndpU1o7QVV6aVNROztFQUNJO0FWNGlTWjtBVTdpU1E7O0VBQ0k7QVZnalNaO0FVampTUTs7RUFDSTtBVm9qU1o7QVVyalNROztFQUNJO0FWd2pTWjtBVXpqU1E7O0VBQ0k7QVY0alNaO0FVN2pTUTs7RUFDSTtBVmdrU1o7QVVqa1NROztFQUNJO0FWb2tTWjtBVXJrU1E7O0VBQ0k7QVZ3a1NaO0FVemtTUTs7RUFDSTtBVjRrU1o7QVU3a1NROztFQUNJO0FWZ2xTWjtBVWpsU1E7O0VBQ0k7QVZvbFNaO0FVcmxTUTs7RUFDSTtBVndsU1o7QVV6bFNROztFQUNJO0FWNGxTWjtBVTdsU1E7O0VBQ0k7QVZnbVNaO0FVam1TUTs7RUFDSTtBVm9tU1o7QVVybVNROztFQUNJO0FWd21TWjtBVXptU1E7O0VBQ0k7QVY0bVNaO0FVN21TUTs7RUFDSTtBVmduU1o7QVVqblNROztFQUNJO0FWb25TWjtBVXJuU1E7O0VBQ0k7QVZ3blNaO0FVem5TUTs7RUFDSTtBVjRuU1o7QVU3blNROztFQUNJO0FWZ29TWjtBVWpvU1E7O0VBQ0k7QVZvb1NaO0FVcm9TUTs7RUFDSTtBVndvU1o7QVV6b1NROztFQUNJO0FWNG9TWjtBVTdvU1E7O0VBQ0k7QVZncFNaO0FVanBTUTs7RUFDSTtBVm9wU1o7QVVycFNROztFQUNJO0FWd3BTWjtBVXpwU1E7O0VBQ0k7QVY0cFNaO0FVN3BTUTs7RUFDSTtBVmdxU1o7QVVqcVNROztFQUNJO0FWb3FTWjtBVXJxU1E7O0VBQ0k7QVZ3cVNaO0FVenFTUTs7RUFDSTtBVjRxU1o7QVU3cVNROztFQUNJO0FWZ3JTWjtBVWpyU1E7O0VBQ0k7QVZvclNaO0FVcnJTUTs7RUFDSTtBVndyU1o7QVV6clNROztFQUNJO0FWNHJTWjtBVTdyU1E7O0VBQ0k7QVZnc1NaO0FVanNTUTs7RUFDSTtBVm9zU1o7QVVyc1NROztFQUNJO0FWd3NTWjtBVXpzU1E7O0VBQ0k7QVY0c1NaO0FVN3NTUTs7RUFDSTtBVmd0U1o7QVVqdFNROztFQUNJO0FWb3RTWjtBVXJ0U1E7O0VBQ0k7QVZ3dFNaO0FVenRTUTs7RUFDSTtBVjR0U1o7QVU3dFNROztFQUNJO0FWZ3VTWjtBVWp1U1E7O0VBQ0k7QVZvdVNaO0FVcnVTUTs7RUFDSTtBVnd1U1o7QVV6dVNROztFQUNJO0FWNHVTWjtBVTd1U1E7O0VBQ0k7QVZndlNaO0FVanZTUTs7RUFDSTtBVm92U1o7QVVydlNROztFQUNJO0FWd3ZTWjtBVXp2U1E7O0VBQ0k7QVY0dlNaO0FVN3ZTUTs7RUFDSTtBVmd3U1o7QVVqd1NROztFQUNJO0FWb3dTWjtBVXJ3U1E7O0VBQ0k7QVZ3d1NaO0FVendTUTs7RUFDSTtBVjR3U1o7QVU3d1NROztFQUNJO0FWZ3hTWjtBVWp4U1E7O0VBQ0k7QVZveFNaO0FVcnhTUTs7RUFDSTtBVnd4U1o7QVV6eFNROztFQUNJO0FWNHhTWjtBVTd4U1E7O0VBQ0k7QVZneVNaO0FVanlTUTs7RUFDSTtBVm95U1o7QVVyeVNROztFQUNJO0FWd3lTWjtBVXp5U1E7O0VBQ0k7QVY0eVNaO0FVN3lTUTs7RUFDSTtBVmd6U1o7QVVqelNROztFQUNJO0FWb3pTWjtBVXJ6U1E7O0VBQ0k7QVZ3elNaO0FVenpTUTs7RUFDSTtBVjR6U1o7QVU3elNROztFQUNJO0FWZzBTWjtBVWowU1E7O0VBQ0k7QVZvMFNaO0FVcjBTUTs7RUFDSTtBVncwU1o7QVV6MFNROztFQUNJO0FWNDBTWjtBVTcwU1E7O0VBQ0k7QVZnMVNaO0FVajFTUTs7RUFDSTtBVm8xU1o7QVVyMVNROztFQUNJO0FWdzFTWjtBVXoxU1E7O0VBQ0k7QVY0MVNaO0FVNzFTUTs7RUFDSTtBVmcyU1o7QVVqMlNROztFQUNJO0FWbzJTWjtBVXIyU1E7O0VBQ0k7QVZ3MlNaO0FVejJTUTs7RUFDSTtBVjQyU1o7QVU3MlNROztFQUNJO0FWZzNTWjtBVWozU1E7O0VBQ0k7QVZvM1NaO0FVcjNTUTs7RUFDSTtBVnczU1o7QVV6M1NROztFQUNJO0FWNDNTWjtBVTczU1E7O0VBQ0k7QVZnNFNaO0FVajRTUTs7RUFDSTtBVm80U1o7QVVyNFNROztFQUNJO0FWdzRTWjtBVXo0U1E7O0VBQ0k7QVY0NFNaO0FVNzRTUTs7RUFDSTtBVmc1U1o7QVVqNVNROztFQUNJO0FWbzVTWjtBVXI1U1E7O0VBQ0k7QVZ3NVNaO0FVejVTUTs7RUFDSTtBVjQ1U1o7QVU3NVNROztFQUNJO0FWZzZTWjtBVWo2U1E7O0VBQ0k7QVZvNlNaO0FVcjZTUTs7RUFDSTtBVnc2U1o7QVV6NlNROztFQUNJO0FWNDZTWjtBVTc2U1E7O0VBQ0k7QVZnN1NaO0FVajdTUTs7RUFDSTtBVm83U1o7QVVyN1NROztFQUNJO0FWdzdTWjtBVXo3U1E7O0VBQ0k7QVY0N1NaO0FVNzdTUTs7RUFDSTtBVmc4U1o7QVVqOFNROztFQUNJO0FWbzhTWjtBVXI4U1E7O0VBQ0k7QVZ3OFNaO0FVejhTUTs7RUFDSTtBVjQ4U1o7QVU3OFNROztFQUNJO0FWZzlTWjtBVWo5U1E7O0VBQ0k7QVZvOVNaO0FVcjlTUTs7RUFDSTtBVnc5U1o7QVV6OVNROztFQUNJO0FWNDlTWjtBVTc5U1E7O0VBQ0k7QVZnK1NaO0FVaitTUTs7RUFDSTtBVm8rU1o7QVVyK1NROztFQUNJO0FWdytTWjtBVXorU1E7O0VBQ0k7QVY0K1NaO0FVNytTUTs7RUFDSTtBVmcvU1o7QVVqL1NROztFQUNJO0FWby9TWjtBVXIvU1E7O0VBQ0k7QVZ3L1NaO0FVei9TUTs7RUFDSTtBVjQvU1o7QVU3L1NROztFQUNJO0FWZ2dUWjtBVWpnVFE7O0VBQ0k7QVZvZ1RaO0FVcmdUUTs7RUFDSTtBVndnVFo7QVV6Z1RROztFQUNJO0FWNGdUWjtBVTdnVFE7O0VBQ0k7QVZnaFRaO0FVamhUUTs7RUFDSTtBVm9oVFo7QVVyaFRROztFQUNJO0FWd2hUWjtBVXpoVFE7O0VBQ0k7QVY0aFRaO0FVN2hUUTs7RUFDSTtBVmdpVFo7QVVqaVRROztFQUNJO0FWb2lUWjtBVXJpVFE7O0VBQ0k7QVZ3aVRaO0FVemlUUTs7RUFDSTtBVjRpVFo7QVU3aVRROztFQUNJO0FWZ2pUWjtBVWpqVFE7O0VBQ0k7QVZvalRaO0FVcmpUUTs7RUFDSTtBVndqVFo7QVV6alRROztFQUNJO0FWNGpUWjtBVTdqVFE7O0VBQ0k7QVZna1RaO0FVamtUUTs7RUFDSTtBVm9rVFo7QVVya1RROztFQUNJO0FWd2tUWjtBVXprVFE7O0VBQ0k7QVY0a1RaO0FVN2tUUTs7RUFDSTtBVmdsVFo7QVVqbFRROztFQUNJO0FWb2xUWjtBVXJsVFE7O0VBQ0k7QVZ3bFRaO0FVemxUUTs7RUFDSTtBVjRsVFo7QVU3bFRROztFQUNJO0FWZ21UWjtBVWptVFE7O0VBQ0k7QVZvbVRaO0FVcm1UUTs7RUFDSTtBVndtVFo7QVV6bVRROztFQUNJO0FWNG1UWjtBVTdtVFE7O0VBQ0k7QVZnblRaO0FVam5UUTs7RUFDSTtBVm9uVFo7QVVyblRROztFQUNJO0FWd25UWjtBVXpuVFE7O0VBQ0k7QVY0blRaO0FVN25UUTs7RUFDSTtBVmdvVFo7QVVqb1RROztFQUNJO0FWb29UWjtBVXJvVFE7O0VBQ0k7QVZ3b1RaO0FVem9UUTs7RUFDSTtBVjRvVFo7QVU3b1RROztFQUNJO0FWZ3BUWjtBVWpwVFE7O0VBQ0k7QVZvcFRaO0FVcnBUUTs7RUFDSTtBVndwVFo7QVV6cFRROztFQUNJO0FWNHBUWjtBVTdwVFE7O0VBQ0k7QVZncVRaO0FVanFUUTs7RUFDSTtBVm9xVFo7QVVycVRROztFQUNJO0FWd3FUWjtBVXpxVFE7O0VBQ0k7QVY0cVRaO0FVN3FUUTs7RUFDSTtBVmdyVFo7QVVqclRROztFQUNJO0FWb3JUWjtBVXJyVFE7O0VBQ0k7QVZ3clRaO0FVenJUUTs7RUFDSTtBVjRyVFo7QVU3clRROztFQUNJO0FWZ3NUWjtBVWpzVFE7O0VBQ0k7QVZvc1RaO0FVcnNUUTs7RUFDSTtBVndzVFo7QVV6c1RROztFQUNJO0FWNHNUWjtBVTdzVFE7O0VBQ0k7QVZndFRaO0FVanRUUTs7RUFDSTtBVm90VFo7QVVydFRROztFQUNJO0FWd3RUWjtBVXp0VFE7O0VBQ0k7QVY0dFRaO0FVN3RUUTs7RUFDSTtBVmd1VFo7QVVqdVRROztFQUNJO0FWb3VUWjtBVXJ1VFE7O0VBQ0k7QVZ3dVRaO0FVenVUUTs7RUFDSTtBVjR1VFo7QVU3dVRROztFQUNJO0FWZ3ZUWjtBVWp2VFE7O0VBQ0k7QVZvdlRaO0FVcnZUUTs7RUFDSTtBVnd2VFo7QVV6dlRROztFQUNJO0FWNHZUWjtBVTd2VFE7O0VBQ0k7QVZnd1RaO0FVandUUTs7RUFDSTtBVm93VFo7QVVyd1RROztFQUNJO0FWd3dUWjtBVXp3VFE7O0VBQ0k7QVY0d1RaO0FVN3dUUTs7RUFDSTtBVmd4VFo7QVVqeFRROztFQUNJO0FWb3hUWjtBVXJ4VFE7O0VBQ0k7QVZ3eFRaO0FVenhUUTs7RUFDSTtBVjR4VFo7QVU3eFRROztFQUNJO0FWZ3lUWjtBVWp5VFE7O0VBQ0k7QVZveVRaO0FVcnlUUTs7RUFDSTtBVnd5VFo7QVV6eVRROztFQUNJO0FWNHlUWjtBVTd5VFE7O0VBQ0k7QVZnelRaO0FVanpUUTs7RUFDSTtBVm96VFo7QVVyelRROztFQUNJO0FWd3pUWjtBVXp6VFE7O0VBQ0k7QVY0elRaO0FVN3pUUTs7RUFDSTtBVmcwVFo7QVVqMFRROztFQUNJO0FWbzBUWjtBVXIwVFE7O0VBQ0k7QVZ3MFRaO0FVejBUUTs7RUFDSTtBVjQwVFo7QVU3MFRROztFQUNJO0FWZzFUWjtBVWoxVFE7O0VBQ0k7QVZvMVRaO0FVcjFUUTs7RUFDSTtBVncxVFo7QVV6MVRROztFQUNJO0FWNDFUWjtBVTcxVFE7O0VBQ0k7QVZnMlRaO0FVajJUUTs7RUFDSTtBVm8yVFo7QVVyMlRROztFQUNJO0FWdzJUWjtBVXoyVFE7O0VBQ0k7QVY0MlRaO0FVNzJUUTs7RUFDSTtBVmczVFo7QVVqM1RROztFQUNJO0FWbzNUWjtBVXIzVFE7O0VBQ0k7QVZ3M1RaO0FVejNUUTs7RUFDSTtBVjQzVFo7QVU3M1RROztFQUNJO0FWZzRUWjtBVWo0VFE7O0VBQ0k7QVZvNFRaO0FVcjRUUTs7RUFDSTtBVnc0VFo7QVV6NFRROztFQUNJO0FWNDRUWjtBVTc0VFE7O0VBQ0k7QVZnNVRaO0FVajVUUTs7RUFDSTtBVm81VFo7QVVyNVRROztFQUNJO0FWdzVUWjtBVXo1VFE7O0VBQ0k7QVY0NVRaO0FVNzVUUTs7RUFDSTtBVmc2VFo7QVVqNlRROztFQUNJO0FWbzZUWjtBVXI2VFE7O0VBQ0k7QVZ3NlRaO0FVejZUUTs7RUFDSTtBVjQ2VFo7QVU3NlRROztFQUNJO0FWZzdUWjtBVWo3VFE7O0VBQ0k7QVZvN1RaO0FVcjdUUTs7RUFDSTtBVnc3VFo7QVV6N1RROztFQUNJO0FWNDdUWjtBVTc3VFE7O0VBQ0k7QVZnOFRaO0FVajhUUTs7RUFDSTtBVm84VFo7QVVyOFRROztFQUNJO0FWdzhUWjtBVXo4VFE7O0VBQ0k7QVY0OFRaO0FVNzhUUTs7RUFDSTtBVmc5VFo7QVVqOVRROztFQUNJO0FWbzlUWjtBVXI5VFE7O0VBQ0k7QVZ3OVRaO0FVejlUUTs7RUFDSTtBVjQ5VFo7QVU3OVRROztFQUNJO0FWZytUWjtBVWorVFE7O0VBQ0k7QVZvK1RaO0FVcitUUTs7RUFDSTtBVncrVFo7QVV6K1RROztFQUNJO0FWNCtUWjtBVTcrVFE7O0VBQ0k7QVZnL1RaO0FVai9UUTs7RUFDSTtBVm8vVFo7QVVyL1RROztFQUNJO0FWdy9UWjtBVXovVFE7O0VBQ0k7QVY0L1RaO0FVNy9UUTs7RUFDSTtBVmdnVVo7QVVqZ1VROztFQUNJO0FWb2dVWjtBVXJnVVE7O0VBQ0k7QVZ3Z1VaO0FVemdVUTs7RUFDSTtBVjRnVVo7QVU3Z1VROztFQUNJO0FWZ2hVWjtBVWpoVVE7O0VBQ0k7QVZvaFVaO0FVcmhVUTs7RUFDSTtBVndoVVo7QVV6aFVROztFQUNJO0FWNGhVWjtBVTdoVVE7O0VBQ0k7QVZnaVVaO0FVamlVUTs7RUFDSTtBVm9pVVo7QVVyaVVROztFQUNJO0FWd2lVWjtBVXppVVE7O0VBQ0k7QVY0aVVaO0FVN2lVUTs7RUFDSTtBVmdqVVo7QVVqalVROztFQUNJO0FWb2pVWjtBVXJqVVE7O0VBQ0k7QVZ3alVaO0FVempVUTs7RUFDSTtBVjRqVVo7QVU3alVROztFQUNJO0FWZ2tVWjtBVWprVVE7O0VBQ0k7QVZva1VaO0FVcmtVUTs7RUFDSTtBVndrVVo7QVV6a1VROztFQUNJO0FWNGtVWjtBVTdrVVE7O0VBQ0k7QVZnbFVaO0FVamxVUTs7RUFDSTtBVm9sVVo7QVVybFVROztFQUNJO0FWd2xVWjtBVXpsVVE7O0VBQ0k7QVY0bFVaO0FVN2xVUTs7RUFDSTtBVmdtVVo7QVVqbVVROztFQUNJO0FWb21VWjtBVXJtVVE7O0VBQ0k7QVZ3bVVaO0FVem1VUTs7RUFDSTtBVjRtVVo7QVU3bVVROztFQUNJO0FWZ25VWjtBVWpuVVE7O0VBQ0k7QVZvblVaO0FVcm5VUTs7RUFDSTtBVnduVVo7QVV6blVROztFQUNJO0FWNG5VWjtBVTduVVE7O0VBQ0k7QVZnb1VaO0FVam9VUTs7RUFDSTtBVm9vVVo7QVVyb1VROztFQUNJO0FWd29VWjtBVXpvVVE7O0VBQ0k7QVY0b1VaO0FVN29VUTs7RUFDSTtBVmdwVVo7QVVqcFVROztFQUNJO0FWb3BVWjtBVXJwVVE7O0VBQ0k7QVZ3cFVaO0FVenBVUTs7RUFDSTtBVjRwVVo7QVU3cFVROztFQUNJO0FWZ3FVWjtBVWpxVVE7O0VBQ0k7QVZvcVVaO0FVcnFVUTs7RUFDSTtBVndxVVo7QVV6cVVROztFQUNJO0FWNHFVWjtBVTdxVVE7O0VBQ0k7QVZnclVaO0FVanJVUTs7RUFDSTtBVm9yVVo7QVVyclVROztFQUNJO0FWd3JVWjtBVXpyVVE7O0VBQ0k7QVY0clVaO0FVN3JVUTs7RUFDSTtBVmdzVVo7QVVqc1VROztFQUNJO0FWb3NVWjtBVXJzVVE7O0VBQ0k7QVZ3c1VaO0FVenNVUTs7RUFDSTtBVjRzVVo7QVU3c1VROztFQUNJO0FWZ3RVWjtBVWp0VVE7O0VBQ0k7QVZvdFVaO0FVcnRVUTs7RUFDSTtBVnd0VVo7QVV6dFVROztFQUNJO0FWNHRVWjtBVTd0VVE7O0VBQ0k7QVZndVVaO0FVanVVUTs7RUFDSTtBVm91VVo7QVVydVVROztFQUNJO0FWd3VVWjtBVXp1VVE7O0VBQ0k7QVY0dVVaO0FVN3VVUTs7RUFDSTtBVmd2VVo7QVVqdlVROztFQUNJO0FWb3ZVWjtBVXJ2VVE7O0VBQ0k7QVZ3dlVaO0FVenZVUTs7RUFDSTtBVjR2VVo7QVU3dlVROztFQUNJO0FWZ3dVWjtBVWp3VVE7O0VBQ0k7QVZvd1VaO0FVcndVUTs7RUFDSTtBVnd3VVo7QVV6d1VROztFQUNJO0FWNHdVWjtBVTd3VVE7O0VBQ0k7QVZneFVaO0FVanhVUTs7RUFDSTtBVm94VVo7QVVyeFVROztFQUNJO0FWd3hVWjtBVXp4VVE7O0VBQ0k7QVY0eFVaO0FVN3hVUTs7RUFDSTtBVmd5VVo7QVVqeVVROztFQUNJO0FWb3lVWjtBVXJ5VVE7O0VBQ0k7QVZ3eVVaO0FVenlVUTs7RUFDSTtBVjR5VVo7QVU3eVVROztFQUNJO0FWZ3pVWjtBVWp6VVE7O0VBQ0k7QVZvelVaO0FVcnpVUTs7RUFDSTtBVnd6VVo7QVV6elVROztFQUNJO0FWNHpVWjtBVTd6VVE7O0VBQ0k7QVZnMFVaO0FVajBVUTs7RUFDSTtBVm8wVVo7QVVyMFVROztFQUNJO0FWdzBVWjtBVXowVVE7O0VBQ0k7QVY0MFVaO0FVNzBVUTs7RUFDSTtBVmcxVVo7QVVqMVVROztFQUNJO0FWbzFVWjtBVXIxVVE7O0VBQ0k7QVZ3MVVaO0FVejFVUTs7RUFDSTtBVjQxVVo7QVU3MVVROztFQUNJO0FWZzJVWjtBVWoyVVE7O0VBQ0k7QVZvMlVaO0FVcjJVUTs7RUFDSTtBVncyVVo7QVV6MlVROztFQUNJO0FWNDJVWjtBVTcyVVE7O0VBQ0k7QVZnM1VaO0FVajNVUTs7RUFDSTtBVm8zVVo7QVVyM1VROztFQUNJO0FWdzNVWjtBVXozVVE7O0VBQ0k7QVY0M1VaO0FVNzNVUTs7RUFDSTtBVmc0VVo7QVVqNFVROztFQUNJO0FWbzRVWjtBVXI0VVE7O0VBQ0k7QVZ3NFVaO0FVejRVUTs7RUFDSTtBVjQ0VVo7QVU3NFVROztFQUNJO0FWZzVVWjtBVWo1VVE7O0VBQ0k7QVZvNVVaO0FVcjVVUTs7RUFDSTtBVnc1VVo7QVV6NVVROztFQUNJO0FWNDVVWjtBVTc1VVE7O0VBQ0k7QVZnNlVaO0FVajZVUTs7RUFDSTtBVm82VVo7QVVyNlVROztFQUNJO0FWdzZVWjtBVXo2VVE7O0VBQ0k7QVY0NlVaO0FVNzZVUTs7RUFDSTtBVmc3VVo7QVVqN1VROztFQUNJO0FWbzdVWjtBVXI3VVE7O0VBQ0k7QVZ3N1VaO0FVejdVUTs7RUFDSTtBVjQ3VVo7QVU3N1VROztFQUNJO0FWZzhVWjtBVWo4VVE7O0VBQ0k7QVZvOFVaO0FVcjhVUTs7RUFDSTtBVnc4VVo7QVV6OFVROztFQUNJO0FWNDhVWjtBVTc4VVE7O0VBQ0k7QVZnOVVaO0FVajlVUTs7RUFDSTtBVm85VVo7QVVyOVVROztFQUNJO0FWdzlVWjtBVXo5VVE7O0VBQ0k7QVY0OVVaO0FVNzlVUTs7RUFDSTtBVmcrVVo7QVVqK1VROztFQUNJO0FWbytVWjtBVXIrVVE7O0VBQ0k7QVZ3K1VaO0FVeitVUTs7RUFDSTtBVjQrVVo7QVU3K1VROztFQUNJO0FWZy9VWjtBVWovVVE7O0VBQ0k7QVZvL1VaO0FVci9VUTs7RUFDSTtBVncvVVo7QVV6L1VROztFQUNJO0FWNC9VWjtBVTcvVVE7O0VBQ0k7QVZnZ1ZaO0FVamdWUTs7RUFDSTtBVm9nVlo7QVVyZ1ZROztFQUNJO0FWd2dWWjtBVXpnVlE7O0VBQ0k7QVY0Z1ZaO0FVN2dWUTs7RUFDSTtBVmdoVlo7QVVqaFZROztFQUNJO0FWb2hWWjtBVXJoVlE7O0VBQ0k7QVZ3aFZaO0FVemhWUTs7RUFDSTtBVjRoVlo7QVU3aFZROztFQUNJO0FWZ2lWWjtBVWppVlE7O0VBQ0k7QVZvaVZaO0FVcmlWUTs7RUFDSTtBVndpVlo7QVV6aVZROztFQUNJO0FWNGlWWjtBVTdpVlE7O0VBQ0k7QVZnalZaO0FVampWUTs7RUFDSTtBVm9qVlo7QVVyalZROztFQUNJO0FWd2pWWjtBVXpqVlE7O0VBQ0k7QVY0alZaO0FVN2pWUTs7RUFDSTtBVmdrVlo7QVVqa1ZROztFQUNJO0FWb2tWWjtBVXJrVlE7O0VBQ0k7QVZ3a1ZaO0FVemtWUTs7RUFDSTtBVjRrVlo7QVU3a1ZROztFQUNJO0FWZ2xWWjtBVWpsVlE7O0VBQ0k7QVZvbFZaO0FVcmxWUTs7RUFDSTtBVndsVlo7QVV6bFZROztFQUNJO0FWNGxWWjtBVTdsVlE7O0VBQ0k7QVZnbVZaO0FVam1WUTs7RUFDSTtBVm9tVlo7QVVybVZROztFQUNJO0FWd21WWjtBVXptVlE7O0VBQ0k7QVY0bVZaO0FVN21WUTs7RUFDSTtBVmduVlo7QVVqblZROztFQUNJO0FWb25WWjtBVXJuVlE7O0VBQ0k7QVZ3blZaO0FVem5WUTs7RUFDSTtBVjRuVlo7QVU3blZROztFQUNJO0FWZ29WWjtBVWpvVlE7O0VBQ0k7QVZvb1ZaO0FVcm9WUTs7RUFDSTtBVndvVlo7QVV6b1ZROztFQUNJO0FWNG9WWjtBVTdvVlE7O0VBQ0k7QVZncFZaO0FVanBWUTs7RUFDSTtBVm9wVlo7QVVycFZROztFQUNJO0FWd3BWWjtBVXpwVlE7O0VBQ0k7QVY0cFZaO0FVN3BWUTs7RUFDSTtBVmdxVlo7QVVqcVZROztFQUNJO0FWb3FWWjtBVXJxVlE7O0VBQ0k7QVZ3cVZaO0FVenFWUTs7RUFDSTtBVjRxVlo7QVU3cVZROztFQUNJO0FWZ3JWWjtBVWpyVlE7O0VBQ0k7QVZvclZaO0FVcnJWUTs7RUFDSTtBVndyVlo7QVV6clZROztFQUNJO0FWNHJWWjtBVTdyVlE7O0VBQ0k7QVZnc1ZaO0FVanNWUTs7RUFDSTtBVm9zVlo7QVVyc1ZROztFQUNJO0FWd3NWWjtBVXpzVlE7O0VBQ0k7QVY0c1ZaO0FVN3NWUTs7RUFDSTtBVmd0Vlo7QVVqdFZROztFQUNJO0FWb3RWWjtBVXJ0VlE7O0VBQ0k7QVZ3dFZaO0FVenRWUTs7RUFDSTtBVjR0Vlo7QVU3dFZROztFQUNJO0FWZ3VWWjtBVWp1VlE7O0VBQ0k7QVZvdVZaO0FVcnVWUTs7RUFDSTtBVnd1Vlo7QVV6dVZROztFQUNJO0FWNHVWWjtBVTd1VlE7O0VBQ0k7QVZndlZaO0FVanZWUTs7RUFDSTtBVm92Vlo7QVVydlZROztFQUNJO0FWd3ZWWjtBVXp2VlE7O0VBQ0k7QVY0dlZaO0FVN3ZWUTs7RUFDSTtBVmd3Vlo7QVVqd1ZROztFQUNJO0FWb3dWWjtBVXJ3VlE7O0VBQ0k7QVZ3d1ZaO0FVendWUTs7RUFDSTtBVjR3Vlo7QVU3d1ZROztFQUNJO0FWZ3hWWjtBVWp4VlE7O0VBQ0k7QVZveFZaO0FVcnhWUTs7RUFDSTtBVnd4Vlo7QVV6eFZROztFQUNJO0FWNHhWWjtBVTd4VlE7O0VBQ0k7QVZneVZaO0FVanlWUTs7RUFDSTtBVm95Vlo7QVVyeVZROztFQUNJO0FWd3lWWjtBVXp5VlE7O0VBQ0k7QVY0eVZaO0FVN3lWUTs7RUFDSTtBVmd6Vlo7QVVqelZROztFQUNJO0FWb3pWWjtBVXJ6VlE7O0VBQ0k7QVZ3elZaO0FVenpWUTs7RUFDSTtBVjR6Vlo7QVU3elZROztFQUNJO0FWZzBWWjtBVWowVlE7O0VBQ0k7QVZvMFZaO0FVcjBWUTs7RUFDSTtBVncwVlo7QVV6MFZROztFQUNJO0FWNDBWWjtBVTcwVlE7O0VBQ0k7QVZnMVZaO0FVajFWUTs7RUFDSTtBVm8xVlo7QVVyMVZROztFQUNJO0FWdzFWWjtBVXoxVlE7O0VBQ0k7QVY0MVZaO0FVNzFWUTs7RUFDSTtBVmcyVlo7QVVqMlZROztFQUNJO0FWbzJWWjtBVXIyVlE7O0VBQ0k7QVZ3MlZaO0FVejJWUTs7RUFDSTtBVjQyVlo7QVU3MlZROztFQUNJO0FWZzNWWjtBVWozVlE7O0VBQ0k7QVZvM1ZaO0FVcjNWUTs7RUFDSTtBVnczVlo7QVV6M1ZROztFQUNJO0FWNDNWWjtBVTczVlE7O0VBQ0k7QVZnNFZaO0FVajRWUTs7RUFDSTtBVm80Vlo7QVVyNFZROztFQUNJO0FWdzRWWjtBVXo0VlE7O0VBQ0k7QVY0NFZaO0FVNzRWUTs7RUFDSTtBVmc1Vlo7QVVqNVZROztFQUNJO0FWbzVWWjtBVXI1VlE7O0VBQ0k7QVZ3NVZaO0FVejVWUTs7RUFDSTtBVjQ1Vlo7QVU3NVZROztFQUNJO0FWZzZWWjtBVWo2VlE7O0VBQ0k7QVZvNlZaO0FVcjZWUTs7RUFDSTtBVnc2Vlo7QVV6NlZROztFQUNJO0FWNDZWWjtBVTc2VlE7O0VBQ0k7QVZnN1ZaO0FVajdWUTs7RUFDSTtBVm83Vlo7QVVyN1ZROztFQUNJO0FWdzdWWjtBVXo3VlE7O0VBQ0k7QVY0N1ZaO0FVNzdWUTs7RUFDSTtBVmc4Vlo7QVVqOFZROztFQUNJO0FWbzhWWjtBVXI4VlE7O0VBQ0k7QVZ3OFZaO0FVejhWUTs7RUFDSTtBVjQ4Vlo7QVU3OFZROztFQUNJO0FWZzlWWjtBVWo5VlE7O0VBQ0k7QVZvOVZaO0FVcjlWUTs7RUFDSTtBVnc5Vlo7QVV6OVZROztFQUNJO0FWNDlWWjtBVTc5VlE7O0VBQ0k7QVZnK1ZaO0FVaitWUTs7RUFDSTtBVm8rVlo7QVVyK1ZROztFQUNJO0FWdytWWjtBVXorVlE7O0VBQ0k7QVY0K1ZaO0FVNytWUTs7RUFDSTtBVmcvVlo7QVVqL1ZROztFQUNJO0FWby9WWjtBVXIvVlE7O0VBQ0k7QVZ3L1ZaO0FVei9WUTs7RUFDSTtBVjQvVlo7QVU3L1ZROztFQUNJO0FWZ2dXWjtBVWpnV1E7O0VBQ0k7QVZvZ1daO0FVcmdXUTs7RUFDSTtBVndnV1o7QVV6Z1dROztFQUNJO0FWNGdXWjtBVTdnV1E7O0VBQ0k7QVZnaFdaO0FVamhXUTs7RUFDSTtBVm9oV1o7QVVyaFdROztFQUNJO0FWd2hXWjtBVXpoV1E7O0VBQ0k7QVY0aFdaO0FVN2hXUTs7RUFDSTtBVmdpV1o7QVVqaVdROztFQUNJO0FWb2lXWjtBVXJpV1E7O0VBQ0k7QVZ3aVdaO0FVemlXUTs7RUFDSTtBVjRpV1o7QVU3aVdROztFQUNJO0FWZ2pXWjtBVWpqV1E7O0VBQ0k7QVZvaldaO0FVcmpXUTs7RUFDSTtBVndqV1o7QVV6aldROztFQUNJO0FWNGpXWjtBVTdqV1E7O0VBQ0k7QVZna1daO0FVamtXUTs7RUFDSTtBVm9rV1o7QVVya1dROztFQUNJO0FWd2tXWjtBVXprV1E7O0VBQ0k7QVY0a1daO0FVN2tXUTs7RUFDSTtBVmdsV1o7QVVqbFdROztFQUNJO0FWb2xXWjtBVXJsV1E7O0VBQ0k7QVZ3bFdaO0FVemxXUTs7RUFDSTtBVjRsV1o7QVU3bFdROztFQUNJO0FWZ21XWjtBVWptV1E7O0VBQ0k7QVZvbVdaO0FVcm1XUTs7RUFDSTtBVndtV1o7QVV6bVdROztFQUNJO0FWNG1XWjtBVTdtV1E7O0VBQ0k7QVZnbldaO0FVam5XUTs7RUFDSTtBVm9uV1o7QVVybldROztFQUNJO0FWd25XWjtBVXpuV1E7O0VBQ0k7QVY0bldaO0FVN25XUTs7RUFDSTtBVmdvV1o7QVVqb1dROztFQUNJO0FWb29XWjtBVXJvV1E7O0VBQ0k7QVZ3b1daO0FVem9XUTs7RUFDSTtBVjRvV1o7QVU3b1dROztFQUNJO0FWZ3BXWjtBVWpwV1E7O0VBQ0k7QVZvcFdaO0FVcnBXUTs7RUFDSTtBVndwV1o7QVV6cFdROztFQUNJO0FWNHBXWjtBVTdwV1E7O0VBQ0k7QVZncVdaO0FVanFXUTs7RUFDSTtBVm9xV1o7QVVycVdROztFQUNJO0FWd3FXWjtBVXpxV1E7O0VBQ0k7QVY0cVdaO0FVN3FXUTs7RUFDSTtBVmdyV1o7QVVqcldROztFQUNJO0FWb3JXWjtBVXJyV1E7O0VBQ0k7QVZ3cldaO0FVenJXUTs7RUFDSTtBVjRyV1o7QVU3cldROztFQUNJO0FWZ3NXWjtBVWpzV1E7O0VBQ0k7QVZvc1daO0FVcnNXUTs7RUFDSTtBVndzV1o7QVV6c1dROztFQUNJO0FWNHNXWjtBVTdzV1E7O0VBQ0k7QVZndFdaO0FVanRXUTs7RUFDSTtBVm90V1o7QVVydFdROztFQUNJO0FWd3RXWjtBVXp0V1E7O0VBQ0k7QVY0dFdaO0FVN3RXUTs7RUFDSTtBVmd1V1o7QVVqdVdROztFQUNJO0FWb3VXWjtBVXJ1V1E7O0VBQ0k7QVZ3dVdaO0FVenVXUTs7RUFDSTtBVjR1V1o7QVU3dVdROztFQUNJO0FWZ3ZXWjtBVWp2V1E7O0VBQ0k7QVZvdldaO0FVcnZXUTs7RUFDSTtBVnd2V1o7QVV6dldROztFQUNJO0FWNHZXWjtBVTd2V1E7O0VBQ0k7QVZnd1daO0FVandXUTs7RUFDSTtBVm93V1o7QVVyd1dROztFQUNJO0FWd3dXWjtBVXp3V1E7O0VBQ0k7QVY0d1daO0FVN3dXUTs7RUFDSTtBVmd4V1o7QVVqeFdROztFQUNJO0FWb3hXWjtBVXJ4V1E7O0VBQ0k7QVZ3eFdaO0FVenhXUTs7RUFDSTtBVjR4V1o7QVU3eFdROztFQUNJO0FWZ3lXWjtBVWp5V1E7O0VBQ0k7QVZveVdaO0FVcnlXUTs7RUFDSTtBVnd5V1o7QVV6eVdROztFQUNJO0FWNHlXWjtBVTd5V1E7O0VBQ0k7QVZneldaO0FVanpXUTs7RUFDSTtBVm96V1o7QVVyeldROztFQUNJO0FWd3pXWjtBVXp6V1E7O0VBQ0k7QVY0eldaO0FVN3pXUTs7RUFDSTtBVmcwV1o7QVVqMFdROztFQUNJO0FWbzBXWjtBVXIwV1E7O0VBQ0k7QVZ3MFdaO0FVejBXUTs7RUFDSTtBVjQwV1o7QVU3MFdROztFQUNJO0FWZzFXWjtBVWoxV1E7O0VBQ0k7QVZvMVdaO0FVcjFXUTs7RUFDSTtBVncxV1o7QVV6MVdROztFQUNJO0FWNDFXWjtBVTcxV1E7O0VBQ0k7QVZnMldaO0FVajJXUTs7RUFDSTtBVm8yV1o7QVVyMldROztFQUNJO0FWdzJXWjtBVXoyV1E7O0VBQ0k7QVY0MldaO0FVNzJXUTs7RUFDSTtBVmczV1o7QVVqM1dROztFQUNJO0FWbzNXWjtBVXIzV1E7O0VBQ0k7QVZ3M1daO0FVejNXUTs7RUFDSTtBVjQzV1o7QVU3M1dROztFQUNJO0FWZzRXWjtBVWo0V1E7O0VBQ0k7QVZvNFdaO0FVcjRXUTs7RUFDSTtBVnc0V1o7QVV6NFdROztFQUNJO0FWNDRXWjtBVTc0V1E7O0VBQ0k7QVZnNVdaO0FVajVXUTs7RUFDSTtBVm81V1o7QVVyNVdROztFQUNJO0FWdzVXWjtBVXo1V1E7O0VBQ0k7QVY0NVdaO0FVNzVXUTs7RUFDSTtBVmc2V1o7QVVqNldROztFQUNJO0FWbzZXWjtBVXI2V1E7O0VBQ0k7QVZ3NldaO0FVejZXUTs7RUFDSTtBVjQ2V1o7QVU3NldROztFQUNJO0FWZzdXWjtBVWo3V1E7O0VBQ0k7QVZvN1daO0FVcjdXUTs7RUFDSTtBVnc3V1o7QVV6N1dROztFQUNJO0FWNDdXWjtBVTc3V1E7O0VBQ0k7QVZnOFdaO0FVajhXUTs7RUFDSTtBVm84V1o7QVVyOFdROztFQUNJO0FWdzhXWjtBVXo4V1E7O0VBQ0k7QVY0OFdaO0FVNzhXUTs7RUFDSTtBVmc5V1o7QVVqOVdROztFQUNJO0FWbzlXWjtBVXI5V1E7O0VBQ0k7QVZ3OVdaO0FVejlXUTs7RUFDSTtBVjQ5V1o7QVU3OVdROztFQUNJO0FWZytXWjtBVWorV1E7O0VBQ0k7QVZvK1daO0FVcitXUTs7RUFDSTtBVncrV1o7QVV6K1dROztFQUNJO0FWNCtXWjtBVTcrV1E7O0VBQ0k7QVZnL1daO0FVai9XUTs7RUFDSTtBVm8vV1o7QVVyL1dROztFQUNJO0FWdy9XWjtBVXovV1E7O0VBQ0k7QVY0L1daO0FVNy9XUTs7RUFDSTtBVmdnWFo7QVVqZ1hROztFQUNJO0FWb2dYWjtBVXJnWFE7O0VBQ0k7QVZ3Z1haO0FVemdYUTs7RUFDSTtBVjRnWFo7QVU3Z1hROztFQUNJO0FWZ2hYWjtBVWpoWFE7O0VBQ0k7QVZvaFhaO0FVcmhYUTs7RUFDSTtBVndoWFo7QVV6aFhROztFQUNJO0FWNGhYWjtBVTdoWFE7O0VBQ0k7QVZnaVhaO0FVamlYUTs7RUFDSTtBVm9pWFo7QVVyaVhROztFQUNJO0FWd2lYWjtBVXppWFE7O0VBQ0k7QVY0aVhaO0FVN2lYUTs7RUFDSTtBVmdqWFo7QVVqalhROztFQUNJO0FWb2pYWjtBVXJqWFE7O0VBQ0k7QVZ3alhaO0FVempYUTs7RUFDSTtBVjRqWFo7QVU3alhROztFQUNJO0FWZ2tYWjtBVWprWFE7O0VBQ0k7QVZva1haO0FVcmtYUTs7RUFDSTtBVndrWFo7QVV6a1hROztFQUNJO0FWNGtYWjtBVTdrWFE7O0VBQ0k7QVZnbFhaO0FVamxYUTs7RUFDSTtBVm9sWFo7QVVybFhROztFQUNJO0FWd2xYWjtBVXpsWFE7O0VBQ0k7QVY0bFhaO0FVN2xYUTs7RUFDSTtBVmdtWFo7QVVqbVhROztFQUNJO0FWb21YWjtBVXJtWFE7O0VBQ0k7QVZ3bVhaO0FVem1YUTs7RUFDSTtBVjRtWFo7QVU3bVhROztFQUNJO0FWZ25YWjtBVWpuWFE7O0VBQ0k7QVZvblhaO0FVcm5YUTs7RUFDSTtBVnduWFo7QVV6blhROztFQUNJO0FWNG5YWjtBVTduWFE7O0VBQ0k7QVZnb1haO0FVam9YUTs7RUFDSTtBVm9vWFo7QVVyb1hROztFQUNJO0FWd29YWjtBVXpvWFE7O0VBQ0k7QVY0b1haO0FVN29YUTs7RUFDSTtBVmdwWFo7QVVqcFhROztFQUNJO0FWb3BYWjtBVXJwWFE7O0VBQ0k7QVZ3cFhaO0FVenBYUTs7RUFDSTtBVjRwWFo7QVU3cFhROztFQUNJO0FWZ3FYWjtBVWpxWFE7O0VBQ0k7QVZvcVhaO0FVcnFYUTs7RUFDSTtBVndxWFo7QVV6cVhROztFQUNJO0FWNHFYWjtBVTdxWFE7O0VBQ0k7QVZnclhaO0FVanJYUTs7RUFDSTtBVm9yWFo7QVVyclhROztFQUNJO0FWd3JYWjtBVXpyWFE7O0VBQ0k7QVY0clhaO0FVN3JYUTs7RUFDSTtBVmdzWFo7QVVqc1hROztFQUNJO0FWb3NYWjtBVXJzWFE7O0VBQ0k7QVZ3c1haO0FVenNYUTs7RUFDSTtBVjRzWFo7QVU3c1hROztFQUNJO0FWZ3RYWjtBVWp0WFE7O0VBQ0k7QVZvdFhaO0FVcnRYUTs7RUFDSTtBVnd0WFo7QVV6dFhROztFQUNJO0FWNHRYWjtBVTd0WFE7O0VBQ0k7QVZndVhaO0FVanVYUTs7RUFDSTtBVm91WFo7QVVydVhROztFQUNJO0FWd3VYWjtBVXp1WFE7O0VBQ0k7QVY0dVhaO0FVN3VYUTs7RUFDSTtBVmd2WFo7QVVqdlhROztFQUNJO0FWb3ZYWjtBVXJ2WFE7O0VBQ0k7QVZ3dlhaO0FVenZYUTs7RUFDSTtBVjR2WFo7QVU3dlhROztFQUNJO0FWZ3dYWjtBVWp3WFE7O0VBQ0k7QVZvd1haO0FVcndYUTs7RUFDSTtBVnd3WFo7QVV6d1hROztFQUNJO0FWNHdYWjtBVTd3WFE7O0VBQ0k7QVZneFhaO0FVanhYUTs7RUFDSTtBVm94WFo7QVVyeFhROztFQUNJO0FWd3hYWjtBVXp4WFE7O0VBQ0k7QVY0eFhaO0FVN3hYUTs7RUFDSTtBVmd5WFo7QVVqeVhROztFQUNJO0FWb3lYWjtBVXJ5WFE7O0VBQ0k7QVZ3eVhaO0FVenlYUTs7RUFDSTtBVjR5WFo7QVU3eVhROztFQUNJO0FWZ3pYWjtBVWp6WFE7O0VBQ0k7QVZvelhaO0FVcnpYUTs7RUFDSTtBVnd6WFo7QVV6elhROztFQUNJO0FWNHpYWjtBVTd6WFE7O0VBQ0k7QVZnMFhaO0FVajBYUTs7RUFDSTtBVm8wWFo7QVVyMFhROztFQUNJO0FWdzBYWjtBVXowWFE7O0VBQ0k7QVY0MFhaO0FVNzBYUTs7RUFDSTtBVmcxWFo7QVVqMVhROztFQUNJO0FWbzFYWjtBVXIxWFE7O0VBQ0k7QVZ3MVhaO0FVejFYUTs7RUFDSTtBVjQxWFo7QVU3MVhROztFQUNJO0FWZzJYWjtBVWoyWFE7O0VBQ0k7QVZvMlhaO0FVcjJYUTs7RUFDSTtBVncyWFo7QVV6MlhROztFQUNJO0FWNDJYWjtBVTcyWFE7O0VBQ0k7QVZnM1haO0FVajNYUTs7RUFDSTtBVm8zWFo7QVVyM1hROztFQUNJO0FWdzNYWjtBVXozWFE7O0VBQ0k7QVY0M1haO0FVNzNYUTs7RUFDSTtBVmc0WFo7QVVqNFhROztFQUNJO0FWbzRYWjtBVXI0WFE7O0VBQ0k7QVZ3NFhaO0FVejRYUTs7RUFDSTtBVjQ0WFo7QVU3NFhROztFQUNJO0FWZzVYWjtBVWo1WFE7O0VBQ0k7QVZvNVhaO0FVcjVYUTs7RUFDSTtBVnc1WFo7QVV6NVhROztFQUNJO0FWNDVYWjtBVTc1WFE7O0VBQ0k7QVZnNlhaO0FVajZYUTs7RUFDSTtBVm82WFo7QVVyNlhROztFQUNJO0FWdzZYWjtBVXo2WFE7O0VBQ0k7QVY0NlhaO0FVNzZYUTs7RUFDSTtBVmc3WFo7QVVqN1hROztFQUNJO0FWbzdYWjtBVXI3WFE7O0VBQ0k7QVZ3N1haO0FVejdYUTs7RUFDSTtBVjQ3WFo7QVU3N1hROztFQUNJO0FWZzhYWjtBVWo4WFE7O0VBQ0k7QVZvOFhaO0FVcjhYUTs7RUFDSTtBVnc4WFo7QVV6OFhROztFQUNJO0FWNDhYWjtBVTc4WFE7O0VBQ0k7QVZnOVhaO0FVajlYUTs7RUFDSTtBVm85WFo7QVVyOVhROztFQUNJO0FWdzlYWjtBVXo5WFE7O0VBQ0k7QVY0OVhaO0FVNzlYUTs7RUFDSTtBVmcrWFo7QVVqK1hROztFQUNJO0FWbytYWjtBVXIrWFE7O0VBQ0k7QVZ3K1haO0FVeitYUTs7RUFDSTtBVjQrWFo7QVU3K1hROztFQUNJO0FWZy9YWjtBVWovWFE7O0VBQ0k7QVZvL1haO0FVci9YUTs7RUFDSTtBVncvWFo7QVV6L1hROztFQUNJO0FWNC9YWjtBVTcvWFE7O0VBQ0k7QVZnZ1laO0FVamdZUTs7RUFDSTtBVm9nWVo7QVVyZ1lROztFQUNJO0FWd2dZWjtBVXpnWVE7O0VBQ0k7QVY0Z1laO0FVN2dZUTs7RUFDSTtBVmdoWVo7QVVqaFlROztFQUNJO0FWb2hZWjtBVXJoWVE7O0VBQ0k7QVZ3aFlaO0FVemhZUTs7RUFDSTtBVjRoWVo7QVU3aFlROztFQUNJO0FWZ2lZWjtBVWppWVE7O0VBQ0k7QVZvaVlaO0FVcmlZUTs7RUFDSTtBVndpWVo7QVV6aVlROztFQUNJO0FWNGlZWjtBVTdpWVE7O0VBQ0k7QVZnallaO0FVampZUTs7RUFDSTtBVm9qWVo7QVVyallROztFQUNJO0FWd2pZWjtBVXpqWVE7O0VBQ0k7QVY0allaO0FVN2pZUTs7RUFDSTtBVmdrWVo7QVVqa1lROztFQUNJO0FWb2tZWjtBVXJrWVE7O0VBQ0k7QVZ3a1laO0FVemtZUTs7RUFDSTtBVjRrWVo7QVU3a1lROztFQUNJO0FWZ2xZWjtBVWpsWVE7O0VBQ0k7QVZvbFlaO0FVcmxZUTs7RUFDSTtBVndsWVo7QVV6bFlROztFQUNJO0FWNGxZWjtBVTdsWVE7O0VBQ0k7QVZnbVlaO0FVam1ZUTs7RUFDSTtBVm9tWVo7QVVybVlROztFQUNJO0FWd21ZWjtBVXptWVE7O0VBQ0k7QVY0bVlaO0FVN21ZUTs7RUFDSTtBVmduWVo7QVVqbllROztFQUNJO0FWb25ZWjtBVXJuWVE7O0VBQ0k7QVZ3bllaO0FVem5ZUTs7RUFDSTtBVjRuWVo7QVU3bllROztFQUNJO0FWZ29ZWjtBVWpvWVE7O0VBQ0k7QVZvb1laO0FVcm9ZUTs7RUFDSTtBVndvWVo7QVV6b1lROztFQUNJO0FWNG9ZWjtBVTdvWVE7O0VBQ0k7QVZncFlaO0FVanBZUTs7RUFDSTtBVm9wWVo7QVVycFlROztFQUNJO0FWd3BZWjtBVXpwWVE7O0VBQ0k7QVY0cFlaO0FVN3BZUTs7RUFDSTtBVmdxWVo7QVVqcVlROztFQUNJO0FWb3FZWjtBVXJxWVE7O0VBQ0k7QVZ3cVlaO0FVenFZUTs7RUFDSTtBVjRxWVo7QVU3cVlROztFQUNJO0FWZ3JZWjtBVWpyWVE7O0VBQ0k7QVZvcllaO0FVcnJZUTs7RUFDSTtBVndyWVo7QVV6cllROztFQUNJO0FWNHJZWjtBVTdyWVE7O0VBQ0k7QVZnc1laO0FVanNZUTs7RUFDSTtBVm9zWVo7QVVyc1lROztFQUNJO0FWd3NZWjtBVXpzWVE7O0VBQ0k7QVY0c1laO0FVN3NZUTs7RUFDSTtBVmd0WVo7QVVqdFlROztFQUNJO0FWb3RZWjtBVXJ0WVE7O0VBQ0k7QVZ3dFlaO0FVenRZUTs7RUFDSTtBVjR0WVo7QVU3dFlROztFQUNJO0FWZ3VZWjtBVWp1WVE7O0VBQ0k7QVZvdVlaO0FVcnVZUTs7RUFDSTtBVnd1WVo7QVV6dVlROztFQUNJO0FWNHVZWjtBVTd1WVE7O0VBQ0k7QVZndllaO0FVanZZUTs7RUFDSTtBVm92WVo7QVVydllROztFQUNJO0FWd3ZZWjtBVXp2WVE7O0VBQ0k7QVY0dllaO0FVN3ZZUTs7RUFDSTtBVmd3WVo7QVVqd1lROztFQUNJO0FWb3dZWjtBVXJ3WVE7O0VBQ0k7QVZ3d1laO0FVendZUTs7RUFDSTtBVjR3WVo7QVU3d1lROztFQUNJO0FWZ3hZWjtBVWp4WVE7O0VBQ0k7QVZveFlaO0FVcnhZUTs7RUFDSTtBVnd4WVo7QVV6eFlROztFQUNJO0FWNHhZWjtBVTd4WVE7O0VBQ0k7QVZneVlaO0FVanlZUTs7RUFDSTtBVm95WVo7QVVyeVlROztFQUNJO0FWd3lZWjtBVXp5WVE7O0VBQ0k7QVY0eVlaO0FVN3lZUTs7RUFDSTtBVmd6WVo7QVVqellROztFQUNJO0FWb3pZWjtBVXJ6WVE7O0VBQ0k7QVZ3ellaO0FVenpZUTs7RUFDSTtBVjR6WVo7QVU3ellROztFQUNJO0FWZzBZWjtBVWowWVE7O0VBQ0k7QVZvMFlaO0FVcjBZUTs7RUFDSTtBVncwWVo7QVV6MFlROztFQUNJO0FWNDBZWjtBVTcwWVE7O0VBQ0k7QVZnMVlaO0FVajFZUTs7RUFDSTtBVm8xWVo7QVVyMVlROztFQUNJO0FWdzFZWjtBVXoxWVE7O0VBQ0k7QVY0MVlaO0FVNzFZUTs7RUFDSTtBVmcyWVo7QVVqMllROztFQUNJO0FWbzJZWjtBVXIyWVE7O0VBQ0k7QVZ3MllaO0FVejJZUTs7RUFDSTtBVjQyWVo7QVU3MllROztFQUNJO0FWZzNZWjtBVWozWVE7O0VBQ0k7QVZvM1laO0FVcjNZUTs7RUFDSTtBVnczWVo7QVV6M1lROztFQUNJO0FWNDNZWjtBVTczWVE7O0VBQ0k7QVZnNFlaO0FVajRZUTs7RUFDSTtBVm80WVo7QVVyNFlROztFQUNJO0FWdzRZWjtBVXo0WVE7O0VBQ0k7QVY0NFlaO0FVNzRZUTs7RUFDSTtBVmc1WVo7QVVqNVlROztFQUNJO0FWbzVZWjtBVXI1WVE7O0VBQ0k7QVZ3NVlaO0FVejVZUTs7RUFDSTtBVjQ1WVo7QVU3NVlROztFQUNJO0FWZzZZWjtBVWo2WVE7O0VBQ0k7QVZvNllaO0FVcjZZUTs7RUFDSTtBVnc2WVo7QVV6NllROztFQUNJO0FWNDZZWjtBVTc2WVE7O0VBQ0k7QVZnN1laO0FVajdZUTs7RUFDSTtBVm83WVo7QVVyN1lROztFQUNJO0FWdzdZWjtBVXo3WVE7O0VBQ0k7QVY0N1laO0FVNzdZUTs7RUFDSTtBVmc4WVo7QVVqOFlROztFQUNJO0FWbzhZWjtBVXI4WVE7O0VBQ0k7QVZ3OFlaO0FVejhZUTs7RUFDSTtBVjQ4WVo7QVU3OFlROztFQUNJO0FWZzlZWjtBVWo5WVE7O0VBQ0k7QVZvOVlaO0FVcjlZUTs7RUFDSTtBVnc5WVo7QVV6OVlROztFQUNJO0FWNDlZWjtBVTc5WVE7O0VBQ0k7QVZnK1laO0FVaitZUTs7RUFDSTtBVm8rWVo7QVVyK1lROztFQUNJO0FWdytZWjtBVXorWVE7O0VBQ0k7QVY0K1laO0FVNytZUTs7RUFDSTtBVmcvWVo7QVVqL1lROztFQUNJO0FWby9ZWjtBVXIvWVE7O0VBQ0k7QVZ3L1laO0FVei9ZUTs7RUFDSTtBVjQvWVo7QVU3L1lROztFQUNJO0FWZ2daWjtBVWpnWlE7O0VBQ0k7QVZvZ1paO0FVcmdaUTs7RUFDSTtBVndnWlo7QVV6Z1pROztFQUNJO0FWNGdaWjtBVTdnWlE7O0VBQ0k7QVZnaFpaO0FVamhaUTs7RUFDSTtBVm9oWlo7QVVyaFpROztFQUNJO0FWd2haWjtBVXpoWlE7O0VBQ0k7QVY0aFpaO0FVN2haUTs7RUFDSTtBVmdpWlo7QVVqaVpROztFQUNJO0FWb2laWjtBVXJpWlE7O0VBQ0k7QVZ3aVpaO0FVemlaUTs7RUFDSTtBVjRpWlo7QVU3aVpROztFQUNJO0FWZ2paWjtBVWpqWlE7O0VBQ0k7QVZvalpaO0FVcmpaUTs7RUFDSTtBVndqWlo7QVV6alpROztFQUNJO0FWNGpaWjtBVTdqWlE7O0VBQ0k7QVZna1paO0FVamtaUTs7RUFDSTtBVm9rWlo7QVVya1pROztFQUNJO0FWd2taWjtBVXprWlE7O0VBQ0k7QVY0a1paO0FVN2taUTs7RUFDSTtBVmdsWlo7QVVqbFpROztFQUNJO0FWb2xaWjtBVXJsWlE7O0VBQ0k7QVZ3bFpaO0FVemxaUTs7RUFDSTtBVjRsWlo7QVU3bFpROztFQUNJO0FWZ21aWjtBVWptWlE7O0VBQ0k7QVZvbVpaO0FVcm1aUTs7RUFDSTtBVndtWlo7QVV6bVpROztFQUNJO0FWNG1aWjtBVTdtWlE7O0VBQ0k7QVZnblpaO0FVam5aUTs7RUFDSTtBVm9uWlo7QVVyblpROztFQUNJO0FWd25aWjtBVXpuWlE7O0VBQ0k7QVY0blpaO0FVN25aUTs7RUFDSTtBVmdvWlo7QVVqb1pROztFQUNJO0FWb29aWjtBVXJvWlE7O0VBQ0k7QVZ3b1paO0FVem9aUTs7RUFDSTtBVjRvWlo7QVU3b1pROztFQUNJO0FWZ3BaWjtBVWpwWlE7O0VBQ0k7QVZvcFpaO0FVcnBaUTs7RUFDSTtBVndwWlo7QVV6cFpROztFQUNJO0FWNHBaWjtBVTdwWlE7O0VBQ0k7QVZncVpaO0FVanFaUTs7RUFDSTtBVm9xWlo7QVVycVpROztFQUNJO0FWd3FaWjtBVXpxWlE7O0VBQ0k7QVY0cVpaO0FVN3FaUTs7RUFDSTtBVmdyWlo7QVVqclpROztFQUNJO0FWb3JaWjtBVXJyWlE7O0VBQ0k7QVZ3clpaO0FVenJaUTs7RUFDSTtBVjRyWlo7QVU3clpROztFQUNJO0FWZ3NaWjtBVWpzWlE7O0VBQ0k7QVZvc1paO0FVcnNaUTs7RUFDSTtBVndzWlo7QVV6c1pROztFQUNJO0FWNHNaWjtBVTdzWlE7O0VBQ0k7QVZndFpaO0FVanRaUTs7RUFDSTtBVm90Wlo7QVVydFpROztFQUNJO0FWd3RaWjtBVXp0WlE7O0VBQ0k7QVY0dFpaO0FVN3RaUTs7RUFDSTtBVmd1Wlo7QVVqdVpROztFQUNJO0FWb3VaWjtBVXJ1WlE7O0VBQ0k7QVZ3dVpaO0FVenVaUTs7RUFDSTtBVjR1Wlo7QVU3dVpROztFQUNJO0FWZ3ZaWjtBVWp2WlE7O0VBQ0k7QVZvdlpaO0FVcnZaUTs7RUFDSTtBVnd2Wlo7QVV6dlpROztFQUNJO0FWNHZaWjtBVTd2WlE7O0VBQ0k7QVZnd1paO0FVandaUTs7RUFDSTtBVm93Wlo7QVVyd1pROztFQUNJO0FWd3daWjtBVXp3WlE7O0VBQ0k7QVY0d1paO0FVN3daUTs7RUFDSTtBVmd4Wlo7QVVqeFpROztFQUNJO0FWb3haWjtBVXJ4WlE7O0VBQ0k7QVZ3eFpaO0FVenhaUTs7RUFDSTtBVjR4Wlo7QVU3eFpROztFQUNJO0FWZ3laWjtBVWp5WlE7O0VBQ0k7QVZveVpaO0FVcnlaUTs7RUFDSTtBVnd5Wlo7QVV6eVpROztFQUNJO0FWNHlaWjtBVTd5WlE7O0VBQ0k7QVZnelpaO0FVanpaUTs7RUFDSTtBVm96Wlo7QVVyelpROztFQUNJO0FWd3paWjtBVXp6WlE7O0VBQ0k7QVY0elpaO0FVN3paUTs7RUFDSTtBVmcwWlo7QVVqMFpROztFQUNJO0FWbzBaWjtBVXIwWlE7O0VBQ0k7QVZ3MFpaO0FVejBaUTs7RUFDSTtBVjQwWlo7QVU3MFpROztFQUNJO0FWZzFaWjtBVWoxWlE7O0VBQ0k7QVZvMVpaO0FVcjFaUTs7RUFDSTtBVncxWlo7QVV6MVpROztFQUNJO0FWNDFaWjtBVTcxWlE7O0VBQ0k7QVZnMlpaO0FVajJaUTs7RUFDSTtBVm8yWlo7QVVyMlpROztFQUNJO0FWdzJaWjtBVXoyWlE7O0VBQ0k7QVY0MlpaO0FVNzJaUTs7RUFDSTtBVmczWlo7QVVqM1pROztFQUNJO0FWbzNaWjtBVXIzWlE7O0VBQ0k7QVZ3M1paO0FVejNaUTs7RUFDSTtBVjQzWlo7QVU3M1pROztFQUNJO0FWZzRaWjtBVWo0WlE7O0VBQ0k7QVZvNFpaO0FVcjRaUTs7RUFDSTtBVnc0Wlo7QVV6NFpROztFQUNJO0FWNDRaWjtBVTc0WlE7O0VBQ0k7QVZnNVpaO0FVajVaUTs7RUFDSTtBVm81Wlo7QVVyNVpROztFQUNJO0FWdzVaWjtBVXo1WlE7O0VBQ0k7QVY0NVpaO0FVNzVaUTs7RUFDSTtBVmc2Wlo7QVVqNlpROztFQUNJO0FWbzZaWjtBVXI2WlE7O0VBQ0k7QVZ3NlpaO0FVejZaUTs7RUFDSTtBVjQ2Wlo7QVU3NlpROztFQUNJO0FWZzdaWjtBVWo3WlE7O0VBQ0k7QVZvN1paO0FVcjdaUTs7RUFDSTtBVnc3Wlo7QVV6N1pROztFQUNJO0FWNDdaWjtBVTc3WlE7O0VBQ0k7QVZnOFpaO0FVajhaUTs7RUFDSTtBVm84Wlo7QVVyOFpROztFQUNJO0FWdzhaWjtBVXo4WlE7O0VBQ0k7QVY0OFpaO0FVNzhaUTs7RUFDSTtBVmc5Wlo7QVVqOVpROztFQUNJO0FWbzlaWjtBVXI5WlE7O0VBQ0k7QVZ3OVpaO0FVejlaUTs7RUFDSTtBVjQ5Wlo7QVU3OVpROztFQUNJO0FWZytaWjtBVWorWlE7O0VBQ0k7QVZvK1paO0FVcitaUTs7RUFDSTtBVncrWlo7QVV6K1pROztFQUNJO0FWNCtaWjtBVTcrWlE7O0VBQ0k7QVZnL1paO0FVai9aUTs7RUFDSTtBVm8vWlo7QVVyL1pROztFQUNJO0FWdy9aWjtBVXovWlE7O0VBQ0k7QVY0L1paO0FVNy9aUTs7RUFDSTtBVmdnYVo7QVVqZ2FROztFQUNJO0FWb2dhWjtBVXJnYVE7O0VBQ0k7QVZ3Z2FaO0FVemdhUTs7RUFDSTtBVjRnYVo7QVU3Z2FROztFQUNJO0FWZ2hhWjtBVWpoYVE7O0VBQ0k7QVZvaGFaO0FVcmhhUTs7RUFDSTtBVndoYVo7QVV6aGFROztFQUNJO0FWNGhhWjtBVTdoYVE7O0VBQ0k7QVZnaWFaO0FVamlhUTs7RUFDSTtBVm9pYVo7QVVyaWFROztFQUNJO0FWd2lhWjtBVXppYVE7O0VBQ0k7QVY0aWFaO0FVN2lhUTs7RUFDSTtBVmdqYVo7QVVqamFROztFQUNJO0FWb2phWjtBVXJqYVE7O0VBQ0k7QVZ3amFaO0FVemphUTs7RUFDSTtBVjRqYVo7QVU3amFROztFQUNJO0FWZ2thWjtBVWprYVE7O0VBQ0k7QVZva2FaO0FVcmthUTs7RUFDSTtBVndrYVo7QVV6a2FROztFQUNJO0FWNGthWjtBVTdrYVE7O0VBQ0k7QVZnbGFaO0FVamxhUTs7RUFDSTtBVm9sYVo7QVVybGFROztFQUNJO0FWd2xhWjtBVXpsYVE7O0VBQ0k7QVY0bGFaO0FVN2xhUTs7RUFDSTtBVmdtYVo7QVVqbWFROztFQUNJO0FWb21hWjtBVXJtYVE7O0VBQ0k7QVZ3bWFaO0FVem1hUTs7RUFDSTtBVjRtYVo7QVU3bWFROztFQUNJO0FWZ25hWjtBVWpuYVE7O0VBQ0k7QVZvbmFaO0FVcm5hUTs7RUFDSTtBVnduYVo7QVV6bmFROztFQUNJO0FWNG5hWjtBVTduYVE7O0VBQ0k7QVZnb2FaO0FVam9hUTs7RUFDSTtBVm9vYVo7QVVyb2FROztFQUNJO0FWd29hWjtBVXpvYVE7O0VBQ0k7QVY0b2FaO0FVN29hUTs7RUFDSTtBVmdwYVo7QVVqcGFROztFQUNJO0FWb3BhWjtBVXJwYVE7O0VBQ0k7QVZ3cGFaO0FVenBhUTs7RUFDSTtBVjRwYVo7QVU3cGFROztFQUNJO0FWZ3FhWjtBVWpxYVE7O0VBQ0k7QVZvcWFaO0FVcnFhUTs7RUFDSTtBVndxYVo7QVV6cWFROztFQUNJO0FWNHFhWjtBVTdxYVE7O0VBQ0k7QVZncmFaO0FVanJhUTs7RUFDSTtBVm9yYVo7QVVycmFROztFQUNJO0FWd3JhWjtBVXpyYVE7O0VBQ0k7QVY0cmFaO0FVN3JhUTs7RUFDSTtBVmdzYVo7QVVqc2FROztFQUNJO0FWb3NhWjtBVXJzYVE7O0VBQ0k7QVZ3c2FaO0FVenNhUTs7RUFDSTtBVjRzYVo7QVU3c2FROztFQUNJO0FWZ3RhWjtBVWp0YVE7O0VBQ0k7QVZvdGFaO0FVcnRhUTs7RUFDSTtBVnd0YVo7QVV6dGFROztFQUNJO0FWNHRhWjtBVTd0YVE7O0VBQ0k7QVZndWFaO0FVanVhUTs7RUFDSTtBVm91YVo7QVVydWFROztFQUNJO0FWd3VhWjtBVXp1YVE7O0VBQ0k7QVY0dWFaO0FVN3VhUTs7RUFDSTtBVmd2YVo7QVVqdmFROztFQUNJO0FWb3ZhWjtBVXJ2YVE7O0VBQ0k7QVZ3dmFaO0FVenZhUTs7RUFDSTtBVjR2YVo7QVU3dmFROztFQUNJO0FWZ3dhWjtBVWp3YVE7O0VBQ0k7QVZvd2FaO0FVcndhUTs7RUFDSTtBVnd3YVo7QVV6d2FROztFQUNJO0FWNHdhWjtBVTd3YVE7O0VBQ0k7QVZneGFaO0FVanhhUTs7RUFDSTtBVm94YVo7QVVyeGFROztFQUNJO0FWd3hhWjtBVXp4YVE7O0VBQ0k7QVY0eGFaO0FVN3hhUTs7RUFDSTtBVmd5YVo7QVVqeWFROztFQUNJO0FWb3lhWjtBVXJ5YVE7O0VBQ0k7QVZ3eWFaO0FVenlhUTs7RUFDSTtBVjR5YVo7QVU3eWFROztFQUNJO0FWZ3phWjtBVWp6YVE7O0VBQ0k7QVZvemFaO0FVcnphUTs7RUFDSTtBVnd6YVo7QVV6emFROztFQUNJO0FWNHphWjtBVTd6YVE7O0VBQ0k7QVZnMGFaO0FVajBhUTs7RUFDSTtBVm8wYVo7QVVyMGFROztFQUNJO0FWdzBhWjtBVXowYVE7O0VBQ0k7QVY0MGFaO0FVNzBhUTs7RUFDSTtBVmcxYVo7QVVqMWFROztFQUNJO0FWbzFhWjtBVXIxYVE7O0VBQ0k7QVZ3MWFaO0FVejFhUTs7RUFDSTtBVjQxYVo7QVU3MWFROztFQUNJO0FWZzJhWjtBVWoyYVE7O0VBQ0k7QVZvMmFaO0FVcjJhUTs7RUFDSTtBVncyYVo7QVV6MmFROztFQUNJO0FWNDJhWjtBVTcyYVE7O0VBQ0k7QVZnM2FaO0FVajNhUTs7RUFDSTtBVm8zYVo7QVVyM2FROztFQUNJO0FWdzNhWjtBVXozYVE7O0VBQ0k7QVY0M2FaO0FVNzNhUTs7RUFDSTtBVmc0YVo7QVVqNGFROztFQUNJO0FWbzRhWjtBVXI0YVE7O0VBQ0k7QVZ3NGFaO0FVejRhUTs7RUFDSTtBVjQ0YVo7QVU3NGFROztFQUNJO0FWZzVhWjtBVWo1YVE7O0VBQ0k7QVZvNWFaO0FVcjVhUTs7RUFDSTtBVnc1YVo7QVV6NWFROztFQUNJO0FWNDVhWjtBVTc1YVE7O0VBQ0k7QVZnNmFaO0FVajZhUTs7RUFDSTtBVm82YVo7QVVyNmFROztFQUNJO0FWdzZhWjtBVXo2YVE7O0VBQ0k7QVY0NmFaO0FVNzZhUTs7RUFDSTtBVmc3YVo7QVVqN2FROztFQUNJO0FWbzdhWjtBVXI3YVE7O0VBQ0k7QVZ3N2FaO0FVejdhUTs7RUFDSTtBVjQ3YVo7QVU3N2FROztFQUNJO0FWZzhhWjtBVWo4YVE7O0VBQ0k7QVZvOGFaO0FVcjhhUTs7RUFDSTtBVnc4YVo7QVV6OGFROztFQUNJO0FWNDhhWjtBVTc4YVE7O0VBQ0k7QVZnOWFaO0FVajlhUTs7RUFDSTtBVm85YVo7QVVyOWFROztFQUNJO0FWdzlhWjtBVXo5YVE7O0VBQ0k7QVY0OWFaO0FVNzlhUTs7RUFDSTtBVmcrYVo7QVVqK2FROztFQUNJO0FWbythWjtBVXIrYVE7O0VBQ0k7QVZ3K2FaO0FVeithUTs7RUFDSTtBVjQrYVo7QVU3K2FROztFQUNJO0FWZy9hWjtBVWovYVE7O0VBQ0k7QVZvL2FaO0FVci9hUTs7RUFDSTtBVncvYVo7QVV6L2FROztFQUNJO0FWNC9hWjtBVTcvYVE7O0VBQ0k7QVZnZ2JaO0FVamdiUTs7RUFDSTtBVm9nYlo7QVVyZ2JROztFQUNJO0FWd2diWjtBVXpnYlE7O0VBQ0k7QVY0Z2JaO0FVN2diUTs7RUFDSTtBVmdoYlo7QVVqaGJROztFQUNJO0FWb2hiWjtBVXJoYlE7O0VBQ0k7QVZ3aGJaO0FVemhiUTs7RUFDSTtBVjRoYlo7QVU3aGJROztFQUNJO0FWZ2liWjtBVWppYlE7O0VBQ0k7QVZvaWJaO0FVcmliUTs7RUFDSTtBVndpYlo7QVV6aWJROztFQUNJO0FWNGliWjtBVTdpYlE7O0VBQ0k7QVZnamJaO0FVampiUTs7RUFDSTtBVm9qYlo7QVVyamJROztFQUNJO0FWd2piWjtBVXpqYlE7O0VBQ0k7QVY0amJaO0FVN2piUTs7RUFDSTtBVmdrYlo7QVVqa2JROztFQUNJO0FWb2tiWjtBVXJrYlE7O0VBQ0k7QVZ3a2JaO0FVemtiUTs7RUFDSTtBVjRrYlo7QVU3a2JROztFQUNJO0FWZ2xiWjtBVWpsYlE7O0VBQ0k7QVZvbGJaO0FVcmxiUTs7RUFDSTtBVndsYlo7QVV6bGJROztFQUNJO0FWNGxiWjtBVTdsYlE7O0VBQ0k7QVZnbWJaO0FVam1iUTs7RUFDSTtBVm9tYlo7QVVybWJROztFQUNJO0FWd21iWjtBVXptYlE7O0VBQ0k7QVY0bWJaO0FVN21iUTs7RUFDSTtBVmduYlo7QVVqbmJROztFQUNJO0FWb25iWjtBVXJuYlE7O0VBQ0k7QVZ3bmJaO0FVem5iUTs7RUFDSTtBVjRuYlo7QVU3bmJROztFQUNJO0FWZ29iWjtBVWpvYlE7O0VBQ0k7QVZvb2JaO0FVcm9iUTs7RUFDSTtBVndvYlo7QVV6b2JROztFQUNJO0FWNG9iWjtBVTdvYlE7O0VBQ0k7QVZncGJaO0FVanBiUTs7RUFDSTtBVm9wYlo7QVVycGJROztFQUNJO0FWd3BiWjtBVXpwYlE7O0VBQ0k7QVY0cGJaO0FVN3BiUTs7RUFDSTtBVmdxYlo7QVVqcWJROztFQUNJO0FWb3FiWjtBVXJxYlE7O0VBQ0k7QVZ3cWJaO0FVenFiUTs7RUFDSTtBVjRxYlo7QVU3cWJROztFQUNJO0FWZ3JiWjtBVWpyYlE7O0VBQ0k7QVZvcmJaO0FVcnJiUTs7RUFDSTtBVndyYlo7QVV6cmJROztFQUNJO0FWNHJiWjtBVTdyYlE7O0VBQ0k7QVZnc2JaO0FVanNiUTs7RUFDSTtBVm9zYlo7QVVyc2JROztFQUNJO0FWd3NiWjtBVXpzYlE7O0VBQ0k7QVY0c2JaO0FVN3NiUTs7RUFDSTtBVmd0Ylo7QVVqdGJROztFQUNJO0FWb3RiWjtBVXJ0YlE7O0VBQ0k7QVZ3dGJaO0FVenRiUTs7RUFDSTtBVjR0Ylo7QVU3dGJROztFQUNJO0FWZ3ViWjtBVWp1YlE7O0VBQ0k7QVZvdWJaO0FVcnViUTs7RUFDSTtBVnd1Ylo7QVV6dWJROztFQUNJO0FWNHViWjtBVTd1YlE7O0VBQ0k7QVZndmJaO0FVanZiUTs7RUFDSTtBVm92Ylo7QVVydmJROztFQUNJO0FWd3ZiWjtBVXp2YlE7O0VBQ0k7QVY0dmJaO0FVN3ZiUTs7RUFDSTtBVmd3Ylo7QVVqd2JROztFQUNJO0FWb3diWjtBVXJ3YlE7O0VBQ0k7QVZ3d2JaO0FVendiUTs7RUFDSTtBVjR3Ylo7QVU3d2JROztFQUNJO0FWZ3hiWjtBVWp4YlE7O0VBQ0k7QVZveGJaO0FVcnhiUTs7RUFDSTtBVnd4Ylo7QVV6eGJROztFQUNJO0FWNHhiWjtBVTd4YlE7O0VBQ0k7QVZneWJaO0FVanliUTs7RUFDSTtBVm95Ylo7QVVyeWJROztFQUNJO0FWd3liWjtBVXp5YlE7O0VBQ0k7QVY0eWJaO0FVN3liUTs7RUFDSTtBVmd6Ylo7QVVqemJROztFQUNJO0FWb3piWjtBVXJ6YlE7O0VBQ0k7QVZ3emJaO0FVenpiUTs7RUFDSTtBVjR6Ylo7QVU3emJROztFQUNJO0FWZzBiWjtBVWowYlE7O0VBQ0k7QVZvMGJaO0FVcjBiUTs7RUFDSTtBVncwYlo7QVV6MGJROztFQUNJO0FWNDBiWjtBVTcwYlE7O0VBQ0k7QVZnMWJaO0FVajFiUTs7RUFDSTtBVm8xYlo7QVVyMWJROztFQUNJO0FWdzFiWjtBVXoxYlE7O0VBQ0k7QVY0MWJaO0FVNzFiUTs7RUFDSTtBVmcyYlo7QVVqMmJROztFQUNJO0FWbzJiWjtBVXIyYlE7O0VBQ0k7QVZ3MmJaO0FVejJiUTs7RUFDSTtBVjQyYlo7QVU3MmJROztFQUNJO0FWZzNiWjtBVWozYlE7O0VBQ0k7QVZvM2JaO0FVcjNiUTs7RUFDSTtBVnczYlo7QVV6M2JROztFQUNJO0FWNDNiWjtBVTczYlE7O0VBQ0k7QVZnNGJaO0FVajRiUTs7RUFDSTtBVm80Ylo7QVVyNGJROztFQUNJO0FWdzRiWjtBVXo0YlE7O0VBQ0k7QVY0NGJaO0FVNzRiUTs7RUFDSTtBVmc1Ylo7QVVqNWJROztFQUNJO0FWbzViWjtBVXI1YlE7O0VBQ0k7QVZ3NWJaO0FVejViUTs7RUFDSTtBVjQ1Ylo7QVU3NWJROztFQUNJO0FWZzZiWjtBVWo2YlE7O0VBQ0k7QVZvNmJaO0FVcjZiUTs7RUFDSTtBVnc2Ylo7QVV6NmJROztFQUNJO0FWNDZiWjtBVTc2YlE7O0VBQ0k7QVZnN2JaO0FVajdiUTs7RUFDSTtBVm83Ylo7QVVyN2JROztFQUNJO0FWdzdiWjtBVXo3YlE7O0VBQ0k7QVY0N2JaO0FVNzdiUTs7RUFDSTtBVmc4Ylo7QVVqOGJROztFQUNJO0FWbzhiWjtBVXI4YlE7O0VBQ0k7QVZ3OGJaO0FVejhiUTs7RUFDSTtBVjQ4Ylo7QVU3OGJROztFQUNJO0FWZzliWjtBVWo5YlE7O0VBQ0k7QVZvOWJaO0FVcjliUTs7RUFDSTtBVnc5Ylo7QVV6OWJROztFQUNJO0FWNDliWjtBVTc5YlE7O0VBQ0k7QVZnK2JaO0FVaitiUTs7RUFDSTtBVm8rYlo7QVVyK2JROztFQUNJO0FWdytiWjtBVXorYlE7O0VBQ0k7QVY0K2JaO0FVNytiUTs7RUFDSTtBVmcvYlo7QVVqL2JROztFQUNJO0FWby9iWjtBVXIvYlE7O0VBQ0k7QVZ3L2JaO0FVei9iUTs7RUFDSTtBVjQvYlo7QVU3L2JROztFQUNJO0FWZ2djWjtBVWpnY1E7O0VBQ0k7QVZvZ2NaO0FVcmdjUTs7RUFDSTtBVndnY1o7QVV6Z2NROztFQUNJO0FWNGdjWjtBVTdnY1E7O0VBQ0k7QVZnaGNaO0FVamhjUTs7RUFDSTtBVm9oY1o7QVVyaGNROztFQUNJO0FWd2hjWjtBVXpoY1E7O0VBQ0k7QVY0aGNaO0FVN2hjUTs7RUFDSTtBVmdpY1o7QVVqaWNROztFQUNJO0FWb2ljWjtBVXJpY1E7O0VBQ0k7QVZ3aWNaO0FVemljUTs7RUFDSTtBVjRpY1o7QVU3aWNROztFQUNJO0FWZ2pjWjtBVWpqY1E7O0VBQ0k7QVZvamNaO0FVcmpjUTs7RUFDSTtBVndqY1o7QVV6amNROztFQUNJO0FWNGpjWjtBVTdqY1E7O0VBQ0k7QVZna2NaO0FVamtjUTs7RUFDSTtBVm9rY1o7QVVya2NROztFQUNJO0FWd2tjWjtBVXprY1E7O0VBQ0k7QVY0a2NaO0FVN2tjUTs7RUFDSTtBVmdsY1o7QVVqbGNROztFQUNJO0FWb2xjWjtBVXJsY1E7O0VBQ0k7QVZ3bGNaO0FVemxjUTs7RUFDSTtBVjRsY1o7QVU3bGNROztFQUNJO0FWZ21jWjtBVWptY1E7O0VBQ0k7QVZvbWNaO0FVcm1jUTs7RUFDSTtBVndtY1o7QVV6bWNROztFQUNJO0FWNG1jWjtBVTdtY1E7O0VBQ0k7QVZnbmNaO0FVam5jUTs7RUFDSTtBVm9uY1o7QVVybmNROztFQUNJO0FWd25jWjtBVXpuY1E7O0VBQ0k7QVY0bmNaO0FVN25jUTs7RUFDSTtBVmdvY1o7QVVqb2NROztFQUNJO0FWb29jWjtBVXJvY1E7O0VBQ0k7QVZ3b2NaO0FVem9jUTs7RUFDSTtBVjRvY1o7QVU3b2NROztFQUNJO0FWZ3BjWjtBVWpwY1E7O0VBQ0k7QVZvcGNaO0FVcnBjUTs7RUFDSTtBVndwY1o7QVV6cGNROztFQUNJO0FWNHBjWjtBVTdwY1E7O0VBQ0k7QVZncWNaO0FVanFjUTs7RUFDSTtBVm9xY1o7QVVycWNROztFQUNJO0FWd3FjWjtBVXpxY1E7O0VBQ0k7QVY0cWNaO0FVN3FjUTs7RUFDSTtBVmdyY1o7QVVqcmNROztFQUNJO0FWb3JjWjtBVXJyY1E7O0VBQ0k7QVZ3cmNaO0FVenJjUTs7RUFDSTtBVjRyY1o7QVU3cmNROztFQUNJO0FWZ3NjWjtBVWpzY1E7O0VBQ0k7QVZvc2NaO0FVcnNjUTs7RUFDSTtBVndzY1o7QVV6c2NROztFQUNJO0FWNHNjWjtBVTdzY1E7O0VBQ0k7QVZndGNaO0FVanRjUTs7RUFDSTtBVm90Y1o7QVVydGNROztFQUNJO0FWd3RjWjtBVXp0Y1E7O0VBQ0k7QVY0dGNaO0FVN3RjUTs7RUFDSTtBVmd1Y1o7QVVqdWNROztFQUNJO0FWb3VjWjtBVXJ1Y1E7O0VBQ0k7QVZ3dWNaO0FVenVjUTs7RUFDSTtBVjR1Y1o7QVU3dWNROztFQUNJO0FWZ3ZjWjtBVWp2Y1E7O0VBQ0k7QVZvdmNaO0FVcnZjUTs7RUFDSTtBVnd2Y1o7QVV6dmNROztFQUNJO0FWNHZjWjtBVTd2Y1E7O0VBQ0k7QVZnd2NaO0FVandjUTs7RUFDSTtBVm93Y1o7QVVyd2NROztFQUNJO0FWd3djWjtBVXp3Y1E7O0VBQ0k7QVY0d2NaO0FVN3djUTs7RUFDSTtBVmd4Y1o7QVVqeGNROztFQUNJO0FWb3hjWjtBVXJ4Y1E7O0VBQ0k7QVZ3eGNaO0FVenhjUTs7RUFDSTtBVjR4Y1o7QVU3eGNROztFQUNJO0FWZ3ljWjtBVWp5Y1E7O0VBQ0k7QVZveWNaO0FVcnljUTs7RUFDSTtBVnd5Y1o7QVV6eWNROztFQUNJO0FWNHljWjtBVTd5Y1E7O0VBQ0k7QVZnemNaO0FVanpjUTs7RUFDSTtBVm96Y1o7QVVyemNROztFQUNJO0FWd3pjWjtBVXp6Y1E7O0VBQ0k7QVY0emNaO0FVN3pjUTs7RUFDSTtBVmcwY1o7QVVqMGNROztFQUNJO0FWbzBjWjtBVXIwY1E7O0VBQ0k7QVZ3MGNaO0FVejBjUTs7RUFDSTtBVjQwY1o7QVU3MGNROztFQUNJO0FWZzFjWjtBVWoxY1E7O0VBQ0k7QVZvMWNaO0FVcjFjUTs7RUFDSTtBVncxY1o7QVV6MWNROztFQUNJO0FWNDFjWjtBVTcxY1E7O0VBQ0k7QVZnMmNaO0FVajJjUTs7RUFDSTtBVm8yY1o7QVVyMmNROztFQUNJO0FWdzJjWjtBVXoyY1E7O0VBQ0k7QVY0MmNaO0FVNzJjUTs7RUFDSTtBVmczY1o7QVVqM2NROztFQUNJO0FWbzNjWjtBVXIzY1E7O0VBQ0k7QVZ3M2NaO0FVejNjUTs7RUFDSTtBVjQzY1o7QVU3M2NROztFQUNJO0FWZzRjWjtBVWo0Y1E7O0VBQ0k7QVZvNGNaO0FVcjRjUTs7RUFDSTtBVnc0Y1o7QVV6NGNROztFQUNJO0FWNDRjWjtBVTc0Y1E7O0VBQ0k7QVZnNWNaO0FVajVjUTs7RUFDSTtBVm81Y1o7QVVyNWNROztFQUNJO0FWdzVjWjtBVXo1Y1E7O0VBQ0k7QVY0NWNaO0FVNzVjUTs7RUFDSTtBVmc2Y1o7QVVqNmNROztFQUNJO0FWbzZjWjtBVXI2Y1E7O0VBQ0k7QVZ3NmNaO0FVejZjUTs7RUFDSTtBVjQ2Y1o7QVU3NmNROztFQUNJO0FWZzdjWjtBVWo3Y1E7O0VBQ0k7QVZvN2NaO0FVcjdjUTs7RUFDSTtBVnc3Y1o7QVV6N2NROztFQUNJO0FWNDdjWjtBVTc3Y1E7O0VBQ0k7QVZnOGNaO0FVajhjUTs7RUFDSTtBVm84Y1o7QVVyOGNROztFQUNJO0FWdzhjWjtBVXo4Y1E7O0VBQ0k7QVY0OGNaO0FVNzhjUTs7RUFDSTtBVmc5Y1o7QVVqOWNROztFQUNJO0FWbzljWjtBVXI5Y1E7O0VBQ0k7QVZ3OWNaO0FVejljUTs7RUFDSTtBVjQ5Y1o7QVU3OWNROztFQUNJO0FWZytjWjtBVWorY1E7O0VBQ0k7QVZvK2NaO0FVcitjUTs7RUFDSTtBVncrY1o7QVV6K2NROztFQUNJO0FWNCtjWjtBVTcrY1E7O0VBQ0k7QVZnL2NaO0FVai9jUTs7RUFDSTtBVm8vY1o7QVVyL2NROztFQUNJO0FWdy9jWjtBVXovY1E7O0VBQ0k7QVY0L2NaO0FVNy9jUTs7RUFDSTtBVmdnZFo7QVVqZ2RROztFQUNJO0FWb2dkWjtBVXJnZFE7O0VBQ0k7QVZ3Z2RaO0FVemdkUTs7RUFDSTtBVjRnZFo7QVU3Z2RROztFQUNJO0FWZ2hkWjtBVWpoZFE7O0VBQ0k7QVZvaGRaO0FVcmhkUTs7RUFDSTtBVndoZFo7QVV6aGRROztFQUNJO0FWNGhkWjtBVTdoZFE7O0VBQ0k7QVZnaWRaO0FVamlkUTs7RUFDSTtBVm9pZFo7QVVyaWRROztFQUNJO0FWd2lkWjtBVXppZFE7O0VBQ0k7QVY0aWRaO0FVN2lkUTs7RUFDSTtBVmdqZFo7QVVqamRROztFQUNJO0FWb2pkWjtBVXJqZFE7O0VBQ0k7QVZ3amRaO0FVempkUTs7RUFDSTtBVjRqZFo7QVU3amRROztFQUNJO0FWZ2tkWjtBVWprZFE7O0VBQ0k7QVZva2RaO0FVcmtkUTs7RUFDSTtBVndrZFo7QVV6a2RROztFQUNJO0FWNGtkWjtBVTdrZFE7O0VBQ0k7QVZnbGRaO0FVamxkUTs7RUFDSTtBVm9sZFo7QVVybGRROztFQUNJO0FWd2xkWjtBVXpsZFE7O0VBQ0k7QVY0bGRaO0FVN2xkUTs7RUFDSTtBVmdtZFo7QVVqbWRROztFQUNJO0FWb21kWjtBVXJtZFE7O0VBQ0k7QVZ3bWRaO0FVem1kUTs7RUFDSTtBVjRtZFo7QVU3bWRROztFQUNJO0FWZ25kWjtBVWpuZFE7O0VBQ0k7QVZvbmRaO0FVcm5kUTs7RUFDSTtBVnduZFo7QVV6bmRROztFQUNJO0FWNG5kWjtBVTduZFE7O0VBQ0k7QVZnb2RaO0FVam9kUTs7RUFDSTtBVm9vZFo7QVVyb2RROztFQUNJO0FWd29kWjtBVXpvZFE7O0VBQ0k7QVY0b2RaO0FVN29kUTs7RUFDSTtBVmdwZFo7QVVqcGRROztFQUNJO0FWb3BkWjtBVXJwZFE7O0VBQ0k7QVZ3cGRaO0FVenBkUTs7RUFDSTtBVjRwZFo7QVU3cGRROztFQUNJO0FWZ3FkWjtBVWpxZFE7O0VBQ0k7QVZvcWRaO0FVcnFkUTs7RUFDSTtBVndxZFo7QVV6cWRROztFQUNJO0FWNHFkWjtBVTdxZFE7O0VBQ0k7QVZncmRaO0FVanJkUTs7RUFDSTtBVm9yZFo7QVVycmRROztFQUNJO0FWd3JkWjtBVXpyZFE7O0VBQ0k7QVY0cmRaO0FVN3JkUTs7RUFDSTtBVmdzZFo7QVVqc2RROztFQUNJO0FWb3NkWjtBVXJzZFE7O0VBQ0k7QVZ3c2RaO0FVenNkUTs7RUFDSTtBVjRzZFo7QVU3c2RROztFQUNJO0FWZ3RkWjtBVWp0ZFE7O0VBQ0k7QVZvdGRaO0FVcnRkUTs7RUFDSTtBVnd0ZFo7QVV6dGRROztFQUNJO0FWNHRkWjtBVTd0ZFE7O0VBQ0k7QVZndWRaO0FVanVkUTs7RUFDSTtBVm91ZFo7QVVydWRROztFQUNJO0FWd3VkWjtBVXp1ZFE7O0VBQ0k7QVY0dWRaO0FVN3VkUTs7RUFDSTtBVmd2ZFo7QVVqdmRROztFQUNJO0FWb3ZkWjtBVXJ2ZFE7O0VBQ0k7QVZ3dmRaO0FVenZkUTs7RUFDSTtBVjR2ZFo7QVU3dmRROztFQUNJO0FWZ3dkWjtBVWp3ZFE7O0VBQ0k7QVZvd2RaO0FVcndkUTs7RUFDSTtBVnd3ZFo7QVV6d2RROztFQUNJO0FWNHdkWjtBVTd3ZFE7O0VBQ0k7QVZneGRaO0FVanhkUTs7RUFDSTtBVm94ZFo7QVVyeGRROztFQUNJO0FWd3hkWjtBVXp4ZFE7O0VBQ0k7QVY0eGRaO0FVN3hkUTs7RUFDSTtBVmd5ZFo7QVVqeWRROztFQUNJO0FWb3lkWjtBVXJ5ZFE7O0VBQ0k7QVZ3eWRaO0FVenlkUTs7RUFDSTtBVjR5ZFo7QVU3eWRROztFQUNJO0FWZ3pkWjtBVWp6ZFE7O0VBQ0k7QVZvemRaO0FVcnpkUTs7RUFDSTtBVnd6ZFo7QVV6emRROztFQUNJO0FWNHpkWjtBVTd6ZFE7O0VBQ0k7QVZnMGRaO0FVajBkUTs7RUFDSTtBVm8wZFo7QVVyMGRROztFQUNJO0FWdzBkWjtBVXowZFE7O0VBQ0k7QVY0MGRaO0FVNzBkUTs7RUFDSTtBVmcxZFo7QVVqMWRROztFQUNJO0FWbzFkWjtBVXIxZFE7O0VBQ0k7QVZ3MWRaO0FVejFkUTs7RUFDSTtBVjQxZFo7QVU3MWRROztFQUNJO0FWZzJkWjtBVWoyZFE7O0VBQ0k7QVZvMmRaO0FVcjJkUTs7RUFDSTtBVncyZFo7QVV6MmRROztFQUNJO0FWNDJkWjtBVTcyZFE7O0VBQ0k7QVZnM2RaO0FVajNkUTs7RUFDSTtBVm8zZFo7QVVyM2RROztFQUNJO0FWdzNkWjtBVXozZFE7O0VBQ0k7QVY0M2RaO0FVNzNkUTs7RUFDSTtBVmc0ZFo7QVVqNGRROztFQUNJO0FWbzRkWjtBVXI0ZFE7O0VBQ0k7QVZ3NGRaO0FVejRkUTs7RUFDSTtBVjQ0ZFo7QVU3NGRROztFQUNJO0FWZzVkWjtBVWo1ZFE7O0VBQ0k7QVZvNWRaO0FVcjVkUTs7RUFDSTtBVnc1ZFo7QVV6NWRROztFQUNJO0FWNDVkWjtBVTc1ZFE7O0VBQ0k7QVZnNmRaO0FVajZkUTs7RUFDSTtBVm82ZFo7QVVyNmRROztFQUNJO0FWdzZkWjtBVXo2ZFE7O0VBQ0k7QVY0NmRaO0FVNzZkUTs7RUFDSTtBVmc3ZFo7QVVqN2RROztFQUNJO0FWbzdkWjtBVXI3ZFE7O0VBQ0k7QVZ3N2RaO0FVejdkUTs7RUFDSTtBVjQ3ZFo7QVU3N2RROztFQUNJO0FWZzhkWjtBVWo4ZFE7O0VBQ0k7QVZvOGRaO0FVcjhkUTs7RUFDSTtBVnc4ZFo7QVV6OGRROztFQUNJO0FWNDhkWjtBVTc4ZFE7O0VBQ0k7QVZnOWRaO0FVajlkUTs7RUFDSTtBVm85ZFo7QVVyOWRROztFQUNJO0FWdzlkWjtBVXo5ZFE7O0VBQ0k7QVY0OWRaO0FVNzlkUTs7RUFDSTtBVmcrZFo7QVVqK2RROztFQUNJO0FWbytkWjtBVXIrZFE7O0VBQ0k7QVZ3K2RaO0FVeitkUTs7RUFDSTtBVjQrZFo7QVU3K2RROztFQUNJO0FWZy9kWjtBVWovZFE7O0VBQ0k7QVZvL2RaO0FVci9kUTs7RUFDSTtBVncvZFo7QVV6L2RROztFQUNJO0FWNC9kWjtBVTcvZFE7O0VBQ0k7QVZnZ2VaO0FVamdlUTs7RUFDSTtBVm9nZVo7QVVyZ2VROztFQUNJO0FWd2dlWjtBVXpnZVE7O0VBQ0k7QVY0Z2VaO0FVN2dlUTs7RUFDSTtBVmdoZVo7QVVqaGVROztFQUNJO0FWb2hlWjtBVXJoZVE7O0VBQ0k7QVZ3aGVaO0FVemhlUTs7RUFDSTtBVjRoZVo7QVU3aGVROztFQUNJO0FWZ2llWjtBVWppZVE7O0VBQ0k7QVZvaWVaO0FVcmllUTs7RUFDSTtBVndpZVo7QVV6aWVROztFQUNJO0FWNGllWjtBVTdpZVE7O0VBQ0k7QVZnamVaO0FVamplUTs7RUFDSTtBVm9qZVo7QVVyamVROztFQUNJO0FWd2plWjtBVXpqZVE7O0VBQ0k7QVY0amVaO0FVN2plUTs7RUFDSTtBVmdrZVo7QVVqa2VROztFQUNJO0FWb2tlWjtBVXJrZVE7O0VBQ0k7QVZ3a2VaO0FVemtlUTs7RUFDSTtBVjRrZVo7QVU3a2VROztFQUNJO0FWZ2xlWjtBVWpsZVE7O0VBQ0k7QVZvbGVaO0FVcmxlUTs7RUFDSTtBVndsZVo7QVV6bGVROztFQUNJO0FWNGxlWjtBVTdsZVE7O0VBQ0k7QVZnbWVaO0FVam1lUTs7RUFDSTtBVm9tZVo7QVVybWVROztFQUNJO0FWd21lWjtBVXptZVE7O0VBQ0k7QVY0bWVaO0FVN21lUTs7RUFDSTtBVmduZVo7QVVqbmVROztFQUNJO0FWb25lWjtBVXJuZVE7O0VBQ0k7QVZ3bmVaO0FVem5lUTs7RUFDSTtBVjRuZVo7QVU3bmVROztFQUNJO0FWZ29lWjtBVWpvZVE7O0VBQ0k7QVZvb2VaO0FVcm9lUTs7RUFDSTtBVndvZVo7QVV6b2VROztFQUNJO0FWNG9lWjtBVTdvZVE7O0VBQ0k7QVZncGVaO0FVanBlUTs7RUFDSTtBVm9wZVo7QVVycGVROztFQUNJO0FWd3BlWjtBVXpwZVE7O0VBQ0k7QVY0cGVaO0FVN3BlUTs7RUFDSTtBVmdxZVo7QVVqcWVROztFQUNJO0FWb3FlWjtBVXJxZVE7O0VBQ0k7QVZ3cWVaO0FVenFlUTs7RUFDSTtBVjRxZVo7QVU3cWVROztFQUNJO0FWZ3JlWjtBVWpyZVE7O0VBQ0k7QVZvcmVaO0FVcnJlUTs7RUFDSTtBVndyZVo7QVV6cmVROztFQUNJO0FWNHJlWjtBVTdyZVE7O0VBQ0k7QVZnc2VaO0FVanNlUTs7RUFDSTtBVm9zZVo7QVVyc2VROztFQUNJO0FWd3NlWjtBVXpzZVE7O0VBQ0k7QVY0c2VaO0FVN3NlUTs7RUFDSTtBVmd0ZVo7QVVqdGVROztFQUNJO0FWb3RlWjtBVXJ0ZVE7O0VBQ0k7QVZ3dGVaO0FVenRlUTs7RUFDSTtBVjR0ZVo7QVU3dGVROztFQUNJO0FWZ3VlWjtBVWp1ZVE7O0VBQ0k7QVZvdWVaO0FVcnVlUTs7RUFDSTtBVnd1ZVo7QVV6dWVROztFQUNJO0FWNHVlWjtBVTd1ZVE7O0VBQ0k7QVZndmVaO0FVanZlUTs7RUFDSTtBVm92ZVo7QVVydmVROztFQUNJO0FWd3ZlWjtBVXp2ZVE7O0VBQ0k7QVY0dmVaO0FVN3ZlUTs7RUFDSTtBVmd3ZVo7QVVqd2VROztFQUNJO0FWb3dlWjtBVXJ3ZVE7O0VBQ0k7QVZ3d2VaO0FVendlUTs7RUFDSTtBVjR3ZVo7QVU3d2VROztFQUNJO0FWZ3hlWjtBVWp4ZVE7O0VBQ0k7QVZveGVaO0FVcnhlUTs7RUFDSTtBVnd4ZVo7QVV6eGVROztFQUNJO0FWNHhlWjtBVTd4ZVE7O0VBQ0k7QVZneWVaO0FVanllUTs7RUFDSTtBVm95ZVo7QVVyeWVROztFQUNJO0FWd3llWjtBVXp5ZVE7O0VBQ0k7QVY0eWVaO0FVN3llUTs7RUFDSTtBVmd6ZVo7QVVqemVROztFQUNJO0FWb3plWjtBVXJ6ZVE7O0VBQ0k7QVZ3emVaO0FVenplUTs7RUFDSTtBVjR6ZVo7QVU3emVROztFQUNJO0FWZzBlWjtBVWowZVE7O0VBQ0k7QVZvMGVaO0FVcjBlUTs7RUFDSTtBVncwZVo7QVV6MGVROztFQUNJO0FWNDBlWjtBVTcwZVE7O0VBQ0k7QVZnMWVaO0FVajFlUTs7RUFDSTtBVm8xZVo7QVVyMWVROztFQUNJO0FWdzFlWjtBVXoxZVE7O0VBQ0k7QVY0MWVaO0FVNzFlUTs7RUFDSTtBVmcyZVo7QVVqMmVROztFQUNJO0FWbzJlWjtBVXIyZVE7O0VBQ0k7QVZ3MmVaO0FVejJlUTs7RUFDSTtBVjQyZVo7QVU3MmVROztFQUNJO0FWZzNlWjtBVWozZVE7O0VBQ0k7QVZvM2VaO0FVcjNlUTs7RUFDSTtBVnczZVo7QVV6M2VROztFQUNJO0FWNDNlWjtBVTczZVE7O0VBQ0k7QVZnNGVaO0FVajRlUTs7RUFDSTtBVm80ZVo7QVVyNGVROztFQUNJO0FWdzRlWjtBVXo0ZVE7O0VBQ0k7QVY0NGVaO0FVNzRlUTs7RUFDSTtBVmc1ZVo7QVVqNWVROztFQUNJO0FWbzVlWjtBVXI1ZVE7O0VBQ0k7QVZ3NWVaO0FVejVlUTs7RUFDSTtBVjQ1ZVo7QVU3NWVROztFQUNJO0FWZzZlWjtBVWo2ZVE7O0VBQ0k7QVZvNmVaO0FVcjZlUTs7RUFDSTtBVnc2ZVo7QVV6NmVROztFQUNJO0FWNDZlWjtBVTc2ZVE7O0VBQ0k7QVZnN2VaO0FVajdlUTs7RUFDSTtBVm83ZVo7QVVyN2VROztFQUNJO0FWdzdlWjtBVXo3ZVE7O0VBQ0k7QVY0N2VaO0FVNzdlUTs7RUFDSTtBVmc4ZVo7QVVqOGVROztFQUNJO0FWbzhlWjtBVXI4ZVE7O0VBQ0k7QVZ3OGVaO0FVejhlUTs7RUFDSTtBVjQ4ZVo7QVU3OGVROztFQUNJO0FWZzllWjtBVWo5ZVE7O0VBQ0k7QVZvOWVaO0FVcjllUTs7RUFDSTtBVnc5ZVo7QVV6OWVROztFQUNJO0FWNDllWjtBVTc5ZVE7O0VBQ0k7QVZnK2VaO0FVaitlUTs7RUFDSTtBVm8rZVo7QVVyK2VROztFQUNJO0FWdytlWjtBVXorZVE7O0VBQ0k7QVY0K2VaO0FVNytlUTs7RUFDSTtBVmcvZVo7QVVqL2VROztFQUNJO0FWby9lWjtBVXIvZVE7O0VBQ0k7QVZ3L2VaO0FVei9lUTs7RUFDSTtBVjQvZVo7QVU3L2VROztFQUNJO0FWZ2dmWjtBVWpnZlE7O0VBQ0k7QVZvZ2ZaO0FVcmdmUTs7RUFDSTtBVndnZlo7QVV6Z2ZROztFQUNJO0FWNGdmWjtBVTdnZlE7O0VBQ0k7QVZnaGZaO0FVamhmUTs7RUFDSTtBVm9oZlo7QVVyaGZROztFQUNJO0FWd2hmWjtBVXpoZlE7O0VBQ0k7QVY0aGZaO0FVN2hmUTs7RUFDSTtBVmdpZlo7QVVqaWZROztFQUNJO0FWb2lmWjtBVXJpZlE7O0VBQ0k7QVZ3aWZaO0FVemlmUTs7RUFDSTtBVjRpZlo7QVU3aWZROztFQUNJO0FWZ2pmWjtBVWpqZlE7O0VBQ0k7QVZvamZaO0FVcmpmUTs7RUFDSTtBVndqZlo7QVV6amZROztFQUNJO0FWNGpmWjtBVTdqZlE7O0VBQ0k7QVZna2ZaO0FVamtmUTs7RUFDSTtBVm9rZlo7QVVya2ZROztFQUNJO0FWd2tmWjtBVXprZlE7O0VBQ0k7QVY0a2ZaO0FVN2tmUTs7RUFDSTtBVmdsZlo7QVVqbGZROztFQUNJO0FWb2xmWjtBVXJsZlE7O0VBQ0k7QVZ3bGZaO0FVemxmUTs7RUFDSTtBVjRsZlo7QVU3bGZROztFQUNJO0FWZ21mWjtBVWptZlE7O0VBQ0k7QVZvbWZaO0FVcm1mUTs7RUFDSTtBVndtZlo7QVV6bWZROztFQUNJO0FWNG1mWjtBVTdtZlE7O0VBQ0k7QVZnbmZaO0FVam5mUTs7RUFDSTtBVm9uZlo7QVVybmZROztFQUNJO0FWd25mWjtBVXpuZlE7O0VBQ0k7QVY0bmZaO0FVN25mUTs7RUFDSTtBVmdvZlo7QVVqb2ZROztFQUNJO0FWb29mWjtBVXJvZlE7O0VBQ0k7QVZ3b2ZaO0FVem9mUTs7RUFDSTtBVjRvZlo7QVU3b2ZROztFQUNJO0FWZ3BmWjtBVWpwZlE7O0VBQ0k7QVZvcGZaO0FVcnBmUTs7RUFDSTtBVndwZlo7QVV6cGZROztFQUNJO0FWNHBmWjtBVTdwZlE7O0VBQ0k7QVZncWZaO0FVanFmUTs7RUFDSTtBVm9xZlo7QVVycWZROztFQUNJO0FWd3FmWjtBVXpxZlE7O0VBQ0k7QVY0cWZaO0FVN3FmUTs7RUFDSTtBVmdyZlo7QVVqcmZROztFQUNJO0FWb3JmWjtBVXJyZlE7O0VBQ0k7QVZ3cmZaO0FVenJmUTs7RUFDSTtBVjRyZlo7QVU3cmZROztFQUNJO0FWZ3NmWjtBVWpzZlE7O0VBQ0k7QVZvc2ZaO0FVcnNmUTs7RUFDSTtBVndzZlo7QVV6c2ZROztFQUNJO0FWNHNmWjtBVTdzZlE7O0VBQ0k7QVZndGZaO0FVanRmUTs7RUFDSTtBVm90Zlo7QVVydGZROztFQUNJO0FWd3RmWjtBVXp0ZlE7O0VBQ0k7QVY0dGZaO0FVN3RmUTs7RUFDSTtBVmd1Zlo7QVVqdWZROztFQUNJO0FWb3VmWjtBVXJ1ZlE7O0VBQ0k7QVZ3dWZaO0FVenVmUTs7RUFDSTtBVjR1Zlo7QVU3dWZROztFQUNJO0FWZ3ZmWjtBVWp2ZlE7O0VBQ0k7QVZvdmZaO0FVcnZmUTs7RUFDSTtBVnd2Zlo7QVV6dmZROztFQUNJO0FWNHZmWjtBVTd2ZlE7O0VBQ0k7QVZnd2ZaO0FVandmUTs7RUFDSTtBVm93Zlo7QVVyd2ZROztFQUNJO0FWd3dmWjtBVXp3ZlE7O0VBQ0k7QVY0d2ZaO0FVN3dmUTs7RUFDSTtBVmd4Zlo7QVVqeGZROztFQUNJO0FWb3hmWjtBVXJ4ZlE7O0VBQ0k7QVZ3eGZaO0FVenhmUTs7RUFDSTtBVjR4Zlo7QVU3eGZROztFQUNJO0FWZ3lmWjtBVWp5ZlE7O0VBQ0k7QVZveWZaO0FVcnlmUTs7RUFDSTtBVnd5Zlo7QVV6eWZROztFQUNJO0FWNHlmWjtBVTd5ZlE7O0VBQ0k7QVZnemZaO0FVanpmUTs7RUFDSTtBVm96Zlo7QVVyemZROztFQUNJO0FWd3pmWjtBVXp6ZlE7O0VBQ0k7QVY0emZaO0FVN3pmUTs7RUFDSTtBVmcwZlo7QVVqMGZROztFQUNJO0FWbzBmWjtBVXIwZlE7O0VBQ0k7QVZ3MGZaO0FVejBmUTs7RUFDSTtBVjQwZlo7QVU3MGZROztFQUNJO0FWZzFmWjtBVWoxZlE7O0VBQ0k7QVZvMWZaO0FVcjFmUTs7RUFDSTtBVncxZlo7QVV6MWZROztFQUNJO0FWNDFmWjtBVTcxZlE7O0VBQ0k7QVZnMmZaO0FVajJmUTs7RUFDSTtBVm8yZlo7QVVyMmZROztFQUNJO0FWdzJmWjtBVXoyZlE7O0VBQ0k7QVY0MmZaO0FVNzJmUTs7RUFDSTtBVmczZlo7QVVqM2ZROztFQUNJO0FWbzNmWjtBVXIzZlE7O0VBQ0k7QVZ3M2ZaO0FVejNmUTs7RUFDSTtBVjQzZlo7QVU3M2ZROztFQUNJO0FWZzRmWjtBVWo0ZlE7O0VBQ0k7QVZvNGZaO0FVcjRmUTs7RUFDSTtBVnc0Zlo7QVV6NGZROztFQUNJO0FWNDRmWjtBVTc0ZlE7O0VBQ0k7QVZnNWZaO0FVajVmUTs7RUFDSTtBVm81Zlo7QVVyNWZROztFQUNJO0FWdzVmWjtBVXo1ZlE7O0VBQ0k7QVY0NWZaO0FVNzVmUTs7RUFDSTtBVmc2Zlo7QVVqNmZROztFQUNJO0FWbzZmWjtBVXI2ZlE7O0VBQ0k7QVZ3NmZaO0FVejZmUTs7RUFDSTtBVjQ2Zlo7QVU3NmZROztFQUNJO0FWZzdmWjtBVWo3ZlE7O0VBQ0k7QVZvN2ZaO0FVcjdmUTs7RUFDSTtBVnc3Zlo7QVV6N2ZROztFQUNJO0FWNDdmWjtBVTc3ZlE7O0VBQ0k7QVZnOGZaO0FVajhmUTs7RUFDSTtBVm84Zlo7QVVyOGZROztFQUNJO0FWdzhmWjtBVXo4ZlE7O0VBQ0k7QVY0OGZaO0FVNzhmUTs7RUFDSTtBVmc5Zlo7QVVqOWZROztFQUNJO0FWbzlmWjtBVXI5ZlE7O0VBQ0k7QVZ3OWZaO0FVejlmUTs7RUFDSTtBVjQ5Zlo7QVU3OWZROztFQUNJO0FWZytmWjtBVWorZlE7O0VBQ0k7QVZvK2ZaO0FVcitmUTs7RUFDSTtBVncrZlo7QVV6K2ZROztFQUNJO0FWNCtmWjtBVTcrZlE7O0VBQ0k7QVZnL2ZaO0FVai9mUTs7RUFDSTtBVm8vZlo7QVVyL2ZROztFQUNJO0FWdy9mWjtBVXovZlE7O0VBQ0k7QVY0L2ZaO0FVNy9mUTs7RUFDSTtBVmdnZ0JaO0FVamdnQlE7O0VBQ0k7QVZvZ2dCWjtBVXJnZ0JROztFQUNJO0FWd2dnQlo7QVV6Z2dCUTs7RUFDSTtBVjRnZ0JaO0FVN2dnQlE7O0VBQ0k7QVZnaGdCWjtBVWpoZ0JROztFQUNJO0FWb2hnQlo7QVVyaGdCUTs7RUFDSTtBVndoZ0JaO0FVemhnQlE7O0VBQ0k7QVY0aGdCWjtBVTdoZ0JROztFQUNJO0FWZ2lnQlo7QVVqaWdCUTs7RUFDSTtBVm9pZ0JaO0FVcmlnQlE7O0VBQ0k7QVZ3aWdCWjtBVXppZ0JROztFQUNJO0FWNGlnQlo7QVU3aWdCUTs7RUFDSTtBVmdqZ0JaO0FVampnQlE7O0VBQ0k7QVZvamdCWjtBVXJqZ0JROztFQUNJO0FWd2pnQlo7QVV6amdCUTs7RUFDSTtBVjRqZ0JaO0FVN2pnQlE7O0VBQ0k7QVZna2dCWjtBVWprZ0JROztFQUNJO0FWb2tnQlo7QVVya2dCUTs7RUFDSTtBVndrZ0JaO0FVemtnQlE7O0VBQ0k7QVY0a2dCWjtBVTdrZ0JROztFQUNJO0FWZ2xnQlo7QVVqbGdCUTs7RUFDSTtBVm9sZ0JaO0FVcmxnQlE7O0VBQ0k7QVZ3bGdCWjtBVXpsZ0JROztFQUNJO0FWNGxnQlo7QVU3bGdCUTs7RUFDSTtBVmdtZ0JaO0FVam1nQlE7O0VBQ0k7QVZvbWdCWjtBVXJtZ0JROztFQUNJO0FWd21nQlo7QVV6bWdCUTs7RUFDSTtBVjRtZ0JaO0FVN21nQlE7O0VBQ0k7QVZnbmdCWjtBVWpuZ0JROztFQUNJO0FWb25nQlo7QVVybmdCUTs7RUFDSTtBVnduZ0JaO0FVem5nQlE7O0VBQ0k7QVY0bmdCWjtBVTduZ0JROztFQUNJO0FWZ29nQlo7QVVqb2dCUTs7RUFDSTtBVm9vZ0JaO0FVcm9nQlE7O0VBQ0k7QVZ3b2dCWjtBVXpvZ0JROztFQUNJO0FWNG9nQlo7QVU3b2dCUTs7RUFDSTtBVmdwZ0JaO0FVanBnQlE7O0VBQ0k7QVZvcGdCWjtBVXJwZ0JROztFQUNJO0FWd3BnQlo7QVV6cGdCUTs7RUFDSTtBVjRwZ0JaO0FVN3BnQlE7O0VBQ0k7QVZncWdCWjtBVWpxZ0JROztFQUNJO0FWb3FnQlo7QVVycWdCUTs7RUFDSTtBVndxZ0JaO0FVenFnQlE7O0VBQ0k7QVY0cWdCWjtBVTdxZ0JROztFQUNJO0FWZ3JnQlo7QVVqcmdCUTs7RUFDSTtBVm9yZ0JaO0FVcnJnQlE7O0VBQ0k7QVZ3cmdCWjtBVXpyZ0JROztFQUNJO0FWNHJnQlo7QVU3cmdCUTs7RUFDSTtBVmdzZ0JaO0FVanNnQlE7O0VBQ0k7QVZvc2dCWjtBVXJzZ0JROztFQUNJO0FWd3NnQlo7QVV6c2dCUTs7RUFDSTtBVjRzZ0JaO0FVN3NnQlE7O0VBQ0k7QVZndGdCWjtBVWp0Z0JROztFQUNJO0FWb3RnQlo7QVVydGdCUTs7RUFDSTtBVnd0Z0JaO0FVenRnQlE7O0VBQ0k7QVY0dGdCWjtBVTd0Z0JROztFQUNJO0FWZ3VnQlo7QVVqdWdCUTs7RUFDSTtBVm91Z0JaO0FVcnVnQlE7O0VBQ0k7QVZ3dWdCWjtBVXp1Z0JROztFQUNJO0FWNHVnQlo7QVU3dWdCUTs7RUFDSTtBVmd2Z0JaO0FVanZnQlE7O0VBQ0k7QVZvdmdCWjtBVXJ2Z0JROztFQUNJO0FWd3ZnQlo7QVV6dmdCUTs7RUFDSTtBVjR2Z0JaO0FVN3ZnQlE7O0VBQ0k7QVZnd2dCWjtBVWp3Z0JROztFQUNJO0FWb3dnQlo7QVVyd2dCUTs7RUFDSTtBVnd3Z0JaO0FVendnQlE7O0VBQ0k7QVY0d2dCWjtBVTd3Z0JROztFQUNJO0FWZ3hnQlo7QVVqeGdCUTs7RUFDSTtBVm94Z0JaO0FVcnhnQlE7O0VBQ0k7QVZ3eGdCWjtBVXp4Z0JROztFQUNJO0FWNHhnQlo7QVU3eGdCUTs7RUFDSTtBVmd5Z0JaO0FVanlnQlE7O0VBQ0k7QVZveWdCWjtBVXJ5Z0JROztFQUNJO0FWd3lnQlo7QVV6eWdCUTs7RUFDSTtBVjR5Z0JaO0FVN3lnQlE7O0VBQ0k7QVZnemdCWjtBVWp6Z0JROztFQUNJO0FWb3pnQlo7QVVyemdCUTs7RUFDSTtBVnd6Z0JaO0FVenpnQlE7O0VBQ0k7QVY0emdCWjtBVTd6Z0JROztFQUNJO0FWZzBnQlo7QVVqMGdCUTs7RUFDSTtBVm8wZ0JaO0FVcjBnQlE7O0VBQ0k7QVZ3MGdCWjtBVXowZ0JROztFQUNJO0FWNDBnQlo7QVU3MGdCUTs7RUFDSTtBVmcxZ0JaO0FVajFnQlE7O0VBQ0k7QVZvMWdCWjtBVXIxZ0JROztFQUNJO0FWdzFnQlo7QVV6MWdCUTs7RUFDSTtBVjQxZ0JaO0FVNzFnQlE7O0VBQ0k7QVZnMmdCWjtBVWoyZ0JROztFQUNJO0FWbzJnQlo7QVVyMmdCUTs7RUFDSTtBVncyZ0JaO0FVejJnQlE7O0VBQ0k7QVY0MmdCWjtBVTcyZ0JROztFQUNJO0FWZzNnQlo7QVVqM2dCUTs7RUFDSTtBVm8zZ0JaO0FVcjNnQlE7O0VBQ0k7QVZ3M2dCWjtBVXozZ0JROztFQUNJO0FWNDNnQlo7QVU3M2dCUTs7RUFDSTtBVmc0Z0JaO0FVajRnQlE7O0VBQ0k7QVZvNGdCWjtBVXI0Z0JROztFQUNJO0FWdzRnQlo7QVV6NGdCUTs7RUFDSTtBVjQ0Z0JaO0FVNzRnQlE7O0VBQ0k7QVZnNWdCWjtBVWo1Z0JROztFQUNJO0FWbzVnQlo7QVVyNWdCUTs7RUFDSTtBVnc1Z0JaO0FVejVnQlE7O0VBQ0k7QVY0NWdCWjtBVTc1Z0JROztFQUNJO0FWZzZnQlo7QVVqNmdCUTs7RUFDSTtBVm82Z0JaO0FVcjZnQlE7O0VBQ0k7QVZ3NmdCWjtBVXo2Z0JROztFQUNJO0FWNDZnQlo7QVU3NmdCUTs7RUFDSTtBVmc3Z0JaO0FVajdnQlE7O0VBQ0k7QVZvN2dCWjtBVXI3Z0JROztFQUNJO0FWdzdnQlo7QVV6N2dCUTs7RUFDSTtBVjQ3Z0JaO0FVNzdnQlE7O0VBQ0k7QVZnOGdCWjtBVWo4Z0JROztFQUNJO0FWbzhnQlo7QVVyOGdCUTs7RUFDSTtBVnc4Z0JaO0FVejhnQlE7O0VBQ0k7QVY0OGdCWjtBVTc4Z0JROztFQUNJO0FWZzlnQlo7QVVqOWdCUTs7RUFDSTtBVm85Z0JaO0FVcjlnQlE7O0VBQ0k7QVZ3OWdCWjtBVXo5Z0JROztFQUNJO0FWNDlnQlo7QVU3OWdCUTs7RUFDSTtBVmcrZ0JaO0FVaitnQlE7O0VBQ0k7QVZvK2dCWjtBVXIrZ0JROztFQUNJO0FWdytnQlo7QVV6K2dCUTs7RUFDSTtBVjQrZ0JaO0FVNytnQlE7O0VBQ0k7QVZnL2dCWjtBVWovZ0JROztFQUNJO0FWby9nQlo7QVVyL2dCUTs7RUFDSTtBVncvZ0JaO0FVei9nQlE7O0VBQ0k7QVY0L2dCWjtBVTcvZ0JROztFQUNJO0FWZ2doQlo7QVVqZ2hCUTs7RUFDSTtBVm9naEJaO0FVcmdoQlE7O0VBQ0k7QVZ3Z2hCWjtBVXpnaEJROztFQUNJO0FWNGdoQlo7QVU3Z2hCUTs7RUFDSTtBVmdoaEJaO0FVamhoQlE7O0VBQ0k7QVZvaGhCWjtBVXJoaEJROztFQUNJO0FWd2hoQlo7QVV6aGhCUTs7RUFDSTtBVjRoaEJaO0FVN2hoQlE7O0VBQ0k7QVZnaWhCWjtBVWppaEJROztFQUNJO0FWb2loQlo7QVVyaWhCUTs7RUFDSTtBVndpaEJaO0FVemloQlE7O0VBQ0k7QVY0aWhCWjtBVTdpaEJROztFQUNJO0FWZ2poQlo7QVVqamhCUTs7RUFDSTtBVm9qaEJaO0FVcmpoQlE7O0VBQ0k7QVZ3amhCWjtBVXpqaEJROztFQUNJO0FWNGpoQlo7QVU3amhCUTs7RUFDSTtBVmdraEJaO0FVamtoQlE7O0VBQ0k7QVZva2hCWjtBVXJraEJROztFQUNJO0FWd2toQlo7QVV6a2hCUTs7RUFDSTtBVjRraEJaO0FVN2toQlE7O0VBQ0k7QVZnbGhCWjtBVWpsaEJROztFQUNJO0FWb2xoQlo7QVVybGhCUTs7RUFDSTtBVndsaEJaO0FVemxoQlE7O0VBQ0k7QVY0bGhCWjtBVTdsaEJROztFQUNJO0FWZ21oQlo7QVVqbWhCUTs7RUFDSTtBVm9taEJaO0FVcm1oQlE7O0VBQ0k7QVZ3bWhCWjtBVXptaEJROztFQUNJO0FWNG1oQlo7QVU3bWhCUTs7RUFDSTtBVmduaEJaO0FVam5oQlE7O0VBQ0k7QVZvbmhCWjtBVXJuaEJROztFQUNJO0FWd25oQlo7QVV6bmhCUTs7RUFDSTtBVjRuaEJaO0FVN25oQlE7O0VBQ0k7QVZnb2hCWjtBVWpvaEJROztFQUNJO0FWb29oQlo7QVVyb2hCUTs7RUFDSTtBVndvaEJaO0FVem9oQlE7O0VBQ0k7QVY0b2hCWjtBVTdvaEJROztFQUNJO0FWZ3BoQlo7QVVqcGhCUTs7RUFDSTtBVm9waEJaO0FVcnBoQlE7O0VBQ0k7QVZ3cGhCWjtBVXpwaEJROztFQUNJO0FWNHBoQlo7QVU3cGhCUTs7RUFDSTtBVmdxaEJaO0FVanFoQlE7O0VBQ0k7QVZvcWhCWjtBVXJxaEJROztFQUNJO0FWd3FoQlo7QVV6cWhCUTs7RUFDSTtBVjRxaEJaO0FVN3FoQlE7O0VBQ0k7QVZncmhCWjtBVWpyaEJROztFQUNJO0FWb3JoQlo7QVVycmhCUTs7RUFDSTtBVndyaEJaO0FVenJoQlE7O0VBQ0k7QVY0cmhCWjtBVTdyaEJROztFQUNJO0FWZ3NoQlo7QVVqc2hCUTs7RUFDSTtBVm9zaEJaO0FVcnNoQlE7O0VBQ0k7QVZ3c2hCWjtBVXpzaEJROztFQUNJO0FWNHNoQlo7QVU3c2hCUTs7RUFDSTtBVmd0aEJaO0FVanRoQlE7O0VBQ0k7QVZvdGhCWjtBVXJ0aEJROztFQUNJO0FWd3RoQlo7QVV6dGhCUTs7RUFDSTtBVjR0aEJaO0FVN3RoQlE7O0VBQ0k7QVZndWhCWjtBVWp1aEJROztFQUNJO0FWb3VoQlo7QVVydWhCUTs7RUFDSTtBVnd1aEJaO0FVenVoQlE7O0VBQ0k7QVY0dWhCWjtBVTd1aEJROztFQUNJO0FWZ3ZoQlo7QVVqdmhCUTs7RUFDSTtBVm92aEJaO0FVcnZoQlE7O0VBQ0k7QVZ3dmhCWjtBVXp2aEJROztFQUNJO0FWNHZoQlo7QVU3dmhCUTs7RUFDSTtBVmd3aEJaO0FVandoQlE7O0VBQ0k7QVZvd2hCWjtBVXJ3aEJROztFQUNJO0FWd3doQlo7QVV6d2hCUTs7RUFDSTtBVjR3aEJaO0FVN3doQlE7O0VBQ0k7QVZneGhCWjtBVWp4aEJROztFQUNJO0FWb3hoQlo7QVVyeGhCUTs7RUFDSTtBVnd4aEJaO0FVenhoQlE7O0VBQ0k7QVY0eGhCWjtBVTd4aEJROztFQUNJO0FWZ3loQlo7QVVqeWhCUTs7RUFDSTtBVm95aEJaO0FVcnloQlE7O0VBQ0k7QVZ3eWhCWjtBVXp5aEJROztFQUNJO0FWNHloQlo7QVU3eWhCUTs7RUFDSTtBVmd6aEJaO0FVanpoQlE7O0VBQ0k7QVZvemhCWjtBVXJ6aEJROztFQUNJO0FWd3poQlo7QVV6emhCUTs7RUFDSTtBVjR6aEJaO0FVN3poQlE7O0VBQ0k7QVZnMGhCWjtBVWowaEJROztFQUNJO0FWbzBoQlo7QVVyMGhCUTs7RUFDSTtBVncwaEJaO0FVejBoQlE7O0VBQ0k7QVY0MGhCWjtBVTcwaEJROztFQUNJO0FWZzFoQlo7QVVqMWhCUTs7RUFDSTtBVm8xaEJaO0FVcjFoQlE7O0VBQ0k7QVZ3MWhCWjtBVXoxaEJROztFQUNJO0FWNDFoQlo7QVU3MWhCUTs7RUFDSTtBVmcyaEJaO0FVajJoQlE7O0VBQ0k7QVZvMmhCWjtBVXIyaEJROztFQUNJO0FWdzJoQlo7QVV6MmhCUTs7RUFDSTtBVjQyaEJaO0FVNzJoQlE7O0VBQ0k7QVZnM2hCWjtBVWozaEJROztFQUNJO0FWbzNoQlo7QVVyM2hCUTs7RUFDSTtBVnczaEJaO0FVejNoQlE7O0VBQ0k7QVY0M2hCWjtBVTczaEJROztFQUNJO0FWZzRoQlo7QVVqNGhCUTs7RUFDSTtBVm80aEJaO0FVcjRoQlE7O0VBQ0k7QVZ3NGhCWjtBVXo0aEJROztFQUNJO0FWNDRoQlo7QVU3NGhCUTs7RUFDSTtBVmc1aEJaO0FVajVoQlE7O0VBQ0k7QVZvNWhCWjtBVXI1aEJROztFQUNJO0FWdzVoQlo7QVV6NWhCUTs7RUFDSTtBVjQ1aEJaO0FVNzVoQlE7O0VBQ0k7QVZnNmhCWjtBVWo2aEJROztFQUNJO0FWbzZoQlo7QVVyNmhCUTs7RUFDSTtBVnc2aEJaO0FVejZoQlE7O0VBQ0k7QVY0NmhCWjtBVTc2aEJROztFQUNJO0FWZzdoQlo7QVVqN2hCUTs7RUFDSTtBVm83aEJaO0FVcjdoQlE7O0VBQ0k7QVZ3N2hCWjtBVXo3aEJROztFQUNJO0FWNDdoQlo7QVU3N2hCUTs7RUFDSTtBVmc4aEJaO0FVajhoQlE7O0VBQ0k7QVZvOGhCWjtBVXI4aEJROztFQUNJO0FWdzhoQlo7QVV6OGhCUTs7RUFDSTtBVjQ4aEJaO0FVNzhoQlE7O0VBQ0k7QVZnOWhCWjtBVWo5aEJROztFQUNJO0FWbzloQlo7QVVyOWhCUTs7RUFDSTtBVnc5aEJaO0FVejloQlE7O0VBQ0k7QVY0OWhCWjtBVTc5aEJROztFQUNJO0FWZytoQlo7QVVqK2hCUTs7RUFDSTtBVm8raEJaO0FVcitoQlE7O0VBQ0k7QVZ3K2hCWjtBVXoraEJROztFQUNJO0FWNCtoQlo7QVU3K2hCUTs7RUFDSTtBVmcvaEJaO0FVai9oQlE7O0VBQ0k7QVZvL2hCWjtBVXIvaEJROztFQUNJO0FWdy9oQlo7QVV6L2hCUTs7RUFDSTtBVjQvaEJaO0FVNy9oQlE7O0VBQ0k7QVZnZ2lCWjtBVWpnaUJROztFQUNJO0FWb2dpQlo7QVVyZ2lCUTs7RUFDSTtBVndnaUJaO0FVemdpQlE7O0VBQ0k7QVY0Z2lCWjtBVTdnaUJROztFQUNJO0FWZ2hpQlo7QVVqaGlCUTs7RUFDSTtBVm9oaUJaO0FVcmhpQlE7O0VBQ0k7QVZ3aGlCWjtBVXpoaUJROztFQUNJO0FWNGhpQlo7QVU3aGlCUTs7RUFDSTtBVmdpaUJaO0FVamlpQlE7O0VBQ0k7QVZvaWlCWjtBVXJpaUJROztFQUNJO0FWd2lpQlo7QVV6aWlCUTs7RUFDSTtBVjRpaUJaO0FVN2lpQlE7O0VBQ0k7QVZnamlCWjtBVWpqaUJROztFQUNJO0FWb2ppQlo7QVVyamlCUTs7RUFDSTtBVndqaUJaO0FVemppQlE7O0VBQ0k7QVY0amlCWjtBVTdqaUJROztFQUNJO0FWZ2tpQlo7QVVqa2lCUTs7RUFDSTtBVm9raUJaO0FVcmtpQlE7O0VBQ0k7QVZ3a2lCWjtBVXpraUJROztFQUNJO0FWNGtpQlo7QVU3a2lCUTs7RUFDSTtBVmdsaUJaO0FVamxpQlE7O0VBQ0k7QVZvbGlCWjtBVXJsaUJROztFQUNJO0FWd2xpQlo7QVV6bGlCUTs7RUFDSTtBVjRsaUJaO0FVN2xpQlE7O0VBQ0k7QVZnbWlCWjtBVWptaUJROztFQUNJO0FWb21pQlo7QVVybWlCUTs7RUFDSTtBVndtaUJaO0FVem1pQlE7O0VBQ0k7QVY0bWlCWjtBVTdtaUJROztFQUNJO0FWZ25pQlo7QVVqbmlCUTs7RUFDSTtBVm9uaUJaO0FVcm5pQlE7O0VBQ0k7QVZ3bmlCWjtBVXpuaUJROztFQUNJO0FWNG5pQlo7QVU3bmlCUTs7RUFDSTtBVmdvaUJaO0FVam9pQlE7O0VBQ0k7QVZvb2lCWjtBVXJvaUJROztFQUNJO0FWd29pQlo7QVV6b2lCUTs7RUFDSTtBVjRvaUJaO0FVN29pQlE7O0VBQ0k7QVZncGlCWjtBVWpwaUJROztFQUNJO0FWb3BpQlo7QVVycGlCUTs7RUFDSTtBVndwaUJaO0FVenBpQlE7O0VBQ0k7QVY0cGlCWjtBVTdwaUJROztFQUNJO0FWZ3FpQlo7QVVqcWlCUTs7RUFDSTtBVm9xaUJaO0FVcnFpQlE7O0VBQ0k7QVZ3cWlCWjtBVXpxaUJROztFQUNJO0FWNHFpQlo7QVU3cWlCUTs7RUFDSTtBVmdyaUJaO0FVanJpQlE7O0VBQ0k7QVZvcmlCWjtBVXJyaUJROztFQUNJO0FWd3JpQlo7QVV6cmlCUTs7RUFDSTtBVjRyaUJaO0FVN3JpQlE7O0VBQ0k7QVZnc2lCWjtBVWpzaUJROztFQUNJO0FWb3NpQlo7QVVyc2lCUTs7RUFDSTtBVndzaUJaO0FVenNpQlE7O0VBQ0k7QVY0c2lCWjtBVTdzaUJROztFQUNJO0FWZ3RpQlo7QVVqdGlCUTs7RUFDSTtBVm90aUJaO0FVcnRpQlE7O0VBQ0k7QVZ3dGlCWjtBVXp0aUJROztFQUNJO0FWNHRpQlo7QVU3dGlCUTs7RUFDSTtBVmd1aUJaO0FVanVpQlE7O0VBQ0k7QVZvdWlCWjtBVXJ1aUJROztFQUNJO0FWd3VpQlo7QVV6dWlCUTs7RUFDSTtBVjR1aUJaO0FVN3VpQlE7O0VBQ0k7QVZndmlCWjtBVWp2aUJROztFQUNJO0FWb3ZpQlo7QVVydmlCUTs7RUFDSTtBVnd2aUJaO0FVenZpQlE7O0VBQ0k7QVY0dmlCWjtBVTd2aUJROztFQUNJO0FWZ3dpQlo7QVVqd2lCUTs7RUFDSTtBVm93aUJaO0FVcndpQlE7O0VBQ0k7QVZ3d2lCWjtBVXp3aUJROztFQUNJO0FWNHdpQlo7QVU3d2lCUTs7RUFDSTtBVmd4aUJaO0FVanhpQlE7O0VBQ0k7QVZveGlCWjtBVXJ4aUJROztFQUNJO0FWd3hpQlo7QVV6eGlCUTs7RUFDSTtBVjR4aUJaO0FVN3hpQlE7O0VBQ0k7QVZneWlCWjtBVWp5aUJROztFQUNJO0FWb3lpQlo7QVVyeWlCUTs7RUFDSTtBVnd5aUJaO0FVenlpQlE7O0VBQ0k7QVY0eWlCWjtBVTd5aUJROztFQUNJO0FWZ3ppQlo7QVVqemlCUTs7RUFDSTtBVm96aUJaO0FVcnppQlE7O0VBQ0k7QVZ3emlCWjtBVXp6aUJROztFQUNJO0FWNHppQlo7QVU3emlCUTs7RUFDSTtBVmcwaUJaO0FVajBpQlE7O0VBQ0k7QVZvMGlCWjtBVXIwaUJROztFQUNJO0FWdzBpQlo7QVV6MGlCUTs7RUFDSTtBVjQwaUJaO0FVNzBpQlE7O0VBQ0k7QVZnMWlCWjtBVWoxaUJROztFQUNJO0FWbzFpQlo7QVVyMWlCUTs7RUFDSTtBVncxaUJaO0FVejFpQlE7O0VBQ0k7QVY0MWlCWjtBVTcxaUJROztFQUNJO0FWZzJpQlo7QVVqMmlCUTs7RUFDSTtBVm8yaUJaO0FVcjJpQlE7O0VBQ0k7QVZ3MmlCWjtBVXoyaUJROztFQUNJO0FWNDJpQlo7QVU3MmlCUTs7RUFDSTtBVmczaUJaO0FVajNpQlE7O0VBQ0k7QVZvM2lCWjtBVXIzaUJROztFQUNJO0FWdzNpQlo7QVV6M2lCUTs7RUFDSTtBVjQzaUJaO0FVNzNpQlE7O0VBQ0k7QVZnNGlCWjtBVWo0aUJROztFQUNJO0FWbzRpQlo7QVVyNGlCUTs7RUFDSTtBVnc0aUJaO0FVejRpQlE7O0VBQ0k7QVY0NGlCWjtBVTc0aUJROztFQUNJO0FWZzVpQlo7QVVqNWlCUTs7RUFDSTtBVm81aUJaO0FVcjVpQlE7O0VBQ0k7QVZ3NWlCWjtBVXo1aUJROztFQUNJO0FWNDVpQlo7QVU3NWlCUTs7RUFDSTtBVmc2aUJaO0FVajZpQlE7O0VBQ0k7QVZvNmlCWjtBVXI2aUJROztFQUNJO0FWdzZpQlo7QVV6NmlCUTs7RUFDSTtBVjQ2aUJaO0FVNzZpQlE7O0VBQ0k7QVZnN2lCWjtBVWo3aUJROztFQUNJO0FWbzdpQlo7QVVyN2lCUTs7RUFDSTtBVnc3aUJaO0FVejdpQlE7O0VBQ0k7QVY0N2lCWjtBVTc3aUJROztFQUNJO0FWZzhpQlo7QVVqOGlCUTs7RUFDSTtBVm84aUJaO0FVcjhpQlE7O0VBQ0k7QVZ3OGlCWjtBVXo4aUJROztFQUNJO0FWNDhpQlo7QVU3OGlCUTs7RUFDSTtBVmc5aUJaO0FVajlpQlE7O0VBQ0k7QVZvOWlCWjtBVXI5aUJROztFQUNJO0FWdzlpQlo7QVV6OWlCUTs7RUFDSTtBVjQ5aUJaO0FVNzlpQlE7O0VBQ0k7QVZnK2lCWjtBVWoraUJROztFQUNJO0FWbytpQlo7QVVyK2lCUTs7RUFDSTtBVncraUJaO0FVeitpQlE7O0VBQ0k7QVY0K2lCWjtBVTcraUJROztFQUNJO0FWZy9pQlo7QVVqL2lCUTs7RUFDSTtBVm8vaUJaO0FVci9pQlE7O0VBQ0k7QVZ3L2lCWjtBVXovaUJROztFQUNJO0FWNC9pQlo7QVU3L2lCUTs7RUFDSTtBVmdnakJaO0FVamdqQlE7O0VBQ0k7QVZvZ2pCWjtBVXJnakJROztFQUNJO0FWd2dqQlo7QVV6Z2pCUTs7RUFDSTtBVjRnakJaO0FVN2dqQlE7O0VBQ0k7QVZnaGpCWjtBVWpoakJROztFQUNJO0FWb2hqQlo7QVVyaGpCUTs7RUFDSTtBVndoakJaO0FVemhqQlE7O0VBQ0k7QVY0aGpCWjtBVTdoakJROztFQUNJO0FWZ2lqQlo7QVVqaWpCUTs7RUFDSTtBVm9pakJaO0FVcmlqQlE7O0VBQ0k7QVZ3aWpCWjtBVXppakJROztFQUNJO0FWNGlqQlo7QVU3aWpCUTs7RUFDSTtBVmdqakJaO0FVampqQlE7O0VBQ0k7QVZvampCWjtBVXJqakJROztFQUNJO0FWd2pqQlo7QVV6ampCUTs7RUFDSTtBVjRqakJaO0FVN2pqQlE7O0VBQ0k7QVZna2pCWjtBVWprakJROztFQUNJO0FWb2tqQlo7QVVya2pCUTs7RUFDSTtBVndrakJaO0FVemtqQlE7O0VBQ0k7QVY0a2pCWjtBVTdrakJROztFQUNJO0FWZ2xqQlo7QVVqbGpCUTs7RUFDSTtBVm9sakJaO0FVcmxqQlE7O0VBQ0k7QVZ3bGpCWjtBVXpsakJROztFQUNJO0FWNGxqQlo7QVU3bGpCUTs7RUFDSTtBVmdtakJaO0FVam1qQlE7O0VBQ0k7QVZvbWpCWjtBVXJtakJROztFQUNJO0FWd21qQlo7QVV6bWpCUTs7RUFDSTtBVjRtakJaO0FVN21qQlE7O0VBQ0k7QVZnbmpCWjtBVWpuakJROztFQUNJO0FWb25qQlo7QVVybmpCUTs7RUFDSTtBVnduakJaO0FVem5qQlE7O0VBQ0k7QVY0bmpCWjtBVTduakJROztFQUNJO0FWZ29qQlo7QVVqb2pCUTs7RUFDSTtBVm9vakJaO0FVcm9qQlE7O0VBQ0k7QVZ3b2pCWjtBVXpvakJROztFQUNJO0FWNG9qQlo7QVU3b2pCUTs7RUFDSTtBVmdwakJaO0FVanBqQlE7O0VBQ0k7QVZvcGpCWjtBVXJwakJROztFQUNJO0FWd3BqQlo7QVV6cGpCUTs7RUFDSTtBVjRwakJaO0FVN3BqQlE7O0VBQ0k7QVZncWpCWjtBVWpxakJROztFQUNJO0FWb3FqQlo7QVVycWpCUTs7RUFDSTtBVndxakJaO0FVenFqQlE7O0VBQ0k7QVY0cWpCWjtBVTdxakJROztFQUNJO0FWZ3JqQlo7QVVqcmpCUTs7RUFDSTtBVm9yakJaO0FVcnJqQlE7O0VBQ0k7QVZ3cmpCWjtBVXpyakJROztFQUNJO0FWNHJqQlo7QVU3cmpCUTs7RUFDSTtBVmdzakJaO0FVanNqQlE7O0VBQ0k7QVZvc2pCWjtBVXJzakJROztFQUNJO0FWd3NqQlo7QVV6c2pCUTs7RUFDSTtBVjRzakJaO0FVN3NqQlE7O0VBQ0k7QVZndGpCWjtBVWp0akJROztFQUNJO0FWb3RqQlo7QVVydGpCUTs7RUFDSTtBVnd0akJaO0FVenRqQlE7O0VBQ0k7QVY0dGpCWjtBVTd0akJROztFQUNJO0FWZ3VqQlo7QVVqdWpCUTs7RUFDSTtBVm91akJaO0FVcnVqQlE7O0VBQ0k7QVZ3dWpCWjtBVXp1akJROztFQUNJO0FWNHVqQlo7QVU3dWpCUTs7RUFDSTtBVmd2akJaO0FVanZqQlE7O0VBQ0k7QVZvdmpCWjtBVXJ2akJROztFQUNJO0FWd3ZqQlo7QVV6dmpCUTs7RUFDSTtBVjR2akJaO0FVN3ZqQlE7O0VBQ0k7QVZnd2pCWjtBVWp3akJROztFQUNJO0FWb3dqQlo7QVVyd2pCUTs7RUFDSTtBVnd3akJaO0FVendqQlE7O0VBQ0k7QVY0d2pCWjtBVTd3akJROztFQUNJO0FWZ3hqQlo7QVVqeGpCUTs7RUFDSTtBVm94akJaO0FVcnhqQlE7O0VBQ0k7QVZ3eGpCWjtBVXp4akJROztFQUNJO0FWNHhqQlo7QVU3eGpCUTs7RUFDSTtBVmd5akJaO0FVanlqQlE7O0VBQ0k7QVZveWpCWjtBVXJ5akJROztFQUNJO0FWd3lqQlo7QVV6eWpCUTs7RUFDSTtBVjR5akJaO0FVN3lqQlE7O0VBQ0k7QVZnempCWjtBVWp6akJROztFQUNJO0FWb3pqQlo7QVVyempCUTs7RUFDSTtBVnd6akJaO0FVenpqQlE7O0VBQ0k7QVY0empCWjtBVTd6akJROztFQUNJO0FWZzBqQlo7QVVqMGpCUTs7RUFDSTtBVm8wakJaO0FVcjBqQlE7O0VBQ0k7QVZ3MGpCWjtBVXowakJROztFQUNJO0FWNDBqQlo7QVU3MGpCUTs7RUFDSTtBVmcxakJaO0FVajFqQlE7O0VBQ0k7QVZvMWpCWjtBVXIxakJROztFQUNJO0FWdzFqQlo7QVV6MWpCUTs7RUFDSTtBVjQxakJaO0FVNzFqQlE7O0VBQ0k7QVZnMmpCWjtBVWoyakJROztFQUNJO0FWbzJqQlo7QVVyMmpCUTs7RUFDSTtBVncyakJaO0FVejJqQlE7O0VBQ0k7QVY0MmpCWjtBVTcyakJROztFQUNJO0FWZzNqQlo7QVVqM2pCUTs7RUFDSTtBVm8zakJaO0FVcjNqQlE7O0VBQ0k7QVZ3M2pCWjtBVXozakJROztFQUNJO0FWNDNqQlo7QVU3M2pCUTs7RUFDSTtBVmc0akJaO0FVajRqQlE7O0VBQ0k7QVZvNGpCWjtBVXI0akJROztFQUNJO0FWdzRqQlo7QVV6NGpCUTs7RUFDSTtBVjQ0akJaO0FVNzRqQlE7O0VBQ0k7QVZnNWpCWjtBVWo1akJROztFQUNJO0FWbzVqQlo7QVVyNWpCUTs7RUFDSTtBVnc1akJaO0FVejVqQlE7O0VBQ0k7QVY0NWpCWjtBVTc1akJROztFQUNJO0FWZzZqQlo7QVVqNmpCUTs7RUFDSTtBVm82akJaO0FVcjZqQlE7O0VBQ0k7QVZ3NmpCWjtBVXo2akJROztFQUNJO0FWNDZqQlo7QVU3NmpCUTs7RUFDSTtBVmc3akJaO0FVajdqQlE7O0VBQ0k7QVZvN2pCWjtBVXI3akJROztFQUNJO0FWdzdqQlo7QVV6N2pCUTs7RUFDSTtBVjQ3akJaO0FVNzdqQlE7O0VBQ0k7QVZnOGpCWjtBVWo4akJROztFQUNJO0FWbzhqQlo7QVVyOGpCUTs7RUFDSTtBVnc4akJaO0FVejhqQlE7O0VBQ0k7QVY0OGpCWjtBVTc4akJROztFQUNJO0FWZzlqQlo7QVVqOWpCUTs7RUFDSTtBVm85akJaO0FVcjlqQlE7O0VBQ0k7QVZ3OWpCWjtBVXo5akJROztFQUNJO0FWNDlqQlo7QVU3OWpCUTs7RUFDSTtBVmcrakJaO0FVaitqQlE7O0VBQ0k7QVZvK2pCWjtBVXIrakJROztFQUNJO0FWdytqQlo7QVV6K2pCUTs7RUFDSTtBVjQrakJaO0FVNytqQlE7O0VBQ0k7QVZnL2pCWjtBVWovakJROztFQUNJO0FWby9qQlo7QVVyL2pCUTs7RUFDSTtBVncvakJaO0FVei9qQlE7O0VBQ0k7QVY0L2pCWjtBVTcvakJROztFQUNJO0FWZ2drQlo7QVVqZ2tCUTs7RUFDSTtBVm9na0JaO0FVcmdrQlE7O0VBQ0k7QVZ3Z2tCWjtBVXpna0JROztFQUNJO0FWNGdrQlo7QVU3Z2tCUTs7RUFDSTtBVmdoa0JaO0FVamhrQlE7O0VBQ0k7QVZvaGtCWjtBVXJoa0JROztFQUNJO0FWd2hrQlo7QVV6aGtCUTs7RUFDSTtBVjRoa0JaO0FVN2hrQlE7O0VBQ0k7QVZnaWtCWjtBVWppa0JROztFQUNJO0FWb2lrQlo7QVVyaWtCUTs7RUFDSTtBVndpa0JaO0FVemlrQlE7O0VBQ0k7QVY0aWtCWjtBVTdpa0JROztFQUNJO0FWZ2prQlo7QVVqamtCUTs7RUFDSTtBVm9qa0JaO0FVcmprQlE7O0VBQ0k7QVZ3amtCWjtBVXpqa0JROztFQUNJO0FWNGprQlo7QVU3amtCUTs7RUFDSTtBVmdra0JaO0FVamtrQlE7O0VBQ0k7QVZva2tCWjtBVXJra0JROztFQUNJO0FWd2trQlo7QVV6a2tCUTs7RUFDSTtBVjRra0JaO0FVN2trQlE7O0VBQ0k7QVZnbGtCWjtBVWpsa0JROztFQUNJO0FWb2xrQlo7QVVybGtCUTs7RUFDSTtBVndsa0JaO0FVemxrQlE7O0VBQ0k7QVY0bGtCWjtBVTdsa0JROztFQUNJO0FWZ21rQlo7QVVqbWtCUTs7RUFDSTtBVm9ta0JaO0FVcm1rQlE7O0VBQ0k7QVZ3bWtCWjtBVXpta0JROztFQUNJO0FWNG1rQlo7QVU3bWtCUTs7RUFDSTtBVmdua0JaO0FVam5rQlE7O0VBQ0k7QVZvbmtCWjtBVXJua0JROztFQUNJO0FWd25rQlo7QVV6bmtCUTs7RUFDSTtBVjRua0JaO0FVN25rQlE7O0VBQ0k7QVZnb2tCWjtBVWpva0JROztFQUNJO0FWb29rQlo7QVVyb2tCUTs7RUFDSTtBVndva0JaO0FVem9rQlE7O0VBQ0k7QVY0b2tCWjtBVTdva0JROztFQUNJO0FWZ3BrQlo7QVVqcGtCUTs7RUFDSTtBVm9wa0JaO0FVcnBrQlE7O0VBQ0k7QVZ3cGtCWjtBVXpwa0JROztFQUNJO0FWNHBrQlo7QVU3cGtCUTs7RUFDSTtBVmdxa0JaO0FVanFrQlE7O0VBQ0k7QVZvcWtCWjtBVXJxa0JROztFQUNJO0FWd3FrQlo7QVV6cWtCUTs7RUFDSTtBVjRxa0JaO0FVN3FrQlE7O0VBQ0k7QVZncmtCWjtBVWpya0JROztFQUNJO0FWb3JrQlo7QVVycmtCUTs7RUFDSTtBVndya0JaO0FVenJrQlE7O0VBQ0k7QVY0cmtCWjtBVTdya0JROztFQUNJO0FWZ3NrQlo7QVVqc2tCUTs7RUFDSTtBVm9za0JaO0FVcnNrQlE7O0VBQ0k7QVZ3c2tCWjtBVXpza0JROztFQUNJO0FWNHNrQlo7QVU3c2tCUTs7RUFDSTtBVmd0a0JaO0FVanRrQlE7O0VBQ0k7QVZvdGtCWjtBVXJ0a0JROztFQUNJO0FWd3RrQlo7QVV6dGtCUTs7RUFDSTtBVjR0a0JaO0FVN3RrQlE7O0VBQ0k7QVZndWtCWjtBVWp1a0JROztFQUNJO0FWb3VrQlo7QVVydWtCUTs7RUFDSTtBVnd1a0JaO0FVenVrQlE7O0VBQ0k7QVY0dWtCWjtBVTd1a0JROztFQUNJO0FWZ3ZrQlo7QVVqdmtCUTs7RUFDSTtBVm92a0JaO0FVcnZrQlE7O0VBQ0k7QVZ3dmtCWjtBVXp2a0JROztFQUNJO0FWNHZrQlo7QVU3dmtCUTs7RUFDSTtBVmd3a0JaO0FVandrQlE7O0VBQ0k7QVZvd2tCWjtBVXJ3a0JROztFQUNJO0FWd3drQlo7QVV6d2tCUTs7RUFDSTtBVjR3a0JaO0FVN3drQlE7O0VBQ0k7QVZneGtCWjtBVWp4a0JROztFQUNJO0FWb3hrQlo7QVVyeGtCUTs7RUFDSTtBVnd4a0JaO0FVenhrQlE7O0VBQ0k7QVY0eGtCWjtBVTd4a0JROztFQUNJO0FWZ3lrQlo7QVVqeWtCUTs7RUFDSTtBVm95a0JaO0FVcnlrQlE7O0VBQ0k7QVZ3eWtCWjtBVXp5a0JROztFQUNJO0FWNHlrQlo7QVU3eWtCUTs7RUFDSTtBVmd6a0JaO0FVanprQlE7O0VBQ0k7QVZvemtCWjtBVXJ6a0JROztFQUNJO0FWd3prQlo7QVV6emtCUTs7RUFDSTtBVjR6a0JaO0FVN3prQlE7O0VBQ0k7QVZnMGtCWjtBVWowa0JROztFQUNJO0FWbzBrQlo7QVVyMGtCUTs7RUFDSTtBVncwa0JaO0FVejBrQlE7O0VBQ0k7QVY0MGtCWjtBVTcwa0JROztFQUNJO0FWZzFrQlo7QVVqMWtCUTs7RUFDSTtBVm8xa0JaO0FVcjFrQlE7O0VBQ0k7QVZ3MWtCWjtBVXoxa0JROztFQUNJO0FWNDFrQlo7QVU3MWtCUTs7RUFDSTtBVmcya0JaO0FVajJrQlE7O0VBQ0k7QVZvMmtCWjtBVXIya0JROztFQUNJO0FWdzJrQlo7QVV6MmtCUTs7RUFDSTtBVjQya0JaO0FVNzJrQlE7O0VBQ0k7QVZnM2tCWjtBVWoza0JROztFQUNJO0FWbzNrQlo7QVVyM2tCUTs7RUFDSTtBVncza0JaO0FVejNrQlE7O0VBQ0k7QVY0M2tCWjtBVTcza0JROztFQUNJO0FWZzRrQlo7QVVqNGtCUTs7RUFDSTtBVm80a0JaO0FVcjRrQlE7O0VBQ0k7QVZ3NGtCWjtBVXo0a0JROztFQUNJO0FWNDRrQlo7QVU3NGtCUTs7RUFDSTtBVmc1a0JaO0FVajVrQlE7O0VBQ0k7QVZvNWtCWjtBVXI1a0JROztFQUNJO0FWdzVrQlo7QVV6NWtCUTs7RUFDSTtBVjQ1a0JaO0FVNzVrQlE7O0VBQ0k7QVZnNmtCWjtBVWo2a0JROztFQUNJO0FWbzZrQlo7QVVyNmtCUTs7RUFDSTtBVnc2a0JaO0FVejZrQlE7O0VBQ0k7QVY0NmtCWjtBVTc2a0JROztFQUNJO0FWZzdrQlo7QVVqN2tCUTs7RUFDSTtBVm83a0JaO0FVcjdrQlE7O0VBQ0k7QVZ3N2tCWjtBVXo3a0JROztFQUNJO0FWNDdrQlo7QVU3N2tCUTs7RUFDSTtBVmc4a0JaO0FVajhrQlE7O0VBQ0k7QVZvOGtCWjtBVXI4a0JROztFQUNJO0FWdzhrQlo7QVV6OGtCUTs7RUFDSTtBVjQ4a0JaO0FVNzhrQlE7O0VBQ0k7QVZnOWtCWjtBVWo5a0JROztFQUNJO0FWbzlrQlo7QVVyOWtCUTs7RUFDSTtBVnc5a0JaO0FVejlrQlE7O0VBQ0k7QVY0OWtCWjtBVTc5a0JROztFQUNJO0FWZytrQlo7QVVqK2tCUTs7RUFDSTtBVm8ra0JaO0FVcitrQlE7O0VBQ0k7QVZ3K2tCWjtBVXora0JROztFQUNJO0FWNCtrQlo7QVU3K2tCUTs7RUFDSTtBVmcva0JaO0FVai9rQlE7O0VBQ0k7QVZvL2tCWjtBVXIva0JROztFQUNJO0FWdy9rQlo7QVV6L2tCUTs7RUFDSTtBVjQva0JaO0FVNy9rQlE7O0VBQ0k7QVZnZ2xCWjtBVWpnbEJROztFQUNJO0FWb2dsQlo7QVVyZ2xCUTs7RUFDSTtBVndnbEJaO0FVemdsQlE7O0VBQ0k7QVY0Z2xCWjtBVTdnbEJROztFQUNJO0FWZ2hsQlo7QVVqaGxCUTs7RUFDSTtBVm9obEJaO0FVcmhsQlE7O0VBQ0k7QVZ3aGxCWjtBVXpobEJROztFQUNJO0FWNGhsQlo7QVU3aGxCUTs7RUFDSTtBVmdpbEJaO0FVamlsQlE7O0VBQ0k7QVZvaWxCWjtBVXJpbEJROztFQUNJO0FWd2lsQlo7QVV6aWxCUTs7RUFDSTtBVjRpbEJaO0FVN2lsQlE7O0VBQ0k7QVZnamxCWjtBVWpqbEJROztFQUNJO0FWb2psQlo7QVVyamxCUTs7RUFDSTtBVndqbEJaO0FVempsQlE7O0VBQ0k7QVY0amxCWjtBVTdqbEJROztFQUNJO0FWZ2tsQlo7QVVqa2xCUTs7RUFDSTtBVm9rbEJaO0FVcmtsQlE7O0VBQ0k7QVZ3a2xCWjtBVXprbEJROztFQUNJO0FWNGtsQlo7QVU3a2xCUTs7RUFDSTtBVmdsbEJaO0FVamxsQlE7O0VBQ0k7QVZvbGxCWjtBVXJsbEJROztFQUNJO0FWd2xsQlo7QVV6bGxCUTs7RUFDSTtBVjRsbEJaO0FVN2xsQlE7O0VBQ0k7QVZnbWxCWjtBVWptbEJROztFQUNJO0FWb21sQlo7QVVybWxCUTs7RUFDSTtBVndtbEJaO0FVem1sQlE7O0VBQ0k7QVY0bWxCWjtBVTdtbEJROztFQUNJO0FWZ25sQlo7QVVqbmxCUTs7RUFDSTtBVm9ubEJaO0FVcm5sQlE7O0VBQ0k7QVZ3bmxCWjtBVXpubEJROztFQUNJO0FWNG5sQlo7QVU3bmxCUTs7RUFDSTtBVmdvbEJaO0FVam9sQlE7O0VBQ0k7QVZvb2xCWjtBVXJvbEJROztFQUNJO0FWd29sQlo7QVV6b2xCUTs7RUFDSTtBVjRvbEJaO0FVN29sQlE7O0VBQ0k7QVZncGxCWjtBVWpwbEJROztFQUNJO0FWb3BsQlo7QVVycGxCUTs7RUFDSTtBVndwbEJaO0FVenBsQlE7O0VBQ0k7QVY0cGxCWjtBVTdwbEJROztFQUNJO0FWZ3FsQlo7QVVqcWxCUTs7RUFDSTtBVm9xbEJaO0FVcnFsQlE7O0VBQ0k7QVZ3cWxCWjtBVXpxbEJROztFQUNJO0FWNHFsQlo7QVU3cWxCUTs7RUFDSTtBVmdybEJaO0FVanJsQlE7O0VBQ0k7QVZvcmxCWjtBVXJybEJROztFQUNJO0FWd3JsQlo7QVV6cmxCUTs7RUFDSTtBVjRybEJaO0FVN3JsQlE7O0VBQ0k7QVZnc2xCWjtBVWpzbEJROztFQUNJO0FWb3NsQlo7QVVyc2xCUTs7RUFDSTtBVndzbEJaO0FVenNsQlE7O0VBQ0k7QVY0c2xCWjtBVTdzbEJROztFQUNJO0FWZ3RsQlo7QVVqdGxCUTs7RUFDSTtBVm90bEJaO0FVcnRsQlE7O0VBQ0k7QVZ3dGxCWjtBVXp0bEJROztFQUNJO0FWNHRsQlo7QVU3dGxCUTs7RUFDSTtBVmd1bEJaO0FVanVsQlE7O0VBQ0k7QVZvdWxCWjtBVXJ1bEJROztFQUNJO0FWd3VsQlo7QVV6dWxCUTs7RUFDSTtBVjR1bEJaO0FVN3VsQlE7O0VBQ0k7QVZndmxCWjtBVWp2bEJROztFQUNJO0FWb3ZsQlo7QVVydmxCUTs7RUFDSTtBVnd2bEJaO0FVenZsQlE7O0VBQ0k7QVY0dmxCWjtBVTd2bEJROztFQUNJO0FWZ3dsQlo7QVVqd2xCUTs7RUFDSTtBVm93bEJaO0FVcndsQlE7O0VBQ0k7QVZ3d2xCWjtBVXp3bEJROztFQUNJO0FWNHdsQlo7QVU3d2xCUTs7RUFDSTtBVmd4bEJaO0FVanhsQlE7O0VBQ0k7QVZveGxCWjtBVXJ4bEJROztFQUNJO0FWd3hsQlo7QVV6eGxCUTs7RUFDSTtBVjR4bEJaO0FVN3hsQlE7O0VBQ0k7QVZneWxCWjtBVWp5bEJROztFQUNJO0FWb3lsQlo7QVVyeWxCUTs7RUFDSTtBVnd5bEJaO0FVenlsQlE7O0VBQ0k7QVY0eWxCWjtBVTd5bEJROztFQUNJO0FWZ3psQlo7QVVqemxCUTs7RUFDSTtBVm96bEJaO0FVcnpsQlE7O0VBQ0k7QVZ3emxCWjtBVXp6bEJROztFQUNJO0FWNHpsQlo7QVU3emxCUTs7RUFDSTtBVmcwbEJaO0FVajBsQlE7O0VBQ0k7QVZvMGxCWjtBVXIwbEJROztFQUNJO0FWdzBsQlo7QVV6MGxCUTs7RUFDSTtBVjQwbEJaO0FVNzBsQlE7O0VBQ0k7QVZnMWxCWjtBVWoxbEJROztFQUNJO0FWbzFsQlo7QVVyMWxCUTs7RUFDSTtBVncxbEJaO0FVejFsQlE7O0VBQ0k7QVY0MWxCWjtBVTcxbEJROztFQUNJO0FWZzJsQlo7QVVqMmxCUTs7RUFDSTtBVm8ybEJaO0FVcjJsQlE7O0VBQ0k7QVZ3MmxCWjtBVXoybEJROztFQUNJO0FWNDJsQlo7QVU3MmxCUTs7RUFDSTtBVmczbEJaO0FVajNsQlE7O0VBQ0k7QVZvM2xCWjtBVXIzbEJROztFQUNJO0FWdzNsQlo7QVV6M2xCUTs7RUFDSTtBVjQzbEJaO0FVNzNsQlE7O0VBQ0k7QVZnNGxCWjtBVWo0bEJROztFQUNJO0FWbzRsQlo7QVVyNGxCUTs7RUFDSTtBVnc0bEJaO0FVejRsQlE7O0VBQ0k7QVY0NGxCWjtBVTc0bEJROztFQUNJO0FWZzVsQlo7QVVqNWxCUTs7RUFDSTtBVm81bEJaO0FVcjVsQlE7O0VBQ0k7QVZ3NWxCWjtBVXo1bEJROztFQUNJO0FWNDVsQlo7QVU3NWxCUTs7RUFDSTtBVmc2bEJaO0FVajZsQlE7O0VBQ0k7QVZvNmxCWjtBVXI2bEJROztFQUNJO0FWdzZsQlo7QVV6NmxCUTs7RUFDSTtBVjQ2bEJaO0FVNzZsQlE7O0VBQ0k7QVZnN2xCWjtBVWo3bEJROztFQUNJO0FWbzdsQlo7QVVyN2xCUTs7RUFDSTtBVnc3bEJaO0FVejdsQlE7O0VBQ0k7QVY0N2xCWjtBVTc3bEJROztFQUNJO0FWZzhsQlo7QVVqOGxCUTs7RUFDSTtBVm84bEJaO0FVcjhsQlE7O0VBQ0k7QVZ3OGxCWjtBVXo4bEJROztFQUNJO0FWNDhsQlo7QVU3OGxCUTs7RUFDSTtBVmc5bEJaO0FVajlsQlE7O0VBQ0k7QVZvOWxCWjtBVXI5bEJROztFQUNJO0FWdzlsQlo7QVV6OWxCUTs7RUFDSTtBVjQ5bEJaO0FVNzlsQlE7O0VBQ0k7QVZnK2xCWjtBVWorbEJROztFQUNJO0FWbytsQlo7QVVyK2xCUTs7RUFDSTtBVncrbEJaO0FVeitsQlE7O0VBQ0k7QVY0K2xCWjtBVTcrbEJROztFQUNJO0FWZy9sQlo7QVVqL2xCUTs7RUFDSTtBVm8vbEJaO0FVci9sQlE7O0VBQ0k7QVZ3L2xCWjtBVXovbEJROztFQUNJO0FWNC9sQlo7QVU3L2xCUTs7RUFDSTtBVmdnbUJaO0FVamdtQlE7O0VBQ0k7QVZvZ21CWjtBVXJnbUJROztFQUNJO0FWd2dtQlo7QVV6Z21CUTs7RUFDSTtBVjRnbUJaO0FVN2dtQlE7O0VBQ0k7QVZnaG1CWjtBVWpobUJROztFQUNJO0FWb2htQlo7QVVyaG1CUTs7RUFDSTtBVndobUJaO0FVemhtQlE7O0VBQ0k7QVY0aG1CWjtBVTdobUJROztFQUNJO0FWZ2ltQlo7QVVqaW1CUTs7RUFDSTtBVm9pbUJaO0FVcmltQlE7O0VBQ0k7QVZ3aW1CWjtBVXppbUJROztFQUNJO0FWNGltQlo7QVU3aW1CUTs7RUFDSTtBVmdqbUJaO0FVamptQlE7O0VBQ0k7QVZvam1CWjtBVXJqbUJROztFQUNJO0FWd2ptQlo7QVV6am1CUTs7RUFDSTtBVjRqbUJaO0FVN2ptQlE7O0VBQ0k7QVZna21CWjtBVWprbUJROztFQUNJO0FWb2ttQlo7QVVya21CUTs7RUFDSTtBVndrbUJaO0FVemttQlE7O0VBQ0k7QVY0a21CWjtBVTdrbUJROztFQUNJO0FWZ2xtQlo7QVVqbG1CUTs7RUFDSTtBVm9sbUJaO0FVcmxtQlE7O0VBQ0k7QVZ3bG1CWjtBVXpsbUJROztFQUNJO0FWNGxtQlo7QVU3bG1CUTs7RUFDSTtBVmdtbUJaO0FVam1tQlE7O0VBQ0k7QVZvbW1CWjtBVXJtbUJROztFQUNJO0FWd21tQlo7QVV6bW1CUTs7RUFDSTtBVjRtbUJaO0FVN21tQlE7O0VBQ0k7QVZnbm1CWjtBVWpubUJROztFQUNJO0FWb25tQlo7QVVybm1CUTs7RUFDSTtBVndubUJaO0FVem5tQlE7O0VBQ0k7QVY0bm1CWjtBVTdubUJROztFQUNJO0FWZ29tQlo7QVVqb21CUTs7RUFDSTtBVm9vbUJaO0FVcm9tQlE7O0VBQ0k7QVZ3b21CWjtBVXpvbUJROztFQUNJO0FWNG9tQlo7QVU3b21CUTs7RUFDSTtBVmdwbUJaO0FVanBtQlE7O0VBQ0k7QVZvcG1CWjtBVXJwbUJROztFQUNJO0FWd3BtQlo7QVV6cG1CUTs7RUFDSTtBVjRwbUJaO0FVN3BtQlE7O0VBQ0k7QVZncW1CWjtBVWpxbUJROztFQUNJO0FWb3FtQlo7QVVycW1CUTs7RUFDSTtBVndxbUJaO0FVenFtQlE7O0VBQ0k7QVY0cW1CWjtBVTdxbUJROztFQUNJO0FWZ3JtQlo7QVVqcm1CUTs7RUFDSTtBVm9ybUJaO0FVcnJtQlE7O0VBQ0k7QVZ3cm1CWjtBVXpybUJROztFQUNJO0FWNHJtQlo7QVU3cm1CUTs7RUFDSTtBVmdzbUJaO0FVanNtQlE7O0VBQ0k7QVZvc21CWjtBVXJzbUJROztFQUNJO0FWd3NtQlo7QVV6c21CUTs7RUFDSTtBVjRzbUJaO0FVN3NtQlE7O0VBQ0k7QVZndG1CWjtBVWp0bUJROztFQUNJO0FWb3RtQlo7QVVydG1CUTs7RUFDSTtBVnd0bUJaO0FVenRtQlE7O0VBQ0k7QVY0dG1CWjtBVTd0bUJROztFQUNJO0FWZ3VtQlo7QVVqdW1CUTs7RUFDSTtBVm91bUJaO0FVcnVtQlE7O0VBQ0k7QVZ3dW1CWjtBVXp1bUJROztFQUNJO0FWNHVtQlo7QVU3dW1CUTs7RUFDSTtBVmd2bUJaO0FVanZtQlE7O0VBQ0k7QVZvdm1CWjtBVXJ2bUJROztFQUNJO0FWd3ZtQlo7QVV6dm1CUTs7RUFDSTtBVjR2bUJaO0FVN3ZtQlE7O0VBQ0k7QVZnd21CWjtBVWp3bUJROztFQUNJO0FWb3dtQlo7QVVyd21CUTs7RUFDSTtBVnd3bUJaO0FVendtQlE7O0VBQ0k7QVY0d21CWjtBVTd3bUJROztFQUNJO0FWZ3htQlo7QVVqeG1CUTs7RUFDSTtBVm94bUJaO0FVcnhtQlE7O0VBQ0k7QVZ3eG1CWjtBVXp4bUJROztFQUNJO0FWNHhtQlo7QVU3eG1CUTs7RUFDSTtBVmd5bUJaO0FVanltQlE7O0VBQ0k7QVZveW1CWjtBVXJ5bUJROztFQUNJO0FWd3ltQlo7QVV6eW1CUTs7RUFDSTtBVjR5bUJaO0FVN3ltQlE7O0VBQ0k7QVZnem1CWjtBVWp6bUJROztFQUNJO0FWb3ptQlo7QVVyem1CUTs7RUFDSTtBVnd6bUJaO0FVenptQlE7O0VBQ0k7QVY0em1CWjtBVTd6bUJROztFQUNJO0FWZzBtQlo7QVVqMG1CUTs7RUFDSTtBVm8wbUJaO0FVcjBtQlE7O0VBQ0k7QVZ3MG1CWjtBVXowbUJROztFQUNJO0FWNDBtQlo7QVU3MG1CUTs7RUFDSTtBVmcxbUJaO0FVajFtQlE7O0VBQ0k7QVZvMW1CWjtBVXIxbUJROztFQUNJO0FWdzFtQlo7QVV6MW1CUTs7RUFDSTtBVjQxbUJaO0FVNzFtQlE7O0VBQ0k7QVZnMm1CWjtBVWoybUJROztFQUNJO0FWbzJtQlo7QVVyMm1CUTs7RUFDSTtBVncybUJaO0FVejJtQlE7O0VBQ0k7QVY0Mm1CWjtBVTcybUJROztFQUNJO0FWZzNtQlo7QVVqM21CUTs7RUFDSTtBVm8zbUJaO0FVcjNtQlE7O0VBQ0k7QVZ3M21CWjtBVXozbUJROztFQUNJO0FWNDNtQlo7QVU3M21CUTs7RUFDSTtBVmc0bUJaO0FVajRtQlE7O0VBQ0k7QVZvNG1CWjtBVXI0bUJROztFQUNJO0FWdzRtQlo7QVV6NG1CUTs7RUFDSTtBVjQ0bUJaO0FVNzRtQlE7O0VBQ0k7QVZnNW1CWjtBVWo1bUJROztFQUNJO0FWbzVtQlo7QVVyNW1CUTs7RUFDSTtBVnc1bUJaO0FVejVtQlE7O0VBQ0k7QVY0NW1CWjtBVTc1bUJROztFQUNJO0FWZzZtQlo7QVVqNm1CUTs7RUFDSTtBVm82bUJaO0FVcjZtQlE7O0VBQ0k7QVZ3Nm1CWjtBVXo2bUJROztFQUNJO0FWNDZtQlo7QVU3Nm1CUTs7RUFDSTtBVmc3bUJaO0FVajdtQlE7O0VBQ0k7QVZvN21CWjtBVXI3bUJROztFQUNJO0FWdzdtQlo7QVV6N21CUTs7RUFDSTtBVjQ3bUJaO0FVNzdtQlE7O0VBQ0k7QVZnOG1CWjtBVWo4bUJROztFQUNJO0FWbzhtQlo7QVVyOG1CUTs7RUFDSTtBVnc4bUJaO0FVejhtQlE7O0VBQ0k7QVY0OG1CWjtBVTc4bUJROztFQUNJO0FWZzltQlo7QVVqOW1CUTs7RUFDSTtBVm85bUJaO0FVcjltQlE7O0VBQ0k7QVZ3OW1CWjtBVXo5bUJROztFQUNJO0FWNDltQlo7QVU3OW1CUTs7RUFDSTtBVmcrbUJaO0FVaittQlE7O0VBQ0k7QVZvK21CWjtBVXIrbUJROztFQUNJO0FWdyttQlo7QVV6K21CUTs7RUFDSTtBVjQrbUJaO0FVNyttQlE7O0VBQ0k7QVZnL21CWjtBVWovbUJROztFQUNJO0FWby9tQlo7QVVyL21CUTs7RUFDSTtBVncvbUJaO0FVei9tQlE7O0VBQ0k7QVY0L21CWjtBVTcvbUJROztFQUNJO0FWZ2duQlo7QVVqZ25CUTs7RUFDSTtBVm9nbkJaO0FVcmduQlE7O0VBQ0k7QVZ3Z25CWjtBVXpnbkJROztFQUNJO0FWNGduQlo7QVU3Z25CUTs7RUFDSTtBVmdobkJaO0FVamhuQlE7O0VBQ0k7QVZvaG5CWjtBVXJobkJROztFQUNJO0FWd2huQlo7QVV6aG5CUTs7RUFDSTtBVjRobkJaO0FVN2huQlE7O0VBQ0k7QVZnaW5CWjtBVWppbkJROztFQUNJO0FWb2luQlo7QVVyaW5CUTs7RUFDSTtBVndpbkJaO0FVemluQlE7O0VBQ0k7QVY0aW5CWjtBVTdpbkJROztFQUNJO0FWZ2puQlo7QVVqam5CUTs7RUFDSTtBVm9qbkJaO0FVcmpuQlE7O0VBQ0k7QVZ3am5CWjtBVXpqbkJROztFQUNJO0FWNGpuQlo7QVU3am5CUTs7RUFDSTtBVmdrbkJaO0FVamtuQlE7O0VBQ0k7QVZva25CWjtBVXJrbkJROztFQUNJO0FWd2tuQlo7QVV6a25CUTs7RUFDSTtBVjRrbkJaO0FVN2tuQlE7O0VBQ0k7QVZnbG5CWjtBVWpsbkJROztFQUNJO0FWb2xuQlo7QVVybG5CUTs7RUFDSTtBVndsbkJaO0FVemxuQlE7O0VBQ0k7QVY0bG5CWjtBVTdsbkJROztFQUNJO0FWZ21uQlo7QVVqbW5CUTs7RUFDSTtBVm9tbkJaO0FVcm1uQlE7O0VBQ0k7QVZ3bW5CWjtBVXptbkJROztFQUNJO0FWNG1uQlo7QVU3bW5CUTs7RUFDSTtBVmdubkJaO0FVam5uQlE7O0VBQ0k7QVZvbm5CWjtBVXJubkJROztFQUNJO0FWd25uQlo7QVV6bm5CUTs7RUFDSTtBVjRubkJaO0FVN25uQlE7O0VBQ0k7QVZnb25CWjtBVWpvbkJROztFQUNJO0FWb29uQlo7QVVyb25CUTs7RUFDSTtBVndvbkJaO0FVem9uQlE7O0VBQ0k7QVY0b25CWjtBVTdvbkJROztFQUNJO0FWZ3BuQlo7QVVqcG5CUTs7RUFDSTtBVm9wbkJaO0FVcnBuQlE7O0VBQ0k7QVZ3cG5CWjtBVXpwbkJROztFQUNJO0FWNHBuQlo7QVU3cG5CUTs7RUFDSTtBVmdxbkJaO0FVanFuQlE7O0VBQ0k7QVZvcW5CWjtBVXJxbkJROztFQUNJO0FWd3FuQlo7QVV6cW5CUTs7RUFDSTtBVjRxbkJaO0FVN3FuQlE7O0VBQ0k7QVZncm5CWjtBVWpybkJROztFQUNJO0FWb3JuQlo7QVVycm5CUTs7RUFDSTtBVndybkJaO0FVenJuQlE7O0VBQ0k7QVY0cm5CWjtBVTdybkJROztFQUNJO0FWZ3NuQlo7QVVqc25CUTs7RUFDSTtBVm9zbkJaO0FVcnNuQlE7O0VBQ0k7QVZ3c25CWjtBVXpzbkJROztFQUNJO0FWNHNuQlo7QVU3c25CUTs7RUFDSTtBVmd0bkJaO0FVanRuQlE7O0VBQ0k7QVZvdG5CWjtBVXJ0bkJROztFQUNJO0FWd3RuQlo7QVV6dG5CUTs7RUFDSTtBVjR0bkJaO0FVN3RuQlE7O0VBQ0k7QVZndW5CWjtBVWp1bkJROztFQUNJO0FWb3VuQlo7QVVydW5CUTs7RUFDSTtBVnd1bkJaO0FVenVuQlE7O0VBQ0k7QVY0dW5CWjtBVTd1bkJROztFQUNJO0FWZ3ZuQlo7QVVqdm5CUTs7RUFDSTtBVm92bkJaO0FVcnZuQlE7O0VBQ0k7QVZ3dm5CWjtBVXp2bkJROztFQUNJO0FWNHZuQlo7QVU3dm5CUTs7RUFDSTtBVmd3bkJaO0FVanduQlE7O0VBQ0k7QVZvd25CWjtBVXJ3bkJROztFQUNJO0FWd3duQlo7QVV6d25CUTs7RUFDSTtBVjR3bkJaO0FVN3duQlE7O0VBQ0k7QVZneG5CWjtBVWp4bkJROztFQUNJO0FWb3huQlo7QVVyeG5CUTs7RUFDSTtBVnd4bkJaO0FVenhuQlE7O0VBQ0k7QVY0eG5CWjtBVTd4bkJROztFQUNJO0FWZ3luQlo7QVVqeW5CUTs7RUFDSTtBVm95bkJaO0FVcnluQlE7O0VBQ0k7QVZ3eW5CWjtBVXp5bkJROztFQUNJO0FWNHluQlo7QVU3eW5CUTs7RUFDSTtBVmd6bkJaO0FVanpuQlE7O0VBQ0k7QVZvem5CWjtBVXJ6bkJROztFQUNJO0FWd3puQlo7QVV6em5CUTs7RUFDSTtBVjR6bkJaO0FVN3puQlE7O0VBQ0k7QVZnMG5CWjtBVWowbkJROztFQUNJO0FWbzBuQlo7QVVyMG5CUTs7RUFDSTtBVncwbkJaO0FVejBuQlE7O0VBQ0k7QVY0MG5CWjtBVTcwbkJROztFQUNJO0FWZzFuQlo7QVVqMW5CUTs7RUFDSTtBVm8xbkJaO0FVcjFuQlE7O0VBQ0k7QVZ3MW5CWjtBVXoxbkJROztFQUNJO0FWNDFuQlo7QVU3MW5CUTs7RUFDSTtBVmcybkJaO0FVajJuQlE7O0VBQ0k7QVZvMm5CWjtBVXIybkJROztFQUNJO0FWdzJuQlo7QVV6Mm5CUTs7RUFDSTtBVjQybkJaO0FVNzJuQlE7O0VBQ0k7QVZnM25CWjtBVWozbkJROztFQUNJO0FWbzNuQlo7QVVyM25CUTs7RUFDSTtBVnczbkJaO0FVejNuQlE7O0VBQ0k7QVY0M25CWjtBVTczbkJROztFQUNJO0FWZzRuQlo7QVVqNG5CUTs7RUFDSTtBVm80bkJaO0FVcjRuQlE7O0VBQ0k7QVZ3NG5CWjtBVXo0bkJROztFQUNJO0FWNDRuQlo7QVU3NG5CUTs7RUFDSTtBVmc1bkJaO0FVajVuQlE7O0VBQ0k7QVZvNW5CWjtBVXI1bkJROztFQUNJO0FWdzVuQlo7QVV6NW5CUTs7RUFDSTtBVjQ1bkJaO0FVNzVuQlE7O0VBQ0k7QVZnNm5CWjtBVWo2bkJROztFQUNJO0FWbzZuQlo7QVVyNm5CUTs7RUFDSTtBVnc2bkJaO0FVejZuQlE7O0VBQ0k7QVY0Nm5CWjtBVTc2bkJROztFQUNJO0FWZzduQlo7QVVqN25CUTs7RUFDSTtBVm83bkJaO0FVcjduQlE7O0VBQ0k7QVZ3N25CWjtBVXo3bkJROztFQUNJO0FWNDduQlo7QVU3N25CUTs7RUFDSTtBVmc4bkJaO0FVajhuQlE7O0VBQ0k7QVZvOG5CWjtBVXI4bkJROztFQUNJO0FWdzhuQlo7QVV6OG5CUTs7RUFDSTtBVjQ4bkJaO0FVNzhuQlE7O0VBQ0k7QVZnOW5CWjtBVWo5bkJROztFQUNJO0FWbzluQlo7QVVyOW5CUTs7RUFDSTtBVnc5bkJaO0FVejluQlE7O0VBQ0k7QVY0OW5CWjtBVTc5bkJROztFQUNJO0FWZytuQlo7QVVqK25CUTs7RUFDSTtBVm8rbkJaO0FVcituQlE7O0VBQ0k7QVZ3K25CWjtBVXorbkJROztFQUNJO0FWNCtuQlo7QVU3K25CUTs7RUFDSTtBVmcvbkJaO0FVai9uQlE7O0VBQ0k7QVZvL25CWjtBVXIvbkJROztFQUNJO0FWdy9uQlo7QVV6L25CUTs7RUFDSTtBVjQvbkJaO0FVNy9uQlE7O0VBQ0k7QVZnZ29CWjtBVWpnb0JROztFQUNJO0FWb2dvQlo7QVVyZ29CUTs7RUFDSTtBVndnb0JaO0FVemdvQlE7O0VBQ0k7QVY0Z29CWjtBVTdnb0JROztFQUNJO0FWZ2hvQlo7QVVqaG9CUTs7RUFDSTtBVm9ob0JaO0FVcmhvQlE7O0VBQ0k7QVZ3aG9CWjtBVXpob0JROztFQUNJO0FWNGhvQlo7QVU3aG9CUTs7RUFDSTtBVmdpb0JaO0FVamlvQlE7O0VBQ0k7QVZvaW9CWjtBVXJpb0JROztFQUNJO0FWd2lvQlo7QVV6aW9CUTs7RUFDSTtBVjRpb0JaO0FVN2lvQlE7O0VBQ0k7QVZnam9CWjtBVWpqb0JROztFQUNJO0FWb2pvQlo7QVVyam9CUTs7RUFDSTtBVndqb0JaO0FVempvQlE7O0VBQ0k7QVY0am9CWjtBVTdqb0JROztFQUNJO0FWZ2tvQlo7QVVqa29CUTs7RUFDSTtBVm9rb0JaO0FVcmtvQlE7O0VBQ0k7QVZ3a29CWjtBVXprb0JROztFQUNJO0FWNGtvQlo7QVU3a29CUTs7RUFDSTtBVmdsb0JaO0FVamxvQlE7O0VBQ0k7QVZvbG9CWjtBVXJsb0JROztFQUNJO0FWd2xvQlo7QVV6bG9CUTs7RUFDSTtBVjRsb0JaO0FVN2xvQlE7O0VBQ0k7QVZnbW9CWjtBVWptb0JROztFQUNJO0FWb21vQlo7QVVybW9CUTs7RUFDSTtBVndtb0JaO0FVem1vQlE7O0VBQ0k7QVY0bW9CWjtBVTdtb0JROztFQUNJO0FWZ25vQlo7QVVqbm9CUTs7RUFDSTtBVm9ub0JaO0FVcm5vQlE7O0VBQ0k7QVZ3bm9CWjtBVXpub0JROztFQUNJO0FWNG5vQlo7QVU3bm9CUTs7RUFDSTtBVmdvb0JaO0FVam9vQlE7O0VBQ0k7QVZvb29CWjtBVXJvb0JROztFQUNJO0FWd29vQlo7QVV6b29CUTs7RUFDSTtBVjRvb0JaO0FVN29vQlE7O0VBQ0k7QVZncG9CWjtBVWpwb0JROztFQUNJO0FWb3BvQlo7QVVycG9CUTs7RUFDSTtBVndwb0JaO0FVenBvQlE7O0VBQ0k7QVY0cG9CWjtBVTdwb0JROztFQUNJO0FWZ3FvQlo7QVVqcW9CUTs7RUFDSTtBVm9xb0JaO0FVcnFvQlE7O0VBQ0k7QVZ3cW9CWjtBVXpxb0JROztFQUNJO0FWNHFvQlo7QVU3cW9CUTs7RUFDSTtBVmdyb0JaO0FVanJvQlE7O0VBQ0k7QVZvcm9CWjtBVXJyb0JROztFQUNJO0FWd3JvQlo7QVV6cm9CUTs7RUFDSTtBVjRyb0JaO0FVN3JvQlE7O0VBQ0k7QVZnc29CWjtBVWpzb0JROztFQUNJO0FWb3NvQlo7QVVyc29CUTs7RUFDSTtBVndzb0JaO0FVenNvQlE7O0VBQ0k7QVY0c29CWjtBVTdzb0JROztFQUNJO0FWZ3RvQlo7QVVqdG9CUTs7RUFDSTtBVm90b0JaO0FVcnRvQlE7O0VBQ0k7QVZ3dG9CWjtBVXp0b0JROztFQUNJO0FWNHRvQlo7QVU3dG9CUTs7RUFDSTtBVmd1b0JaO0FVanVvQlE7O0VBQ0k7QVZvdW9CWjtBVXJ1b0JROztFQUNJO0FWd3VvQlo7QVV6dW9CUTs7RUFDSTtBVjR1b0JaO0FVN3VvQlE7O0VBQ0k7QVZndm9CWjtBVWp2b0JROztFQUNJO0FWb3ZvQlo7QVVydm9CUTs7RUFDSTtBVnd2b0JaO0FVenZvQlE7O0VBQ0k7QVY0dm9CWjtBVTd2b0JROztFQUNJO0FWZ3dvQlo7QVVqd29CUTs7RUFDSTtBVm93b0JaO0FVcndvQlE7O0VBQ0k7QVZ3d29CWjtBVXp3b0JROztFQUNJO0FWNHdvQlo7QVU3d29CUTs7RUFDSTtBVmd4b0JaO0FVanhvQlE7O0VBQ0k7QVZveG9CWjtBVXJ4b0JROztFQUNJO0FWd3hvQlo7QVV6eG9CUTs7RUFDSTtBVjR4b0JaO0FVN3hvQlE7O0VBQ0k7QVZneW9CWjtBVWp5b0JROztFQUNJO0FWb3lvQlo7QVVyeW9CUTs7RUFDSTtBVnd5b0JaO0FVenlvQlE7O0VBQ0k7QVY0eW9CWjtBVTd5b0JROztFQUNJO0FWZ3pvQlo7QVVqem9CUTs7RUFDSTtBVm96b0JaO0FVcnpvQlE7O0VBQ0k7QVZ3em9CWjtBVXp6b0JROztFQUNJO0FWNHpvQlo7QVU3em9CUTs7RUFDSTtBVmcwb0JaO0FVajBvQlE7O0VBQ0k7QVZvMG9CWjtBVXIwb0JROztFQUNJO0FWdzBvQlo7QVV6MG9CUTs7RUFDSTtBVjQwb0JaO0FVNzBvQlE7O0VBQ0k7QVZnMW9CWjtBVWoxb0JROztFQUNJO0FWbzFvQlo7QVVyMW9CUTs7RUFDSTtBVncxb0JaO0FVejFvQlE7O0VBQ0k7QVY0MW9CWjtBVTcxb0JROztFQUNJO0FWZzJvQlo7QVVqMm9CUTs7RUFDSTtBVm8yb0JaO0FVcjJvQlE7O0VBQ0k7QVZ3Mm9CWjtBVXoyb0JROztFQUNJO0FWNDJvQlo7QVU3Mm9CUTs7RUFDSTtBVmczb0JaO0FVajNvQlE7O0VBQ0k7QVZvM29CWjtBVXIzb0JROztFQUNJO0FWdzNvQlo7QVV6M29CUTs7RUFDSTtBVjQzb0JaO0FVNzNvQlE7O0VBQ0k7QVZnNG9CWjtBVWo0b0JROztFQUNJO0FWbzRvQlo7QVVyNG9CUTs7RUFDSTtBVnc0b0JaO0FVejRvQlE7O0VBQ0k7QVY0NG9CWjtBVTc0b0JROztFQUNJO0FWZzVvQlo7QVVqNW9CUTs7RUFDSTtBVm81b0JaO0FVcjVvQlE7O0VBQ0k7QVZ3NW9CWjtBVXo1b0JROztFQUNJO0FWNDVvQlo7QVU3NW9CUTs7RUFDSTtBVmc2b0JaO0FVajZvQlE7O0VBQ0k7QVZvNm9CWjtBVXI2b0JROztFQUNJO0FWdzZvQlo7QVV6Nm9CUTs7RUFDSTtBVjQ2b0JaO0FVNzZvQlE7O0VBQ0k7QVZnN29CWjtBVWo3b0JROztFQUNJO0FWbzdvQlo7QVVyN29CUTs7RUFDSTtBVnc3b0JaO0FVejdvQlE7O0VBQ0k7QVY0N29CWjtBVTc3b0JROztFQUNJO0FWZzhvQlo7QVVqOG9CUTs7RUFDSTtBVm84b0JaO0FVcjhvQlE7O0VBQ0k7QVZ3OG9CWjtBVXo4b0JROztFQUNJO0FWNDhvQlo7QVU3OG9CUTs7RUFDSTtBVmc5b0JaO0FVajlvQlE7O0VBQ0k7QVZvOW9CWjtBVXI5b0JROztFQUNJO0FWdzlvQlo7QVV6OW9CUTs7RUFDSTtBVjQ5b0JaO0FVNzlvQlE7O0VBQ0k7QVZnK29CWjtBVWorb0JROztFQUNJO0FWbytvQlo7QVVyK29CUTs7RUFDSTtBVncrb0JaO0FVeitvQlE7O0VBQ0k7QVY0K29CWjtBVTcrb0JROztFQUNJO0FWZy9vQlo7QVVqL29CUTs7RUFDSTtBVm8vb0JaO0FVci9vQlE7O0VBQ0k7QVZ3L29CWjtBVXovb0JROztFQUNJO0FWNC9vQlo7QVU3L29CUTs7RUFDSTtBVmdncEJaO0FVamdwQlE7O0VBQ0k7QVZvZ3BCWjtBVXJncEJROztFQUNJO0FWd2dwQlo7QVV6Z3BCUTs7RUFDSTtBVjRncEJaO0FVN2dwQlE7O0VBQ0k7QVZnaHBCWjtBVWpocEJROztFQUNJO0FWb2hwQlo7QVVyaHBCUTs7RUFDSTtBVndocEJaO0FVemhwQlE7O0VBQ0k7QVY0aHBCWjtBVTdocEJROztFQUNJO0FWZ2lwQlo7QVVqaXBCUTs7RUFDSTtBVm9pcEJaO0FVcmlwQlE7O0VBQ0k7QVZ3aXBCWjtBVXppcEJROztFQUNJO0FWNGlwQlo7QVU3aXBCUTs7RUFDSTtBVmdqcEJaO0FVampwQlE7O0VBQ0k7QVZvanBCWjtBVXJqcEJROztFQUNJO0FWd2pwQlo7QVV6anBCUTs7RUFDSTtBVjRqcEJaO0FVN2pwQlE7O0VBQ0k7QVZna3BCWjtBVWprcEJROztFQUNJO0FWb2twQlo7QVVya3BCUTs7RUFDSTtBVndrcEJaO0FVemtwQlE7O0VBQ0k7QVY0a3BCWjtBVTdrcEJROztFQUNJO0FWZ2xwQlo7QVVqbHBCUTs7RUFDSTtBVm9scEJaO0FVcmxwQlE7O0VBQ0k7QVZ3bHBCWjtBVXpscEJROztFQUNJO0FWNGxwQlo7QVU3bHBCUTs7RUFDSTtBVmdtcEJaO0FVam1wQlE7O0VBQ0k7QVZvbXBCWjtBVXJtcEJROztFQUNJO0FWd21wQlo7QVV6bXBCUTs7RUFDSTtBVjRtcEJaO0FVN21wQlE7O0VBQ0k7QVZnbnBCWjtBVWpucEJROztFQUNJO0FWb25wQlo7QVVybnBCUTs7RUFDSTtBVnducEJaO0FVem5wQlE7O0VBQ0k7QVY0bnBCWjtBVTducEJROztFQUNJO0FWZ29wQlo7QVVqb3BCUTs7RUFDSTtBVm9vcEJaO0FVcm9wQlE7O0VBQ0k7QVZ3b3BCWjtBVXpvcEJROztFQUNJO0FWNG9wQlo7QVU3b3BCUTs7RUFDSTtBVmdwcEJaO0FVanBwQlE7O0VBQ0k7QVZvcHBCWjtBVXJwcEJROztFQUNJO0FWd3BwQlo7QVV6cHBCUTs7RUFDSTtBVjRwcEJaO0FVN3BwQlE7O0VBQ0k7QVZncXBCWjtBVWpxcEJROztFQUNJO0FWb3FwQlo7QVVycXBCUTs7RUFDSTtBVndxcEJaO0FVenFwQlE7O0VBQ0k7QVY0cXBCWjtBVTdxcEJROztFQUNJO0FWZ3JwQlo7QVVqcnBCUTs7RUFDSTtBVm9ycEJaO0FVcnJwQlE7O0VBQ0k7QVZ3cnBCWjtBVXpycEJROztFQUNJO0FWNHJwQlo7QVU3cnBCUTs7RUFDSTtBVmdzcEJaO0FVanNwQlE7O0VBQ0k7QVZvc3BCWjtBVXJzcEJROztFQUNJO0FWd3NwQlo7QVV6c3BCUTs7RUFDSTtBVjRzcEJaO0FVN3NwQlE7O0VBQ0k7QVZndHBCWjtBVWp0cEJROztFQUNJO0FWb3RwQlo7QVVydHBCUTs7RUFDSTtBVnd0cEJaO0FVenRwQlE7O0VBQ0k7QVY0dHBCWjtBVTd0cEJROztFQUNJO0FWZ3VwQlo7QVVqdXBCUTs7RUFDSTtBVm91cEJaO0FVcnVwQlE7O0VBQ0k7QVZ3dXBCWjtBVXp1cEJROztFQUNJO0FWNHVwQlo7QVU3dXBCUTs7RUFDSTtBVmd2cEJaO0FVanZwQlE7O0VBQ0k7QVZvdnBCWjtBVXJ2cEJROztFQUNJO0FWd3ZwQlo7QVV6dnBCUTs7RUFDSTtBVjR2cEJaO0FVN3ZwQlE7O0VBQ0k7QVZnd3BCWjtBVWp3cEJROztFQUNJO0FWb3dwQlo7QVVyd3BCUTs7RUFDSTtBVnd3cEJaO0FVendwQlE7O0VBQ0k7QVY0d3BCWjtBVTd3cEJROztFQUNJO0FWZ3hwQlo7QVVqeHBCUTs7RUFDSTtBVm94cEJaO0FVcnhwQlE7O0VBQ0k7QVZ3eHBCWjtBVXp4cEJROztFQUNJO0FWNHhwQlo7QVU3eHBCUTs7RUFDSTtBVmd5cEJaO0FVanlwQlE7O0VBQ0k7QVZveXBCWjtBVXJ5cEJROztFQUNJO0FWd3lwQlo7QVV6eXBCUTs7RUFDSTtBVjR5cEJaO0FVN3lwQlE7O0VBQ0k7QVZnenBCWjtBVWp6cEJROztFQUNJO0FWb3pwQlo7QVVyenBCUTs7RUFDSTtBVnd6cEJaO0FVenpwQlE7O0VBQ0k7QVY0enBCWjtBVTd6cEJROztFQUNJO0FWZzBwQlo7QVVqMHBCUTs7RUFDSTtBVm8wcEJaO0FVcjBwQlE7O0VBQ0k7QVZ3MHBCWjtBVXowcEJROztFQUNJO0FWNDBwQlo7QVU3MHBCUTs7RUFDSTtBVmcxcEJaO0FVajFwQlE7O0VBQ0k7QVZvMXBCWjtBVXIxcEJROztFQUNJO0FWdzFwQlo7QVV6MXBCUTs7RUFDSTtBVjQxcEJaO0FVNzFwQlE7O0VBQ0k7QVZnMnBCWjtBVWoycEJROztFQUNJO0FWbzJwQlo7QVVyMnBCUTs7RUFDSTtBVncycEJaO0FVejJwQlE7O0VBQ0k7QVY0MnBCWjtBVTcycEJROztFQUNJO0FWZzNwQlo7QVVqM3BCUTs7RUFDSTtBVm8zcEJaO0FVcjNwQlE7O0VBQ0k7QVZ3M3BCWjtBVXozcEJROztFQUNJO0FWNDNwQlo7QVU3M3BCUTs7RUFDSTtBVmc0cEJaO0FVajRwQlE7O0VBQ0k7QVZvNHBCWjtBVXI0cEJROztFQUNJO0FWdzRwQlo7QVV6NHBCUTs7RUFDSTtBVjQ0cEJaO0FVNzRwQlE7O0VBQ0k7QVZnNXBCWjtBVWo1cEJROztFQUNJO0FWbzVwQlo7QVVyNXBCUTs7RUFDSTtBVnc1cEJaO0FVejVwQlE7O0VBQ0k7QVY0NXBCWjtBVTc1cEJROztFQUNJO0FWZzZwQlo7QVVqNnBCUTs7RUFDSTtBVm82cEJaO0FVcjZwQlE7O0VBQ0k7QVZ3NnBCWjtBVXo2cEJROztFQUNJO0FWNDZwQlo7QVU3NnBCUTs7RUFDSTtBVmc3cEJaO0FVajdwQlE7O0VBQ0k7QVZvN3BCWjtBVXI3cEJROztFQUNJO0FWdzdwQlo7QVV6N3BCUTs7RUFDSTtBVjQ3cEJaO0FVNzdwQlE7O0VBQ0k7QVZnOHBCWjtBVWo4cEJROztFQUNJO0FWbzhwQlo7QVVyOHBCUTs7RUFDSTtBVnc4cEJaO0FVejhwQlE7O0VBQ0k7QVY0OHBCWjtBVTc4cEJROztFQUNJO0FWZzlwQlo7QVVqOXBCUTs7RUFDSTtBVm85cEJaO0FVcjlwQlE7O0VBQ0k7QVZ3OXBCWjtBVXo5cEJROztFQUNJO0FWNDlwQlo7QVU3OXBCUTs7RUFDSTtBVmcrcEJaO0FVaitwQlE7O0VBQ0k7QVZvK3BCWjtBVXIrcEJROztFQUNJO0FWdytwQlo7QVV6K3BCUTs7RUFDSTtBVjQrcEJaO0FVNytwQlE7O0VBQ0k7QVZnL3BCWjtBVWovcEJROztFQUNJO0FWby9wQlo7QVVyL3BCUTs7RUFDSTtBVncvcEJaO0FVei9wQlE7O0VBQ0k7QVY0L3BCWjtBVTcvcEJROztFQUNJO0FWZ2dxQlo7QVVqZ3FCUTs7RUFDSTtBVm9ncUJaO0FVcmdxQlE7O0VBQ0k7QVZ3Z3FCWjtBVXpncUJROztFQUNJO0FWNGdxQlo7QVU3Z3FCUTs7RUFDSTtBVmdocUJaO0FVamhxQlE7O0VBQ0k7QVZvaHFCWjtBVXJocUJROztFQUNJO0FWd2hxQlo7QVV6aHFCUTs7RUFDSTtBVjRocUJaO0FVN2hxQlE7O0VBQ0k7QVZnaXFCWjtBVWppcUJROztFQUNJO0FWb2lxQlo7QVVyaXFCUTs7RUFDSTtBVndpcUJaO0FVemlxQlE7O0VBQ0k7QVY0aXFCWjtBVTdpcUJROztFQUNJO0FWZ2pxQlo7QVVqanFCUTs7RUFDSTtBVm9qcUJaO0FVcmpxQlE7O0VBQ0k7QVZ3anFCWjtBVXpqcUJROztFQUNJO0FWNGpxQlo7QVU3anFCUTs7RUFDSTtBVmdrcUJaO0FVamtxQlE7O0VBQ0k7QVZva3FCWjtBVXJrcUJROztFQUNJO0FWd2txQlo7QVV6a3FCUTs7RUFDSTtBVjRrcUJaO0FVN2txQlE7O0VBQ0k7QVZnbHFCWjtBVWpscUJROztFQUNJO0FWb2xxQlo7QVVybHFCUTs7RUFDSTtBVndscUJaO0FVemxxQlE7O0VBQ0k7QVY0bHFCWjtBVTdscUJROztFQUNJO0FWZ21xQlo7QVVqbXFCUTs7RUFDSTtBVm9tcUJaO0FVcm1xQlE7O0VBQ0k7QVZ3bXFCWjtBVXptcUJROztFQUNJO0FWNG1xQlo7QVU3bXFCUTs7RUFDSTtBVmducUJaO0FVam5xQlE7O0VBQ0k7QVZvbnFCWjtBVXJucUJROztFQUNJO0FWd25xQlo7QVV6bnFCUTs7RUFDSTtBVjRucUJaO0FVN25xQlE7O0VBQ0k7QVZnb3FCWjtBVWpvcUJROztFQUNJO0FWb29xQlo7QVVyb3FCUTs7RUFDSTtBVndvcUJaO0FVem9xQlE7O0VBQ0k7QVY0b3FCWjtBVTdvcUJROztFQUNJO0FWZ3BxQlo7QVVqcHFCUTs7RUFDSTtBVm9wcUJaO0FVcnBxQlE7O0VBQ0k7QVZ3cHFCWjtBVXpwcUJROztFQUNJO0FWNHBxQlo7QVU3cHFCUTs7RUFDSTtBVmdxcUJaO0FVanFxQlE7O0VBQ0k7QVZvcXFCWjtBVXJxcUJROztFQUNJO0FWd3FxQlo7QVV6cXFCUTs7RUFDSTtBVjRxcUJaO0FVN3FxQlE7O0VBQ0k7QVZncnFCWjtBVWpycUJROztFQUNJO0FWb3JxQlo7QVVycnFCUTs7RUFDSTtBVndycUJaO0FVenJxQlE7O0VBQ0k7QVY0cnFCWjtBVTdycUJROztFQUNJO0FWZ3NxQlo7QVVqc3FCUTs7RUFDSTtBVm9zcUJaO0FVcnNxQlE7O0VBQ0k7QVZ3c3FCWjtBVXpzcUJROztFQUNJO0FWNHNxQlo7QVU3c3FCUTs7RUFDSTtBVmd0cUJaO0FVanRxQlE7O0VBQ0k7QVZvdHFCWjtBVXJ0cUJROztFQUNJO0FWd3RxQlo7QVV6dHFCUTs7RUFDSTtBVjR0cUJaO0FVN3RxQlE7O0VBQ0k7QVZndXFCWjtBVWp1cUJROztFQUNJO0FWb3VxQlo7QVVydXFCUTs7RUFDSTtBVnd1cUJaO0FVenVxQlE7O0VBQ0k7QVY0dXFCWjtBVTd1cUJROztFQUNJO0FWZ3ZxQlo7QVVqdnFCUTs7RUFDSTtBVm92cUJaO0FVcnZxQlE7O0VBQ0k7QVZ3dnFCWjtBVXp2cUJROztFQUNJO0FWNHZxQlo7QVU3dnFCUTs7RUFDSTtBVmd3cUJaO0FVandxQlE7O0VBQ0k7QVZvd3FCWjtBVXJ3cUJROztFQUNJO0FWd3dxQlo7QVV6d3FCUTs7RUFDSTtBVjR3cUJaO0FVN3dxQlE7O0VBQ0k7QVZneHFCWjtBVWp4cUJROztFQUNJO0FWb3hxQlo7QVVyeHFCUTs7RUFDSTtBVnd4cUJaO0FVenhxQlE7O0VBQ0k7QVY0eHFCWjtBVTd4cUJROztFQUNJO0FWZ3lxQlo7QVVqeXFCUTs7RUFDSTtBVm95cUJaO0FVcnlxQlE7O0VBQ0k7QVZ3eXFCWjtBVXp5cUJROztFQUNJO0FWNHlxQlo7QVU3eXFCUTs7RUFDSTtBVmd6cUJaO0FVanpxQlE7O0VBQ0k7QVZvenFCWjtBVXJ6cUJROztFQUNJO0FWd3pxQlo7QVV6enFCUTs7RUFDSTtBVjR6cUJaO0FVN3pxQlE7O0VBQ0k7QVZnMHFCWjtBVWowcUJROztFQUNJO0FWbzBxQlo7QVVyMHFCUTs7RUFDSTtBVncwcUJaO0FVejBxQlE7O0VBQ0k7QVY0MHFCWjtBVTcwcUJROztFQUNJO0FWZzFxQlo7QVVqMXFCUTs7RUFDSTtBVm8xcUJaO0FVcjFxQlE7O0VBQ0k7QVZ3MXFCWjtBVXoxcUJROztFQUNJO0FWNDFxQlo7QVU3MXFCUTs7RUFDSTtBVmcycUJaO0FVajJxQlE7O0VBQ0k7QVZvMnFCWjtBVXIycUJROztFQUNJO0FWdzJxQlo7QVV6MnFCUTs7RUFDSTtBVjQycUJaO0FVNzJxQlE7O0VBQ0k7QVZnM3FCWjtBVWozcUJROztFQUNJO0FWbzNxQlo7QVVyM3FCUTs7RUFDSTtBVnczcUJaO0FVejNxQlE7O0VBQ0k7QVY0M3FCWjtBVTczcUJROztFQUNJO0FWZzRxQlo7QVVqNHFCUTs7RUFDSTtBVm80cUJaO0FVcjRxQlE7O0VBQ0k7QVZ3NHFCWjtBVXo0cUJROztFQUNJO0FWNDRxQlo7QVU3NHFCUTs7RUFDSTtBVmc1cUJaO0FVajVxQlE7O0VBQ0k7QVZvNXFCWjtBVXI1cUJROztFQUNJO0FWdzVxQlo7QVV6NXFCUTs7RUFDSTtBVjQ1cUJaO0FVNzVxQlE7O0VBQ0k7QVZnNnFCWjtBVWo2cUJROztFQUNJO0FWbzZxQlo7QVVyNnFCUTs7RUFDSTtBVnc2cUJaO0FVejZxQlE7O0VBQ0k7QVY0NnFCWjtBVTc2cUJROztFQUNJO0FWZzdxQlo7QVVqN3FCUTs7RUFDSTtBVm83cUJaO0FVcjdxQlE7O0VBQ0k7QVZ3N3FCWjtBVXo3cUJROztFQUNJO0FWNDdxQlo7QVU3N3FCUTs7RUFDSTtBVmc4cUJaO0FVajhxQlE7O0VBQ0k7QVZvOHFCWjtBVXI4cUJROztFQUNJO0FWdzhxQlo7QVV6OHFCUTs7RUFDSTtBVjQ4cUJaO0FVNzhxQlE7O0VBQ0k7QVZnOXFCWjtBVWo5cUJROztFQUNJO0FWbzlxQlo7QVVyOXFCUTs7RUFDSTtBVnc5cUJaO0FVejlxQlE7O0VBQ0k7QVY0OXFCWjtBVTc5cUJROztFQUNJO0FWZytxQlo7QVVqK3FCUTs7RUFDSTtBVm8rcUJaO0FVcitxQlE7O0VBQ0k7QVZ3K3FCWjtBVXorcUJROztFQUNJO0FWNCtxQlo7QVU3K3FCUTs7RUFDSTtBVmcvcUJaO0FVai9xQlE7O0VBQ0k7QVZvL3FCWjtBVXIvcUJROztFQUNJO0FWdy9xQlo7QVV6L3FCUTs7RUFDSTtBVjQvcUJaO0FVNy9xQlE7O0VBQ0k7QVZnZ3JCWjtBVWpnckJROztFQUNJO0FWb2dyQlo7QVVyZ3JCUTs7RUFDSTtBVndnckJaO0FVemdyQlE7O0VBQ0k7QVY0Z3JCWjtBVTdnckJROztFQUNJO0FWZ2hyQlo7QVVqaHJCUTs7RUFDSTtBVm9ockJaO0FVcmhyQlE7O0VBQ0k7QVZ3aHJCWjtBVXpockJROztFQUNJO0FWNGhyQlo7QVU3aHJCUTs7RUFDSTtBVmdpckJaO0FVamlyQlE7O0VBQ0k7QVZvaXJCWjtBVXJpckJROztFQUNJO0FWd2lyQlo7QVV6aXJCUTs7RUFDSTtBVjRpckJaO0FVN2lyQlE7O0VBQ0k7QVZnanJCWjtBVWpqckJROztFQUNJO0FWb2pyQlo7QVVyanJCUTs7RUFDSTtBVndqckJaO0FVempyQlE7O0VBQ0k7QVY0anJCWjtBVTdqckJROztFQUNJO0FWZ2tyQlo7QVVqa3JCUTs7RUFDSTtBVm9rckJaO0FVcmtyQlE7O0VBQ0k7QVZ3a3JCWjtBVXprckJROztFQUNJO0FWNGtyQlo7QVU3a3JCUTs7RUFDSTtBVmdsckJaO0FVamxyQlE7O0VBQ0k7QVZvbHJCWjtBVXJsckJROztFQUNJO0FWd2xyQlo7QVV6bHJCUTs7RUFDSTtBVjRsckJaO0FVN2xyQlE7O0VBQ0k7QVZnbXJCWjtBVWptckJROztFQUNJO0FWb21yQlo7QVVybXJCUTs7RUFDSTtBVndtckJaO0FVem1yQlE7O0VBQ0k7QVY0bXJCWjtBVTdtckJROztFQUNJO0FWZ25yQlo7QVVqbnJCUTs7RUFDSTtBVm9uckJaO0FVcm5yQlE7O0VBQ0k7QVZ3bnJCWjtBVXpuckJROztFQUNJO0FWNG5yQlo7QVU3bnJCUTs7RUFDSTtBVmdvckJaO0FVam9yQlE7O0VBQ0k7QVZvb3JCWjtBVXJvckJROztFQUNJO0FWd29yQlo7QVV6b3JCUTs7RUFDSTtBVjRvckJaO0FVN29yQlE7O0VBQ0k7QVZncHJCWjtBVWpwckJROztFQUNJO0FWb3ByQlo7QVVycHJCUTs7RUFDSTtBVndwckJaO0FVenByQlE7O0VBQ0k7QVY0cHJCWjtBVTdwckJROztFQUNJO0FWZ3FyQlo7QVVqcXJCUTs7RUFDSTtBVm9xckJaO0FVcnFyQlE7O0VBQ0k7QVZ3cXJCWjtBVXpxckJROztFQUNJO0FWNHFyQlo7QVU3cXJCUTs7RUFDSTtBVmdyckJaO0FVanJyQlE7O0VBQ0k7QVZvcnJCWjtBVXJyckJROztFQUNJO0FWd3JyQlo7QVV6cnJCUTs7RUFDSTtBVjRyckJaO0FVN3JyQlE7O0VBQ0k7QVZnc3JCWjtBVWpzckJROztFQUNJO0FWb3NyQlo7QVVyc3JCUTs7RUFDSTtBVndzckJaO0FVenNyQlE7O0VBQ0k7QVY0c3JCWjtBVTdzckJROztFQUNJO0FWZ3RyQlo7QVVqdHJCUTs7RUFDSTtBVm90ckJaO0FVcnRyQlE7O0VBQ0k7QVZ3dHJCWjtBVXp0ckJROztFQUNJO0FWNHRyQlo7QVU3dHJCUTs7RUFDSTtBVmd1ckJaO0FVanVyQlE7O0VBQ0k7QVZvdXJCWjtBVXJ1ckJROztFQUNJO0FWd3VyQlo7QVV6dXJCUTs7RUFDSTtBVjR1ckJaO0FVN3VyQlE7O0VBQ0k7QVZndnJCWjtBVWp2ckJROztFQUNJO0FWb3ZyQlo7QVVydnJCUTs7RUFDSTtBVnd2ckJaO0FVenZyQlE7O0VBQ0k7QVY0dnJCWjtBVTd2ckJROztFQUNJO0FWZ3dyQlo7QVVqd3JCUTs7RUFDSTtBVm93ckJaO0FVcndyQlE7O0VBQ0k7QVZ3d3JCWjtBVXp3ckJROztFQUNJO0FWNHdyQlo7QVU3d3JCUTs7RUFDSTtBVmd4ckJaO0FVanhyQlE7O0VBQ0k7QVZveHJCWjtBVXJ4ckJROztFQUNJO0FWd3hyQlo7QVV6eHJCUTs7RUFDSTtBVjR4ckJaO0FVN3hyQlE7O0VBQ0k7QVZneXJCWjtBVWp5ckJROztFQUNJO0FWb3lyQlo7QVVyeXJCUTs7RUFDSTtBVnd5ckJaO0FVenlyQlE7O0VBQ0k7QVY0eXJCWjtBVTd5ckJROztFQUNJO0FWZ3pyQlo7QVVqenJCUTs7RUFDSTtBVm96ckJaO0FVcnpyQlE7O0VBQ0k7QVZ3enJCWjtBVXp6ckJROztFQUNJO0FWNHpyQlo7QVU3enJCUTs7RUFDSTtBVmcwckJaO0FVajByQlE7O0VBQ0k7QVZvMHJCWjtBVXIwckJROztFQUNJO0FWdzByQlo7QVV6MHJCUTs7RUFDSTtBVjQwckJaO0FVNzByQlE7O0VBQ0k7QVZnMXJCWjtBVWoxckJROztFQUNJO0FWbzFyQlo7QVVyMXJCUTs7RUFDSTtBVncxckJaO0FVejFyQlE7O0VBQ0k7QVY0MXJCWjtBVTcxckJROztFQUNJO0FWZzJyQlo7QVVqMnJCUTs7RUFDSTtBVm8yckJaO0FVcjJyQlE7O0VBQ0k7QVZ3MnJCWjtBVXoyckJROztFQUNJO0FWNDJyQlo7QVU3MnJCUTs7RUFDSTtBVmczckJaO0FVajNyQlE7O0VBQ0k7QVZvM3JCWjtBVXIzckJROztFQUNJO0FWdzNyQlo7QVV6M3JCUTs7RUFDSTtBVjQzckJaO0FVNzNyQlE7O0VBQ0k7QVZnNHJCWjtBVWo0ckJROztFQUNJO0FWbzRyQlo7QVVyNHJCUTs7RUFDSTtBVnc0ckJaO0FVejRyQlE7O0VBQ0k7QVY0NHJCWjtBVTc0ckJROztFQUNJO0FWZzVyQlo7QVVqNXJCUTs7RUFDSTtBVm81ckJaO0FVcjVyQlE7O0VBQ0k7QVZ3NXJCWjtBVXo1ckJROztFQUNJO0FWNDVyQlo7QVU3NXJCUTs7RUFDSTtBVmc2ckJaO0FVajZyQlE7O0VBQ0k7QVZvNnJCWjtBVXI2ckJROztFQUNJO0FWdzZyQlo7QVV6NnJCUTs7RUFDSTtBVjQ2ckJaO0FVNzZyQlE7O0VBQ0k7QVZnN3JCWjtBVWo3ckJROztFQUNJO0FWbzdyQlo7QVVyN3JCUTs7RUFDSTtBVnc3ckJaO0FVejdyQlE7O0VBQ0k7QVY0N3JCWjtBVTc3ckJROztFQUNJO0FWZzhyQlo7QVVqOHJCUTs7RUFDSTtBVm84ckJaO0FVcjhyQlE7O0VBQ0k7QVZ3OHJCWjtBVXo4ckJROztFQUNJO0FWNDhyQlo7QVU3OHJCUTs7RUFDSTtBVmc5ckJaO0FVajlyQlE7O0VBQ0k7QVZvOXJCWjtBVXI5ckJROztFQUNJO0FWdzlyQlo7QVV6OXJCUTs7RUFDSTtBVjQ5ckJaO0FVNzlyQlE7O0VBQ0k7QVZnK3JCWjtBVWorckJROztFQUNJO0FWbytyQlo7QVVyK3JCUTs7RUFDSTtBVncrckJaO0FVeityQlE7O0VBQ0k7QVY0K3JCWjtBVTcrckJROztFQUNJO0FWZy9yQlo7QVVqL3JCUTs7RUFDSTtBVm8vckJaO0FVci9yQlE7O0VBQ0k7QVZ3L3JCWjtBVXovckJROztFQUNJO0FWNC9yQlo7QVU3L3JCUTs7RUFDSTtBVmdnc0JaO0FVamdzQlE7O0VBQ0k7QVZvZ3NCWjtBVXJnc0JROztFQUNJO0FWd2dzQlo7QVV6Z3NCUTs7RUFDSTtBVjRnc0JaO0FVN2dzQlE7O0VBQ0k7QVZnaHNCWjtBVWpoc0JROztFQUNJO0FWb2hzQlo7QVVyaHNCUTs7RUFDSTtBVndoc0JaO0FVemhzQlE7O0VBQ0k7QVY0aHNCWjtBVTdoc0JROztFQUNJO0FWZ2lzQlo7QVVqaXNCUTs7RUFDSTtBVm9pc0JaO0FVcmlzQlE7O0VBQ0k7QVZ3aXNCWjtBVXppc0JROztFQUNJO0FWNGlzQlo7QVU3aXNCUTs7RUFDSTtBVmdqc0JaO0FVampzQlE7O0VBQ0k7QVZvanNCWjtBVXJqc0JROztFQUNJO0FWd2pzQlo7QVV6anNCUTs7RUFDSTtBVjRqc0JaO0FVN2pzQlE7O0VBQ0k7QVZna3NCWjtBVWprc0JROztFQUNJO0FWb2tzQlo7QVVya3NCUTs7RUFDSTtBVndrc0JaO0FVemtzQlE7O0VBQ0k7QVY0a3NCWjtBVTdrc0JROztFQUNJO0FWZ2xzQlo7QVVqbHNCUTs7RUFDSTtBVm9sc0JaO0FVcmxzQlE7O0VBQ0k7QVZ3bHNCWjtBVXpsc0JROztFQUNJO0FWNGxzQlo7QVU3bHNCUTs7RUFDSTtBVmdtc0JaO0FVam1zQlE7O0VBQ0k7QVZvbXNCWjtBVXJtc0JROztFQUNJO0FWd21zQlo7QVV6bXNCUTs7RUFDSTtBVjRtc0JaO0FVN21zQlE7O0VBQ0k7QVZnbnNCWjtBVWpuc0JROztFQUNJO0FWb25zQlo7QVVybnNCUTs7RUFDSTtBVnduc0JaO0FVem5zQlE7O0VBQ0k7QVY0bnNCWjtBVTduc0JROztFQUNJO0FWZ29zQlo7QVVqb3NCUTs7RUFDSTtBVm9vc0JaO0FVcm9zQlE7O0VBQ0k7QVZ3b3NCWjtBVXpvc0JROztFQUNJO0FWNG9zQlo7QVU3b3NCUTs7RUFDSTtBVmdwc0JaO0FVanBzQlE7O0VBQ0k7QVZvcHNCWjtBVXJwc0JROztFQUNJO0FWd3BzQlo7QVV6cHNCUTs7RUFDSTtBVjRwc0JaO0FVN3BzQlE7O0VBQ0k7QVZncXNCWjtBVWpxc0JROztFQUNJO0FWb3FzQlo7QVVycXNCUTs7RUFDSTtBVndxc0JaO0FVenFzQlE7O0VBQ0k7QVY0cXNCWjtBVTdxc0JROztFQUNJO0FWZ3JzQlo7QVVqcnNCUTs7RUFDSTtBVm9yc0JaO0FVcnJzQlE7O0VBQ0k7QVZ3cnNCWjtBVXpyc0JROztFQUNJO0FWNHJzQlo7QVU3cnNCUTs7RUFDSTtBVmdzc0JaO0FVanNzQlE7O0VBQ0k7QVZvc3NCWjtBVXJzc0JROztFQUNJO0FWd3NzQlo7QVV6c3NCUTs7RUFDSTtBVjRzc0JaO0FVN3NzQlE7O0VBQ0k7QVZndHNCWjtBVWp0c0JROztFQUNJO0FWb3RzQlo7QVVydHNCUTs7RUFDSTtBVnd0c0JaO0FVenRzQlE7O0VBQ0k7QVY0dHNCWjtBVTd0c0JROztFQUNJO0FWZ3VzQlo7QVVqdXNCUTs7RUFDSTtBVm91c0JaO0FVcnVzQlE7O0VBQ0k7QVZ3dXNCWjtBVXp1c0JROztFQUNJO0FWNHVzQlo7QVU3dXNCUTs7RUFDSTtBVmd2c0JaO0FVanZzQlE7O0VBQ0k7QVZvdnNCWjtBVXJ2c0JROztFQUNJO0FWd3ZzQlo7QVV6dnNCUTs7RUFDSTtBVjR2c0JaO0FVN3ZzQlE7O0VBQ0k7QVZnd3NCWjtBVWp3c0JROztFQUNJO0FWb3dzQlo7QVVyd3NCUTs7RUFDSTtBVnd3c0JaO0FVendzQlE7O0VBQ0k7QVY0d3NCWjtBVTd3c0JROztFQUNJO0FWZ3hzQlo7QVVqeHNCUTs7RUFDSTtBVm94c0JaO0FVcnhzQlE7O0VBQ0k7QVZ3eHNCWjtBVXp4c0JROztFQUNJO0FWNHhzQlo7QVU3eHNCUTs7RUFDSTtBVmd5c0JaO0FVanlzQlE7O0VBQ0k7QVZveXNCWjtBVXJ5c0JROztFQUNJO0FWd3lzQlo7QVV6eXNCUTs7RUFDSTtBVjR5c0JaO0FVN3lzQlE7O0VBQ0k7QVZnenNCWjtBVWp6c0JROztFQUNJO0FWb3pzQlo7QVVyenNCUTs7RUFDSTtBVnd6c0JaO0FVenpzQlE7O0VBQ0k7QVY0enNCWjtBVTd6c0JROztFQUNJO0FWZzBzQlo7QVVqMHNCUTs7RUFDSTtBVm8wc0JaO0FVcjBzQlE7O0VBQ0k7QVZ3MHNCWjtBVXowc0JROztFQUNJO0FWNDBzQlo7QVU3MHNCUTs7RUFDSTtBVmcxc0JaO0FVajFzQlE7O0VBQ0k7QVZvMXNCWjtBVXIxc0JROztFQUNJO0FWdzFzQlo7QVV6MXNCUTs7RUFDSTtBVjQxc0JaO0FVNzFzQlE7O0VBQ0k7QVZnMnNCWjtBVWoyc0JROztFQUNJO0FWbzJzQlo7QVVyMnNCUTs7RUFDSTtBVncyc0JaO0FVejJzQlE7O0VBQ0k7QVY0MnNCWjtBVTcyc0JROztFQUNJO0FWZzNzQlo7QVVqM3NCUTs7RUFDSTtBVm8zc0JaO0FVcjNzQlE7O0VBQ0k7QVZ3M3NCWjtBVXozc0JROztFQUNJO0FWNDNzQlo7QVU3M3NCUTs7RUFDSTtBVmc0c0JaO0FVajRzQlE7O0VBQ0k7QVZvNHNCWjtBVXI0c0JROztFQUNJO0FWdzRzQlo7QVV6NHNCUTs7RUFDSTtBVjQ0c0JaO0FVNzRzQlE7O0VBQ0k7QVZnNXNCWjtBVWo1c0JROztFQUNJO0FWbzVzQlo7QVVyNXNCUTs7RUFDSTtBVnc1c0JaO0FVejVzQlE7O0VBQ0k7QVY0NXNCWjtBVTc1c0JROztFQUNJO0FWZzZzQlo7QVVqNnNCUTs7RUFDSTtBVm82c0JaO0FVcjZzQlE7O0VBQ0k7QVZ3NnNCWjtBVXo2c0JROztFQUNJO0FWNDZzQlo7QVU3NnNCUTs7RUFDSTtBVmc3c0JaO0FVajdzQlE7O0VBQ0k7QVZvN3NCWjtBVXI3c0JROztFQUNJO0FWdzdzQlo7QVV6N3NCUTs7RUFDSTtBVjQ3c0JaO0FVNzdzQlE7O0VBQ0k7QVZnOHNCWjtBVWo4c0JROztFQUNJO0FWbzhzQlo7QVVyOHNCUTs7RUFDSTtBVnc4c0JaO0FVejhzQlE7O0VBQ0k7QVY0OHNCWjtBVTc4c0JROztFQUNJO0FWZzlzQlo7QVVqOXNCUTs7RUFDSTtBVm85c0JaO0FVcjlzQlE7O0VBQ0k7QVZ3OXNCWjtBVXo5c0JROztFQUNJO0FWNDlzQlo7QVU3OXNCUTs7RUFDSTtBVmcrc0JaO0FVaitzQlE7O0VBQ0k7QVZvK3NCWjtBVXIrc0JROztFQUNJO0FWdytzQlo7QVV6K3NCUTs7RUFDSTtBVjQrc0JaO0FVNytzQlE7O0VBQ0k7QVZnL3NCWjtBVWovc0JROztFQUNJO0FWby9zQlo7QVVyL3NCUTs7RUFDSTtBVncvc0JaO0FVei9zQlE7O0VBQ0k7QVY0L3NCWjtBVTcvc0JROztFQUNJO0FWZ2d0Qlo7QVVqZ3RCUTs7RUFDSTtBVm9ndEJaO0FVcmd0QlE7O0VBQ0k7QVZ3Z3RCWjtBVXpndEJROztFQUNJO0FWNGd0Qlo7QVU3Z3RCUTs7RUFDSTtBVmdodEJaO0FVamh0QlE7O0VBQ0k7QVZvaHRCWjtBVXJodEJROztFQUNJO0FWd2h0Qlo7QVV6aHRCUTs7RUFDSTtBVjRodEJaO0FVN2h0QlE7O0VBQ0k7QVZnaXRCWjtBVWppdEJROztFQUNJO0FWb2l0Qlo7QVVyaXRCUTs7RUFDSTtBVndpdEJaO0FVeml0QlE7O0VBQ0k7QVY0aXRCWjtBVTdpdEJROztFQUNJO0FWZ2p0Qlo7QVVqanRCUTs7RUFDSTtBVm9qdEJaO0FVcmp0QlE7O0VBQ0k7QVZ3anRCWjtBVXpqdEJROztFQUNJO0FWNGp0Qlo7QVU3anRCUTs7RUFDSTtBVmdrdEJaO0FVamt0QlE7O0VBQ0k7QVZva3RCWjtBVXJrdEJROztFQUNJO0FWd2t0Qlo7QVV6a3RCUTs7RUFDSTtBVjRrdEJaO0FVN2t0QlE7O0VBQ0k7QVZnbHRCWjtBVWpsdEJROztFQUNJO0FWb2x0Qlo7QVVybHRCUTs7RUFDSTtBVndsdEJaO0FVemx0QlE7O0VBQ0k7QVY0bHRCWjtBVTdsdEJROztFQUNJO0FWZ210Qlo7QVVqbXRCUTs7RUFDSTtBVm9tdEJaO0FVcm10QlE7O0VBQ0k7QVZ3bXRCWjtBVXptdEJROztFQUNJO0FWNG10Qlo7QVU3bXRCUTs7RUFDSTtBVmdudEJaO0FVam50QlE7O0VBQ0k7QVZvbnRCWjtBVXJudEJROztFQUNJO0FWd250Qlo7QVV6bnRCUTs7RUFDSTtBVjRudEJaO0FVN250QlE7O0VBQ0k7QVZnb3RCWjtBVWpvdEJROztFQUNJO0FWb290Qlo7QVVyb3RCUTs7RUFDSTtBVndvdEJaO0FVem90QlE7O0VBQ0k7QVY0b3RCWjtBVTdvdEJROztFQUNJO0FWZ3B0Qlo7QVVqcHRCUTs7RUFDSTtBVm9wdEJaO0FVcnB0QlE7O0VBQ0k7QVZ3cHRCWjtBVXpwdEJROztFQUNJO0FWNHB0Qlo7QVU3cHRCUTs7RUFDSTtBVmdxdEJaO0FVanF0QlE7O0VBQ0k7QVZvcXRCWjtBVXJxdEJROztFQUNJO0FWd3F0Qlo7QVV6cXRCUTs7RUFDSTtBVjRxdEJaO0FVN3F0QlE7O0VBQ0k7QVZncnRCWjtBVWpydEJROztFQUNJO0FWb3J0Qlo7QVVycnRCUTs7RUFDSTtBVndydEJaO0FVenJ0QlE7O0VBQ0k7QVY0cnRCWjtBVTdydEJROztFQUNJO0FWZ3N0Qlo7QVVqc3RCUTs7RUFDSTtBVm9zdEJaO0FVcnN0QlE7O0VBQ0k7QVZ3c3RCWjtBVXpzdEJROztFQUNJO0FWNHN0Qlo7QVU3c3RCUTs7RUFDSTtBVmd0dEJaO0FVanR0QlE7O0VBQ0k7QVZvdHRCWjtBVXJ0dEJROztFQUNJO0FWd3R0Qlo7QVV6dHRCUTs7RUFDSTtBVjR0dEJaO0FVN3R0QlE7O0VBQ0k7QVZndXRCWjtBVWp1dEJROztFQUNJO0FWb3V0Qlo7QVVydXRCUTs7RUFDSTtBVnd1dEJaO0FVenV0QlE7O0VBQ0k7QVY0dXRCWjtBVTd1dEJROztFQUNJO0FWZ3Z0Qlo7QVVqdnRCUTs7RUFDSTtBVm92dEJaO0FVcnZ0QlE7O0VBQ0k7QVZ3dnRCWjtBVXp2dEJROztFQUNJO0FWNHZ0Qlo7QVU3dnRCUTs7RUFDSTtBVmd3dEJaO0FVand0QlE7O0VBQ0k7QVZvd3RCWjtBVXJ3dEJROztFQUNJO0FWd3d0Qlo7QVV6d3RCUTs7RUFDSTtBVjR3dEJaO0FVN3d0QlE7O0VBQ0k7QVZneHRCWjtBVWp4dEJROztFQUNJO0FWb3h0Qlo7QVVyeHRCUTs7RUFDSTtBVnd4dEJaO0FVenh0QlE7O0VBQ0k7QVY0eHRCWjtBVTd4dEJROztFQUNJO0FWZ3l0Qlo7QVVqeXRCUTs7RUFDSTtBVm95dEJaO0FVcnl0QlE7O0VBQ0k7QVZ3eXRCWjtBVXp5dEJROztFQUNJO0FWNHl0Qlo7QVU3eXRCUTs7RUFDSTtBVmd6dEJaO0FVanp0QlE7O0VBQ0k7QVZvenRCWjtBVXJ6dEJROztFQUNJO0FWd3p0Qlo7QVV6enRCUTs7RUFDSTtBVjR6dEJaO0FVN3p0QlE7O0VBQ0k7QVZnMHRCWjtBVWowdEJROztFQUNJO0FWbzB0Qlo7QVVyMHRCUTs7RUFDSTtBVncwdEJaO0FVejB0QlE7O0VBQ0k7QVY0MHRCWjtBVTcwdEJROztFQUNJO0FWZzF0Qlo7QVVqMXRCUTs7RUFDSTtBVm8xdEJaO0FVcjF0QlE7O0VBQ0k7QVZ3MXRCWjtBVXoxdEJROztFQUNJO0FWNDF0Qlo7QVU3MXRCUTs7RUFDSTtBVmcydEJaO0FVajJ0QlE7O0VBQ0k7QVZvMnRCWjtBVXIydEJROztFQUNJO0FWdzJ0Qlo7QVV6MnRCUTs7RUFDSTtBVjQydEJaO0FVNzJ0QlE7O0VBQ0k7QVZnM3RCWjtBVWozdEJROztFQUNJO0FWbzN0Qlo7QVVyM3RCUTs7RUFDSTtBVnczdEJaO0FVejN0QlE7O0VBQ0k7QVY0M3RCWjtBVTczdEJROztFQUNJO0FWZzR0Qlo7QVVqNHRCUTs7RUFDSTtBVm80dEJaO0FVcjR0QlE7O0VBQ0k7QVZ3NHRCWjtBVXo0dEJROztFQUNJO0FWNDR0Qlo7QVU3NHRCUTs7RUFDSTtBVmc1dEJaO0FVajV0QlE7O0VBQ0k7QVZvNXRCWjtBVXI1dEJROztFQUNJO0FWdzV0Qlo7QVV6NXRCUTs7RUFDSTtBVjQ1dEJaO0FVNzV0QlE7O0VBQ0k7QVZnNnRCWjtBVWo2dEJROztFQUNJO0FWbzZ0Qlo7QVVyNnRCUTs7RUFDSTtBVnc2dEJaO0FVejZ0QlE7O0VBQ0k7QVY0NnRCWjtBVTc2dEJROztFQUNJO0FWZzd0Qlo7QVVqN3RCUTs7RUFDSTtBVm83dEJaO0FVcjd0QlE7O0VBQ0k7QVZ3N3RCWjtBVXo3dEJROztFQUNJO0FWNDd0Qlo7QVU3N3RCUTs7RUFDSTtBVmc4dEJaO0FVajh0QlE7O0VBQ0k7QVZvOHRCWjtBVXI4dEJROztFQUNJO0FWdzh0Qlo7QVV6OHRCUTs7RUFDSTtBVjQ4dEJaO0FVNzh0QlE7O0VBQ0k7QVZnOXRCWjtBVWo5dEJROztFQUNJO0FWbzl0Qlo7QVVyOXRCUTs7RUFDSTtBVnc5dEJaO0FVejl0QlE7O0VBQ0k7QVY0OXRCWjtBVTc5dEJROztFQUNJO0FWZyt0Qlo7QVVqK3RCUTs7RUFDSTtBVm8rdEJaO0FVcit0QlE7O0VBQ0k7QVZ3K3RCWjtBVXordEJROztFQUNJO0FWNCt0Qlo7QVU3K3RCUTs7RUFDSTtBVmcvdEJaO0FVai90QlE7O0VBQ0k7QVZvL3RCWjtBVXIvdEJROztFQUNJO0FWdy90Qlo7QVV6L3RCUTs7RUFDSTtBVjQvdEJaO0FVNy90QlE7O0VBQ0k7QVZnZ3VCWjtBVWpndUJROztFQUNJO0FWb2d1Qlo7QVVyZ3VCUTs7RUFDSTtBVndndUJaO0FVemd1QlE7O0VBQ0k7QVY0Z3VCWjtBVTdndUJROztFQUNJO0FWZ2h1Qlo7QVVqaHVCUTs7RUFDSTtBVm9odUJaO0FVcmh1QlE7O0VBQ0k7QVZ3aHVCWjtBVXpodUJROztFQUNJO0FWNGh1Qlo7QVU3aHVCUTs7RUFDSTtBVmdpdUJaO0FVaml1QlE7O0VBQ0k7QVZvaXVCWjtBVXJpdUJROztFQUNJO0FWd2l1Qlo7QVV6aXVCUTs7RUFDSTtBVjRpdUJaO0FVN2l1QlE7O0VBQ0k7QVZnanVCWjtBVWpqdUJROztFQUNJO0FWb2p1Qlo7QVVyanVCUTs7RUFDSTtBVndqdUJaO0FVemp1QlE7O0VBQ0k7QVY0anVCWjtBVTdqdUJROztFQUNJO0FWZ2t1Qlo7QVVqa3VCUTs7RUFDSTtBVm9rdUJaO0FVcmt1QlE7O0VBQ0k7QVZ3a3VCWjtBVXprdUJROztFQUNJO0FWNGt1Qlo7QVU3a3VCUTs7RUFDSTtBVmdsdUJaO0FVamx1QlE7O0VBQ0k7QVZvbHVCWjtBVXJsdUJROztFQUNJO0FWd2x1Qlo7QVV6bHVCUTs7RUFDSTtBVjRsdUJaO0FVN2x1QlE7O0VBQ0k7QVZnbXVCWjtBVWptdUJROztFQUNJO0FWb211Qlo7QVVybXVCUTs7RUFDSTtBVndtdUJaO0FVem11QlE7O0VBQ0k7QVY0bXVCWjtBVTdtdUJROztFQUNJO0FWZ251Qlo7QVVqbnVCUTs7RUFDSTtBVm9udUJaO0FVcm51QlE7O0VBQ0k7QVZ3bnVCWjtBVXpudUJROztFQUNJO0FWNG51Qlo7QVU3bnVCUTs7RUFDSTtBVmdvdUJaO0FVam91QlE7O0VBQ0k7QVZvb3VCWjtBVXJvdUJROztFQUNJO0FWd291Qlo7QVV6b3VCUTs7RUFDSTtBVjRvdUJaO0FVN291QlE7O0VBQ0k7QVZncHVCWjtBVWpwdUJROztFQUNJO0FWb3B1Qlo7QVVycHVCUTs7RUFDSTtBVndwdUJaO0FVenB1QlE7O0VBQ0k7QVY0cHVCWjtBVTdwdUJROztFQUNJO0FWZ3F1Qlo7QVVqcXVCUTs7RUFDSTtBVm9xdUJaO0FVcnF1QlE7O0VBQ0k7QVZ3cXVCWjtBVXpxdUJROztFQUNJO0FWNHF1Qlo7QVU3cXVCUTs7RUFDSTtBVmdydUJaO0FVanJ1QlE7O0VBQ0k7QVZvcnVCWjtBVXJydUJROztFQUNJO0FWd3J1Qlo7QVV6cnVCUTs7RUFDSTtBVjRydUJaO0FVN3J1QlE7O0VBQ0k7QVZnc3VCWjtBVWpzdUJROztFQUNJO0FWb3N1Qlo7QVVyc3VCUTs7RUFDSTtBVndzdUJaO0FVenN1QlE7O0VBQ0k7QVY0c3VCWjtBVTdzdUJROztFQUNJO0FWZ3R1Qlo7QVVqdHVCUTs7RUFDSTtBVm90dUJaO0FVcnR1QlE7O0VBQ0k7QVZ3dHVCWjtBVXp0dUJROztFQUNJO0FWNHR1Qlo7QVU3dHVCUTs7RUFDSTtBVmd1dUJaO0FVanV1QlE7O0VBQ0k7QVZvdXVCWjtBVXJ1dUJROztFQUNJO0FWd3V1Qlo7QVV6dXVCUTs7RUFDSTtBVjR1dUJaO0FVN3V1QlE7O0VBQ0k7QVZndnVCWjtBVWp2dUJROztFQUNJO0FWb3Z1Qlo7QVVydnVCUTs7RUFDSTtBVnd2dUJaO0FVenZ1QlE7O0VBQ0k7QVY0dnVCWjtBVTd2dUJROztFQUNJO0FWZ3d1Qlo7QVVqd3VCUTs7RUFDSTtBVm93dUJaO0FVcnd1QlE7O0VBQ0k7QVZ3d3VCWjtBVXp3dUJROztFQUNJO0FWNHd1Qlo7QVU3d3VCUTs7RUFDSTtBVmd4dUJaO0FVanh1QlE7O0VBQ0k7QVZveHVCWjtBVXJ4dUJROztFQUNJO0FWd3h1Qlo7QVV6eHVCUTs7RUFDSTtBVjR4dUJaO0FVN3h1QlE7O0VBQ0k7QVZneXVCWjtBVWp5dUJROztFQUNJO0FWb3l1Qlo7QVVyeXVCUTs7RUFDSTtBVnd5dUJaO0FVenl1QlE7O0VBQ0k7QVY0eXVCWjtBVTd5dUJROztFQUNJO0FWZ3p1Qlo7QVVqenVCUTs7RUFDSTtBVm96dUJaO0FVcnp1QlE7O0VBQ0k7QVZ3enVCWjtBVXp6dUJROztFQUNJO0FWNHp1Qlo7QVU3enVCUTs7RUFDSTtBVmcwdUJaO0FVajB1QlE7O0VBQ0k7QVZvMHVCWjtBVXIwdUJROztFQUNJO0FWdzB1Qlo7QVV6MHVCUTs7RUFDSTtBVjQwdUJaO0FVNzB1QlE7O0VBQ0k7QVZnMXVCWjtBVWoxdUJROztFQUNJO0FWbzF1Qlo7QVVyMXVCUTs7RUFDSTtBVncxdUJaO0FVejF1QlE7O0VBQ0k7QVY0MXVCWjtBVTcxdUJROztFQUNJO0FWZzJ1Qlo7QVVqMnVCUTs7RUFDSTtBVm8ydUJaO0FVcjJ1QlE7O0VBQ0k7QVZ3MnVCWjtBVXoydUJROztFQUNJO0FWNDJ1Qlo7QVU3MnVCUTs7RUFDSTtBVmczdUJaO0FVajN1QlE7O0VBQ0k7QVZvM3VCWjtBVXIzdUJROztFQUNJO0FWdzN1Qlo7QVV6M3VCUTs7RUFDSTtBVjQzdUJaO0FVNzN1QlE7O0VBQ0k7QVZnNHVCWjtBVWo0dUJROztFQUNJO0FWbzR1Qlo7QVVyNHVCUTs7RUFDSTtBVnc0dUJaO0FVejR1QlE7O0VBQ0k7QVY0NHVCWjtBVTc0dUJROztFQUNJO0FWZzV1Qlo7QVVqNXVCUTs7RUFDSTtBVm81dUJaO0FVcjV1QlE7O0VBQ0k7QVZ3NXVCWjtBVXo1dUJROztFQUNJO0FWNDV1Qlo7QVU3NXVCUTs7RUFDSTtBVmc2dUJaO0FVajZ1QlE7O0VBQ0k7QVZvNnVCWjtBVXI2dUJROztFQUNJO0FWdzZ1Qlo7QVV6NnVCUTs7RUFDSTtBVjQ2dUJaO0FVNzZ1QlE7O0VBQ0k7QVZnN3VCWjtBVWo3dUJROztFQUNJO0FWbzd1Qlo7QVVyN3VCUTs7RUFDSTtBVnc3dUJaO0FVejd1QlE7O0VBQ0k7QVY0N3VCWjtBVTc3dUJROztFQUNJO0FWZzh1Qlo7QVVqOHVCUTs7RUFDSTtBVm84dUJaO0FVcjh1QlE7O0VBQ0k7QVZ3OHVCWjtBVXo4dUJROztFQUNJO0FWNDh1Qlo7QVU3OHVCUTs7RUFDSTtBVmc5dUJaO0FVajl1QlE7O0VBQ0k7QVZvOXVCWjtBVXI5dUJROztFQUNJO0FWdzl1Qlo7QVV6OXVCUTs7RUFDSTtBVjQ5dUJaO0FVNzl1QlE7O0VBQ0k7QVZnK3VCWjtBVWordUJROztFQUNJO0FWbyt1Qlo7QVVyK3VCUTs7RUFDSTtBVncrdUJaO0FVeit1QlE7O0VBQ0k7QVY0K3VCWjtBVTcrdUJROztFQUNJO0FWZy91Qlo7QVVqL3VCUTs7RUFDSTtBVm8vdUJaO0FVci91QlE7O0VBQ0k7QVZ3L3VCWjtBVXovdUJROztFQUNJO0FWNC91Qlo7QVU3L3VCUTs7RUFDSTtBVmdndkJaO0FVamd2QlE7O0VBQ0k7QVZvZ3ZCWjtBVXJndkJROztFQUNJO0FWd2d2Qlo7QVV6Z3ZCUTs7RUFDSTtBVjRndkJaO0FVN2d2QlE7O0VBQ0k7QVZnaHZCWjtBVWpodkJROztFQUNJO0FWb2h2Qlo7QVVyaHZCUTs7RUFDSTtBVndodkJaO0FVemh2QlE7O0VBQ0k7QVY0aHZCWjtBVTdodkJROztFQUNJO0FWZ2l2Qlo7QVVqaXZCUTs7RUFDSTtBVm9pdkJaO0FVcml2QlE7O0VBQ0k7QVZ3aXZCWjtBVXppdkJROztFQUNJO0FWNGl2Qlo7QVU3aXZCUTs7RUFDSTtBVmdqdkJaO0FVamp2QlE7O0VBQ0k7QVZvanZCWjtBVXJqdkJROztFQUNJO0FWd2p2Qlo7QVV6anZCUTs7RUFDSTtBVjRqdkJaO0FVN2p2QlE7O0VBQ0k7QVZna3ZCWjtBVWprdkJROztFQUNJO0FWb2t2Qlo7QVVya3ZCUTs7RUFDSTtBVndrdkJaO0FVemt2QlE7O0VBQ0k7QVY0a3ZCWjtBVTdrdkJROztFQUNJO0FWZ2x2Qlo7QVVqbHZCUTs7RUFDSTtBVm9sdkJaO0FVcmx2QlE7O0VBQ0k7QVZ3bHZCWjtBVXpsdkJROztFQUNJO0FWNGx2Qlo7QVU3bHZCUTs7RUFDSTtBVmdtdkJaO0FVam12QlE7O0VBQ0k7QVZvbXZCWjtBVXJtdkJROztFQUNJO0FWd212Qlo7QVV6bXZCUTs7RUFDSTtBVjRtdkJaO0FVN212QlE7O0VBQ0k7QVZnbnZCWjtBVWpudkJROztFQUNJO0FWb252Qlo7QVVybnZCUTs7RUFDSTtBVndudkJaO0FVem52QlE7O0VBQ0k7QVY0bnZCWjtBVTdudkJROztFQUNJO0FWZ292Qlo7QVVqb3ZCUTs7RUFDSTtBVm9vdkJaO0FVcm92QlE7O0VBQ0k7QVZ3b3ZCWjtBVXpvdkJROztFQUNJO0FWNG92Qlo7QVU3b3ZCUTs7RUFDSTtBVmdwdkJaO0FVanB2QlE7O0VBQ0k7QVZvcHZCWjtBVXJwdkJROztFQUNJO0FWd3B2Qlo7QVV6cHZCUTs7RUFDSTtBVjRwdkJaO0FVN3B2QlE7O0VBQ0k7QVZncXZCWjtBVWpxdkJROztFQUNJO0FWb3F2Qlo7QVVycXZCUTs7RUFDSTtBVndxdkJaO0FVenF2QlE7O0VBQ0k7QVY0cXZCWjtBVTdxdkJROztFQUNJO0FWZ3J2Qlo7QVVqcnZCUTs7RUFDSTtBVm9ydkJaO0FVcnJ2QlE7O0VBQ0k7QVZ3cnZCWjtBVXpydkJROztFQUNJO0FWNHJ2Qlo7QVU3cnZCUTs7RUFDSTtBVmdzdkJaO0FVanN2QlE7O0VBQ0k7QVZvc3ZCWjtBVXJzdkJROztFQUNJO0FWd3N2Qlo7QVV6c3ZCUTs7RUFDSTtBVjRzdkJaO0FVN3N2QlE7O0VBQ0k7QVZndHZCWjtBVWp0dkJROztFQUNJO0FWb3R2Qlo7QVVydHZCUTs7RUFDSTtBVnd0dkJaO0FVenR2QlE7O0VBQ0k7QVY0dHZCWjtBVTd0dkJROztFQUNJO0FWZ3V2Qlo7QVVqdXZCUTs7RUFDSTtBVm91dkJaO0FVcnV2QlE7O0VBQ0k7QVZ3dXZCWjtBVXp1dkJROztFQUNJO0FWNHV2Qlo7QVU3dXZCUTs7RUFDSTtBVmd2dkJaO0FVanZ2QlE7O0VBQ0k7QVZvdnZCWjtBVXJ2dkJROztFQUNJO0FWd3Z2Qlo7QVV6dnZCUTs7RUFDSTtBVjR2dkJaO0FVN3Z2QlE7O0VBQ0k7QVZnd3ZCWjtBVWp3dkJROztFQUNJO0FWb3d2Qlo7QVVyd3ZCUTs7RUFDSTtBVnd3dkJaO0FVend2QlE7O0VBQ0k7QVY0d3ZCWjtBVTd3dkJROztFQUNJO0FWZ3h2Qlo7QVVqeHZCUTs7RUFDSTtBVm94dkJaO0FVcnh2QlE7O0VBQ0k7QVZ3eHZCWjtBVXp4dkJROztFQUNJO0FWNHh2Qlo7QVU3eHZCUTs7RUFDSTtBVmd5dkJaO0FVanl2QlE7O0VBQ0k7QVZveXZCWjtBVXJ5dkJROztFQUNJO0FWd3l2Qlo7QVV6eXZCUTs7RUFDSTtBVjR5dkJaO0FVN3l2QlE7O0VBQ0k7QVZnenZCWjtBVWp6dkJROztFQUNJO0FWb3p2Qlo7QVVyenZCUTs7RUFDSTtBVnd6dkJaO0FVenp2QlE7O0VBQ0k7QVY0enZCWjtBVTd6dkJROztFQUNJO0FWZzB2Qlo7QVVqMHZCUTs7RUFDSTtBVm8wdkJaO0FVcjB2QlE7O0VBQ0k7QVZ3MHZCWjtBVXowdkJROztFQUNJO0FWNDB2Qlo7QVU3MHZCUTs7RUFDSTtBVmcxdkJaO0FVajF2QlE7O0VBQ0k7QVZvMXZCWjtBVXIxdkJROztFQUNJO0FWdzF2Qlo7QVV6MXZCUTs7RUFDSTtBVjQxdkJaO0FVNzF2QlE7O0VBQ0k7QVZnMnZCWjtBVWoydkJROztFQUNJO0FWbzJ2Qlo7QVVyMnZCUTs7RUFDSTtBVncydkJaO0FVejJ2QlE7O0VBQ0k7QVY0MnZCWjtBVTcydkJROztFQUNJO0FWZzN2Qlo7QVVqM3ZCUTs7RUFDSTtBVm8zdkJa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eEJTOztFQUVHO0FYK294Qlo7QVczb3hCUzs7O0VBR0c7QVg2b3hCWjtBV3RweEJTOztFQUVHO0FYd3B4Qlo7QVcxcHhCUzs7RUFFRztBWDRweEJaO0FXOXB4QlM7O0VBRUc7QVhncXhCWjtBV2xxeEJTOztFQUVHO0FYb3F4Qlo7QVd0cXhCUzs7RUFFRztBWHdxeEJaO0FXMXF4QlM7O0VBRUc7QVg0cXhCWjtBVzlxeEJTOztFQUVHO0FYZ3J4Qlo7QVdscnhCUzs7RUFFRztBWG9yeEJaO0FXdHJ4QlM7O0VBRUc7QVh3cnhCWjtBVzFyeEJTOztFQUVHO0FYNHJ4Qlo7QVc5cnhCUzs7RUFFRztBWGdzeEJaO0FXbHN4QlM7O0VBRUc7QVhvc3hCWjtBV3RzeEJTOztFQUVHO0FYd3N4Qlo7QVcxc3hCUzs7RUFFRztBWDRzeEJaO0FXOXN4QlM7O0VBRUc7QVhndHhCWjtBV2x0eEJTOztFQUVHO0FYb3R4Qlo7QVd0dHhCUzs7RUFFRztBWHd0eEJaO0FXMXR4QlM7O0VBRUc7QVg0dHhCWjtBVzl0eEJTOztFQUVHO0FYZ3V4Qlo7QVdsdXhCUzs7RUFFRztBWG91eEJaO0FXdHV4QlM7O0VBRUc7QVh3dXhCWjtBVzF1eEJTOztFQUVHO0FYNHV4Qlo7QVc5dXhCUzs7RUFFRztBWGd2eEJaO0FXbHZ4QlM7O0VBRUc7QVhvdnhCWjtBV3R2eEJTOztFQUVHO0FYd3Z4Qlo7QVcxdnhCUzs7RUFFRztBWDR2eEJaO0FXOXZ4QlM7O0VBRUc7QVhnd3hCWjtBV2x3eEJTOztFQUVHO0FYb3d4Qlo7QVd0d3hCUzs7RUFFRztBWHd3eEJaO0FXMXd4QlM7O0VBRUc7QVg0d3hCWjtBVzl3eEJTOztFQUVHO0FYZ3h4Qlo7QVdyd3hCUzs7OztFQUlHO0FYdXd4Qlo7QVd4eHhCUzs7RUFFRztBWDB4eEJaO0FXNXh4QlM7O0VBRUc7QVg4eHhCWjtBV2h5eEJTOztFQUVHO0FYa3l4Qlo7QVdweXhCUzs7RUFFRztBWHN5eEJaO0FXeHl4QlM7O0VBRUc7QVgweXhCWjtBVzV5eEJTOztFQUVHO0FYOHl4Qlo7QVdoenhCUzs7RUFFRztBWGt6eEJaO0FXcHp4QlM7O0VBRUc7QVhzenhCWjtBV3h6eEJTOztFQUVHO0FYMHp4Qlo7QVc1enhCUzs7RUFFRztBWDh6eEJaO0FXMXp4QlM7OztFQUdHO0FYNHp4Qlo7QVdyMHhCUzs7RUFFRztBWHUweEJaO0FXejB4QlM7O0VBRUc7QVgyMHhCWjtBVzcweEJTOztFQUVHO0FYKzB4Qlo7QVdqMXhCUzs7RUFFRztBWG0xeEJaO0FXcjF4QlM7O0VBRUc7QVh1MXhCWjtBV3oxeEJTOztFQUVHO0FYMjF4Qlo7QVc3MXhCUzs7RUFFRztBWCsxeEJaO0FXMzF4QlM7OztFQUdHO0FYNjF4Qlo7QVd0MnhCUzs7RUFFRztBWHcyeEJaO0FXMTJ4QlM7O0VBRUc7QVg0MnhCWjtBVzkyeEJTOztFQUVHO0FYZzN4Qlo7QVdsM3hCUzs7RUFFRztBWG8zeEJaO0FXdDN4QlM7O0VBRUc7QVh3M3hCWjtBVzEzeEJTOztFQUVHO0FYNDN4Qlo7QVc5M3hCUzs7RUFFRztBWGc0eEJaO0FXbDR4QlM7O0VBRUc7QVhvNHhCWjtBV3Q0eEJTOztFQUVHO0FYdzR4Qlo7QVcxNHhCUzs7RUFFRztBWDQ0eEJaO0FXOTR4QlM7O0VBRUc7QVhnNXhCWjtBV2w1eEJTOztFQUVHO0FYbzV4Qlo7QVd0NXhCUzs7RUFFRztBWHc1eEJaO0FXMTV4QlM7O0VBRUc7QVg0NXhCWjtBVzk1eEJTOztFQUVHO0FYZzZ4Qlo7QVdsNnhCUzs7RUFFRztBWG82eEJaO0FXdDZ4QlM7O0VBRUc7QVh3NnhCWjtBVzE2eEJTOztFQUVHO0FYNDZ4Qlo7QVc5NnhCUzs7RUFFRztBWGc3eEJaO0FXNTZ4QlM7OztFQUdHO0FYODZ4Qlo7QVd2N3hCUzs7RUFFRztBWHk3eEJaO0FXMzd4QlM7O0VBRUc7QVg2N3hCWjtBVy83eEJTOztFQUVHO0FYaTh4Qlo7QVduOHhCUzs7RUFFRztBWHE4eEJaO0FXdjh4QlM7O0VBRUc7QVh5OHhCWjtBVzM4eEJTOztFQUVHO0FYNjh4Qlo7QVcvOHhCUzs7RUFFRztBWGk5eEJaO0FXbjl4QlM7O0VBRUc7QVhxOXhCWjtBV3Y5eEJTOztFQUVHO0FYeTl4Qlo7QVczOXhCUzs7RUFFRztBWDY5eEJaO0FXLzl4QlM7O0VBRUc7QVhpK3hCWjtBV24reEJTOztFQUVHO0FYcSt4Qlo7QVd2K3hCUzs7RUFFRztBWHkreEJaO0FXMyt4QlM7O0VBRUc7QVg2K3hCWjtBVy8reEJTOztFQUVHO0FYaS94Qlo7QVduL3hCUzs7RUFFRztBWHEveEJaO0FXdi94QlM7O0VBRUc7QVh5L3hCWjtBVzMveEJTOztFQUVHO0FYNi94Qlo7QVd6L3hCUzs7O0VBR0c7QVgyL3hCWjtBV3BneUJTOztFQUVHO0FYc2d5Qlo7QVd4Z3lCUzs7RUFFRztBWDBneUJaO0FXNWd5QlM7O0VBRUc7QVg4Z3lCWjtBV2hoeUJTOztFQUVHO0FYa2h5Qlo7QVdwaHlCUzs7RUFFRztBWHNoeUJaO0FXeGh5QlM7O0VBRUc7QVgwaHlCWjtBVzVoeUJTOztFQUVHO0FYOGh5Qlo7QVdoaXlCUzs7RUFFRztBWGtpeUJaO0FXcGl5QlM7O0VBRUc7QVhzaXlCWjtBV3hpeUJTOztFQUVHO0FYMGl5Qlo7QVc1aXlCUzs7RUFFRztBWDhpeUJaO0FXaGp5QlM7O0VBRUc7QVhranlCWjtBV3BqeUJTOztFQUVHO0FYc2p5Qlo7QVd4anlCUzs7RUFFRztBWDBqeUJaO0FXNWp5QlM7O0VBRUc7QVg4anlCWjtBV2hreUJTOztFQUVHO0FYa2t5Qlo7QVdwa3lCUzs7RUFFRztBWHNreUJaO0FXeGt5QlM7O0VBRUc7QVgwa3lCWjtBVzVreUJTOztFQUVHO0FYOGt5Qlo7QVdobHlCUzs7RUFFRztBWGtseUJaO0FXcGx5QlM7O0VBRUc7QVhzbHlCWjtBV3hseUJTOztFQUVHO0FYMGx5Qlo7QVc1bHlCUzs7RUFFRztBWDhseUJaO0FXaG15QlM7O0VBRUc7QVhrbXlCWjtBV3BteUJTOztFQUVHO0FYc215Qlo7QVd4bXlCUzs7RUFFRztBWDBteUJaO0FXNW15QlM7O0VBRUc7QVg4bXlCWjtBV2hueUJTOztFQUVHO0FYa255Qlo7QVdwbnlCUzs7RUFFRztBWHNueUJaO0FXeG55QlM7O0VBRUc7QVgwbnlCWjtBVy9teUJTOzs7O0VBSUc7QVhpbnlCWjtBV2xveUJTOztFQUVHO0FYb295Qlo7QVd0b3lCUzs7RUFFRztBWHdveUJaO0FXMW95QlM7O0VBRUc7QVg0b3lCWjtBVzlveUJTOztFQUVHO0FYZ3B5Qlo7QVdscHlCUzs7RUFFRztBWG9weUJaO0FXdHB5QlM7O0VBRUc7QVh3cHlCWjtBVzFweUJTOztFQUVHO0FYNHB5Qlo7QVc5cHlCUzs7RUFFRztBWGdxeUJaO0FXbHF5QlM7O0VBRUc7QVhvcXlCWjtBV3RxeUJTOztFQUVHO0FYd3F5Qlo7QVcxcXlCUzs7RUFFRztBWDRxeUJaO0FXOXF5QlM7O0VBRUc7QVhncnlCWjtBV2xyeUJTOztFQUVHO0FYb3J5Qlo7QVd0cnlCUzs7RUFFRztBWHdyeUJaO0FXMXJ5QlM7O0VBRUc7QVg0cnlCWjtBVzlyeUJTOztFQUVHO0FYZ3N5Qlo7QVdsc3lCUzs7RUFFRztBWG9zeUJaO0FXdHN5QlM7O0VBRUc7QVh3c3lCWjtBVzFzeUJTOztFQUVHO0FYNHN5Qlo7QVc5c3lCUzs7RUFFRztBWGd0eUJaO0FXNXN5QlM7OztFQUdHO0FYOHN5Qlo7QVd2dHlCUzs7RUFFRztBWHl0eUJaO0FXM3R5QlM7O0VBRUc7QVg2dHlCWjtBVy90eUJTOztFQUVHO0FYaXV5Qlo7QVdudXlCUzs7RUFFRztBWHF1eUJaO0FXdnV5QlM7O0VBRUc7QVh5dXlCWjtBVzN1eUJTOztFQUVHO0FYNnV5Qlo7QVcvdXlCUzs7RUFFRztBWGl2eUJaO0FXbnZ5QlM7O0VBRUc7QVhxdnlCWjtBV3Z2eUJTOztFQUVHO0FYeXZ5Qlo7QVczdnlCUzs7RUFFRztBWDZ2eUJaO0FXL3Z5QlM7O0VBRUc7QVhpd3lCWjtBV253eUJTOztFQUVHO0FYcXd5Qlo7QVd2d3lCUzs7RUFFRztBWHl3eUJaO0FXM3d5QlM7O0VBRUc7QVg2d3lCWjtBVy93eUJTOztFQUVHO0FYaXh5Qlo7QVdueHlCUzs7RUFFRztBWHF4eUJaO0FXdnh5QlM7O0VBRUc7QVh5eHlCWjtBVzN4eUJTOztFQUVHO0FYNnh5Qlo7QVcveHlCUzs7RUFFRztBWGl5eUJaO0FXN3h5QlM7OztFQUdHO0FYK3h5Qlo7QVd4eXlCUzs7RUFFRztBWDB5eUJaO0FXNXl5QlM7O0VBRUc7QVg4eXlCWjtBV2h6eUJTOztFQUVHO0FYa3p5Qlo7QVdwenlCUzs7RUFFRztBWHN6eUJaO0FXeHp5QlM7O0VBRUc7QVgwenlCWjtBVzV6eUJTOztFQUVHO0FYOHp5Qlo7QVdoMHlCUzs7RUFFRztBWGsweUJaO0FXcDB5QlM7O0VBRUc7QVhzMHlCWjtBV3gweUJTOztFQUVHO0FYMDB5Qlo7QVc1MHlCUzs7RUFFRztBWDgweUJaO0FXaDF5QlM7O0VBRUc7QVhrMXlCWjtBV3AxeUJTOztFQUVHO0FYczF5Qlo7QVd4MXlCUzs7RUFFRztBWDAxeUJaO0FXNTF5QlM7O0VBRUc7QVg4MXlCWjtBVzExeUJTOzs7RUFHRztBWDQxeUJaO0FXeDF5QlM7Ozs7RUFJRztBWDAxeUJaO0FXMzJ5QlM7O0VBRUc7QVg2MnlCWjtBVy8yeUJTOztFQUVHO0FYaTN5Qlo7QVduM3lCUzs7RUFFRztBWHEzeUJaO0FXdjN5QlM7O0VBRUc7QVh5M3lCWjtBVzMzeUJTOztFQUVHO0FYNjN5Qlo7QVcvM3lCUzs7RUFFRztBWGk0eUJaO0FXbjR5QlM7O0VBRUc7QVhxNHlCWjtBV3Y0eUJTOztFQUVHO0FYeTR5Qlo7QVdyNHlCUzs7O0VBR0c7QVh1NHlCWjtBV2g1eUJTOztFQUVHO0FYazV5Qlo7QVdwNXlCUzs7RUFFRztBWHM1eUJaO0FXeDV5QlM7O0VBRUc7QVgwNXlCWjtBVzU1eUJTOztFQUVHO0FYODV5Qlo7QVdoNnlCUzs7RUFFRztBWGs2eUJaO0FXcDZ5QlM7O0VBRUc7QVhzNnlCWjtBV3g2eUJTOztFQUVHO0FYMDZ5Qlo7QVd0NnlCUzs7O0VBR0c7QVh3NnlCWjtBVzM2eUJTOzs7RUFHRztBWDY2eUJaO0FXaDd5QlM7OztFQUdHO0FYazd5Qlo7QVdyN3lCUzs7O0VBR0c7QVh1N3lCWjtBVzE3eUJTOzs7RUFHRztBWDQ3eUJaO0FXcjh5QlM7O0VBRUc7QVh1OHlCWjtBV3o4eUJTOztFQUVHO0FYMjh5Qlo7QVc3OHlCUzs7RUFFRztBWCs4eUJaO0FXajl5QlM7O0VBRUc7QVhtOXlCWjtBV3I5eUJTOztFQUVHO0FYdTl5Qlo7QVd6OXlCUzs7RUFFRztBWDI5eUJaO0FXNzl5QlM7O0VBRUc7QVgrOXlCWjtBV2oreUJTOztFQUVHO0FYbSt5Qlo7QVdyK3lCUzs7RUFFRztBWHUreUJaO0FXeit5QlM7O0VBRUc7QVgyK3lCWjtBVzcreUJTOztFQUVHO0FYKyt5Qlo7QVdqL3lCUzs7RUFFRztBWG0veUJaO0FXci95QlM7O0VBRUc7QVh1L3lCWjtBV3oveUJTOztFQUVHO0FYMi95Qlo7QVc3L3lCUzs7RUFFRztBWCsveUJaO0FXamd6QlM7O0VBRUc7QVhtZ3pCWjtBV3JnekJTOztFQUVHO0FYdWd6Qlo7QVd6Z3pCUzs7RUFFRztBWDJnekJaO0FXN2d6QlM7O0VBRUc7QVgrZ3pCWjtBV2poekJTOztFQUVHO0FYbWh6Qlo7QVdyaHpCUzs7RUFFRztBWHVoekJaO0FXemh6QlM7O0VBRUc7QVgyaHpCWjtBVzdoekJTOztFQUVHO0FYK2h6Qlo7QVdqaXpCUzs7RUFFRztBWG1pekJaO0FXL2h6QlM7OztFQUdHO0FYaWl6Qlo7QVdwaXpCUzs7O0VBR0c7QVhzaXpCWjtBVy9pekJTOztFQUVHO0FYaWp6Qlo7QVduanpCUzs7RUFFRztBWHFqekJaO0FXdmp6QlM7O0VBRUc7QVh5anpCWjtBV3JqekJTOzs7RUFHRztBWHVqekJaO0FXaGt6QlM7O0VBRUc7QVhra3pCWjtBV3BrekJTOztFQUVHO0FYc2t6Qlo7QVd4a3pCUzs7RUFFRztBWDBrekJaO0FXNWt6QlM7O0VBRUc7QVg4a3pCWjtBV2hsekJTOztFQUVHO0FYa2x6Qlo7QVdwbHpCUzs7RUFFRztBWHNsekJaO0FXeGx6QlM7O0VBRUc7QVgwbHpCWjtBVzVsekJTOztFQUVHO0FYOGx6Qlo7QVdobXpCUzs7RUFFRztBWGttekJaO0FXcG16QlM7O0VBRUc7QVhzbXpCWjtBV3htekJTOztFQUVHO0FYMG16Qlo7QVc1bXpCUzs7RUFFRztBWDhtekJaO0FXaG56QlM7O0VBRUc7QVhrbnpCWjtBV3BuekJTOztFQUVH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QUVzQjtBWTMxMEJ0Qjs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaNjEwQko7QVkzMTBCQTs7RUFFSTtBWjYxMEJKO0FBQ0E7O2lCQUVpQjtBWXoxMEJqQjtFQUNJO0VBQ0E7QVoyMTBCSjtBQUNBLGdCQUFnQjtBWXgxMEJoQjs7RUFFSTtFQUNBO0FaMDEwQko7QUFDQSxlQUFlO0FZdjEwQmQ7O0VBRUc7RUFDQTtFQUNBO0FaeTEwQko7QUFDQTs7aUJBRWlCO0FZcjEwQmpCO0VBQ0k7RUFDQTtFQUNBO0FadTEwQko7QUFDQSxnQkFBZ0I7QVlwMTBCaEI7RUFDSTtBWnMxMEJKO0FBQ0E7OytCQUUrQjtBQUMvQjs7aUJBRWlCO0FZOTAwQlI7RUFDRztBWmcxMEJaO0FZNzAwQmE7RUFDRztBWiswMEJoQjtBWXAxMEJTO0VBQ0c7QVpzMTBCWjtBWW4xMEJhO0VBQ0c7QVpxMTBCaEI7QVkxMTBCUztFQUNHO0FaNDEwQlo7QVl6MTBCYTtFQUNHO0FaMjEwQmhCO0FZaDIwQlM7RUFDRztBWmsyMEJaO0FZLzEwQmE7RUFDRztBWmkyMEJoQjtBWXQyMEJTO0VBQ0c7QVp3MjBCWjtBWXIyMEJhO0VBQ0c7QVp1MjBCaEI7QVk1MjBCUztFQUNHO0FaODIwQlo7QVkzMjBCYTtFQUNHO0FaNjIwQmhCO0FBQ0E7O2lCQUVpQjtBWWoyMEJSO0VBQ0c7QVptMjBCWjtBWTcxMEJhO0VBQ0c7QVorMTBCaEI7QVk3MTBCYTtFQUNHO0FaKzEwQmhCO0FZMTIwQlM7RUFDRztBWjQyMEJaO0FZdDIwQmE7RUFDRztBWncyMEJoQjtBWXQyMEJhO0VBQ0c7QVp3MjBCaEI7QVluMzBCUztFQUNHO0FacTMwQlo7QVkvMjBCYTtFQUNHO0FaaTMwQmhCO0FZLzIwQmE7RUFDRztBWmkzMEJoQjtBWTUzMEJTO0VBQ0c7QVo4MzBCWjtBWXgzMEJhO0VBQ0c7QVowMzBCaEI7QVl4MzBCYTtFQUNHO0FaMDMwQmhCO0FZcjQwQlM7RUFDRztBWnU0MEJaO0FZajQwQmE7RUFDRztBWm00MEJoQjtBWWo0MEJhO0VBQ0c7QVptNDBCaEI7QVk5NDBCUztFQUNHO0VBRUk7QVorNDBCaEI7QVkzNDBCYTtFQUNHO0FaNjQwQmhCO0FZMzQwQmE7RUFDRztBWjY0MEJoQjtBWXg1MEJTO0VBQ0c7RUFFSTtBWnk1MEJoQjtBWXI1MEJhO0VBQ0c7QVp1NTBCaEI7QVlyNTBCYTtFQUNHO0FadTUwQmhCO0FBQ0E7O3FCQUVxQjtBWS80MEJqQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWmk1MEJSO0FBQ0E7OzBCQUUwQjtBWTM0MEJ0QjtFQUNJO0VBQ0E7RUFDQTtBWjY0MEJSO0FZMzQwQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaNjQwQlI7QVkxNDBCSTtFQUNJO0FaNDQwQlI7QVkxNDBCSTs7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaNDQwQlI7QVkxNDBCSTtFQUNJO0FaNDQwQlI7QVkxNDBCSTtFQUNJO0VBQ0E7QVo0NDBCUjtBWTE0MEJJO0VBQ0k7QVo0NDBCUjtBWTE0MEJJO0VBQ0k7QVo0NDBCUjtBWXo0MEJROzs7RUFHSTtBWjI0MEJaO0FZdjQwQlE7RUFDSTtFQUNBO0VBQ0E7QVp5NDBCWjtBQUNBOzsrQkFFK0I7QVluNDBCM0I7RUFDSTtBWnE0MEJSO0FBQ0E7OytCQUUrQjtBQUMvQjs7MEJBRTBCO0FZOTMwQnRCO0VBQ0k7QVpnNDBCUjtBWTkzMEJJO0VBQ0k7QVpnNDBCUjtBWTczMEJRO0VBQ0k7RUFDQTtFQUNBO0FaKzMwQlo7QVkzMzBCUTtFQUNJO0VBQ0E7RUFDQTtBWjYzMEJaO0FBQ0E7O3NCQUVzQjtBWWgzMEJiO0VBQ0c7QVprMzBCWjtBWWgzMEJTO0VBQ0c7QVprMzBCWjtBWS8yMEJhO0VBQ0c7QVppMzBCaEI7QVk3MjBCYTtFQUNHO0FaKzIwQmhCO0FZNzIwQmE7RUFDRztBWisyMEJoQjtBWTcyMEJhO0VBQ0c7QVorMjBCaEI7QVlsNDBCUztFQUNHO0FabzQwQlo7QVlsNDBCUztFQUNHO0FabzQwQlo7QVlqNDBCYTtFQUNHO0FabTQwQmhCO0FZLzMwQmE7RUFDRztBWmk0MEJoQjtBWS8zMEJhO0VBQ0c7QVppNDBCaEI7QVkvMzBCYTtFQUNHO0FaaTQwQmhCO0FZcDUwQlM7RUFDRztBWnM1MEJaO0FZcDUwQlM7RUFDRztBWnM1MEJaO0FZbjUwQmE7RUFDRztBWnE1MEJoQjtBWWo1MEJhO0VBQ0c7QVptNTBCaEI7QVlqNTBCYTtFQUNHO0FabTUwQmhCO0FZajUwQmE7RUFDRztBWm01MEJoQjtBWXQ2MEJTO0VBQ0c7QVp3NjBCWjtBWXQ2MEJTO0VBQ0c7QVp3NjBCWjtBWXI2MEJhO0VBQ0c7QVp1NjBCaEI7QVluNjBCYTtFQUNHO0FacTYwQmhCO0FZbjYwQmE7RUFDRztBWnE2MEJoQjtBWW42MEJhO0VBQ0c7QVpxNjBCaEI7QVl4NzBCUztFQUNHO0FaMDcwQlo7QVl4NzBCUztFQUNHO0FaMDcwQlo7QVl2NzBCYTtFQUNHO0FaeTcwQmhCO0FZcjcwQmE7RUFDRztBWnU3MEJoQjtBWXI3MEJhO0VBQ0c7QVp1NzBCaEI7QVlyNzBCYTtFQUNHO0FadTcwQmhCO0FZMTgwQlM7RUFDRztBWjQ4MEJaO0FZMTgwQlM7RUFDRztBWjQ4MEJaO0FZejgwQmE7RUFDRztBWjI4MEJoQjtBWXY4MEJhO0VBQ0c7QVp5ODBCaEI7QVl2ODBCYTtFQUNHO0FaeTgwQmhCO0FZdjgwQmE7RUFDRztBWnk4MEJoQjtBWTU5MEJTO0VBQ0c7QVo4OTBCWjtBWTU5MEJTO0VBQ0c7QVo4OTBCWjtBWTM5MEJhO0VBQ0c7QVo2OTBCaEI7QVl6OTBCYTtFQUNHO0FaMjkwQmhCO0FZejkwQmE7RUFDRztBWjI5MEJoQjtBWXo5MEJhO0VBQ0c7QVoyOTBCaEI7QVk5KzBCUztFQUNHO0FaZy8wQlo7QVk5KzBCUztFQUNHO0FaZy8wQlo7QVk3KzBCYTtFQUNHO0FaKyswQmhCO0FZMyswQmE7RUFDRztBWjYrMEJoQjtBWTMrMEJhO0VBQ0c7QVo2KzBCaEI7QVkzKzBCYTtFQUNHO0FaNiswQmhCO0FZaGcxQlM7RUFDRztBWmtnMUJaO0FZaGcxQlM7RUFDRztBWmtnMUJaO0FZLy8wQmE7RUFDRztBWmlnMUJoQjtBWTcvMEJhO0VBQ0c7QVorLzBCaEI7QVk3LzBCYTtFQUNHO0FaKy8wQmhCO0FZNy8wQmE7RUFDRztBWisvMEJoQjtBWWxoMUJTO0VBQ0c7QVpvaDFCWjtBWWxoMUJTO0VBQ0c7QVpvaDFCWjtBWWpoMUJhO0VBQ0c7QVptaDFCaEI7QVkvZzFCYTtFQUNHO0FaaWgxQmhCO0FZL2cxQmE7RUFDRztBWmloMUJoQjtBWS9nMUJhO0VBQ0c7QVppaDFCaEI7QVlwaTFCUztFQUNHO0Fac2kxQlo7QVlwaTFCUztFQUNHO0Fac2kxQlo7QVluaTFCYTtFQUNHO0FacWkxQmhCO0FZamkxQmE7RUFDRztBWm1pMUJoQjtBWWppMUJhO0VBQ0c7QVptaTFCaEI7QVlqaTFCYTtFQUNHO0FabWkxQmhCO0FZdGoxQlM7RUFDRztBWndqMUJaO0FZdGoxQlM7RUFDRztBWndqMUJaO0FZcmoxQmE7RUFDRztBWnVqMUJoQjtBWW5qMUJhO0VBQ0c7QVpxajFCaEI7QVluajFCYTtFQUNHO0FacWoxQmhCO0FZbmoxQmE7RUFDRztBWnFqMUJoQjtBWXhrMUJTO0VBQ0c7QVowazFCWjtBWXhrMUJTO0VBQ0c7QVowazFCWjtBWXZrMUJhO0VBQ0c7QVp5azFCaEI7QVlyazFCYTtFQUNHO0FadWsxQmhCO0FZcmsxQmE7RUFDRztBWnVrMUJoQjtBWXJrMUJhO0VBQ0c7QVp1azFCaEI7QVkxbDFCUztFQUNHO0FaNGwxQlo7QVkxbDFCUztFQUNHO0FaNGwxQlo7QVl6bDFCYTtFQUNHO0FaMmwxQmhCO0FZdmwxQmE7RUFDRztBWnlsMUJoQjtBWXZsMUJhO0VBQ0c7QVp5bDFCaEI7QVl2bDFCYTtFQUNHO0FaeWwxQmhCO0FZNW0xQlM7RUFDRztBWjhtMUJaO0FZNW0xQlM7RUFDRztBWjhtMUJaO0FZM20xQmE7RUFDRztBWjZtMUJoQjtBWXptMUJhO0VBQ0c7QVoybTFCaEI7QVl6bTFCYTtFQUNHO0FaMm0xQmhCO0FZem0xQmE7RUFDRztBWjJtMUJoQjtBQUNBOzswQkFFMEI7QVlubTFCdEI7RUFDSTtBWnFtMUJSO0FZbm0xQkk7RUFDSTtBWnFtMUJSO0FZbm0xQkk7O0VBRUk7QVpxbTFCUjtBWWhtMUJJO0VBQ0k7QVprbTFCUjtBWWhtMUJJO0VBQ0k7RUFDQTtFQUNBO0Faa20xQlI7QUFDQTs7MEJBRTBCO0FZNWwxQnRCOztFQUVJO0VBQ0E7RUFDQTtBWjhsMUJSO0FZNWwxQkk7RUFDSTtFQUNBO0VBQ0E7QVo4bDFCUjtBQUNBOzswQkFFMEI7QVl4bDFCdEI7RUFDSTtBWjBsMUJSO0FBQ0E7OzBCQUUwQjtBWXBsMUJ0QjtFQUNJO0VBQ0E7QVpzbDFCUjtBWW5sMUJRO0VBQ0k7QVpxbDFCWjtBWWxsMUJJO0VBQ0k7QVpvbDFCUjtBWWpsMUJRO0VBQ0k7QVptbDFCWjtBQUNBOzswQkFFMEI7QVk1azFCdEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaOGsxQlI7QVk1azFCSTtFQUNJO0FaOGsxQlI7QVl6azFCYTtFQUNHO0FaMmsxQmhCO0FZNWsxQmE7RUFDRztBWjhrMUJoQjtBWS9rMUJhO0VBQ0c7QVppbDFCaEI7QVlsbDFCYTtFQUNHO0Fab2wxQmhCO0FZcmwxQmE7RUFDRztBWnVsMUJoQjtBWXhsMUJhO0VBQ0c7QVowbDFCaEI7QVkzbDFCYTtFQUNHO0FaNmwxQmhCO0FBQ0E7OzBCQUUwQjtBWXJsMUJ0QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWnVsMUJSO0FZcGwxQlE7RUFDSTtBWnNsMUJaO0FZbmwxQkk7RUFDSTtBWnFsMUJSO0FZbmwxQkk7RUFDSTtBWnFsMUJSO0FZbmwxQkk7RUFDSTtBWnFsMUJSO0FZbGwxQlE7RUFDSTtBWm9sMUJaO0FBQ0EsbUJBQW1CO0FZaGwxQmY7RUFDSTtBWmtsMUJSO0FZN2sxQmE7RUFDRztBWitrMUJoQjtBWWhsMUJhO0VBQ0c7QVprbDFCaEI7QVlubDFCYTtFQUNHO0FacWwxQmhCO0FZdGwxQmE7RUFDRztBWndsMUJoQjtBWXpsMUJhO0VBQ0c7QVoybDFCaEI7QVk1bDFCYTtFQUNHO0FaOGwxQmhCO0FZL2wxQmE7RUFDRztBWmltMUJoQjtBQUNBOztzQkFFc0I7QVkxbDFCdEI7RUFDSTtBWjRsMUJK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QUVJO0Fid3UzQlI7QUFDQTs7MEJBRTBCO0FhbHUzQnRCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fib3UzQlI7QWFudTNCUTtFQUNJO0FicXUzQlo7QWFqdTNCUTtFQUNJO0VBQ0E7QWJtdTNCWjtBQUNBOzswQkFFMEI7QWE1dDNCdEI7O0VBRUk7QWI4dDNCUjtBYTV0M0JJO0VBQ0k7QWI4dDNCUjtBYTF0M0JTOztFQUVHO0FiNHQzQlo7QWExdDNCUztFQUNHO0FiNHQzQlo7QUFDQTs7MEJBRTBCO0FhcnQzQnRCOzs7RUFHSTtBYnV0M0JSO0FhcHQzQkk7O0VBRUk7QWJzdDNCUjtBYW50M0JJO0VBQ0k7QWJxdDNCUjtBYWp0M0JTOzs7RUFHRztBYm10M0JaO0FhanQzQlM7O0VBRUc7QWJtdDNCWjtBYWp0M0JTO0VBQ0c7QWJtdDNCWjtBQUNBOztpQ0FFaUM7QWE1czNCN0I7OztFQUdJO0FiOHMzQlI7QWEzczNCSTs7RUFFSTtBYjZzM0JSO0FhMXMzQkk7RUFDSTtBYjRzM0JSO0FhenMzQkk7OztFQUdJO0FiMnMzQlI7QWF4czNCSTs7RUFFSTtBYjBzM0JSO0FhdnMzQkk7RUFDSTtBYnlzM0JSO0FhcnMzQlM7OztFQUdHO0FidXMzQlo7QWFyczNCUzs7RUFFRztBYnVzM0JaO0FhcnMzQlM7RUFDRztBYnVzM0JaO0FhcnMzQlM7OztFQUdHO0FidXMzQlo7QWFyczNCUzs7RUFFRztBYnVzM0JaO0FhcnMzQlM7RUFDRztBYnVzM0JaO0FBQ0E7OzBCQUUwQjtBYWhzM0J0QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYmtzM0JSO0FhanMzQlE7RUFDSTtBYm1zM0JaO0FhL3IzQlE7RUFDSTtFQUNBO0FiaXMzQlo7QUFDQTs7MEJBRTBCO0FBQzFCLG9CQUFvQjtBYTFyM0JoQjs7RUFFSTtFQUNBO0FiNHIzQlI7QWF6cjNCSTtFQUNJO0FiMnIzQlI7QUFDQTs7c0JBRXNCO0FhanIzQmI7RUFDRztBYm1yM0JaO0FhaHIzQmE7RUFDRztBYmtyM0JoQjtBYS9xM0JpQjs7OztFQUlHO0VBQ0E7QWJpcjNCcEI7QWE5cjNCUztFQUNHO0FiZ3MzQlo7QWE3cjNCYTtFQUNHO0FiK3IzQmhCO0FhNXIzQmlCOzs7O0VBSUc7RUFDQTtBYjhyM0JwQjtBYTNzM0JTO0VBQ0c7QWI2czNCWjtBYTFzM0JhO0VBQ0c7QWI0czNCaEI7QWF6czNCaUI7Ozs7RUFJRztFQUNBO0FiMnMzQnBCO0FheHQzQlM7RUFDRztBYjB0M0JaO0FhdnQzQmE7RUFDRztBYnl0M0JoQjtBYXR0M0JpQjs7OztFQUlHO0VBQ0E7QWJ3dDNCcEI7QWFydTNCUztFQUNHO0FidXUzQlo7QWFwdTNCYTtFQUNHO0Fic3UzQmhCO0FhbnUzQmlCOzs7O0VBSUc7RUFDQTtBYnF1M0JwQjtBYWx2M0JTO0VBQ0c7QWJvdjNCWjtBYWp2M0JhO0VBQ0c7QWJtdjNCaEI7QWFodjNCaUI7Ozs7RUFJRztFQUNBO0Fia3YzQnBCO0FhL3YzQlM7RUFDRztBYml3M0JaO0FhOXYzQmE7RUFDRztBYmd3M0JoQjtBYTd2M0JpQjs7OztFQUlHO0VBQ0E7QWIrdjNCcEI7QWE1dzNCUztFQUNHO0FiOHczQlo7QWEzdzNCYTtFQUNHO0FiNnczQmhCO0FhMXczQmlCOzs7O0VBSUc7RUFDQTtBYjR3M0JwQjtBYXp4M0JTO0VBQ0c7QWIyeDNCWjtBYXh4M0JhO0VBQ0c7QWIweDNCaEI7QWF2eDNCaUI7Ozs7RUFJRztFQUNBO0FieXgzQnBCO0FhdHkzQlM7RUFDRztBYnd5M0JaO0FhcnkzQmE7RUFDRztBYnV5M0JoQjtBYXB5M0JpQjs7OztFQUlHO0VBQ0E7QWJzeTNCcEI7QWFuejNCUztFQUNHO0FicXozQlo7QWFsejNCYTtFQUNHO0Fib3ozQmhCO0FhanozQmlCOzs7O0VBSUc7RUFDQTtBYm16M0JwQjtBYWgwM0JTO0VBQ0c7QWJrMDNCWjtBYS96M0JhO0VBQ0c7QWJpMDNCaEI7QWE5ejNCaUI7Ozs7RUFJRztFQUNBO0FiZzAzQnBCO0FhNzAzQlM7RUFDRztBYiswM0JaO0FhNTAzQmE7RUFDRztBYjgwM0JoQjtBYTMwM0JpQjs7OztFQUlHO0VBQ0E7QWI2MDNCcEI7QWExMTNCUztFQUNHO0FiNDEzQlo7QWF6MTNCYTtFQUNHO0FiMjEzQmhCO0FheDEzQmlCOzs7O0VBSUc7RUFDQTtBYjAxM0JwQjtBYXYyM0JTO0VBQ0c7QWJ5MjNCWjtBYXQyM0JhO0VBQ0c7QWJ3MjNCaEI7QWFyMjNCaUI7Ozs7RUFJRztFQUNBO0FidTIzQnBCO0FBQ0E7O3NCQUVzQjtBYS8xM0J0Qjs7RUFFSTtFQUNBO0VBQ0E7QWJpMjNCSjtBYTUxM0JTOztFQUVHO0VBQ0E7QWI4MTNCWjtBYWoyM0JTOztFQUVHO0VBQ0E7QWJtMjNCWjtBYXQyM0JTOztFQUVHO0VBQ0E7QWJ3MjNCWjtBYTMyM0JTOztFQUVHO0VBQ0E7QWI2MjNCWjtBYWgzM0JTOztFQUVHO0VBQ0E7QWJrMzNCWjtBYXIzM0JTOztFQUVHO0VBQ0E7QWJ1MzNCWjtBYTEzM0JTOztFQUVHO0VBQ0E7QWI0MzNCWjtBQUNBOzttQ0FFbUM7QWFyMzNCL0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYnUzM0JSO0FhcDMzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBYnMzM0JSO0FhcjMzQlM7RUFDRztBYnUzM0JaO0FhbjMzQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBYnEzM0JSO0FhbjMzQks7RUFDRztBYnEzM0JSO0FBQ0EsZ0JBQWdCO0FhajMzQlI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJtMzNCWjtBYWwzM0JhO0VBQ0c7QWJvMzNCaEI7QWFqMzNCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FibTMzQlo7QWFqMzNCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FibTMzQlo7QWFqMzNCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FibTMzQlo7QWFqMzNCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FibTMzQlo7QWFoMzNCWTtFQUNJO0FiazMzQmhCO0FBQ0E7O3FEQUVxRDtBYTMyM0JqRDs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBYjYyM0JSO0FhNTIzQlE7O0VBQ0k7QWIrMjNCWjtBYTUyM0JJO0VBQ0k7QWI4MjNCUjtBYTUyM0JJOztFQUVJO0VBQ0E7QWI4MjNCUjtBQUNBLGtCQUFrQjtBYTEyM0JWOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FiNDIzQlo7QUFDQSxnQkFBZ0I7QWF2MjNCUjs7OztFQUlJO0VBQ0E7RUFDQTtFQUNBO0FieTIzQlo7QWF2MjNCUTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBYnkyM0JaO0FhdjIzQlE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QWJ5MjNCWjtBYXYyM0JROztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FieTIzQlo7QUFDQSx3Q0FBd0M7QWE5MTNCL0I7RUFDRztBYmcyM0JaO0FhajIzQlM7RUFDRztBYm0yM0JaO0FhcDIzQlM7RUFDRztBYnMyM0JaO0FhdjIzQlM7RUFDRztBYnkyM0JaO0FhMTIzQlM7RUFDRztBYjQyM0JaO0FhNzIzQlM7RUFDRztBYisyM0JaO0FhaDMzQlM7RUFDRztBYmszM0JaO0FhbjMzQlM7RUFDRztBYnEzM0JaO0FhdDMzQlM7RUFDRztBYnczM0JaO0FBQ0E7O21DQUVtQztBQUNuQyxVQUFVO0FhNzMzQkQ7RUFDRztBYiszM0JaO0FhaDQzQlM7RUFDRztBYms0M0JaO0FhbjQzQlM7RUFDRztBYnE0M0JaO0FhdDQzQlM7RUFDRztBYnc0M0JaO0FhejQzQlM7RUFDRztBYjI0M0JaO0FhNTQzQlM7RUFDRztBYjg0M0JaO0FhLzQzQlM7RUFDRztBYmk1M0JaO0FhbDUzQlM7RUFDRztBYm81M0JaO0FhcjUzQlM7RUFDRztBYnU1M0JaO0FheDUzQlM7RUFDRztBYjA1M0JaO0FhMzUzQlM7RUFDRztBYjY1M0JaO0FhOTUzQlM7RUFDRztBYmc2M0JaO0FhajYzQlM7RUFDRztBYm02M0JaO0FhcDYzQlM7RUFDRztBYnM2M0JaO0FhdjYzQlM7RUFDRztBYnk2M0JaO0FhMTYzQlM7RUFDRztBYjQ2M0JaO0FhNzYzQlM7RUFDRztBYis2M0JaO0FhaDczQlM7RUFDRztBYms3M0JaO0FhbjczQlM7RUFDRztBYnE3M0JaO0FhdDczQlM7RUFDRztBYnc3M0JaO0FhejczQlM7RUFDRztBYjI3M0JaO0FhNTczQlM7RUFDRztBYjg3M0JaO0FhLzczQlM7RUFDRztBYmk4M0JaO0FhbDgzQlM7RUFDRztBYm84M0JaO0FhcjgzQlM7RUFDRztBYnU4M0JaO0FheDgzQlM7RUFDRztBYjA4M0JaO0FhMzgzQlM7RUFDRztBYjY4M0JaO0FhOTgzQlM7RUFDRztBYmc5M0JaO0FhajkzQlM7RUFDRztBYm05M0JaO0FhcDkzQlM7RUFDRztBYnM5M0JaO0FhdjkzQlM7RUFDRztBYnk5M0JaO0FhMTkzQlM7RUFDRztBYjQ5M0JaO0FhNzkzQlM7RUFDRztBYis5M0JaO0FhaCszQlM7RUFDRztBYmsrM0JaO0FhbiszQlM7RUFDRztBYnErM0JaO0FhdCszQlM7RUFDRztBYncrM0JaO0FheiszQlM7RUFDRztBYjIrM0JaO0FhNSszQlM7RUFDRztBYjgrM0JaO0FhLyszQlM7RUFDRztBYmkvM0JaO0FhbC8zQlM7RUFDRztBYm8vM0JaO0Fhci8zQlM7RUFDRztBYnUvM0JaO0FheC8zQlM7RUFDRztBYjAvM0JaO0FhMy8zQlM7RUFDRztBYjYvM0JaO0FhOS8zQlM7RUFDRztBYmdnNEJaO0Fhamc0QlM7RUFDRztBYm1nNEJaO0FhcGc0QlM7RUFDRztBYnNnNEJaO0Fhdmc0QlM7RUFDRztBYnlnNEJaO0FhMWc0QlM7RUFDRztBYjRnNEJaO0FhN2c0QlM7RUFDRztBYitnNEJaO0FhaGg0QlM7RUFDRztBYmtoNEJaO0Fhbmg0QlM7RUFDRztBYnFoNEJaO0FhdGg0QlM7RUFDRztBYndoNEJaO0Fhemg0QlM7RUFDRztBYjJoNEJaO0FhNWg0QlM7RUFDRztBYjhoNEJaO0FhL2g0QlM7RUFDRztBYmlpNEJaO0FhbGk0QlM7RUFDRztBYm9pNEJaO0Fhcmk0QlM7RUFDRztBYnVpNEJaO0FheGk0QlM7RUFDRztBYjBpNEJaO0FhM2k0QlM7RUFDRztBYjZpNEJaO0FhOWk0QlM7RUFDRztBYmdqNEJaO0Fhamo0QlM7RUFDRztBYm1qNEJaO0FhcGo0QlM7RUFDRztBYnNqNEJaO0Fhdmo0QlM7RUFDRztBYnlqNEJaO0FhMWo0QlM7RUFDRztBYjRqNEJaO0FhN2o0QlM7RUFDRztBYitqNEJaO0FhaGs0QlM7RUFDRztBYmtrNEJaO0Fhbms0QlM7RUFDRztBYnFrNEJaO0FhdGs0QlM7RUFDRztBYndrNEJaO0Fhems0QlM7RUFDRztBYjJrNEJaO0FhNWs0QlM7RUFDRztBYjhrNEJaO0FhL2s0QlM7RUFDRztBYmlsNEJaO0FhbGw0QlM7RUFDRztBYm9sNEJaO0Fhcmw0QlM7RUFDRztBYnVsNEJaO0FheGw0QlM7RUFDRztBYjBsNEJaO0FhM2w0QlM7RUFDRztBYjZsNEJaO0FhOWw0QlM7RUFDRztBYmdtNEJaO0Fham00QlM7RUFDRztBYm1tNEJaO0FhcG00QlM7RUFDRztBYnNtNEJaO0Fhdm00QlM7RUFDRztBYnltNEJaO0FhMW00QlM7RUFDRztBYjRtNEJaO0FhN200QlM7RUFDRztBYittNEJaO0FhaG40QlM7RUFDRztBYmtuNEJaO0Fhbm40QlM7RUFDRztBYnFuNEJaO0FhdG40QlM7RUFDRztBYnduNEJaO0Fhem40QlM7RUFDRztBYjJuNEJaO0FhNW40QlM7RUFDRztBYjhuNEJaO0FhL240QlM7RUFDRztBYmlvNEJaO0FhbG80QlM7RUFDRztBYm9vNEJaO0Fhcm80QlM7RUFDRztBYnVvNEJaO0FheG80QlM7RUFDRztBYjBvNEJaO0FhM280QlM7RUFDRztBYjZvNEJaO0FhOW80QlM7RUFDRztBYmdwNEJaO0FhanA0QlM7RUFDRztBYm1wNEJaO0FhcHA0QlM7RUFDRztBYnNwNEJaO0FhdnA0QlM7RUFDRztBYnlwNEJaO0FhMXA0QlM7RUFDRztBYjRwNEJaO0FhN3A0QlM7RUFDRztBYitwNEJaO0FhaHE0QlM7RUFDRztBYmtxNEJaO0FhbnE0QlM7RUFDRztBYnFxNEJaO0FhdHE0QlM7RUFDRztBYndxNEJaO0FhenE0QlM7RUFDRztBYjJxNEJaO0FhNXE0QlM7RUFDRztBYjhxNEJaO0FhL3E0QlM7RUFDRztBYmlyNEJaO0FhbHI0QlM7RUFDRztBYm9yNEJaO0FhcnI0QlM7RUFDRztBYnVyNEJaO0FheHI0QlM7RUFDRztBYjByNEJaO0FhM3I0QlM7RUFDRztBYjZyNEJaO0FhOXI0QlM7RUFDRztBYmdzNEJaO0FhanM0QlM7RUFDRztBYm1zNEJaO0FhcHM0QlM7RUFDRztBYnNzNEJaO0FhdnM0QlM7RUFDRztBYnlzNEJaO0FhMXM0QlM7RUFDRztBYjRzNEJaO0FhN3M0QlM7RUFDRztBYitzNEJaO0FhaHQ0QlM7RUFDRztBYmt0NEJaO0FhbnQ0QlM7RUFDRztBYnF0NEJaO0FhdHQ0QlM7RUFDRztBYnd0NEJaO0FhenQ0QlM7RUFDRztBYjJ0NEJaO0FhNXQ0QlM7RUFDRztBYjh0NEJaO0FhL3Q0QlM7RUFDRztBYml1NEJaO0FhbHU0QlM7RUFDRztBYm91NEJaO0FhcnU0QlM7RUFDRztBYnV1NEJaO0FheHU0QlM7RUFDRztBYjB1NEJaO0FhM3U0QlM7RUFDRztBYjZ1NEJaO0FhOXU0QlM7RUFDRztBYmd2NEJaO0FhanY0QlM7RUFDRztBYm12NEJaO0FhcHY0QlM7RUFDRztBYnN2NEJaO0FhdnY0QlM7RUFDRztBYnl2NEJaO0FhMXY0QlM7RUFDRztBYjR2NEJaO0FhN3Y0QlM7RUFDRztBYit2NEJaO0FhaHc0QlM7RUFDRztBYmt3NEJaO0Fhbnc0QlM7RUFDRztBYnF3NEJaO0FhdHc0QlM7RUFDRztBYnd3NEJaO0Fhenc0QlM7RUFDRztBYjJ3NEJaO0FhNXc0QlM7RUFDRztBYjh3NEJaO0FhL3c0QlM7RUFDRztBYml4NEJaO0FhbHg0QlM7RUFDRztBYm94NEJaO0Fhcng0QlM7RUFDRztBYnV4NEJaO0FheHg0QlM7RUFDRztBYjB4NEJaO0FhM3g0QlM7RUFDRztBYjZ4NEJaO0FhOXg0QlM7RUFDRztBYmd5NEJaO0Fhank0QlM7RUFDRztBYm15NEJaO0FhcHk0QlM7RUFDRztBYnN5NEJaO0Fhdnk0QlM7RUFDRztBYnl5NEJaO0FhMXk0QlM7RUFDRztBYjR5NEJaO0FhN3k0QlM7RUFDRztBYit5NEJaO0FhaHo0QlM7RUFDRztBYmt6NEJaO0Fhbno0QlM7RUFDRztBYnF6NEJaO0FhdHo0QlM7RUFDRztBYnd6NEJaO0Fheno0QlM7RUFDRztBYjJ6NEJaO0FhNXo0QlM7RUFDRztBYjh6NEJaO0FhL3o0QlM7RUFDRztBYmkwNEJaO0FhbDA0QlM7RUFDRztBYm8wNEJaO0FhcjA0QlM7RUFDRztBYnUwNEJaO0FheDA0QlM7RUFDRztBYjAwNEJaO0FhMzA0QlM7RUFDRztBYjYwNEJaO0FhOTA0QlM7RUFDRztBYmcxNEJaO0FhajE0QlM7RUFDRztBYm0xNEJaO0FhcDE0QlM7RUFDRztBYnMxNEJaO0FhdjE0QlM7RUFDRztBYnkxNEJaO0FhMTE0QlM7RUFDRztBYjQxNEJaO0FhNzE0QlM7RUFDRztBYisxNEJaO0FhaDI0QlM7RUFDRztBYmsyNEJaO0FhbjI0QlM7RUFDRztBYnEyNEJaO0FhdDI0QlM7RUFDRztBYncyNEJaO0FhejI0QlM7RUFDRztBYjIyNEJaO0FhNTI0QlM7RUFDRztBYjgyNEJaO0FhLzI0QlM7RUFDRztBYmkzNEJaO0FhbDM0QlM7RUFDRztBYm8zNEJaO0FhcjM0QlM7RUFDRztBYnUzNEJaO0FheDM0QlM7RUFDRztBYjAzNEJaO0FhMzM0QlM7RUFDRztBYjYzNEJaO0FhOTM0QlM7RUFDRztBYmc0NEJaO0FhajQ0QlM7RUFDRztBYm00NEJaO0FhcDQ0QlM7RUFDRztBYnM0NEJaO0FhdjQ0QlM7RUFDRztBYnk0NEJaO0FhMTQ0QlM7RUFDRztBYjQ0NEJaO0FhNzQ0QlM7RUFDRztBYis0NEJaO0FhaDU0QlM7RUFDRztBYms1NEJaO0FhbjU0QlM7RUFDRztBYnE1NEJaO0FhdDU0QlM7RUFDRztBYnc1NEJaO0FhejU0QlM7RUFDRztBYjI1NEJaO0FhNTU0QlM7RUFDRztBYjg1NEJaO0FhLzU0QlM7RUFDRztBYmk2NEJaO0FhbDY0QlM7RUFDRztBYm82NEJaO0FhcjY0QlM7RUFDRztBYnU2NEJaO0FheDY0QlM7RUFDRztBYjA2NEJaO0FhMzY0QlM7RUFDRztBYjY2NEJaO0FhOTY0QlM7RUFDRztBYmc3NEJaO0Fhajc0QlM7RUFDRztBYm03NEJaO0FhcDc0QlM7RUFDRztBYnM3NEJaO0Fhdjc0QlM7RUFDRztBYnk3NEJaO0FhMTc0QlM7RUFDRztBYjQ3NEJaO0FhNzc0QlM7RUFDRztBYis3NEJaO0FhaDg0QlM7RUFDRztBYms4NEJaO0Fhbjg0QlM7RUFDRztBYnE4NEJaO0FhdDg0QlM7RUFDRztBYnc4NEJaO0Fhejg0QlM7RUFDRztBYjI4NEJaO0FhNTg0QlM7RUFDRztBYjg4NEJaO0FhLzg0QlM7RUFDRztBYmk5NEJaO0FhbDk0QlM7RUFDRztBYm85NEJaO0Fhcjk0QlM7RUFDRztBYnU5NEJaO0FheDk0QlM7RUFDRztBYjA5NEJaO0FhMzk0QlM7RUFDRztBYjY5NEJaO0FhOTk0QlM7RUFDRztBYmcrNEJaO0Fhais0QlM7RUFDRztBYm0rNEJaO0FhcCs0QlM7RUFDRztBYnMrNEJaO0Fhdis0QlM7RUFDRztBYnkrNEJaO0FhMSs0QlM7RUFDRztBYjQrNEJaO0FhNys0QlM7RUFDRztBYisrNEJaO0FhaC80QlM7RUFDRztBYmsvNEJaO0Fhbi80QlM7RUFDRztBYnEvNEJaO0FhdC80QlM7RUFDRztBYncvNEJaO0Fhei80QlM7RUFDRztBYjIvNEJaO0FhNS80QlM7RUFDRztBYjgvNEJaO0FhLy80QlM7RUFDRztBYmlnNUJaO0FhbGc1QlM7RUFDRztBYm9nNUJaO0Fhcmc1QlM7RUFDRztBYnVnNUJaO0FheGc1QlM7RUFDRztBYjBnNUJaO0FhM2c1QlM7RUFDRztBYjZnNUJaO0FhOWc1QlM7RUFDRztBYmdoNUJaO0Fhamg1QlM7RUFDRztBYm1oNUJaO0FhcGg1QlM7RUFDRztBYnNoNUJaO0Fhdmg1QlM7RUFDRztBYnloNUJaO0FhMWg1QlM7RUFDRztBYjRoNUJaO0FhN2g1QlM7RUFDRztBYitoNUJaO0FhaGk1QlM7RUFDRztBYmtpNUJaO0Fhbmk1QlM7RUFDRztBYnFpNUJaO0FhdGk1QlM7RUFDRztBYndpNUJaO0Fhemk1QlM7RUFDRztBYjJpNUJaO0FhNWk1QlM7RUFDRztBYjhpNUJaO0FhL2k1QlM7RUFDRztBYmlqNUJaO0FhbGo1QlM7RUFDRztBYm9qNUJaO0Fhcmo1QlM7RUFDRztBYnVqNUJaO0FheGo1QlM7RUFDRztBYjBqNUJaO0FhM2o1QlM7RUFDRztBYjZqNUJaO0FhOWo1QlM7RUFDRztBYmdrNUJaO0Fhams1QlM7RUFDRztBYm1rNUJaO0FhcGs1QlM7RUFDRztBYnNrNUJaO0Fhdms1QlM7RUFDRztBYnlrNUJaO0FhMWs1QlM7RUFDRztBYjRrNUJaO0FhN2s1QlM7RUFDRztBYitrNUJaO0FhaGw1QlM7RUFDRztBYmtsNUJaO0Fhbmw1QlM7RUFDRztBYnFsNUJaO0FhdGw1QlM7RUFDRztBYndsNUJaO0Fhemw1QlM7RUFDRztBYjJsNUJaO0FhNWw1QlM7RUFDRztBYjhsNUJaO0FhL2w1QlM7RUFDRztBYmltNUJaO0FhbG01QlM7RUFDRztBYm9tNUJaO0Fhcm01QlM7RUFDRztBYnVtNUJaO0FheG01QlM7RUFDRztBYjBtNUJaO0FhM201QlM7RUFDRztBYjZtNUJaO0FhOW01QlM7RUFDRztBYmduNUJaO0Fham41QlM7RUFDRztBYm1uNUJaO0FhcG41QlM7RUFDRztBYnNuNUJaO0Fhdm41QlM7RUFDRztBYnluNUJaO0FhMW41QlM7RUFDRztBYjRuNUJaO0FhN241QlM7RUFDRztBYituNUJaO0FhaG81QlM7RUFDRztBYmtvNUJaO0Fhbm81QlM7RUFDRztBYnFvNUJaO0FhdG81QlM7RUFDRztBYndvNUJaO0Fhem81QlM7RUFDRztBYjJvNUJaO0FhNW81QlM7RUFDRztBYjhvNUJaO0FhL281QlM7RUFDRztBYmlwNUJaO0FhbHA1QlM7RUFDRztBYm9wNUJaO0FhcnA1QlM7RUFDRztBYnVwNUJaO0FheHA1QlM7RUFDRztBYjBwNUJaO0FhM3A1QlM7RUFDRztBYjZwNUJaO0FhOXA1QlM7RUFDRztBYmdxNUJaO0FhanE1QlM7RUFDRztBYm1xNUJaO0FhcHE1QlM7RUFDRztBYnNxNUJaO0FhdnE1QlM7RUFDRztBYnlxNUJaO0FhMXE1QlM7RUFDRztBYjRxNUJaO0FhN3E1QlM7RUFDRztBYitxNUJaO0FhaHI1QlM7RUFDRztBYmtyNUJaO0FhbnI1QlM7RUFDRztBYnFyNUJaO0FhdHI1QlM7RUFDRztBYndyNUJaO0FhenI1QlM7RUFDRztBYjJyNUJaO0FhNXI1QlM7RUFDRztBYjhyNUJaO0FhL3I1QlM7RUFDRztBYmlzNUJaO0FhbHM1QlM7RUFDRztBYm9zNUJaO0FhcnM1QlM7RUFDRztBYnVzNUJaO0FheHM1QlM7RUFDRztBYjBzNUJaO0FhM3M1QlM7RUFDRztBYjZzNUJaO0FhOXM1QlM7RUFDRztBYmd0NUJaO0FhanQ1QlM7RUFDRztBYm10NUJaO0FhcHQ1QlM7RUFDRztBYnN0NUJaO0FhdnQ1QlM7RUFDRztBYnl0NUJaO0FhMXQ1QlM7RUFDRztBYjR0NUJaO0FhN3Q1QlM7RUFDRztBYit0NUJaO0FhaHU1QlM7RUFDRztBYmt1NUJaO0FhbnU1QlM7RUFDRztBYnF1NUJaO0FhdHU1QlM7RUFDRztBYnd1NUJaO0FhenU1QlM7RUFDRztBYjJ1NUJaO0FhNXU1QlM7RUFDRztBYjh1NUJaO0FhL3U1QlM7RUFDRztBYml2NUJaO0FhbHY1QlM7RUFDRztBYm92NUJaO0FhcnY1QlM7RUFDRztBYnV2NUJaO0FheHY1QlM7RUFDRztBYjB2NUJaO0FhM3Y1QlM7RUFDRztBYjZ2NUJaO0FhOXY1QlM7RUFDRztBYmd3NUJaO0Fhanc1QlM7RUFDRztBYm13NUJaO0FhcHc1QlM7RUFDRztBYnN3NUJaO0Fhdnc1QlM7RUFDRztBYnl3NUJaO0FhMXc1QlM7RUFDRztBYjR3NUJaO0FhN3c1QlM7RUFDRztBYit3NUJaO0FhaHg1QlM7RUFDRztBYmt4NUJaO0Fhbng1QlM7RUFDRztBYnF4NUJaO0FhdHg1QlM7RUFDRztBYnd4NUJaO0Fheng1QlM7RUFDRztBYjJ4NUJaO0FhNXg1QlM7RUFDRztBYjh4NUJaO0FhL3g1QlM7RUFDRztBYml5NUJaO0FhbHk1QlM7RUFDRztBYm95NUJaO0Fhcnk1QlM7RUFDRztBYnV5NUJaO0FheHk1QlM7RUFDRztBYjB5NUJaO0FhM3k1QlM7RUFDRztBYjZ5NUJaO0FhOXk1QlM7RUFDRztBYmd6NUJaO0Fhano1QlM7RUFDRztBYm16NUJaO0FhcHo1QlM7RUFDRztBYnN6NUJaO0Fhdno1QlM7RUFDRztBYnl6NUJaO0FhMXo1QlM7RUFDRztBYjR6NUJaO0FhN3o1QlM7RUFDRztBYit6NUJaO0FhaDA1QlM7RUFDRztBYmswNUJaO0FhbjA1QlM7RUFDRztBYnEwNUJaO0FhdDA1QlM7RUFDRztBYncwNUJaO0FhejA1QlM7RUFDRztBYjIwNUJaO0FhNTA1QlM7RUFDRztBYjgwNUJaO0FhLzA1QlM7RUFDRztBYmkxNUJaO0FhbDE1QlM7RUFDRztBYm8xNUJaO0FhcjE1QlM7RUFDRztBYnUxNUJaO0FheDE1QlM7RUFDRztBYjAxNUJaO0FhMzE1QlM7RUFDRztBYjYxNUJaO0FhOTE1QlM7RUFDRztBYmcyNUJaO0FhajI1QlM7RUFDRztBYm0yNUJaO0FhcDI1QlM7RUFDRztBYnMyNUJaO0FhdjI1QlM7RUFDRztBYnkyNUJaO0FhMTI1QlM7RUFDRztBYjQyNUJaO0FhNzI1QlM7RUFDRztBYisyNUJaO0FhaDM1QlM7RUFDRztBYmszNUJaO0FhbjM1QlM7RUFDRztBYnEzNUJaO0FhdDM1QlM7RUFDRztBYnczNUJaO0FhejM1QlM7RUFDRztBYjIzNUJaO0FhNTM1QlM7RUFDRztBYjgzNUJaO0FhLzM1QlM7RUFDRztBYmk0NUJaO0FhbDQ1QlM7RUFDRztBYm80NUJaO0FhcjQ1QlM7RUFDRztBYnU0NUJaO0FheDQ1QlM7RUFDRztBYjA0NUJaO0FhMzQ1QlM7RUFDRztBYjY0NUJaO0FhOTQ1QlM7RUFDRztBYmc1NUJaO0FhajU1QlM7RUFDRztBYm01NUJaO0FhcDU1QlM7RUFDRztBYnM1NUJaO0FhdjU1QlM7RUFDRztBYnk1NUJaO0FhMTU1QlM7RUFDRztBYjQ1NUJaO0FhNzU1QlM7RUFDRztBYis1NUJaO0FhaDY1QlM7RUFDRztBYms2NUJaO0FhbjY1QlM7RUFDRztBYnE2NUJaO0FhdDY1QlM7RUFDRztBYnc2NUJaO0FhejY1QlM7RUFDRztBYjI2NUJaO0FhNTY1QlM7RUFDRztBYjg2NUJaO0FhLzY1QlM7RUFDRztBYmk3NUJaO0FhbDc1QlM7RUFDRztBYm83NUJaO0Fhcjc1QlM7RUFDRztBYnU3NUJaO0FheDc1QlM7RUFDRztBYjA3NUJaO0FhMzc1QlM7RUFDRztBYjY3NUJaO0FhOTc1QlM7RUFDRztBYmc4NUJaO0Fhajg1QlM7RUFDRztBYm04NUJaO0FhcDg1QlM7RUFDRztBYnM4NUJaO0Fhdjg1QlM7RUFDRztBYnk4NUJaO0FhMTg1QlM7RUFDRztBYjQ4NUJaO0FhNzg1QlM7RUFDRztBYis4NUJaO0FhaDk1QlM7RUFDRztBYms5NUJaO0Fhbjk1QlM7RUFDRztBYnE5NUJaO0FhdDk1QlM7RUFDRztBYnc5NUJaO0Fhejk1QlM7RUFDRztBYjI5NUJaO0FhNTk1QlM7RUFDRztBYjg5NUJaO0FhLzk1QlM7RUFDRztBYmkrNUJaO0FhbCs1QlM7RUFDRztBYm8rNUJaO0Fhcis1QlM7RUFDRztBYnUrNUJaO0FheCs1QlM7RUFDRztBYjArNUJaO0FhMys1QlM7RUFDRztBYjYrNUJaO0FhOSs1QlM7RUFDRztBYmcvNUJaO0Fhai81QlM7RUFDRztBYm0vNUJaO0FhcC81QlM7RUFDRztBYnMvNUJaO0Fhdi81QlM7RUFDRztBYnkvNUJaO0FhMS81QlM7RUFDRztBYjQvNUJaO0FhNy81QlM7RUFDRztBYisvNUJaO0FhaGc2QlM7RUFDRztBYmtnNkJaO0Fhbmc2QlM7RUFDRztBYnFnNkJaO0FhdGc2QlM7RUFDRztBYndnNkJaO0Fhemc2QlM7RUFDRztBYjJnNkJaO0FhNWc2QlM7RUFDRztBYjhnNkJaO0FhL2c2QlM7RUFDRztBYmloNkJaO0FhbGg2QlM7RUFDRztBYm9oNkJaO0Fhcmg2QlM7RUFDRztBYnVoNkJaO0FheGg2QlM7RUFDRztBYjBoNkJaO0FhM2g2QlM7RUFDRztBYjZoNkJaO0FhOWg2QlM7RUFDRztBYmdpNkJaO0Fhamk2QlM7RUFDRztBYm1pNkJaO0FhcGk2QlM7RUFDRztBYnNpNkJaO0Fhdmk2QlM7RUFDRztBYnlpNkJaO0FhMWk2QlM7RUFDRztBYjRpNkJaO0FhN2k2QlM7RUFDRztBYitpNkJaO0FhaGo2QlM7RUFDRztBYmtqNkJaO0Fhbmo2QlM7RUFDRztBYnFqNkJaO0FhdGo2QlM7RUFDRztBYndqNkJaO0Fhemo2QlM7RUFDRztBYjJqNkJaO0FhNWo2QlM7RUFDRztBYjhqNkJaO0FhL2o2QlM7RUFDRztBYmlrNkJaO0FhbGs2QlM7RUFDRztBYm9rNkJaO0Fhcms2QlM7RUFDRztBYnVrNkJaO0FheGs2QlM7RUFDRztBYjBrNkJaO0FhM2s2QlM7RUFDRztBYjZrNkJaO0FhOWs2QlM7RUFDRztBYmdsNkJaO0Fhamw2QlM7RUFDRztBYm1sNkJaO0FhcGw2QlM7RUFDRztBYnNsNkJaO0Fhdmw2QlM7RUFDRztBYnlsNkJaO0FhMWw2QlM7RUFDRztBYjRsNkJaO0FhN2w2QlM7RUFDRztBYitsNkJaO0FhaG02QlM7RUFDRztBYmttNkJaO0Fhbm02QlM7RUFDRztBYnFtNkJaO0FhdG02QlM7RUFDRztBYndtNkJaO0Fhem02QlM7RUFDRztBYjJtNkJaO0FhNW02QlM7RUFDRztBYjhtNkJaO0FhL202QlM7RUFDRztBYmluNkJaO0FhbG42QlM7RUFDRztBYm9uNkJaO0Fhcm42QlM7RUFDRztBYnVuNkJaO0FheG42QlM7RUFDRztBYjBuNkJaO0FhM242QlM7RUFDRztBYjZuNkJaO0FhOW42QlM7RUFDRztBYmdvNkJaO0Fham82QlM7RUFDRztBYm1vNkJaO0FhcG82QlM7RUFDRztBYnNvNkJaO0Fhdm82QlM7RUFDRztBYnlvNkJaO0FhMW82QlM7RUFDRztBYjRvNkJaO0FhN282QlM7RUFDRztBYitvNkJaO0FhaHA2QlM7RUFDRztBYmtwNkJaO0FhbnA2QlM7RUFDRztBYnFwNkJaO0FhdHA2QlM7RUFDRztBYndwNkJaO0FhenA2QlM7RUFDRztBYjJwNkJaO0FhNXA2QlM7RUFDRztBYjhwNkJaO0FhL3A2QlM7RUFDRztBYmlxNkJaO0FhbHE2QlM7RUFDRztBYm9xNkJaO0FhcnE2QlM7RUFDRztBYnVxNkJaO0FheHE2QlM7RUFDRztBYjBxNkJaO0FhM3E2QlM7RUFDRztBYjZxNkJaO0FhOXE2QlM7RUFDRztBYmdyNkJaO0FhanI2QlM7RUFDRztBYm1yNkJaO0FhcHI2QlM7RUFDRztBYnNyNkJaO0FhdnI2QlM7RUFDRztBYnlyNkJaO0FhMXI2QlM7RUFDRztBYjRyNkJaO0FhN3I2QlM7RUFDRztBYityNkJaO0FhaHM2QlM7RUFDRztBYmtzNkJaO0FhbnM2QlM7RUFDRztBYnFzNkJaO0FhdHM2QlM7RUFDRztBYndzNkJaO0FhenM2QlM7RUFDRztBYjJzNkJaO0FhNXM2QlM7RUFDRztBYjhzNkJaO0FhL3M2QlM7RUFDRztBYml0NkJaO0FhbHQ2QlM7RUFDRztBYm90NkJaO0FhcnQ2QlM7RUFDRztBYnV0NkJaO0FheHQ2QlM7RUFDRztBYjB0NkJaO0FhM3Q2QlM7RUFDRztBYjZ0NkJaO0FhOXQ2QlM7RUFDRztBYmd1NkJaO0FhanU2QlM7RUFDRztBYm11NkJaO0FhcHU2QlM7RUFDRztBYnN1NkJaO0FhdnU2QlM7RUFDRztBYnl1NkJaO0FhMXU2QlM7RUFDRztBYjR1NkJaO0FhN3U2QlM7RUFDRztBYit1NkJaO0FhaHY2QlM7RUFDRztBYmt2NkJaO0FhbnY2QlM7RUFDRztBYnF2NkJaO0FhdHY2QlM7RUFDRztBYnd2NkJaO0FhenY2QlM7RUFDRztBYjJ2NkJaO0FhNXY2QlM7RUFDRztBYjh2NkJaO0FhL3Y2QlM7RUFDRztBYml3NkJaO0FhbHc2QlM7RUFDRztBYm93NkJaO0Fhcnc2QlM7RUFDRztBYnV3NkJaO0FheHc2QlM7RUFDRztBYjB3NkJaO0FhM3c2QlM7RUFDRztBYjZ3NkJaO0FhOXc2QlM7RUFDRztBYmd4NkJaO0Fhang2QlM7RUFDRztBYm14NkJaO0FhcHg2QlM7RUFDRztBYnN4NkJaO0Fhdng2QlM7RUFDRztBYnl4NkJaO0FhMXg2QlM7RUFDRztBYjR4NkJaO0FhN3g2QlM7RUFDRztBYit4NkJaO0FhaHk2QlM7RUFDRztBYmt5NkJaO0Fhbnk2QlM7RUFDRztBYnF5NkJaO0FhdHk2QlM7RUFDRztBYnd5NkJaO0Fhenk2QlM7RUFDRztBYjJ5NkJaO0FhNXk2QlM7RUFDRztBYjh5NkJaO0FhL3k2QlM7RUFDRztBYml6NkJaO0FhbHo2QlM7RUFDRztBYm96NkJaO0Fhcno2QlM7RUFDRztBYnV6NkJaO0FheHo2QlM7RUFDRztBYjB6NkJaO0FhM3o2QlM7RUFDRztBYjZ6NkJaO0FhOXo2QlM7RUFDRztBYmcwNkJaO0FhajA2QlM7RUFDRztBYm0wNkJaO0FhcDA2QlM7RUFDRztBYnMwNkJaO0FhdjA2QlM7RUFDRztBYnkwNkJaO0FhMTA2QlM7RUFDRztBYjQwNkJaO0FhNzA2QlM7RUFDRztBYiswNkJaO0FhaDE2QlM7RUFDRztBYmsxNkJaO0FhbjE2QlM7RUFDRztBYnExNkJaO0FhdDE2QlM7RUFDRztBYncxNkJaO0FhejE2QlM7RUFDRztBYjIxNkJaO0FhNTE2QlM7RUFDRztBYjgxNkJaO0FhLzE2QlM7RUFDRztBYmkyNkJaO0FhbDI2QlM7RUFDRztBYm8yNkJaO0FhcjI2QlM7RUFDRztBYnUyNkJaO0FheDI2QlM7RUFDRztBYjAyNkJaO0FhMzI2QlM7RUFDRztBYjYyNkJaO0FhOTI2QlM7RUFDRztBYmczNkJaO0FhajM2QlM7RUFDRztBYm0zNkJaO0FhcDM2QlM7RUFDRztBYnMzNkJaO0FhdjM2QlM7RUFDRztBYnkzNkJaO0FhMTM2QlM7RUFDRztBYjQzNkJaO0FhNzM2QlM7RUFDRztBYiszNkJaO0FhaDQ2QlM7RUFDRztBYms0NkJaO0FhbjQ2QlM7RUFDRztBYnE0NkJaO0FhdDQ2QlM7RUFDRztBYnc0NkJaO0FhejQ2QlM7RUFDRztBYjI0NkJaO0FhNTQ2QlM7RUFDRztBYjg0NkJaO0FhLzQ2QlM7RUFDRztBYmk1NkJaO0FhbDU2QlM7RUFDRztBYm81NkJaO0FhcjU2QlM7RUFDRztBYnU1NkJaO0FheDU2QlM7RUFDRztBYjA1NkJaO0FhMzU2QlM7RUFDRztBYjY1NkJaO0FhOTU2QlM7RUFDRztBYmc2NkJaO0FhajY2QlM7RUFDRztBYm02NkJaO0FhcDY2QlM7RUFDRztBYnM2NkJaO0FhdjY2QlM7RUFDRztBYnk2NkJaO0FhMTY2QlM7RUFDRztBYjQ2NkJaO0FhNzY2QlM7RUFDRztBYis2NkJaO0FhaDc2QlM7RUFDRztBYms3NkJaO0Fhbjc2QlM7RUFDRztBYnE3NkJaO0FhdDc2QlM7RUFDRztBYnc3NkJaO0Fhejc2QlM7RUFDRztBYjI3NkJaO0FhNTc2QlM7RUFDRztBYjg3NkJaO0FhLzc2QlM7RUFDRztBYmk4NkJaO0FhbDg2QlM7RUFDRztBYm84NkJaO0Fhcjg2QlM7RUFDRztBYnU4NkJaO0FheDg2QlM7RUFDRztBYjA4NkJaO0FhMzg2QlM7RUFDRztBYjY4NkJaO0FhOTg2QlM7RUFDRztBYmc5NkJaO0Fhajk2QlM7RUFDRztBYm05NkJaO0FhcDk2QlM7RUFDRztBYnM5NkJaO0Fhdjk2QlM7RUFDRztBYnk5NkJaO0FhMTk2QlM7RUFDRztBYjQ5NkJaO0FhNzk2QlM7RUFDRztBYis5NkJaO0FhaCs2QlM7RUFDRztBYmsrNkJaO0Fhbis2QlM7RUFDRztBYnErNkJaO0FhdCs2QlM7RUFDRztBYncrNkJaO0Fheis2QlM7RUFDRztBYjIrNkJaO0FhNSs2QlM7RUFDRztBYjgrNkJaO0FhLys2QlM7RUFDRztBYmkvNkJaO0FhbC82QlM7RUFDRztBYm8vNkJaO0Fhci82QlM7RUFDRztBYnUvNkJaO0FheC82QlM7RUFDRztBYjAvNkJaO0FhMy82QlM7RUFDRztBYjYvNkJaO0FhOS82QlM7RUFDRztBYmdnN0JaO0Fhamc3QlM7RUFDRztBYm1nN0JaO0FhcGc3QlM7RUFDRztBYnNnN0JaO0Fhdmc3QlM7RUFDRztBYnlnN0JaO0FhMWc3QlM7RUFDRztBYjRnN0JaO0FhN2c3QlM7RUFDRztBYitnN0JaO0FhaGg3QlM7RUFDRztBYmtoN0JaO0Fhbmg3QlM7RUFDRztBYnFoN0JaO0FhdGg3QlM7RUFDRztBYndoN0JaO0Fhemg3QlM7RUFDRztBYjJoN0JaO0FhNWg3QlM7RUFDRztBYjhoN0JaO0FhL2g3QlM7RUFDRztBYmlpN0JaO0FhbGk3QlM7RUFDRztBYm9pN0JaO0Fhcmk3QlM7RUFDRztBYnVpN0JaO0FheGk3QlM7RUFDRztBYjBpN0JaO0FhM2k3QlM7RUFDRztBYjZpN0JaO0FhOWk3QlM7RUFDRztBYmdqN0JaO0Fhamo3QlM7RUFDRztBYm1qN0JaO0FhcGo3QlM7RUFDRztBYnNqN0JaO0Fhdmo3QlM7RUFDRztBYnlqN0JaO0FhMWo3QlM7RUFDRztBYjRqN0JaO0FhN2o3QlM7RUFDRztBYitqN0JaO0FhaGs3QlM7RUFDRztBYmtrN0JaO0Fhbms3QlM7RUFDRztBYnFrN0JaO0FhdGs3QlM7RUFDRztBYndrN0JaO0Fhems3QlM7RUFDRztBYjJrN0JaO0FhNWs3QlM7RUFDRztBYjhrN0JaO0FhL2s3QlM7RUFDRztBYmlsN0JaO0FhbGw3QlM7RUFDRztBYm9sN0JaO0Fhcmw3QlM7RUFDRztBYnVsN0JaO0FheGw3QlM7RUFDRztBYjBsN0JaO0FhM2w3QlM7RUFDRztBYjZsN0JaO0FhOWw3QlM7RUFDRztBYmdtN0JaO0Fham03QlM7RUFDRztBYm1tN0JaO0FhcG03QlM7RUFDRztBYnNtN0JaO0Fhdm03QlM7RUFDRztBYnltN0JaO0FhMW03QlM7RUFDRztBYjRtN0JaO0FhN203QlM7RUFDRztBYittN0JaO0FhaG43QlM7RUFDRztBYmtuN0JaO0Fhbm43QlM7RUFDRztBYnFuN0JaO0FhdG43QlM7RUFDRztBYnduN0JaO0Fhem43QlM7RUFDRztBYjJuN0JaO0FhNW43QlM7RUFDRztBYjhuN0JaO0FhL243QlM7RUFDRztBYmlvN0JaO0FhbG83QlM7RUFDRztBYm9vN0JaO0Fhcm83QlM7RUFDRztBYnVvN0JaO0FheG83QlM7RUFDRztBYjBvN0JaO0FhM283QlM7RUFDRztBYjZvN0JaO0FhOW83QlM7RUFDRztBYmdwN0JaO0FhanA3QlM7RUFDRztBYm1wN0JaO0FhcHA3QlM7RUFDRztBYnNwN0JaO0FhdnA3QlM7RUFDRztBYnlwN0JaO0FhMXA3QlM7RUFDRztBYjRwN0JaO0FhN3A3QlM7RUFDRztBYitwN0JaO0FhaHE3QlM7RUFDRztBYmtxN0JaO0FhbnE3QlM7RUFDRztBYnFxN0JaO0FhdHE3QlM7RUFDRztBYndxN0JaO0FhenE3QlM7RUFDRztBYjJxN0JaO0FhNXE3QlM7RUFDRztBYjhxN0JaO0FhL3E3QlM7RUFDRztBYmlyN0JaO0FhbHI3QlM7RUFDRztBYm9yN0JaO0FhcnI3QlM7RUFDRztBYnVyN0JaO0FheHI3QlM7RUFDRztBYjByN0JaO0FhM3I3QlM7RUFDRztBYjZyN0JaO0FhOXI3QlM7RUFDRztBYmdzN0JaO0FhanM3QlM7RUFDRztBYm1zN0JaO0FhcHM3QlM7RUFDRztBYnNzN0JaO0FhdnM3QlM7RUFDRztBYnlzN0JaO0FhMXM3QlM7RUFDRztBYjRzN0JaO0FhN3M3QlM7RUFDRztBYitzN0JaO0FhaHQ3QlM7RUFDRztBYmt0N0JaO0FhbnQ3QlM7RUFDRztBYnF0N0JaO0FhdHQ3QlM7RUFDRztBYnd0N0JaO0FhenQ3QlM7RUFDRztBYjJ0N0JaO0FhNXQ3QlM7RUFDRztBYjh0N0JaO0FhL3Q3QlM7RUFDRztBYml1N0JaO0FhbHU3QlM7RUFDRztBYm91N0JaO0FhcnU3QlM7RUFDRztBYnV1N0JaO0FheHU3QlM7RUFDRztBYjB1N0JaO0FhM3U3QlM7RUFDRztBYjZ1N0JaO0FhOXU3QlM7RUFDRztBYmd2N0JaO0FhanY3QlM7RUFDRztBYm12N0JaO0FhcHY3QlM7RUFDRztBYnN2N0JaO0FhdnY3QlM7RUFDRztBYnl2N0JaO0FhMXY3QlM7RUFDRztBYjR2N0JaO0FhN3Y3QlM7RUFDRztBYit2N0JaO0FhaHc3QlM7RUFDRztBYmt3N0JaO0Fhbnc3QlM7RUFDRztBYnF3N0JaO0FhdHc3QlM7RUFDRztBYnd3N0JaO0Fhenc3QlM7RUFDRztBYjJ3N0JaO0FhNXc3QlM7RUFDRztBYjh3N0JaO0FhL3c3QlM7RUFDRztBYml4N0JaO0FhbHg3QlM7RUFDRztBYm94N0JaO0Fhcng3QlM7RUFDRztBYnV4N0JaO0FheHg3QlM7RUFDRztBYjB4N0JaO0FhM3g3QlM7RUFDRztBYjZ4N0JaO0FhOXg3QlM7RUFDRztBYmd5N0JaO0Fhank3QlM7RUFDRztBYm15N0JaO0FhcHk3QlM7RUFDRztBYnN5N0JaO0Fhdnk3QlM7RUFDRztBYnl5N0JaO0FhMXk3QlM7RUFDRztBYjR5N0JaO0FhN3k3QlM7RUFDRztBYit5N0JaO0FhaHo3QlM7RUFDRztBYmt6N0JaO0Fhbno3QlM7RUFDRztBYnF6N0JaO0FhdHo3QlM7RUFDRztBYnd6N0JaO0Fheno3QlM7RUFDRztBYjJ6N0JaO0FhNXo3QlM7RUFDRztBYjh6N0JaO0FhL3o3QlM7RUFDRztBYmkwN0JaO0FhbDA3QlM7RUFDRztBYm8wN0JaO0FhcjA3QlM7RUFDRztBYnUwN0JaO0FheDA3QlM7RUFDRztBYjAwN0JaO0FhMzA3QlM7RUFDRztBYjYwN0JaO0FhOTA3QlM7RUFDRztBYmcxN0JaO0FhajE3QlM7RUFDRztBYm0xN0JaO0FhcDE3QlM7RUFDRztBYnMxN0JaO0FhdjE3QlM7RUFDRztBYnkxN0JaO0FhMTE3QlM7RUFDRztBYjQxN0JaO0FhNzE3QlM7RUFDRztBYisxN0JaO0FhaDI3QlM7RUFDRztBYmsyN0JaO0FhbjI3QlM7RUFDRztBYnEyN0JaO0FhdDI3QlM7RUFDRztBYncyN0JaO0FhejI3QlM7RUFDRztBYjIyN0JaO0FhNTI3QlM7RUFDRztBYjgyN0JaO0FhLzI3QlM7RUFDRztBYmkzN0JaO0FhbDM3QlM7RUFDRztBYm8zN0JaO0FhcjM3QlM7RUFDRztBYnUzN0JaO0FheDM3QlM7RUFDRztBYjAzN0JaO0FhMzM3QlM7RUFDRztBYjYzN0JaO0FhOTM3QlM7RUFDRztBYmc0N0JaO0FhajQ3QlM7RUFDRztBYm00N0JaO0FhcDQ3QlM7RUFDRztBYnM0N0JaO0FhdjQ3QlM7RUFDRztBYnk0N0JaO0FhMTQ3QlM7RUFDRztBYjQ0N0JaO0FhNzQ3QlM7RUFDRztBYis0N0JaO0FhaDU3QlM7RUFDRztBYms1N0JaO0FhbjU3QlM7RUFDRztBYnE1N0JaO0FhdDU3QlM7RUFDRztBYnc1N0JaO0FhejU3QlM7RUFDRztBYjI1N0JaO0FhNTU3QlM7RUFDRztBYjg1N0JaO0FhLzU3QlM7RUFDRztBYmk2N0JaO0FhbDY3QlM7RUFDRztBYm82N0JaO0FhcjY3QlM7RUFDRztBYnU2N0JaO0FheDY3QlM7RUFDRztBYjA2N0JaO0FhMzY3QlM7RUFDRztBYjY2N0JaO0FhOTY3QlM7RUFDRztBYmc3N0JaO0Fhajc3QlM7RUFDRztBYm03N0JaO0FhcDc3QlM7RUFDRztBYnM3N0JaO0Fhdjc3QlM7RUFDRztBYnk3N0JaO0FhMTc3QlM7RUFDRztBYjQ3N0JaO0FhNzc3QlM7RUFDRztBYis3N0JaO0FhaDg3QlM7RUFDRztBYms4N0JaO0Fhbjg3QlM7RUFDRztBYnE4N0JaO0FhdDg3QlM7RUFDRztBYnc4N0JaO0Fhejg3QlM7RUFDRztBYjI4N0JaO0FhNTg3QlM7RUFDRztBYjg4N0JaO0FhLzg3QlM7RUFDRztBYmk5N0JaO0FhbDk3QlM7RUFDRztBYm85N0JaO0Fhcjk3QlM7RUFDRztBYnU5N0JaO0FheDk3QlM7RUFDRztBYjA5N0JaO0FhMzk3QlM7RUFDRztBYjY5N0JaO0FhOTk3QlM7RUFDRztBYmcrN0JaO0Fhais3QlM7RUFDRztBYm0rN0JaO0FhcCs3QlM7RUFDRztBYnMrN0JaO0Fhdis3QlM7RUFDRztBYnkrN0JaO0FhMSs3QlM7RUFDRztBYjQrN0JaO0FhNys3QlM7RUFDRztBYisrN0JaO0FhaC83QlM7RUFDRztBYmsvN0JaO0Fhbi83QlM7RUFDRztBYnEvN0JaO0FhdC83QlM7RUFDRztBYncvN0JaO0Fhei83QlM7RUFDRztBYjIvN0JaO0FhNS83QlM7RUFDRztBYjgvN0JaO0FhLy83QlM7RUFDRztBYmlnOEJaO0FhbGc4QlM7RUFDRztBYm9nOEJaO0Fhcmc4QlM7RUFDRztBYnVnOEJaO0FheGc4QlM7RUFDRztBYjBnOEJaO0FhM2c4QlM7RUFDRztBYjZnOEJaO0FhOWc4QlM7RUFDRztBYmdoOEJaO0Fhamg4QlM7RUFDRztBYm1oOEJaO0FhcGg4QlM7RUFDRztBYnNoOEJaO0Fhdmg4QlM7RUFDRztBYnloOEJaO0FhMWg4QlM7RUFDRztBYjRoOEJaO0FhN2g4QlM7RUFDRztBYitoOEJaO0FhaGk4QlM7RUFDRztBYmtpOEJaO0Fhbmk4QlM7RUFDRztBYnFpOEJaO0FhdGk4QlM7RUFDRztBYndpOEJaO0Fhemk4QlM7RUFDRztBYjJpOEJaO0FhNWk4QlM7RUFDRztBYjhpOEJaO0FhL2k4QlM7RUFDRztBYmlqOEJaO0FhbGo4QlM7RUFDRztBYm9qOEJaO0Fhcmo4QlM7RUFDRztBYnVqOEJaO0FheGo4QlM7RUFDRztBYjBqOEJaO0FhM2o4QlM7RUFDRztBYjZqOEJaO0FhOWo4QlM7RUFDRztBYmdrOEJaO0Fhams4QlM7RUFDRztBYm1rOEJaO0FhcGs4QlM7RUFDRztBYnNrOEJaO0Fhdms4QlM7RUFDRztBYnlrOEJaO0FhMWs4QlM7RUFDRztBYjRrOEJaO0FhN2s4QlM7RUFDRztBYitrOEJaO0FhaGw4QlM7RUFDRztBYmtsOEJaO0Fhbmw4QlM7RUFDRztBYnFsOEJaO0FhdGw4QlM7RUFDRztBYndsOEJaO0Fhemw4QlM7RUFDRztBYjJsOEJaO0FhNWw4QlM7RUFDRztBYjhsOEJaO0FhL2w4QlM7RUFDRztBYmltOEJaO0FhbG04QlM7RUFDRztBYm9tOEJaO0Fhcm04QlM7RUFDRztBYnVtOEJaO0FheG04QlM7RUFDRztBYjBtOEJaO0FhM204QlM7RUFDRztBYjZtOEJaO0FhOW04QlM7RUFDRztBYmduOEJaO0Fham44QlM7RUFDRztBYm1uOEJaO0FhcG44QlM7RUFDRztBYnNuOEJaO0Fhdm44QlM7RUFDRztBYnluOEJaO0FhMW44QlM7RUFDRztBYjRuOEJaO0FhN244QlM7RUFDRztBYituOEJaO0FhaG84QlM7RUFDRztBYmtvOEJaO0Fhbm84QlM7RUFDRztBYnFvOEJaO0FhdG84QlM7RUFDRztBYndvOEJaO0Fhem84QlM7RUFDRztBYjJvOEJaO0FhNW84QlM7RUFDRztBYjhvOEJaO0FhL284QlM7RUFDRztBYmlwOEJaO0FhbHA4QlM7RUFDRztBYm9wOEJaO0FhcnA4QlM7RUFDRztBYnVwOEJaO0FheHA4QlM7RUFDRztBYjBwOEJaO0FhM3A4QlM7RUFDRztBYjZwOEJaO0FhOXA4QlM7RUFDRztBYmdxOEJaO0FhanE4QlM7RUFDRztBYm1xOEJaO0FhcHE4QlM7RUFDRztBYnNxOEJaO0FhdnE4QlM7RUFDRztBYnlxOEJaO0FhMXE4QlM7RUFDRztBYjRxOEJaO0FhN3E4QlM7RUFDRztBYitxOEJaO0FhaHI4QlM7RUFDRztBYmtyOEJaO0FhbnI4QlM7RUFDRztBYnFyOEJaO0FhdHI4QlM7RUFDRztBYndyOEJaO0FhenI4QlM7RUFDRztBYjJyOEJaO0FhNXI4QlM7RUFDRztBYjhyOEJaO0FhL3I4QlM7RUFDRztBYmlzOEJaO0FhbHM4QlM7RUFDRztBYm9zOEJaO0FhcnM4QlM7RUFDRztBYnVzOEJaO0FheHM4QlM7RUFDRztBYjBzOEJaO0FhM3M4QlM7RUFDRztBYjZzOEJaO0FhOXM4QlM7RUFDRztBYmd0OEJaO0FhanQ4QlM7RUFDRztBYm10OEJaO0FhcHQ4QlM7RUFDRztBYnN0OEJaO0FhdnQ4QlM7RUFDRztBYnl0OEJaO0FhMXQ4QlM7RUFDRztBYjR0OEJaO0FhN3Q4QlM7RUFDRztBYit0OEJaO0FhaHU4QlM7RUFDRztBYmt1OEJaO0FhbnU4QlM7RUFDRztBYnF1OEJaO0FhdHU4QlM7RUFDRztBYnd1OEJaO0FhenU4QlM7RUFDRztBYjJ1OEJaO0FhNXU4QlM7RUFDRztBYjh1OEJaO0FhL3U4QlM7RUFDRztBYml2OEJaO0FhbHY4QlM7RUFDRztBYm92OEJaO0FhcnY4QlM7RUFDRztBYnV2OEJaO0FheHY4QlM7RUFDRztBYjB2OEJaO0FhM3Y4QlM7RUFDRztBYjZ2OEJaO0FhOXY4QlM7RUFDRztBYmd3OEJaO0Fhanc4QlM7RUFDRztBYm13OEJaO0FhcHc4QlM7RUFDRztBYnN3OEJaO0Fhdnc4QlM7RUFDRztBYnl3OEJaO0FhMXc4QlM7RUFDRztBYjR3OEJaO0FhN3c4QlM7RUFDRztBYit3OEJaO0FhaHg4QlM7RUFDRztBYmt4OEJaO0Fhbng4QlM7RUFDRztBYnF4OEJaO0FhdHg4QlM7RUFDRztBYnd4OEJaO0Fheng4QlM7RUFDRztBYjJ4OEJaO0FhNXg4QlM7RUFDRztBYjh4OEJaO0FhL3g4QlM7RUFDRztBYml5OEJaO0FhbHk4QlM7RUFDRztBYm95OEJaO0Fhcnk4QlM7RUFDRztBYnV5OEJaO0FheHk4QlM7RUFDRztBYjB5OEJaO0FhM3k4QlM7RUFDRztBYjZ5OEJaO0FhOXk4QlM7RUFDRztBYmd6OEJaO0Fhano4QlM7RUFDRztBYm16OEJaO0FhcHo4QlM7RUFDRztBYnN6OEJaO0Fhdno4QlM7RUFDRztBYnl6OEJaO0FhMXo4QlM7RUFDRztBYjR6OEJaO0FhN3o4QlM7RUFDRztBYit6OEJaO0FhaDA4QlM7RUFDRztBYmswOEJaO0FhbjA4QlM7RUFDRztBYnEwOEJaO0FhdDA4QlM7RUFDRztBYncwOEJaO0FhejA4QlM7RUFDRztBYjIwOEJaO0FhNTA4QlM7RUFDRztBYjgwOEJaO0FhLzA4QlM7RUFDRztBYmkxOEJaO0FhbDE4QlM7RUFDRztBYm8xOEJaO0FhcjE4QlM7RUFDRztBYnUxOEJaO0FheDE4QlM7RUFDRztBYjAxOEJaO0FhMzE4QlM7RUFDRztBYjYxOEJaO0FhOTE4QlM7RUFDRztBYmcyOEJaO0FhajI4QlM7RUFDRztBYm0yOEJaO0FhcDI4QlM7RUFDRztBYnMyOEJaO0FhdjI4QlM7RUFDRztBYnkyOEJaO0FhMTI4QlM7RUFDRztBYjQyOEJaO0FhNzI4QlM7RUFDRztBYisyOEJaO0FhaDM4QlM7RUFDRztBYmszOEJaO0FhbjM4QlM7RUFDRztBYnEzOEJaO0FhdDM4QlM7RUFDRztBYnczOEJaO0FhejM4QlM7RUFDRztBYjIzOEJaO0FhNTM4QlM7RUFDRztBYjgzOEJaO0FhLzM4QlM7RUFDRztBYmk0OEJaO0FhbDQ4QlM7RUFDRztBYm80OEJaO0FhcjQ4QlM7RUFDRztBYnU0OEJaO0FheDQ4QlM7RUFDRztBYjA0OEJaO0FhMzQ4QlM7RUFDRztBYjY0OEJaO0FhOTQ4QlM7RUFDRztBYmc1OEJaO0FhajU4QlM7RUFDRztBYm01OEJaO0FhcDU4QlM7RUFDRztBYnM1OEJaO0FhdjU4QlM7RUFDRztBYnk1OEJaO0FhMTU4QlM7RUFDRztBYjQ1OEJaO0FhNzU4QlM7RUFDRztBYis1OEJaO0FhaDY4QlM7RUFDRztBYms2OEJaO0FhbjY4QlM7RUFDRztBYnE2OEJaO0FhdDY4QlM7RUFDRztBYnc2OEJaO0FhejY4QlM7RUFDRztBYjI2OEJaO0FhNTY4QlM7RUFDRztBYjg2OEJaO0FhLzY4QlM7RUFDRztBYmk3OEJaO0FhbDc4QlM7RUFDRztBYm83OEJaO0Fhcjc4QlM7RUFDRztBYnU3OEJaO0FheDc4QlM7RUFDRztBYjA3OEJaO0FhMzc4QlM7RUFDRztBYjY3OEJaO0FhOTc4QlM7RUFDRztBYmc4OEJaO0Fhajg4QlM7RUFDRztBYm04OEJaO0FhcDg4QlM7RUFDRztBYnM4OEJaO0Fhdjg4QlM7RUFDRztBYnk4OEJaO0FhMTg4QlM7RUFDRztBYjQ4OEJaO0FhNzg4QlM7RUFDRztBYis4OEJaO0FhaDk4QlM7RUFDRztBYms5OEJaO0Fhbjk4QlM7RUFDRztBYnE5OEJaO0FhdDk4QlM7RUFDRztBYnc5OEJaO0Fhejk4QlM7RUFDRztBYjI5OEJaO0FhNTk4QlM7RUFDRztBYjg5OEJaO0FhLzk4QlM7RUFDRztBYmkrOEJaO0FhbCs4QlM7RUFDRztBYm8rOEJaO0Fhcis4QlM7RUFDRztBYnUrOEJaO0FheCs4QlM7RUFDRztBYjArOEJaO0FhMys4QlM7RUFDRztBYjYrOEJaO0FhOSs4QlM7RUFDRztBYmcvOEJaO0Fhai84QlM7RUFDRztBYm0vOEJaO0FhcC84QlM7RUFDRztBYnMvOEJaO0Fhdi84QlM7RUFDRztBYnkvOEJaO0FhMS84QlM7RUFDRztBYjQvOEJaO0FhNy84QlM7RUFDRztBYisvOEJaO0FhaGc5QlM7RUFDRztBYmtnOUJaO0Fhbmc5QlM7RUFDRztBYnFnOUJaO0FhdGc5QlM7RUFDRztBYndnOUJaO0Fhemc5QlM7RUFDRztBYjJnOUJaO0FhNWc5QlM7RUFDRztBYjhnOUJaO0FhL2c5QlM7RUFDRztBYmloOUJaO0FhbGg5QlM7RUFDRztBYm9oOUJaO0Fhcmg5QlM7RUFDRztBYnVoOUJaO0FheGg5QlM7RUFDRztBYjBoOUJaO0FhM2g5QlM7RUFDRztBYjZoOUJaO0FhOWg5QlM7RUFDRztBYmdpOUJaO0Fhamk5QlM7RUFDRztBYm1pOUJaO0FhcGk5QlM7RUFDRztBYnNpOUJaO0Fhdmk5QlM7RUFDRztBYnlpOUJaO0FhMWk5QlM7RUFDRztBYjRpOUJaO0FhN2k5QlM7RUFDRztBYitpOUJaO0FhaGo5QlM7RUFDRztBYmtqOUJaO0Fhbmo5QlM7RUFDRztBYnFqOUJaO0FhdGo5QlM7RUFDRztBYndqOUJaO0Fhemo5QlM7RUFDRztBYjJqOUJaO0FhNWo5QlM7RUFDRztBYjhqOUJaO0FhL2o5QlM7RUFDRztBYmlrOUJaO0FhbGs5QlM7RUFDRztBYm9rOUJaO0Fhcms5QlM7RUFDRztBYnVrOUJaO0FheGs5QlM7RUFDRztBYjBrOUJaO0FhM2s5QlM7RUFDRztBYjZrOUJaO0FhOWs5QlM7RUFDRztBYmdsOUJaO0Fhamw5QlM7RUFDRztBYm1sOUJaO0FhcGw5QlM7RUFDRztBYnNsOUJaO0Fhdmw5QlM7RUFDRztBYnlsOUJaO0FhMWw5QlM7RUFDRztBYjRsOUJaO0FhN2w5QlM7RUFDRztBYitsOUJaO0FhaG05QlM7RUFDRztBYmttOUJaO0Fhbm05QlM7RUFDRztBYnFtOUJaO0FhdG05QlM7RUFDRztBYndtOUJaO0Fhem05QlM7RUFDRztBYjJtOUJaO0FhNW05QlM7RUFDRztBYjhtOUJaO0FhL205QlM7RUFDRztBYmluOUJaO0FhbG45QlM7RUFDRztBYm9uOUJaO0Fhcm45QlM7RUFDRztBYnVuOUJaO0FheG45QlM7RUFDRztBYjBuOUJaO0FhM245QlM7RUFDRztBYjZuOUJaO0FhOW45QlM7RUFDRztBYmdvOUJaO0Fham85QlM7RUFDRztBYm1vOUJaO0FhcG85QlM7RUFDRztBYnNvOUJaO0Fhdm85QlM7RUFDRztBYnlvOUJaO0FhMW85QlM7RUFDRztBYjRvOUJaO0FhN285QlM7RUFDRztBYitvOUJaO0FhaHA5QlM7RUFDRztBYmtwOUJaO0FhbnA5QlM7RUFDRztBYnFwOUJaO0FhdHA5QlM7RUFDRztBYndwOUJaO0FhenA5QlM7RUFDRztBYjJwOUJaO0FhNXA5QlM7RUFDRztBYjhwOUJaO0FhL3A5QlM7RUFDRztBYmlxOUJaO0FhbHE5QlM7RUFDRztBYm9xOUJaO0FhcnE5QlM7RUFDRztBYnVxOUJaO0FheHE5QlM7RUFDRztBYjBxOUJaO0FhM3E5QlM7RUFDRztBYjZxOUJaO0FhOXE5QlM7RUFDRztBYmdyOUJaO0FhanI5QlM7RUFDRztBYm1yOUJaO0FhcHI5QlM7RUFDRztBYnNyOUJaO0FhdnI5QlM7RUFDRztBYnlyOUJaO0FhMXI5QlM7RUFDRztBYjRyOUJaO0FhN3I5QlM7RUFDRztBYityOUJaO0FhaHM5QlM7RUFDRztBYmtzOUJaO0FhbnM5QlM7RUFDRztBYnFzOUJaO0FhdHM5QlM7RUFDRztBYndzOUJaO0FhenM5QlM7RUFDRztBYjJzOUJaO0FhNXM5QlM7RUFDRztBYjhzOUJaO0FhL3M5QlM7RUFDRztBYml0OUJaO0FhbHQ5QlM7RUFDRztBYm90OUJaO0FhcnQ5QlM7RUFDRztBYnV0OUJaO0FheHQ5QlM7RUFDRztBYjB0OUJaO0FhM3Q5QlM7RUFDRztBYjZ0OUJaO0FhOXQ5QlM7RUFDRztBYmd1OUJaO0FhanU5QlM7RUFDRztBYm11OUJaO0FhcHU5QlM7RUFDRztBYnN1OUJaO0FhdnU5QlM7RUFDRztBYnl1OUJaO0FhMXU5QlM7RUFDRztBYjR1OUJaO0FhN3U5QlM7RUFDRztBYit1OUJaO0FhaHY5QlM7RUFDRztBYmt2OUJaO0FhbnY5QlM7RUFDRztBYnF2OUJaO0FhdHY5QlM7RUFDRztBYnd2OUJaO0FhenY5QlM7RUFDRztBYjJ2OUJaO0FhNXY5QlM7RUFDRztBYjh2OUJaO0FhL3Y5QlM7RUFDRztBYml3OUJaO0FhbHc5QlM7RUFDRztBYm93OUJaO0Fhcnc5QlM7RUFDRztBYnV3OUJaO0FheHc5QlM7RUFDRztBYjB3OUJaO0FhM3c5QlM7RUFDRztBYjZ3OUJaO0FhOXc5QlM7RUFDRztBYmd4OUJaO0Fhang5QlM7RUFDRztBYm14OUJaO0FhcHg5QlM7RUFDRztBYnN4OUJaO0Fhdng5QlM7RUFDRztBYnl4OUJaO0FhMXg5QlM7RUFDRztBYjR4OUJaO0FhN3g5QlM7RUFDRztBYit4OUJaO0FhaHk5QlM7RUFDRztBYmt5OUJaO0Fhbnk5QlM7RUFDRztBYnF5OUJaO0FhdHk5QlM7RUFDRztBYnd5OUJaO0Fhenk5QlM7RUFDRztBYjJ5OUJaO0FhNXk5QlM7RUFDRztBYjh5OUJaO0FhL3k5QlM7RUFDRztBYml6OUJaO0FBQ0EsWUFBWTtBYW56OUJIO0VBQ0c7QWJxejlCWjtBYXR6OUJTO0VBQ0c7QWJ3ejlCWjtBYXp6OUJTO0VBQ0c7QWIyejlCWjtBYTV6OUJTO0VBQ0c7QWI4ejlCWjtBYS96OUJTO0VBQ0c7QWJpMDlCWjtBYWwwOUJTO0VBQ0c7QWJvMDlCWjtBYXIwOUJTO0VBQ0c7QWJ1MDlCWjtBYXgwOUJTO0VBQ0c7QWIwMDlCWjtBYTMwOUJTO0VBQ0c7QWI2MDlCWjtBYTkwOUJTO0VBQ0c7QWJnMTlCWjtBYWoxOUJTO0VBQ0c7QWJtMTlCWjtBYXAxOUJTO0VBQ0c7QWJzMTlCWjtBYXYxOUJTO0VBQ0c7QWJ5MTlCWjtBYTExOUJTO0VBQ0c7QWI0MTlCWjtBYTcxOUJTO0VBQ0c7QWIrMTlCWjtBYWgyOUJTO0VBQ0c7QWJrMjlCWjtBYW4yOUJTO0VBQ0c7QWJxMjlCWjtBYXQyOUJTO0VBQ0c7QWJ3MjlCWjtBYXoyOUJTO0VBQ0c7QWIyMjlCWjtBYTUyOUJTO0VBQ0c7QWI4MjlCWjtBYS8yOUJTO0VBQ0c7QWJpMzlCWjtBYWwzOUJTO0VBQ0c7QWJvMzlCWjtBYXIzOUJTO0VBQ0c7QWJ1MzlCWjtBYXgzOUJTO0VBQ0c7QWIwMzlCWjtBYTMzOUJTO0VBQ0c7QWI2MzlCWjtBYTkzOUJTO0VBQ0c7QWJnNDlCWjtBYWo0OUJTO0VBQ0c7QWJtNDlCWjtBYXA0OUJTO0VBQ0c7QWJzNDlCWjtBYXY0OUJTO0VBQ0c7QWJ5NDlCWjtBYTE0OUJTO0VBQ0c7QWI0NDlCWjtBYTc0OUJTO0VBQ0c7QWIrNDlCWjtBYWg1OUJTO0VBQ0c7QWJrNTlCWjtBYW41OUJTO0VBQ0c7QWJxNTlCWjtBYXQ1OUJTO0VBQ0c7QWJ3NTlCWjtBYXo1OUJTO0VBQ0c7QWIyNTlCWjtBYTU1OUJTO0VBQ0c7QWI4NTlCWjtBYS81OUJTO0VBQ0c7QWJpNjlCWjtBYWw2OUJTO0VBQ0c7QWJvNjlCWjtBYXI2OUJTO0VBQ0c7QWJ1NjlCWjtBYXg2OUJTO0VBQ0c7QWIwNjlCWjtBYTM2OUJTO0VBQ0c7QWI2NjlCWjtBYTk2OUJTO0VBQ0c7QWJnNzlCWjtBYWo3OUJTO0VBQ0c7QWJtNzlCWjtBYXA3OUJTO0VBQ0c7QWJzNzlCWjtBYXY3OUJTO0VBQ0c7QWJ5NzlCWjtBYTE3OUJTO0VBQ0c7QWI0NzlCWjtBYTc3OUJTO0VBQ0c7QWIrNzlCWjtBYWg4OUJTO0VBQ0c7QWJrODlCWjtBYW44OUJTO0VBQ0c7QWJxODlCWjtBYXQ4OUJTO0VBQ0c7QWJ3ODlCWjtBYXo4OUJTO0VBQ0c7QWIyODlCWjtBYTU4OUJTO0VBQ0c7QWI4ODlCWjtBYS84OUJTO0VBQ0c7QWJpOTlCWjtBYWw5OUJTO0VBQ0c7QWJvOTlCWjtBYXI5OUJTO0VBQ0c7QWJ1OTlCWjtBYXg5OUJTO0VBQ0c7QWIwOTlCWjtBYTM5OUJTO0VBQ0c7QWI2OTlCWjtBYTk5OUJTO0VBQ0c7QWJnKzlCWjtBYWorOUJTO0VBQ0c7QWJtKzlCWjtBYXArOUJTO0VBQ0c7QWJzKzlCWjtBYXYrOUJTO0VBQ0c7QWJ5KzlCWjtBYTErOUJTO0VBQ0c7QWI0KzlCWjtBYTcrOUJTO0VBQ0c7QWIrKzlCWjtBYWgvOUJTO0VBQ0c7QWJrLzlCWjtBYW4vOUJTO0VBQ0c7QWJxLzlCWjtBYXQvOUJTO0VBQ0c7QWJ3LzlCWjtBYXovOUJTO0VBQ0c7QWIyLzlCWjtBYTUvOUJTO0VBQ0c7QWI4LzlCWjtBYS8vOUJTO0VBQ0c7QWJpZytCWjtBYWxnK0JTO0VBQ0c7QWJvZytCWjtBYXJnK0JTO0VBQ0c7QWJ1ZytCWjtBYXhnK0JTO0VBQ0c7QWIwZytCWjtBYTNnK0JTO0VBQ0c7QWI2ZytCWjtBYTlnK0JTO0VBQ0c7QWJnaCtCWjtBYWpoK0JTO0VBQ0c7QWJtaCtCWjtBYXBoK0JTO0VBQ0c7QWJzaCtCWjtBYXZoK0JTO0VBQ0c7QWJ5aCtCWjtBYTFoK0JTO0VBQ0c7QWI0aCtCWjtBYTdoK0JTO0VBQ0c7QWIraCtCWjtBYWhpK0JTO0VBQ0c7QWJraStCWjtBYW5pK0JTO0VBQ0c7QWJxaStCWjtBYXRpK0JTO0VBQ0c7QWJ3aStCWjtBYXppK0JTO0VBQ0c7QWIyaStCWjtBYTVpK0JTO0VBQ0c7QWI4aStCWjtBYS9pK0JTO0VBQ0c7QWJpaitCWjtBYWxqK0JTO0VBQ0c7QWJvaitCWjtBYXJqK0JTO0VBQ0c7QWJ1aitCWjtBYXhqK0JTO0VBQ0c7QWIwaitCWjtBYTNqK0JTO0VBQ0c7QWI2aitCWjtBYTlqK0JTO0VBQ0c7QWJnaytCWjtBYWprK0JTO0VBQ0c7QWJtaytCWjtBYXBrK0JTO0VBQ0c7QWJzaytCWjtBYXZrK0JTO0VBQ0c7QWJ5aytCWjtBYTFrK0JTO0VBQ0c7QWI0aytCWjtBYTdrK0JTO0VBQ0c7QWIraytCWjtBYWhsK0JTO0VBQ0c7QWJrbCtCWjtBYW5sK0JTO0VBQ0c7QWJxbCtCWjtBYXRsK0JTO0VBQ0c7QWJ3bCtCWjtBYXpsK0JTO0VBQ0c7QWIybCtCWjtBYTVsK0JTO0VBQ0c7QWI4bCtCWjtBYS9sK0JTO0VBQ0c7QWJpbStCWjtBYWxtK0JTO0VBQ0c7QWJvbStCWjtBYXJtK0JTO0VBQ0c7QWJ1bStCWjtBYXhtK0JTO0VBQ0c7QWIwbStCWjtBYTNtK0JTO0VBQ0c7QWI2bStCWjtBYTltK0JTO0VBQ0c7QWJnbitCWjtBYWpuK0JTO0VBQ0c7QWJtbitCWjtBYXBuK0JTO0VBQ0c7QWJzbitCWjtBYXZuK0JTO0VBQ0c7QWJ5bitCWjtBYTFuK0JTO0VBQ0c7QWI0bitCWjtBYTduK0JTO0VBQ0c7QWIrbitCWjtBYWhvK0JTO0VBQ0c7QWJrbytCWjtBYW5vK0JTO0VBQ0c7QWJxbytCWjtBYXRvK0JTO0VBQ0c7QWJ3bytCWjtBYXpvK0JTO0VBQ0c7QWIybytCWjtBYTVvK0JTO0VBQ0c7QWI4bytCWjtBYS9vK0JTO0VBQ0c7QWJpcCtCWjtBYWxwK0JTO0VBQ0c7QWJvcCtCWjtBYXJwK0JTO0VBQ0c7QWJ1cCtCWjtBYXhwK0JTO0VBQ0c7QWIwcCtCWjtBYTNwK0JTO0VBQ0c7QWI2cCtCWjtBYTlwK0JTO0VBQ0c7QWJncStCWjtBYWpxK0JTO0VBQ0c7QWJtcStCWjtBYXBxK0JTO0VBQ0c7QWJzcStCWjtBYXZxK0JTO0VBQ0c7QWJ5cStCWjtBYTFxK0JTO0VBQ0c7QWI0cStCWjtBYTdxK0JTO0VBQ0c7QWIrcStCWjtBYWhyK0JTO0VBQ0c7QWJrcitCWjtBYW5yK0JTO0VBQ0c7QWJxcitCWjtBYXRyK0JTO0VBQ0c7QWJ3citCWjtBYXpyK0JTO0VBQ0c7QWIycitCWjtBYTVyK0JTO0VBQ0c7QWI4citCWjtBYS9yK0JTO0VBQ0c7QWJpcytCWjtBYWxzK0JTO0VBQ0c7QWJvcytCWjtBYXJzK0JTO0VBQ0c7QWJ1cytCWjtBYXhzK0JTO0VBQ0c7QWIwcytCWjtBYTNzK0JTO0VBQ0c7QWI2cytCWjtBYTlzK0JTO0VBQ0c7QWJndCtCWjtBYWp0K0JTO0VBQ0c7QWJtdCtCWjtBYXB0K0JTO0VBQ0c7QWJzdCtCWjtBYXZ0K0JTO0VBQ0c7QWJ5dCtCWjtBYTF0K0JTO0VBQ0c7QWI0dCtCWjtBYTd0K0JTO0VBQ0c7QWIrdCtCWjtBYWh1K0JTO0VBQ0c7QWJrdStCWjtBYW51K0JTO0VBQ0c7QWJxdStCWjtBYXR1K0JTO0VBQ0c7QWJ3dStCWjtBYXp1K0JTO0VBQ0c7QWIydStCWjtBYTV1K0JTO0VBQ0c7QWI4dStCWjtBYS91K0JTO0VBQ0c7QWJpditCWjtBYWx2K0JTO0VBQ0c7QWJvditCWjtBYXJ2K0JTO0VBQ0c7QWJ1ditCWjtBYXh2K0JTO0VBQ0c7QWIwditCWjtBYTN2K0JTO0VBQ0c7QWI2ditCWjtBYTl2K0JTO0VBQ0c7QWJndytCWjtBYWp3K0JTO0VBQ0c7QWJtdytCWjtBYXB3K0JTO0VBQ0c7QWJzdytCWjtBYXZ3K0JTO0VBQ0c7QWJ5dytCWjtBYTF3K0JTO0VBQ0c7QWI0dytCWjtBYTd3K0JTO0VBQ0c7QWIrdytCWjtBYWh4K0JTO0VBQ0c7QWJreCtCWjtBYW54K0JTO0VBQ0c7QWJxeCtCWjtBYXR4K0JTO0VBQ0c7QWJ3eCtCWjtBYXp4K0JTO0VBQ0c7QWIyeCtCWjtBYTV4K0JTO0VBQ0c7QWI4eCtCWjtBYS94K0JTO0VBQ0c7QWJpeStCWjtBYWx5K0JTO0VBQ0c7QWJveStCWjtBYXJ5K0JTO0VBQ0c7QWJ1eStCWjtBYXh5K0JTO0VBQ0c7QWIweStCWjtBYTN5K0JTO0VBQ0c7QWI2eStCWjtBYTl5K0JTO0VBQ0c7QWJneitCWjtBYWp6K0JTO0VBQ0c7QWJteitCWjtBYXB6K0JTO0VBQ0c7QWJzeitCWjtBYXZ6K0JTO0VBQ0c7QWJ5eitCWjtBYTF6K0JTO0VBQ0c7QWI0eitCWjtBYTd6K0JTO0VBQ0c7QWIreitCWjtBYWgwK0JTO0VBQ0c7QWJrMCtCWjtBYW4wK0JTO0VBQ0c7QWJxMCtCWjtBYXQwK0JTO0VBQ0c7QWJ3MCtCWjtBYXowK0JTO0VBQ0c7QWIyMCtCWjtBYTUwK0JTO0VBQ0c7QWI4MCtCWjtBYS8wK0JTO0VBQ0c7QWJpMStCWjtBYWwxK0JTO0VBQ0c7QWJvMStCWjtBYXIxK0JTO0VBQ0c7QWJ1MStCWjtBYXgxK0JTO0VBQ0c7QWIwMStCWjtBYTMxK0JTO0VBQ0c7QWI2MStCWjtBYTkxK0JTO0VBQ0c7QWJnMitCWjtBYWoyK0JTO0VBQ0c7QWJtMitCWjtBYXAyK0JTO0VBQ0c7QWJzMitCWjtBYXYyK0JTO0VBQ0c7QWJ5MitCWjtBYTEyK0JTO0VBQ0c7QWI0MitCWjtBYTcyK0JTO0VBQ0c7QWIrMitCWjtBYWgzK0JTO0VBQ0c7QWJrMytCWjtBYW4zK0JTO0VBQ0c7QWJxMytCWjtBYXQzK0JTO0VBQ0c7QWJ3MytCWjtBYXozK0JTO0VBQ0c7QWIyMytCWjtBYTUzK0JTO0VBQ0c7QWI4MytCWjtBYS8zK0JTO0VBQ0c7QWJpNCtCWjtBYWw0K0JTO0VBQ0c7QWJvNCtCWjtBYXI0K0JTO0VBQ0c7QWJ1NCtCWjtBYXg0K0JTO0VBQ0c7QWIwNCtCWjtBYTM0K0JTO0VBQ0c7QWI2NCtCWjtBYTk0K0JTO0VBQ0c7QWJnNStCWjtBYWo1K0JTO0VBQ0c7QWJtNStCWjtBYXA1K0JTO0VBQ0c7QWJzNStCWjtBYXY1K0JTO0VBQ0c7QWJ5NStCWjtBYTE1K0JTO0VBQ0c7QWI0NStCWjtBYTc1K0JTO0VBQ0c7QWIrNStCWjtBYWg2K0JTO0VBQ0c7QWJrNitCWjtBYW42K0JTO0VBQ0c7QWJxNitCWjtBYXQ2K0JTO0VBQ0c7QWJ3NitCWjtBYXo2K0JTO0VBQ0c7QWIyNitCWjtBYTU2K0JTO0VBQ0c7QWI4NitCWjtBYS82K0JTO0VBQ0c7QWJpNytCWjtBYWw3K0JTO0VBQ0c7QWJvNytCWjtBYXI3K0JTO0VBQ0c7QWJ1NytCWjtBYXg3K0JTO0VBQ0c7QWIwNytCWjtBYTM3K0JTO0VBQ0c7QWI2NytCWjtBYTk3K0JTO0VBQ0c7QWJnOCtCWjtBYWo4K0JTO0VBQ0c7QWJtOCtCWjtBYXA4K0JTO0VBQ0c7QWJzOCtCWjtBYXY4K0JTO0VBQ0c7QWJ5OCtCWjtBYTE4K0JTO0VBQ0c7QWI0OCtCWjtBYTc4K0JTO0VBQ0c7QWIrOCtCWjtBYWg5K0JTO0VBQ0c7QWJrOStCWjtBYW45K0JTO0VBQ0c7QWJxOStCWjtBYXQ5K0JTO0VBQ0c7QWJ3OStCWjtBYXo5K0JTO0VBQ0c7QWIyOStCWjtBYTU5K0JTO0VBQ0c7QWI4OStCWjtBYS85K0JTO0VBQ0c7QWJpKytCWjtBYWwrK0JTO0VBQ0c7QWJvKytCWjtBYXIrK0JTO0VBQ0c7QWJ1KytCWjtBYXgrK0JTO0VBQ0c7QWIwKytCWjtBYTMrK0JTO0VBQ0c7QWI2KytCWjtBYTkrK0JTO0VBQ0c7QWJnLytCWjtBYWovK0JTO0VBQ0c7QWJtLytCWjtBYXAvK0JTO0VBQ0c7QWJzLytCWjtBYXYvK0JTO0VBQ0c7QWJ5LytCWjtBYTEvK0JTO0VBQ0c7QWI0LytCWjtBYTcvK0JTO0VBQ0c7QWIrLytCWjtBYWhnL0JTO0VBQ0c7QWJrZy9CWjtBYW5nL0JTO0VBQ0c7QWJxZy9CWjtBYXRnL0JTO0VBQ0c7QWJ3Zy9CWjtBYXpnL0JTO0VBQ0c7QWIyZy9CWjtBYTVnL0JTO0VBQ0c7QWI4Zy9CWjtBYS9nL0JTO0VBQ0c7QWJpaC9CWjtBYWxoL0JTO0VBQ0c7QWJvaC9CWjtBYXJoL0JTO0VBQ0c7QWJ1aC9CWjtBYXhoL0JTO0VBQ0c7QWIwaC9CWjtBYTNoL0JTO0VBQ0c7QWI2aC9CWjtBYTloL0JTO0VBQ0c7QWJnaS9CWjtBYWppL0JTO0VBQ0c7QWJtaS9CWjtBYXBpL0JTO0VBQ0c7QWJzaS9CWjtBYXZpL0JTO0VBQ0c7QWJ5aS9CWjtBYTFpL0JTO0VBQ0c7QWI0aS9CWjtBYTdpL0JTO0VBQ0c7QWIraS9CWjtBYWhqL0JTO0VBQ0c7QWJrai9CWjtBYW5qL0JTO0VBQ0c7QWJxai9CWjtBYXRqL0JTO0VBQ0c7QWJ3ai9CWjtBYXpqL0JTO0VBQ0c7QWIyai9CWjtBYTVqL0JTO0VBQ0c7QWI4ai9CWjtBYS9qL0JTO0VBQ0c7QWJpay9CWjtBYWxrL0JTO0VBQ0c7QWJvay9CWjtBYXJrL0JTO0VBQ0c7QWJ1ay9CWjtBYXhrL0JTO0VBQ0c7QWIway9CWjtBYTNrL0JTO0VBQ0c7QWI2ay9CWjtBYTlrL0JTO0VBQ0c7QWJnbC9CWjtBYWpsL0JTO0VBQ0c7QWJtbC9CWjtBYXBsL0JTO0VBQ0c7QWJzbC9CWjtBYXZsL0JTO0VBQ0c7QWJ5bC9CWjtBYTFsL0JTO0VBQ0c7QWI0bC9CWjtBYTdsL0JTO0VBQ0c7QWIrbC9CWjtBYWhtL0JTO0VBQ0c7QWJrbS9CWjtBYW5tL0JTO0VBQ0c7QWJxbS9CWjtBYXRtL0JTO0VBQ0c7QWJ3bS9CWjtBYXptL0JTO0VBQ0c7QWIybS9CWjtBYTVtL0JTO0VBQ0c7QWI4bS9CWjtBYS9tL0JTO0VBQ0c7QWJpbi9CWjtBYWxuL0JTO0VBQ0c7QWJvbi9CWjtBYXJuL0JTO0VBQ0c7QWJ1bi9CWjtBYXhuL0JTO0VBQ0c7QWIwbi9CWjtBYTNuL0JTO0VBQ0c7QWI2bi9CWjtBYTluL0JTO0VBQ0c7QWJnby9CWjtBYWpvL0JTO0VBQ0c7QWJtby9CWjtBQUNBOzttQ0FFbUM7QWF2bS9CL0I7RUFDSTtBYnltL0JSO0FBQ0EsVUFBVTtBYTNvL0JEO0VBQ0c7QWI2by9CWjtBYTlvL0JTO0VBQ0c7QWJncC9CWjtBYWpwL0JTO0VBQ0c7QWJtcC9CWjtBYXBwL0JTO0VBQ0c7QWJzcC9CWjtBYXZwL0JTO0VBQ0c7QWJ5cC9CWjtBYTFwL0JTO0VBQ0c7QWI0cC9CWjtBYTdwL0JTO0VBQ0c7QWIrcC9CWjtBYWhxL0JTO0VBQ0c7QWJrcS9CWjtBYW5xL0JTO0VBQ0c7QWJxcS9CWjtBYXRxL0JTO0VBQ0c7QWJ3cS9CWjtBYXpxL0JTO0VBQ0c7QWIycS9CWjtBYTVxL0JTO0VBQ0c7QWI4cS9CWjtBYS9xL0JTO0VBQ0c7QWJpci9CWjtBYWxyL0JTO0VBQ0c7QWJvci9CWjtBYXJyL0JTO0VBQ0c7QWJ1ci9CWjtBYXhyL0JTO0VBQ0c7QWIwci9CWjtBYTNyL0JTO0VBQ0c7QWI2ci9CWjtBYTlyL0JTO0VBQ0c7QWJncy9CWjtBYWpzL0JTO0VBQ0c7QWJtcy9CWjtBYXBzL0JTO0VBQ0c7QWJzcy9CWjtBYXZzL0JTO0VBQ0c7QWJ5cy9CWjtBYTFzL0JTO0VBQ0c7QWI0cy9CWjtBYTdzL0JTO0VBQ0c7QWIrcy9CWjtBYWh0L0JTO0VBQ0c7QWJrdC9CWjtBYW50L0JTO0VBQ0c7QWJxdC9CWjtBYXR0L0JTO0VBQ0c7QWJ3dC9CWjtBYXp0L0JTO0VBQ0c7QWIydC9CWjtBYTV0L0JTO0VBQ0c7QWI4dC9CWjtBYS90L0JTO0VBQ0c7QWJpdS9CWjtBYWx1L0JTO0VBQ0c7QWJvdS9CWjtBYXJ1L0JTO0VBQ0c7QWJ1dS9CWjtBYXh1L0JTO0VBQ0c7QWIwdS9CWjtBYTN1L0JTO0VBQ0c7QWI2dS9CWjtBYTl1L0JTO0VBQ0c7QWJndi9CWjtBYWp2L0JTO0VBQ0c7QWJtdi9CWjtBYXB2L0JTO0VBQ0c7QWJzdi9CWjtBYXZ2L0JTO0VBQ0c7QWJ5di9CWjtBYTF2L0JTO0VBQ0c7QWI0di9CWjtBYTd2L0JTO0VBQ0c7QWIrdi9CWjtBYWh3L0JTO0VBQ0c7QWJrdy9CWjtBYW53L0JTO0VBQ0c7QWJxdy9CWjtBYXR3L0JTO0VBQ0c7QWJ3dy9CWjtBYXp3L0JTO0VBQ0c7QWIydy9CWjtBYTV3L0JTO0VBQ0c7QWI4dy9CWjtBYS93L0JTO0VBQ0c7QWJpeC9CWjtBYWx4L0JTO0VBQ0c7QWJveC9CWjtBYXJ4L0JTO0VBQ0c7QWJ1eC9CWjtBYXh4L0JTO0VBQ0c7QWIweC9CWjtBYTN4L0JTO0VBQ0c7QWI2eC9CWjtBYTl4L0JTO0VBQ0c7QWJneS9CWjtBYWp5L0JTO0VBQ0c7QWJteS9CWjtBYXB5L0JTO0VBQ0c7QWJzeS9CWjtBYXZ5L0JTO0VBQ0c7QWJ5eS9CWjtBYTF5L0JTO0VBQ0c7QWI0eS9CWjtBYTd5L0JTO0VBQ0c7QWIreS9CWjtBYWh6L0JTO0VBQ0c7QWJrei9CWjtBYW56L0JTO0VBQ0c7QWJxei9CWjtBYXR6L0JTO0VBQ0c7QWJ3ei9CWjtBYXp6L0JTO0VBQ0c7QWIyei9CWjtBYTV6L0JTO0VBQ0c7QWI4ei9CWjtBYS96L0JTO0VBQ0c7QWJpMC9CWjtBYWwwL0JTO0VBQ0c7QWJvMC9CWjtBYXIwL0JTO0VBQ0c7QWJ1MC9CWjtBYXgwL0JTO0VBQ0c7QWIwMC9CWjtBYTMwL0JTO0VBQ0c7QWI2MC9CWjtBYTkwL0JTO0VBQ0c7QWJnMS9CWjtBYWoxL0JTO0VBQ0c7QWJtMS9CWjtBYXAxL0JTO0VBQ0c7QWJzMS9CWjtBYXYxL0JTO0VBQ0c7QWJ5MS9CWjtBYTExL0JTO0VBQ0c7QWI0MS9CWjtBYTcxL0JTO0VBQ0c7QWIrMS9CWjtBYWgyL0JTO0VBQ0c7QWJrMi9CWjtBYW4yL0JTO0VBQ0c7QWJxMi9CWjtBYXQyL0JTO0VBQ0c7QWJ3Mi9CWjtBYXoyL0JTO0VBQ0c7QWIyMi9CWjtBYTUyL0JTO0VBQ0c7QWI4Mi9CWjtBYS8yL0JTO0VBQ0c7QWJpMy9CWjtBYWwzL0JTO0VBQ0c7QWJvMy9CWjtBYXIzL0JTO0VBQ0c7QWJ1My9CWjtBYXgzL0JTO0VBQ0c7QWIwMy9CWjtBYTMzL0JTO0VBQ0c7QWI2My9CWjtBYTkzL0JTO0VBQ0c7QWJnNC9CWjtBYWo0L0JTO0VBQ0c7QWJtNC9CWjtBYXA0L0JTO0VBQ0c7QWJzNC9CWjtBYXY0L0JTO0VBQ0c7QWJ5NC9CWjtBYTE0L0JTO0VBQ0c7QWI0NC9CWjtBYTc0L0JTO0VBQ0c7QWIrNC9CWjtBYWg1L0JTO0VBQ0c7QWJrNS9CWjtBYW41L0JTO0VBQ0c7QWJxNS9CWjtBYXQ1L0JTO0VBQ0c7QWJ3NS9CWjtBYXo1L0JTO0VBQ0c7QWIyNS9CWjtBYTU1L0JTO0VBQ0c7QWI4NS9CWjtBYS81L0JTO0VBQ0c7QWJpNi9CWjtBYWw2L0JTO0VBQ0c7QWJvNi9CWjtBYXI2L0JTO0VBQ0c7QWJ1Ni9CWjtBYXg2L0JTO0VBQ0c7QWIwNi9CWjtBYTM2L0JTO0VBQ0c7QWI2Ni9CWjtBYTk2L0JTO0VBQ0c7QWJnNy9CWjtBYWo3L0JTO0VBQ0c7QWJtNy9CWjtBYXA3L0JTO0VBQ0c7QWJzNy9CWjtBYXY3L0JTO0VBQ0c7QWJ5Ny9CWjtBYTE3L0JTO0VBQ0c7QWI0Ny9CWjtBYTc3L0JTO0VBQ0c7QWIrNy9CWjtBYWg4L0JTO0VBQ0c7QWJrOC9CWjtBYW44L0JTO0VBQ0c7QWJxOC9CWjtBYXQ4L0JTO0VBQ0c7QWJ3OC9CWjtBYXo4L0JTO0VBQ0c7QWIyOC9CWjtBYTU4L0JTO0VBQ0c7QWI4OC9CWjtBYS84L0JTO0VBQ0c7QWJpOS9CWjtBYWw5L0JTO0VBQ0c7QWJvOS9CWjtBYXI5L0JTO0VBQ0c7QWJ1OS9CWjtBYXg5L0JTO0VBQ0c7QWIwOS9CWjtBYTM5L0JTO0VBQ0c7QWI2OS9CWjtBYTk5L0JTO0VBQ0c7QWJnKy9CWjtBYWorL0JTO0VBQ0c7QWJtKy9CWjtBYXArL0JTO0VBQ0c7QWJzKy9CWjtBYXYrL0JTO0VBQ0c7QWJ5Ky9CWjtBYTErL0JTO0VBQ0c7QWI0Ky9CWjtBYTcrL0JTO0VBQ0c7QWIrKy9CWjtBYWgvL0JTO0VBQ0c7QWJrLy9CWjtBYW4vL0JTO0VBQ0c7QWJxLy9CWjtBYXQvL0JTO0VBQ0c7QWJ3Ly9CWjtBYXovL0JTO0VBQ0c7QWIyLy9CWjtBYTUvL0JTO0VBQ0c7QWI4Ly9CWjtBYS8vL0JTO0VBQ0c7QWJpZ2dDWjtBYWxnZ0NTO0VBQ0c7QWJvZ2dDWjtBYXJnZ0NTO0VBQ0c7QWJ1Z2dDWjtBYXhnZ0NTO0VBQ0c7QWIwZ2dDWjtBYTNnZ0NTO0VBQ0c7QWI2Z2dDWjtBYTlnZ0NTO0VBQ0c7QWJnaGdDWjtBYWpoZ0NTO0VBQ0c7QWJtaGdDWjtBYXBoZ0NTO0VBQ0c7QWJzaGdDWjtBYXZoZ0NTO0VBQ0c7QWJ5aGdDWjtBYTFoZ0NTO0VBQ0c7QWI0aGdDWjtBYTdoZ0NTO0VBQ0c7QWIraGdDWjtBYWhpZ0NTO0VBQ0c7QWJraWdDWjtBYW5pZ0NTO0VBQ0c7QWJxaWdDWjtBYXRpZ0NTO0VBQ0c7QWJ3aWdDWjtBYXppZ0NTO0VBQ0c7QWIyaWdDWjtBYTVpZ0NTO0VBQ0c7QWI4aWdDWjtBYS9pZ0NTO0VBQ0c7QWJpamdDWjtBYWxqZ0NTO0VBQ0c7QWJvamdDWjtBYXJqZ0NTO0VBQ0c7QWJ1amdDWjtBYXhqZ0NTO0VBQ0c7QWIwamdDWjtBYTNqZ0NTO0VBQ0c7QWI2amdDWjtBYTlqZ0NTO0VBQ0c7QWJna2dDWjtBYWprZ0NTO0VBQ0c7QWJta2dDWjtBYXBrZ0NTO0VBQ0c7QWJza2dDWjtBYXZrZ0NTO0VBQ0c7QWJ5a2dDWjtBYTFrZ0NTO0VBQ0c7QWI0a2dDWjtBYTdrZ0NTO0VBQ0c7QWIra2dDWjtBQUNBLFlBQVk7QUFDWjs7bUNBRW1DO0FBQ25DLFVBQVU7QWFybGdDRDtFQUNHO0VBRUk7QWJzbGdDaEI7QWF6bGdDUztFQUNHO0VBRUk7QWIwbGdDaEI7QWE3bGdDUztFQUNHO0VBRUk7QWI4bGdDaEI7QWFqbWdDUztFQUNHO0VBRUk7QWJrbWdDaEI7QWFybWdDUztFQUNHO0VBRUk7QWJzbWdDaEI7QWF6bWdDUztFQUNHO0VBRUk7QWIwbWdDaEI7QWE3bWdDUztFQUNHO0VBRUk7QWI4bWdDaEI7QWFqbmdDUztFQUNHO0VBRUk7QWJrbmdDaEI7QWFybmdDUztFQUNHO0VBRUk7QWJzbmdDaEI7QWF6bmdDUztFQUNHO0VBRUk7QWIwbmdDaEI7QWE3bmdDUztFQUNHO0VBRUk7QWI4bmdDaEI7QWFqb2dDUztFQUNHO0VBRUk7QWJrb2dDaEI7QWFyb2dDUztFQUNHO0VBRUk7QWJzb2dDaEI7QWF6b2dDUztFQUNHO0VBRUk7QWIwb2dDaEI7QWE3b2dDUztFQUNHO0VBRUk7QWI4b2dDaEI7QWFqcGdDUztFQUNHO0VBRUk7QWJrcGdDaEI7QWFycGdDUztFQUNHO0VBRUk7QWJzcGdDaEI7QWF6cGdDUztFQUNHO0VBRUk7QWIwcGdDaEI7QWE3cGdDUztFQUNHO0VBRUk7QWI4cGdDaEI7QWFqcWdDUztFQUNHO0VBRUk7QWJrcWdDaEI7QWFycWdDUztFQUNHO0VBRUk7QWJzcWdDaEI7QWF6cWdDUztFQUNHO0VBRUk7QWIwcWdDaEI7QWE3cWdDUztFQUNHO0VBRUk7QWI4cWdDaEI7QWFqcmdDUztFQUNHO0VBRUk7QWJrcmdDaEI7QWFycmdDUztFQUNHO0VBRUk7QWJzcmdDaEI7QWF6cmdDUztFQUNHO0VBRUk7QWIwcmdDaEI7QWE3cmdDUztFQUNHO0VBRUk7QWI4cmdDaEI7QWFqc2dDUztFQUNHO0VBRUk7QWJrc2dDaEI7QWFyc2dDUztFQUNHO0VBRUk7QWJzc2dDaEI7QWF6c2dDUztFQUNHO0VBRUk7QWIwc2dDaEI7QWE3c2dDUztFQUNHO0VBRUk7QWI4c2dDaEI7QWFqdGdDUztFQUNHO0VBRUk7QWJrdGdDaEI7QWFydGdDUztFQUNHO0VBRUk7QWJzdGdDaEI7QWF6dGdDUztFQUNHO0VBRUk7QWIwdGdDaEI7QWE3dGdDUztFQUNHO0VBRUk7QWI4dGdDaEI7QWFqdWdDUztFQUNHO0VBRUk7QWJrdWdDaEI7QWFydWdDUztFQUNHO0VBRUk7QWJzdWdDaEI7QWF6dWdDUztFQUNHO0VBRUk7QWIwdWdDaEI7QWE3dWdDUztFQUNHO0VBRUk7QWI4dWdDaEI7QWFqdmdDUztFQUNHO0VBRUk7QWJrdmdDaEI7QWFydmdDUztFQUNHO0VBRUk7QWJzdmdDaEI7QWF6dmdDUztFQUNHO0VBRUk7QWIwdmdDaEI7QWE3dmdDUztFQUNHO0VBRUk7QWI4dmdDaEI7QWFqd2dDUztFQUNHO0VBRUk7QWJrd2dDaEI7QWFyd2dDUztFQUNHO0VBRUk7QWJzd2dDaEI7QWF6d2dDUztFQUNHO0VBRUk7QWIwd2dDaEI7QWE3d2dDUztFQUNHO0VBRUk7QWI4d2dDaEI7QWFqeGdDUztFQUNHO0VBRUk7QWJreGdDaEI7QWFyeGdDUztFQUNHO0VBRUk7QWJzeGdDaEI7QWF6eGdDUztFQUNHO0VBRUk7QWIweGdDaEI7QWE3eGdDUztFQUNHO0VBRUk7QWI4eGdDaEI7QWFqeWdDUztFQUNHO0VBRUk7QWJreWdDaEI7QWFyeWdDUztFQUNHO0VBRUk7QWJzeWdDaEI7QWF6eWdDUztFQUNHO0VBRUk7QWIweWdDaEI7QWE3eWdDUztFQUNHO0VBRUk7QWI4eWdDaEI7QWFqemdDUztFQUNHO0VBRUk7QWJremdDaEI7QWFyemdDUztFQUNHO0VBRUk7QWJzemdDaEI7QWF6emdDUztFQUNHO0VBRUk7QWIwemdDaEI7QWE3emdDUztFQUNHO0VBRUk7QWI4emdDaEI7QWFqMGdDUztFQUNHO0VBRUk7QWJrMGdDaEI7QWFyMGdDUztFQUNHO0VBRUk7QWJzMGdDaEI7QWF6MGdDUztFQUNHO0VBRUk7QWIwMGdDaEI7QWE3MGdDUztFQUNHO0VBRUk7QWI4MGdDaEI7QWFqMWdDUztFQUNHO0VBRUk7QWJrMWdDaEI7QWFyMWdDUztFQUNHO0VBRUk7QWJzMWdDaEI7QWF6MWdDUztFQUNHO0VBRUk7QWIwMWdDaEI7QWE3MWdDUztFQUNHO0VBRUk7QWI4MWdDaEI7QWFqMmdDUztFQUNHO0VBRUk7QWJrMmdDaEI7QWFyMmdDUztFQUNHO0VBRUk7QWJzMmdDaEI7QWF6MmdDUztFQUNHO0VBRUk7QWIwMmdDaEI7QWE3MmdDUztFQUNHO0VBRUk7QWI4MmdDaEI7QWFqM2dDUztFQUNHO0VBRUk7QWJrM2dDaEI7QWFyM2dDUztFQUNHO0VBRUk7QWJzM2dDaEI7QWF6M2dDUztFQUNHO0VBRUk7QWIwM2dDaEI7QWE3M2dDUztFQUNHO0VBRUk7QWI4M2dDaEI7QWFqNGdDUztFQUNHO0VBRUk7QWJrNGdDaEI7QWFyNGdDUztFQUNHO0VBRUk7QWJzNGdDaEI7QWF6NGdDUztFQUNHO0VBRUk7QWIwNGdDaEI7QWE3NGdDUztFQUNHO0VBRUk7QWI4NGdDaEI7QWFqNWdDUztFQUNHO0VBRUk7QWJrNWdDaEI7QWFyNWdDUztFQUNHO0VBRUk7QWJzNWdDaEI7QWF6NWdDUztFQUNHO0VBRUk7QWIwNWdDaEI7QWE3NWdDUztFQUNHO0VBRUk7QWI4NWdDaEI7QWFqNmdDUztFQUNHO0VBRUk7QWJrNmdDaEI7QWFyNmdDUztFQUNHO0VBRUk7QWJzNmdDaEI7QWF6NmdDUztFQUNHO0VBRUk7QWIwNmdDaEI7QWE3NmdDUztFQUNHO0VBRUk7QWI4NmdDaEI7QWFqN2dDUztFQUNHO0VBRUk7QWJrN2dDaEI7QWFyN2dDUztFQUNHO0VBRUk7QWJzN2dDaEI7QWF6N2dDUztFQUNHO0VBRUk7QWIwN2dDaEI7QWE3N2dDUztFQUNHO0VBRUk7QWI4N2dDaEI7QWFqOGdDUztFQUNHO0VBRUk7QWJrOGdDaEI7QWFyOGdDUztFQUNHO0VBRUk7QWJzOGdDaEI7QWF6OGdDUztFQUNHO0VBRUk7QWIwOGdDaEI7QWE3OGdDUztFQUNHO0VBRUk7QWI4OGdDaEI7QWFqOWdDUztFQUNHO0VBRUk7QWJrOWdDaEI7QWFyOWdDUztFQUNHO0VBRUk7QWJzOWdDaEI7QWF6OWdDUztFQUNHO0VBRUk7QWIwOWdDaEI7QWE3OWdDUztFQUNHO0VBRUk7QWI4OWdDaEI7QWFqK2dDUztFQUNHO0VBRUk7QWJrK2dDaEI7QWFyK2dDUztFQUNHO0VBRUk7QWJzK2dDaEI7QWF6K2dDUztFQUNHO0VBRUk7QWIwK2dDaEI7QWE3K2dDUztFQUNHO0VBRUk7QWI4K2dDaEI7QWFqL2dDUztFQUNHO0VBRUk7QWJrL2dDaEI7QWFyL2dDUztFQUNHO0VBRUk7QWJzL2dDaEI7QWF6L2dDUztFQUNHO0VBRUk7QWIwL2dDaEI7QWE3L2dDUztFQUNHO0VBRUk7QWI4L2dDaEI7QWFqZ2hDUztFQUNHO0VBRUk7QWJrZ2hDaEI7QWFyZ2hDUztFQUNHO0VBRUk7QWJzZ2hDaEI7QWF6Z2hDUztFQUNHO0VBRUk7QWIwZ2hDaEI7QWE3Z2hDUztFQUNHO0VBRUk7QWI4Z2hDaEI7QWFqaGhDUztFQUNHO0VBRUk7QWJraGhDaEI7QWFyaGhDUztFQUNHO0VBRUk7QWJzaGhDaEI7QWF6aGhDUztFQUNHO0VBRUk7QWIwaGhDaEI7QWE3aGhDUztFQUNHO0VBRUk7QWI4aGhDaEI7QWFqaWhDUztFQUNHO0VBRUk7QWJraWhDaEI7QWFyaWhDUztFQUNHO0VBRUk7QWJzaWhDaEI7QWF6aWhDUztFQUNHO0VBRUk7QWIwaWhDaEI7QWE3aWhDUztFQUNHO0VBRUk7QWI4aWhDaEI7QWFqamhDUztFQUNHO0VBRUk7QWJramhDaEI7QWFyamhDUztFQUNHO0VBRUk7QWJzamhDaEI7QWF6amhDUztFQUNHO0VBRUk7QWIwamhDaEI7QWE3amhDUztFQUNHO0VBRUk7QWI4amhDaEI7QWFqa2hDUztFQUNHO0VBRUk7QWJra2hDaEI7QWFya2hDUztFQUNHO0VBRUk7QWJza2hDaEI7QWF6a2hDUztFQUNHO0VBRUk7QWIwa2hDaEI7QWE3a2hDUztFQUNHO0VBRUk7QWI4a2hDaEI7QWFqbGhDUztFQUNHO0VBRUk7QWJrbGhDaEI7QWFybGhDUztFQUNHO0VBRUk7QWJzbGhDaEI7QWF6bGhDUztFQUNHO0VBRUk7QWIwbGhDaEI7QWE3bGhDUztFQUNHO0VBRUk7QWI4bGhDaEI7QWFqbWhDUztFQUNHO0VBRUk7QWJrbWhDaEI7QWFybWhDUztFQUNHO0VBRUk7QWJzbWhDaEI7QWF6bWhDUztFQUNHO0VBRUk7QWIwbWhDaEI7QWE3bWhDUztFQUNHO0VBRUk7QWI4bWhDaEI7QWFqbmhDUztFQUNHO0VBRUk7QWJrbmhDaEI7QWFybmhDUztFQUNHO0VBRUk7QWJzbmhDaEI7QWF6bmhDUztFQUNHO0VBRUk7QWIwbmhDaEI7QWE3bmhDUztFQUNHO0VBRUk7QWI4bmhDaEI7QWFqb2hDUztFQUNHO0VBRUk7QWJrb2hDaEI7QWFyb2hDUztFQUNHO0VBRUk7QWJzb2hDaEI7QWF6b2hDUztFQUNHO0VBRUk7QWIwb2hDaEI7QWE3b2hDUztFQUNHO0VBRUk7QWI4b2hDaEI7QWFqcGhDUztFQUNHO0VBRUk7QWJrcGhDaEI7QWFycGhDUztFQUNHO0VBRUk7QWJzcGhDaEI7QWF6cGhDUztFQUNHO0VBRUk7QWIwcGhDaEI7QWE3cGhDUztFQUNHO0VBRUk7QWI4cGhDaEI7QWFqcWhDUztFQUNHO0VBRUk7QWJrcWhDaEI7QWFycWhDUztFQUNHO0VBRUk7QWJzcWhDaEI7QWF6cWhDUztFQUNHO0VBRUk7QWIwcWhDaEI7QWE3cWhDUztFQUNHO0VBRUk7QWI4cWhDaEI7QWFqcmhDUztFQUNHO0VBRUk7QWJrcmhDaEI7QWFycmhDUztFQUNHO0VBRUk7QWJzcmhDaEI7QWF6cmhDUztFQUNHO0VBRUk7QWIwcmhDaEI7QWE3cmhDUztFQUNHO0VBRUk7QWI4cmhDaEI7QWFqc2hDUztFQUNHO0VBRUk7QWJrc2hDaEI7QWFyc2hDUztFQUNHO0VBRUk7QWJzc2hDaEI7QWF6c2hDUztFQUNHO0VBRUk7QWIwc2hDaEI7QWE3c2hDUztFQUNHO0VBRUk7QWI4c2hDaEI7QWFqdGhDUztFQUNHO0VBRUk7QWJrdGhDaEI7QWFydGhDUztFQUNHO0VBRUk7QWJzdGhDaEI7QWF6dGhDUztFQUNHO0VBRUk7QWIwdGhDaEI7QWE3dGhDUztFQUNHO0VBRUk7QWI4dGhDaEI7QWFqdWhDUztFQUNHO0VBRUk7QWJrdWhDaEI7QWFydWhDUztFQUNHO0VBRUk7QWJzdWhDaEI7QWF6dWhDUztFQUNHO0VBRUk7QWIwdWhDaEI7QWE3dWhDUztFQUNHO0VBRUk7QWI4dWhDaEI7QWFqdmhDUztFQUNHO0VBRUk7QWJrdmhDaEI7QWFydmhDUztFQUNHO0VBRUk7QWJzdmhDaEI7QWF6dmhDUztFQUNHO0VBRUk7QWIwdmhDaEI7QWE3dmhDUztFQUNHO0VBRUk7QWI4dmhDaEI7QWFqd2hDUztFQUNHO0VBRUk7QWJrd2hDaEI7QWFyd2hDUztFQUNHO0VBRUk7QWJzd2hDaEI7QWF6d2hDUztFQUNHO0VBRUk7QWIwd2hDaEI7QWE3d2hDUztFQUNHO0VBRUk7QWI4d2hDaEI7QWFqeGhDUztFQUNHO0VBRUk7QWJreGhDaEI7QWFyeGhDUztFQUNHO0VBRUk7QWJzeGhDaEI7QWF6eGhDUztFQUNHO0VBRUk7QWIweGhDaEI7QWE3eGhDUztFQUNHO0VBRUk7QWI4eGhDaEI7QWFqeWhDUztFQUNHO0VBRUk7QWJreWhDaEI7QWFyeWhDUztFQUNHO0VBRUk7QWJzeWhDaEI7QWF6eWhDUztFQUNHO0VBRUk7QWIweWhDaEI7QWE3eWhDUztFQUNHO0VBRUk7QWI4eWhDaEI7QWFqemhDUztFQUNHO0VBRUk7QWJremhDaEI7QWFyemhDUztFQUNHO0VBRUk7QWJzemhDaEI7QWF6emhDUztFQUNHO0VBRUk7QWIwemhDaEI7QWE3emhDUztFQUNHO0VBRUk7QWI4emhDaEI7QWFqMGhDUztFQUNHO0VBRUk7QWJrMGhDaEI7QWFyMGhDUztFQUNHO0VBRUk7QWJzMGhDaEI7QWF6MGhDUztFQUNHO0VBRUk7QWIwMGhDaEI7QWE3MGhDUztFQUNHO0VBRUk7QWI4MGhDaEI7QWFqMWhDUztFQUNHO0VBRUk7QWJrMWhDaEI7QWFyMWhDUztFQUNHO0VBRUk7QWJzMWhDaEI7QWF6MWhDUztFQUNHO0VBRUk7QWIwMWhDaEI7QWE3MWhDUztFQUNHO0VBRUk7QWI4MWhDaEI7QWFqMmhDUztFQUNHO0VBRUk7QWJrMmhDaEI7QWFyMmhDUztFQUNHO0VBRUk7QWJzMmhDaEI7QWF6MmhDUztFQUNHO0VBRUk7QWIwMmhDaEI7QWE3MmhDUztFQUNHO0VBRUk7QWI4MmhDaEI7QWFqM2hDUztFQUNHO0VBRUk7QWJrM2hDaEI7QWFyM2hDUztFQUNHO0VBRUk7QWJzM2hDaEI7QWF6M2hDUztFQUNHO0VBRUk7QWIwM2hDaEI7QWE3M2hDUztFQUNHO0VBRUk7QWI4M2hDaEI7QWFqNGhDUztFQUNHO0VBRUk7QWJrNGhDaEI7QWFyNGhDUztFQUNHO0VBRUk7QWJzNGhDaEI7QWF6NGhDUztFQUNHO0VBRUk7QWIwNGhDaEI7QWE3NGhDUztFQUNHO0VBRUk7QWI4NGhDaEI7QWFqNWhDUztFQUNHO0VBRUk7QWJrNWhDaEI7QWFyNWhDUztFQUNHO0VBRUk7QWJzNWhDaEI7QWF6NWhDUztFQUNHO0VBRUk7QWIwNWhDaEI7QWE3NWhDUztFQUNHO0VBRUk7QWI4NWhDaEI7QWFqNmhDUztFQUNHO0VBRUk7QWJrNmhDaEI7QWFyNmhDUztFQUNHO0VBRUk7QWJzNmhDaEI7QWF6NmhDUztFQUNHO0VBRUk7QWIwNmhDaEI7QWE3NmhDUztFQUNHO0VBRUk7QWI4NmhDaEI7QWFqN2hDUztFQUNHO0VBRUk7QWJrN2hDaEI7QWFyN2hDUztFQUNHO0VBRUk7QWJzN2hDaEI7QWF6N2hDUztFQUNHO0VBRUk7QWIwN2hDaEI7QWE3N2hDUztFQUNHO0VBRUk7QWI4N2hDaEI7QWFqOGhDUztFQUNHO0VBRUk7QWJrOGhDaEI7QWFyOGhDUztFQUNHO0VBRUk7QWJzOGhDaEI7QWF6OGhDUztFQUNHO0VBRUk7QWIwOGhDaEI7QWE3OGhDUztFQUNHO0VBRUk7QWI4OGhDaEI7QWFqOWhDUztFQUNHO0VBRUk7QWJrOWhDaEI7QWFyOWhDUztFQUNHO0VBRUk7QWJzOWhDaEI7QWF6OWhDUztFQUNHO0VBRUk7QWIwOWhDaEI7QWE3OWhDUztFQUNHO0VBRUk7QWI4OWhDaEI7QWFqK2hDUztFQUNHO0VBRUk7QWJrK2hDaEI7QWFyK2hDUztFQUNHO0VBRUk7QWJzK2hDaEI7QWF6K2hDUztFQUNHO0VBRUk7QWIwK2hDaEI7QWE3K2hDUztFQUNHO0VBRUk7QWI4K2hDaEI7QWFqL2hDUztFQUNHO0VBRUk7QWJrL2hDaEI7QWFyL2hDUztFQUNHO0VBRUk7QWJzL2hDaEI7QWF6L2hDUztFQUNHO0VBRUk7QWIwL2hDaEI7QWE3L2hDUztFQUNHO0VBRUk7QWI4L2hDaEI7QWFqZ2lDUztFQUNHO0VBRUk7QWJrZ2lDaEI7QWFyZ2lDUztFQUNHO0VBRUk7QWJzZ2lDaEI7QWF6Z2lDUztFQUNHO0VBRUk7QWIwZ2lDaEI7QWE3Z2lDUztFQUNHO0VBRUk7QWI4Z2lDaEI7QWFqaGlDUztFQUNHO0VBRUk7QWJraGlDaEI7QWFyaGlDUztFQUNHO0VBRUk7QWJzaGlDaEI7QWF6aGlDUztFQUNHO0VBRUk7QWIwaGlDaEI7QWE3aGlDUztFQUNHO0VBRUk7QWI4aGlDaEI7QWFqaWlDUztFQUNHO0VBRUk7QWJraWlDaEI7QWFyaWlDUztFQUNHO0VBRUk7QWJzaWlDaEI7QWF6aWlDUztFQUNHO0VBRUk7QWIwaWlDaEI7QWE3aWlDUztFQUNHO0VBRUk7QWI4aWlDaEI7QWFqamlDUztFQUNHO0VBRUk7QWJramlDaEI7QWFyamlDUztFQUNHO0VBRUk7QWJzamlDaEI7QWF6amlDUztFQUNHO0VBRUk7QWIwamlDaEI7QWE3amlDUztFQUNHO0VBRUk7QWI4amlDaEI7QWFqa2lDUztFQUNHO0VBRUk7QWJra2lDaEI7QWFya2lDUztFQUNHO0VBRUk7QWJza2lDaEI7QWF6a2lDUztFQUNHO0VBRUk7QWIwa2lDaEI7QWE3a2lDUztFQUNHO0VBRUk7QWI4a2lDaEI7QWFqbGlDUztFQUNHO0VBRUk7QWJrbGlDaEI7QWFybGlDUztFQUNHO0VBRUk7QWJzbGlDaEI7QWF6bGlDUztFQUNHO0VBRUk7QWIwbGlDaEI7QWE3bGlDUztFQUNHO0VBRUk7QWI4bGlDaEI7QWFqbWlDUztFQUNHO0VBRUk7QWJrbWlDaEI7QWFybWlDUztFQUNHO0VBRUk7QWJzbWlDaEI7QWF6bWlDUztFQUNHO0VBRUk7QWIwbWlDaEI7QWE3bWlDUztFQUNHO0VBRUk7QWI4bWlDaEI7QWFqbmlDUztFQUNHO0VBRUk7QWJrbmlDaEI7QWFybmlDUztFQUNHO0VBRUk7QWJzbmlDaEI7QWF6bmlDUztFQUNHO0VBRUk7QWIwbmlDaEI7QWE3bmlDUztFQUNHO0VBRUk7QWI4bmlDaEI7QWFqb2lDUztFQUNHO0VBRUk7QWJrb2lDaEI7QWFyb2lDUztFQUNHO0VBRUk7QWJzb2lDaEI7QWF6b2lDUztFQUNHO0VBRUk7QWIwb2lDaEI7QWE3b2lDUztFQUNHO0VBRUk7QWI4b2lDaEI7QWFqcGlDUztFQUNHO0VBRUk7QWJrcGlDaEI7QWFycGlDUztFQUNHO0VBRUk7QWJzcGlDaEI7QWF6cGlDUztFQUNHO0VBRUk7QWIwcGlDaEI7QWE3cGlDUztFQUNHO0VBRUk7QWI4cGlDaEI7QWFqcWlDUztFQUNHO0VBRUk7QWJrcWlDaEI7QWFycWlDUztFQUNHO0VBRUk7QWJzcWlDaEI7QWF6cWlDUztFQUNHO0VBRUk7QWIwcWlDaEI7QWE3cWlDUztFQUNHO0VBRUk7QWI4cWlDaEI7QWFqcmlDUztFQUNHO0VBRUk7QWJrcmlDaEI7QWFycmlDUztFQUNHO0VBRUk7QWJzcmlDaEI7QWF6cmlDUztFQUNHO0VBRUk7QWIwcmlDaEI7QWE3cmlDUztFQUNHO0VBRUk7QWI4cmlDaEI7QWFqc2lDUztFQUNHO0VBRUk7QWJrc2lDaEI7QWFyc2lDUztFQUNHO0VBRUk7QWJzc2lDaEI7QWF6c2lDUztFQUNHO0VBRUk7QWIwc2lDaEI7QWE3c2lDUztFQUNHO0VBRUk7QWI4c2lDaEI7QWFqdGlDUztFQUNHO0VBRUk7QWJrdGlDaEI7QWFydGlDUztFQUNHO0VBRUk7QWJzdGlDaEI7QWF6dGlDUztFQUNHO0VBRUk7QWIwdGlDaEI7QWE3dGlDUztFQUNHO0VBRUk7QWI4dGlDaEI7QWFqdWlDUztFQUNHO0VBRUk7QWJrdWlDaEI7QWFydWlDUztFQUNHO0VBRUk7QWJzdWlDaEI7QWF6dWlDUztFQUNHO0VBRUk7QWIwdWlDaEI7QWE3dWlDUztFQUNHO0VBRUk7QWI4dWlDaEI7QWFqdmlDUztFQUNHO0VBRUk7QWJrdmlDaEI7QWFydmlDUztFQUNHO0VBRUk7QWJzdmlDaEI7QWF6dmlDUztFQUNHO0VBRUk7QWIwdmlDaEI7QWE3dmlDUztFQUNHO0VBRUk7QWI4dmlDaEI7QWFqd2lDUztFQUNHO0VBRUk7QWJrd2lDaEI7QWFyd2lDUztFQUNHO0VBRUk7QWJzd2lDaEI7QWF6d2lDUztFQUNHO0VBRUk7QWIwd2lDaEI7QWE3d2lDUztFQUNHO0VBRUk7QWI4d2lDaEI7QWFqeGlDUztFQUNHO0VBRUk7QWJreGlDaEI7QWFyeGlDUztFQUNHO0VBRUk7QWJzeGlDaEI7QWF6eGlDUztFQUNHO0VBRUk7QWIweGlDaEI7QWE3eGlDUztFQUNHO0VBRUk7QWI4eGlDaEI7QWFqeWlDUztFQUNHO0VBRUk7QWJreWlDaEI7QWFyeWlDUztFQUNHO0VBRUk7QWJzeWlDaEI7QWF6eWlDUztFQUNHO0VBRUk7QWIweWlDaEI7QWE3eWlDUztFQUNHO0VBRUk7QWI4eWlDaEI7QWFqemlDUztFQUNHO0VBRUk7QWJremlDaEI7QWFyemlDUztFQUNHO0VBRUk7QWJzemlDaEI7QWF6emlDUztFQUNHO0VBRUk7QWIwemlDaEI7QWE3emlDUztFQUNHO0VBRUk7QWI4emlDaEI7QWFqMGlDUztFQUNHO0VBRUk7QWJrMGlDaEI7QWFyMGlDUztFQUNHO0VBRUk7QWJzMGlDaEI7QWF6MGlDUztFQUNHO0VBRUk7QWIwMGlDaEI7QWE3MGlDUztFQUNHO0VBRUk7QWI4MGlDaEI7QWFqMWlDUztFQUNHO0VBRUk7QWJrMWlDaEI7QWFyMWlDUztFQUNHO0VBRUk7QWJzMWlDaEI7QWF6MWlDUztFQUNHO0VBRUk7QWIwMWlDaEI7QWE3MWlDUztFQUNHO0VBRUk7QWI4MWlDaEI7QWFqMmlDUztFQUNHO0VBRUk7QWJrMmlDaEI7QWFyMmlDUztFQUNHO0VBRUk7QWJzMmlDaEI7QWF6MmlDUztFQUNHO0VBRUk7QWIwMmlDaEI7QWE3MmlDUztFQUNHO0VBRUk7QWI4MmlDaEI7QWFqM2lDUztFQUNHO0VBRUk7QWJrM2lDaEI7QWFyM2lDUztFQUNHO0VBRUk7QWJzM2lDaEI7QWF6M2lDUztFQUNHO0VBRUk7QWIwM2lDaEI7QWE3M2lDUztFQUNHO0VBRUk7QWI4M2lDaEI7QWFqNGlDUztFQUNHO0VBRUk7QWJrNGlDaEI7QWFyNGlDUztFQUNHO0VBRUk7QWJzNGlDaEI7QWF6NGlDUztFQUNHO0VBRUk7QWIwNGlDaEI7QWE3NGlDUztFQUNHO0VBRUk7QWI4NGlDaEI7QWFqNWlDUztFQUNHO0VBRUk7QWJrNWlDaEI7QWFyNWlDUztFQUNHO0VBRUk7QWJzNWlDaEI7QWF6NWlDUztFQUNHO0VBRUk7QWIwNWlDaEI7QWE3NWlDUztFQUNHO0VBRUk7QWI4NWlDaEI7QWFqNmlDUztFQUNHO0VBRUk7QWJrNmlDaEI7QWFyNmlDUztFQUNHO0VBRUk7QWJzNmlDaEI7QWF6NmlDUztFQUNHO0VBRUk7QWIwNmlDaEI7QWE3NmlDUztFQUNHO0VBRUk7QWI4NmlDaEI7QWFqN2lDUztFQUNHO0VBRUk7QWJrN2lDaEI7QWFyN2lDUztFQUNHO0VBRUk7QWJzN2lDaEI7QWF6N2lDUztFQUNHO0VBRUk7QWIwN2lDaEI7QWE3N2lDUztFQUNHO0VBRUk7QWI4N2lDaEI7QWFqOGlDUztFQUNHO0VBRUk7QWJrOGlDaEI7QWFyOGlDUztFQUNHO0VBRUk7QWJzOGlDaEI7QWF6OGlDUztFQUNHO0VBRUk7QWIwOGlDaEI7QWE3OGlDUztFQUNHO0VBRUk7QWI4OGlDaEI7QWFqOWlDUztFQUNHO0VBRUk7QWJrOWlDaEI7QWFyOWlDUztFQUNHO0VBRUk7QWJzOWlDaEI7QWF6OWlDUztFQUNHO0VBRUk7QWIwOWlDaEI7QWE3OWlDUztFQUNHO0VBRUk7QWI4OWlDaEI7QWFqK2lDUztFQUNHO0VBRUk7QWJrK2lDaEI7QWFyK2lDUztFQUNHO0VBRUk7QWJzK2lDaEI7QWF6K2lDUztFQUNHO0VBRUk7QWIwK2lDaEI7QWE3K2lDUztFQUNHO0VBRUk7QWI4K2lDaEI7QWFqL2lDUztFQUNHO0VBRUk7QWJrL2lDaEI7QWFyL2lDUztFQUNHO0VBRUk7QWJzL2lDaEI7QWF6L2lDUztFQUNHO0VBRUk7QWIwL2lDaEI7QWE3L2lDUztFQUNHO0VBRUk7QWI4L2lDaEI7QWFqZ2pDUztFQUNHO0VBRUk7QWJrZ2pDaEI7QWFyZ2pDUztFQUNHO0VBRUk7QWJzZ2pDaEI7QWF6Z2pDUztFQUNHO0VBRUk7QWIwZ2pDaEI7QWE3Z2pDUztFQUNHO0VBRUk7QWI4Z2pDaEI7QWFqaGpDUztFQUNHO0VBRUk7QWJraGpDaEI7QWFyaGpDUztFQUNHO0VBRUk7QWJzaGpDaEI7QWF6aGpDUztFQUNHO0VBRUk7QWIwaGpDaEI7QWE3aGpDUztFQUNHO0VBRUk7QWI4aGpDaEI7QWFqaWpDUztFQUNHO0VBRUk7QWJraWpDaEI7QWFyaWpDUztFQUNHO0VBRUk7QWJzaWpDaEI7QWF6aWpDUztFQUNHO0VBRUk7QWIwaWpDaEI7QWE3aWpDUztFQUNHO0VBRUk7QWI4aWpDaEI7QWFqampDUztFQUNHO0VBRUk7QWJrampDaEI7QWFyampDUztFQUNHO0VBRUk7QWJzampDaEI7QWF6ampDUztFQUNHO0VBRUk7QWIwampDaEI7QWE3ampDUztFQUNHO0VBRUk7QWI4ampDaEI7QWFqa2pDUztFQUNHO0VBRUk7QWJra2pDaEI7QWFya2pDUztFQUNHO0VBRUk7QWJza2pDaEI7QWF6a2pDUztFQUNHO0VBRUk7QWIwa2pDaEI7QWE3a2pDUztFQUNHO0VBRUk7QWI4a2pDaEI7QWFqbGpDUztFQUNHO0VBRUk7QWJrbGpDaEI7QWFybGpDUztFQUNHO0VBRUk7QWJzbGpDaEI7QWF6bGpDUztFQUNHO0VBRUk7QWIwbGpDaEI7QWE3bGpDUztFQUNHO0VBRUk7QWI4bGpDaEI7QWFqbWpDUztFQUNHO0VBRUk7QWJrbWpDaEI7QWFybWpDUztFQUNHO0VBRUk7QWJzbWpDaEI7QWF6bWpDUztFQUNHO0VBRUk7QWIwbWpDaEI7QWE3bWpDUztFQUNHO0VBRUk7QWI4bWpDaEI7QWFqbmpDUztFQUNHO0VBRUk7QWJrbmpDaEI7QWFybmpDUztFQUNHO0VBRUk7QWJzbmpDaEI7QWF6bmpDUztFQUNHO0VBRUk7QWIwbmpDaEI7QWE3bmpDUztFQUNHO0VBRUk7QWI4bmpDaEI7QWFqb2pDUztFQUNHO0VBRUk7QWJrb2pDaEI7QWFyb2pDUztFQUNHO0VBRUk7QWJzb2pDaEI7QWF6b2pDUztFQUNHO0VBRUk7QWIwb2pDaEI7QWE3b2pDUztFQUNHO0VBRUk7QWI4b2pDaEI7QWFqcGpDUztFQUNHO0VBRUk7QWJrcGpDaEI7QWFycGpDUztFQUNHO0VBRUk7QWJzcGpDaEI7QWF6cGpDUztFQUNHO0VBRUk7QWIwcGpDaEI7QWE3cGpDUztFQUNHO0VBRUk7QWI4cGpDaEI7QWFqcWpDUztFQUNHO0VBRUk7QWJrcWpDaEI7QWFycWpDUztFQUNHO0VBRUk7QWJzcWpDaEI7QWF6cWpDUztFQUNHO0VBRUk7QWIwcWpDaEI7QWE3cWpDUztFQUNHO0VBRUk7QWI4cWpDaEI7QWFqcmpDUztFQUNHO0VBRUk7QWJrcmpDaEI7QWFycmpDUztFQUNHO0VBRUk7QWJzcmpDaEI7QWF6cmpDUztFQUNHO0VBRUk7QWIwcmpDaEI7QWE3cmpDUztFQUNHO0VBRUk7QWI4cmpDaEI7QWFqc2pDUztFQUNHO0VBRUk7QWJrc2pDaEI7QWFyc2pDUztFQUNHO0VBRUk7QWJzc2pDaEI7QWF6c2pDUztFQUNHO0VBRUk7QWIwc2pDaEI7QWE3c2pDUztFQUNHO0VBRUk7QWI4c2pDaEI7QWFqdGpDUztFQUNHO0VBRUk7QWJrdGpDaEI7QWFydGpDUztFQUNHO0VBRUk7QWJzdGpDaEI7QWF6dGpDUztFQUNHO0VBRUk7QWIwdGpDaEI7QWE3dGpDUztFQUNHO0VBRUk7QWI4dGpDaEI7QWFqdWpDUztFQUNHO0VBRUk7QWJrdWpDaEI7QWFydWpDUztFQUNHO0VBRUk7QWJzdWpDaEI7QWF6dWpDUztFQUNHO0VBRUk7QWIwdWpDaEI7QWE3dWpDUztFQUNHO0VBRUk7QWI4dWpDaEI7QWFqdmpDUztFQUNHO0VBRUk7QWJrdmpDaEI7QWFydmpDUztFQUNHO0VBRUk7QWJzdmpDaEI7QWF6dmpDUztFQUNHO0VBRUk7QWIwdmpDaEI7QWE3dmpDUztFQUNHO0VBRUk7QWI4dmpDaEI7QWFqd2pDUztFQUNHO0VBRUk7QWJrd2pDaEI7QWFyd2pDUztFQUNHO0VBRUk7QWJzd2pDaEI7QWF6d2pDUztFQUNHO0VBRUk7QWIwd2pDaEI7QWE3d2pDUztFQUNHO0VBRUk7QWI4d2pDaEI7QWFqeGpDUztFQUNHO0VBRUk7QWJreGpDaEI7QWFyeGpDUztFQUNHO0VBRUk7QWJzeGpDaEI7QWF6eGpDUztFQUNHO0VBRUk7QWIweGpDaEI7QWE3eGpDUztFQUNHO0VBRUk7QWI4eGpDaEI7QWFqeWpDUztFQUNHO0VBRUk7QWJreWpDaEI7QWFyeWpDUztFQUNHO0VBRUk7QWJzeWpDaEI7QWF6eWpDUztFQUNHO0VBRUk7QWIweWpDaEI7QWE3eWpDUztFQUNHO0VBRUk7QWI4eWpDaEI7QWFqempDUztFQUNHO0VBRUk7QWJrempDaEI7QWFyempDUztFQUNHO0VBRUk7QWJzempDaEI7QWF6empDUztFQUNHO0VBRUk7QWIwempDaEI7QWE3empDUztFQUNHO0VBRUk7QWI4empDaEI7QWFqMGpDUztFQUNHO0VBRUk7QWJrMGpDaEI7QWFyMGpDUztFQUNHO0VBRUk7QWJzMGpDaEI7QWF6MGpDUztFQUNHO0VBRUk7QWIwMGpDaEI7QWE3MGpDUztFQUNHO0VBRUk7QWI4MGpDaEI7QWFqMWpDUztFQUNHO0VBRUk7QWJrMWpDaEI7QWFyMWpDUztFQUNHO0VBRUk7QWJzMWpDaEI7QWF6MWpDUztFQUNHO0VBRUk7QWIwMWpDaEI7QWE3MWpDUztFQUNHO0VBRUk7QWI4MWpDaEI7QWFqMmpDUztFQUNHO0VBRUk7QWJrMmpDaEI7QWFyMmpDUztFQUNHO0VBRUk7QWJzMmpDaEI7QWF6MmpDUztFQUNHO0VBRUk7QWIwMmpDaEI7QWE3MmpDUztFQUNHO0VBRUk7QWI4MmpDaEI7QUFDQSxZQUFZO0FhbDNqQ0g7RUFDRztFQUVJO0FibTNqQ2hCO0FhdDNqQ1M7RUFDRztFQUVJO0FidTNqQ2hCO0FhMTNqQ1M7RUFDRztFQUVJO0FiMjNqQ2hCO0FhOTNqQ1M7RUFDRztFQUVJO0FiKzNqQ2hCO0FhbDRqQ1M7RUFDRztFQUVJO0FibTRqQ2hCO0FhdDRqQ1M7RUFDRztFQUVJO0FidTRqQ2hCO0FhMTRqQ1M7RUFDRztFQUVJO0FiMjRqQ2hCO0FhOTRqQ1M7RUFDRztFQUVJO0FiKzRqQ2hCO0FhbDVqQ1M7RUFDRztFQUVJO0FibTVqQ2hCO0FhdDVqQ1M7RUFDRztFQUVJO0FidTVqQ2hCO0FhMTVqQ1M7RUFDRztFQUVJO0FiMjVqQ2hCO0FhOTVqQ1M7RUFDRztFQUVJO0FiKzVqQ2hCO0FhbDZqQ1M7RUFDRztFQUVJO0FibTZqQ2hCO0FhdDZqQ1M7RUFDRztFQUVJO0FidTZqQ2hCO0FhMTZqQ1M7RUFDRztFQUVJO0FiMjZqQ2hCO0FhOTZqQ1M7RUFDRztFQUVJO0FiKzZqQ2hCO0FhbDdqQ1M7RUFDRztFQUVJO0FibTdqQ2hCO0FhdDdqQ1M7RUFDRztFQUVJO0FidTdqQ2hCO0FhMTdqQ1M7RUFDRztFQUVJO0FiMjdqQ2hCO0FhOTdqQ1M7RUFDRztFQUVJO0FiKzdqQ2hCO0FhbDhqQ1M7RUFDRztFQUVJO0FibThqQ2hCO0FhdDhqQ1M7RUFDRztFQUVJO0FidThqQ2hCO0FhMThqQ1M7RUFDRztFQUVJO0FiMjhqQ2hCO0FhOThqQ1M7RUFDRztFQUVJO0FiKzhqQ2hCO0FhbDlqQ1M7RUFDRztFQUVJO0FibTlqQ2hCO0FhdDlqQ1M7RUFDRztFQUVJO0FidTlqQ2hCO0FhMTlqQ1M7RUFDRztFQUVJO0FiMjlqQ2hCO0FhOTlqQ1M7RUFDRztFQUVJO0FiKzlqQ2hCO0FhbCtqQ1M7RUFDRztFQUVJO0FibStqQ2hCO0FhdCtqQ1M7RUFDRztFQUVJO0FidStqQ2hCO0FhMStqQ1M7RUFDRztFQUVJO0FiMitqQ2hCO0FhOStqQ1M7RUFDRztFQUVJO0FiKytqQ2hCO0FhbC9qQ1M7RUFDRztFQUVJO0FibS9qQ2hCO0FhdC9qQ1M7RUFDRztFQUVJO0FidS9qQ2hCO0FhMS9qQ1M7RUFDRztFQUVJO0FiMi9qQ2hCO0FhOS9qQ1M7RUFDRztFQUVJO0FiKy9qQ2hCO0FhbGdrQ1M7RUFDRztFQUVJO0FibWdrQ2hCO0FhdGdrQ1M7RUFDRztFQUVJO0FidWdrQ2hCO0FhMWdrQ1M7RUFDRztFQUVJO0FiMmdrQ2hCO0FhOWdrQ1M7RUFDRztFQUVJO0FiK2drQ2hCO0FhbGhrQ1M7RUFDRztFQUVJO0FibWhrQ2hCO0FhdGhrQ1M7RUFDRztFQUVJO0FidWhrQ2hCO0FhMWhrQ1M7RUFDRztFQUVJO0FiMmhrQ2hCO0FhOWhrQ1M7RUFDRztFQUVJO0FiK2hrQ2hCO0FhbGlrQ1M7RUFDRztFQUVJO0FibWlrQ2hCO0FhdGlrQ1M7RUFDRztFQUVJO0FidWlrQ2hCO0FhMWlrQ1M7RUFDRztFQUVJO0FiMmlrQ2hCO0FhOWlrQ1M7RUFDRztFQUVJO0FiK2lrQ2hCO0FhbGprQ1M7RUFDRztFQUVJO0FibWprQ2hCO0FhdGprQ1M7RUFDRztFQUVJO0FidWprQ2hCO0FhMWprQ1M7RUFDRztFQUVJO0FiMmprQ2hCO0FhOWprQ1M7RUFDRztFQUVJO0FiK2prQ2hCO0FBQ0E7OytCQUUrQjtBQUMvQjs7K0JBRStCO0FBQy9COzs7Ozs7OztFQVFFO0FBQ0Y7OytCQUUrQjtBQUMvQjs7Ozs7Ozs7O0NBU0M7QUFDRDs7K0JBRStCO0FBQy9COztDQUVDO0FBQ0QsV0FBVztBQUNYLGFBQWE7QUFDYixnQkFBZ0I7QUFDaEIsWUFBWTtBQUNaLFVBQVU7QUFDVjs7K0JBRStCO0FBQy9CLDJCQUEyQjtBQUMzQixpQ0FBaUM7QUFDakM7OytCQUUrQjtBQUMvQjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3VCQUV1QjtBQUN2QiwyQkFBMkI7QUFDM0I7OytCQUUrQjtBQUMvQjs7MkRBRTJEO0FBQzNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9CLFdBQVc7QUFDWCxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsV0FBVztBQUNYLFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsZUFBZTtBQUNmLFNBQVM7QUFDVCxTQUFTO0FBQ1QsU0FBUztBQUNULFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQixPQUFPO0FBQ1AsU0FBUztBQUNULFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNULGNBQWM7QUFDZDs7K0JBRStCO0FBQy9CLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFdBQVc7QUFDWCxVQUFVO0FBQ1YsUUFBUTtBQUNSLFVBQVU7QUFDVixhQUFhO0FBQ2IsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFVO0FBQ1YsWUFBWTtBQUNaLFdBQVc7QUFDWCxRQUFRO0FBQ1IsVUFBVTtBQUNWLGVBQWU7QUFDZixXQUFXO0FBQ1g7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHVEQUF1RDtBQUN2RCwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0Qjs7Q0FFQztBQUNEOztzQkFFc0I7QUFDdEIsdUZBQXVGO0FBQ3ZGOztpQkFFaUI7QUFDakI7O2lCQUVpQjtBQUNqQiw0REFBNEQ7QUFDNUQscUJBQXFCO0FBQ3JCLG9GQUFvRjtBQUNwRjs7c0JBRXNCO0FBQ3RCLGlDQUFpQztBQUNqQywyQ0FBMkM7QUFDM0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYix3QkFBd0I7QUFDeEIsY0FBYztBQUNkOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQiwyQkFBMkI7QUFDM0Isd0JBQXdCO0FBQ3hCLGdDQUFnQztBQUNoQyw0QkFBNEI7QUFDNUIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQixhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2IsYUFBYTtBQUNiLFNBQVM7QUFDVCxZQUFZO0FBQ1o7O3NCQUVzQjtBQUN0QiwrQ0FBK0M7QUFDL0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRCxPQUFPO0FBQ1AsUUFBUTtBQUNSOztzQkFFc0I7QUFDdEIsZ0NBQWdDO0FBQ2hDOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwwREFBMEQ7QUFDMUQsbUNBQW1DO0FBQ25DLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsOEJBQThCO0FBQzlCLGVBQWU7QUFDZjs7c0JBRXNCO0FBQ3RCOzs7Ozs7OztDQVFDO0FBQ0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckI7O2dDQUVnQztBQUNoQyxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGFBQWE7QUFDYixtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCLHNCQUFzQjtBQUN0Qiw0QkFBNEI7QUFDNUI7OytCQUUrQjtBQUMvQjs7MkRBRTJEO0FBQzNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9CLFdBQVc7QUFDWCxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsV0FBVztBQUNYLFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsZUFBZTtBQUNmLFNBQVM7QUFDVCxTQUFTO0FBQ1QsU0FBUztBQUNULFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQixPQUFPO0FBQ1AsU0FBUztBQUNULFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNULGNBQWM7QUFDZDs7K0JBRStCO0FBQy9CLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFdBQVc7QUFDWCxVQUFVO0FBQ1YsUUFBUTtBQUNSLFVBQVU7QUFDVixhQUFhO0FBQ2IsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFVO0FBQ1YsWUFBWTtBQUNaLFdBQVc7QUFDWCxRQUFRO0FBQ1IsVUFBVTtBQUNWLGVBQWU7QUFDZixXQUFXO0FBQ1g7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHVEQUF1RDtBQUN2RCwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0Qjs7Q0FFQztBQUNEOztzQkFFc0I7QUFDdEIsdUZBQXVGO0FBQ3ZGOztpQkFFaUI7QUFDakI7O2lCQUVpQjtBQUNqQiw0REFBNEQ7QUFDNUQscUJBQXFCO0FBQ3JCLG9GQUFvRjtBQUNwRjs7c0JBRXNCO0FBQ3RCLGlDQUFpQztBQUNqQywyQ0FBMkM7QUFDM0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYix3QkFBd0I7QUFDeEIsY0FBYztBQUNkOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQiwyQkFBMkI7QUFDM0Isd0JBQXdCO0FBQ3hCLGdDQUFnQztBQUNoQyw0QkFBNEI7QUFDNUIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQixhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2IsYUFBYTtBQUNiLFNBQVM7QUFDVCxZQUFZO0FBQ1o7O3NCQUVzQjtBQUN0QiwrQ0FBK0M7QUFDL0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRCxPQUFPO0FBQ1AsUUFBUTtBQUNSOztzQkFFc0I7QUFDdEIsZ0NBQWdDO0FBQ2hDOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwwREFBMEQ7QUFDMUQsbUNBQW1DO0FBQ25DLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsOEJBQThCO0FBQzlCLGVBQWU7QUFDZjs7c0JBRXNCO0FBQ3RCOzs7Ozs7OztDQVFDO0FBQ0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckI7O2dDQUVnQztBQUNoQyxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGFBQWE7QUFDYixtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCLHNCQUFzQjtBQUN0QiwrQkFBK0I7QUFDL0IsOEJBQThCO0FBQzlCOzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOzt1QkFFdUI7QUFDdkIsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLFdBQVc7QUFDWDs7c0JBRXNCO0FBQ3RCLFdBQVc7QUFDWCxZQUFZO0FBQ1osU0FBUztBQUNULG1CQUFtQjtBQUNuQixlQUFlO0FBQ2Y7OytCQUUrQjtBQUMvQjs7MkJBRTJCO0FBQzNCLFlBQVk7QUFDWjs7MkRBRTJEO0FBQzNEOzsyREFFMkQ7QUFDM0QseUJBQXlCO0FBQ3pCOzsyREFFMkQ7QUFDM0Q7OzJEQUUyRDtBQUMzRCxtQkFBbUI7QUFDbkIsZUFBZTtBQUNmOzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCLGVBQWU7QUFDZjs7K0JBRStCO0FjdnRtQy9CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZHl0bUNKO0FjdHRtQ0E7RUFDSTtBZHd0bUNKO0FjcnRtQ0E7O0VBRUk7RUFDQTtFQUNBO0FkdXRtQ0o7QUFDQTs7K0JBRStCO0FjbnRtQy9COztFQUVJO0FkcXRtQ0o7QWNudG1DQTs7RUFFSTtFQUNBO0FkcXRtQ0o7QWNudG1DQTtFQUNJO0VBQ0E7QWRxdG1DSjtBY2p0bUNJOztFQUVJO0VBQ0E7QWRtdG1DUjtBQUNBOzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBYzVzbUNqQjs7O0VBR0k7QWQ4c21DUjtBQUNBOzt5QkFFeUI7QWN4c21DckI7OztFQUdJO0VBQ0E7QWQwc21DUjtBY3hzbUNJOzs7RUFHSTtFQUNBO0FkMHNtQ1I7QWN4c21DSTs7O0VBR0k7RUFDQTtBZDBzbUNSO0FjeHNtQ0k7O0VBRUk7QWQwc21DUjtBY3hzbUNJOztFQUVJO0FkMHNtQ1I7QWN4c21DSTs7RUFFSTtBZDBzbUNSO0FBQ0E7O3FCQUVxQjtBY3BzbUNqQjs7OztFQUlJO0Fkc3NtQ1I7QUFDQTs7cUJBRXFCO0FjaHNtQ2pCOzs7Ozs7RUFNSTtBZGtzbUNSO0FBQ0E7O3FCQUVxQjtBYzVybUNqQjs7RUFFSTtBZDhybUNSO0FjM3JtQ0k7Ozs7RUFJSTtBZDZybUNSO0FBQ0E7O3FCQUVxQjtBY3ZybUNqQjs7Ozs7O0VBTUk7RUFDQTtFQUNBO0FkeXJtQ1I7QUFDQTs7cUJBRXFCO0FjbnJtQ2pCOzs7Ozs7RUFNSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkcXJtQ1I7QUFDQTs7MEJBRTBCO0FjL3FtQ3RCO0VBQ0k7RUFDQTtFQUNBO0FkaXJtQ1I7QWM5cW1DSTtFQUNJO0VBQ0E7QWRncm1DUjtBYzdxbUNJO0VBQ0k7RUFDQTtBZCtxbUNSO0FBQ0E7OzBCQUUwQjtBY3pxbUN0Qjs7RUFFSTtFQUNBO0VBQ0E7QWQycW1DUjtBY3pxbUNJOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FkMnFtQ1I7QWN4cW1DSTs7RUFFSTtBZDBxbUNSO0FjcnFtQ0k7RUFDSTtFQUNBO0VBQ0E7QWR1cW1DUjtBY3JxbUNJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWR1cW1DUjtBQUNBOztpQkFFaUI7QWNscW1DakI7Ozs7RUFJSTtFQUNBO0VBQ0E7QWRvcW1DSjtBYzlwbUNTOzs7O0VBSUc7RUFDQTtFQUNBO0FkZ3FtQ1o7QWN0cW1DUzs7OztFQUlHO0VBQ0E7RUFDQTtBZHdxbUNaO0FjOXFtQ1M7Ozs7RUFJRztFQUNBO0VBQ0E7QWRncm1DWjtBY3RybUNTOzs7O0VBSUc7RUFDQTtFQUNBO0Fkd3JtQ1o7QWM5cm1DUzs7OztFQUlHO0VBQ0E7RUFDQTtBZGdzbUNaO0FjdHNtQ1M7Ozs7RUFJRztFQUNBO0VBQ0E7QWR3c21DWjtBYzlzbUNTOzs7O0VBSUc7RUFDQTtFQUNBO0FkZ3RtQ1o7QUFDQTs7bUNBRW1DO0FjenNtQy9CO0VBQ0k7RUFDQTtBZDJzbUNSO0FjeHNtQ0k7OztFQUdJO0VBQ0E7QWQwc21DUjtBQUNBOzsrQkFFK0I7QUFDL0I7OytCQUUrQjtBQUMvQjs7Ozs7Ozs7RUFRRTtBQUNGOzsrQkFFK0I7QUFDL0I7Ozs7Ozs7OztDQVNDO0FBQ0Q7OytCQUUrQjtBQUMvQjs7Q0FFQztBQUNELFdBQVc7QUFDWCxhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCLFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQiwyQkFBMkI7QUFDM0IsaUNBQWlDO0FBQ2pDOzsrQkFFK0I7QUFDL0I7OytCQUUrQjtBQUMvQjs7cUJBRXFCO0FBQ3JCOzt1QkFFdUI7QUFDdkIsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7OzJEQUUyRDtBQUMzRCxZQUFZO0FBQ1o7OytCQUUrQjtBQUMvQixXQUFXO0FBQ1gsY0FBYztBQUNkLFlBQVk7QUFDWixXQUFXO0FBQ1gsU0FBUztBQUNULDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsVUFBVTtBQUNWLFVBQVU7QUFDVixVQUFVO0FBQ1YsU0FBUztBQUNULFdBQVc7QUFDWCxnQkFBZ0I7QUFDaEIsU0FBUztBQUNULFdBQVc7QUFDWCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVDs7K0JBRStCO0FBQy9CLGVBQWU7QUFDZixTQUFTO0FBQ1QsU0FBUztBQUNULFNBQVM7QUFDVCxZQUFZO0FBQ1osVUFBVTtBQUNWOzsrQkFFK0I7QUFDL0IsT0FBTztBQUNQLFNBQVM7QUFDVCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVCxjQUFjO0FBQ2Q7OytCQUUrQjtBQUMvQixjQUFjO0FBQ2QsYUFBYTtBQUNiLGFBQWE7QUFDYixXQUFXO0FBQ1gsYUFBYTtBQUNiLFVBQVU7QUFDVixXQUFXO0FBQ1gsVUFBVTtBQUNWLFFBQVE7QUFDUixVQUFVO0FBQ1YsYUFBYTtBQUNiLFdBQVc7QUFDWCxXQUFXO0FBQ1gsVUFBVTtBQUNWLFlBQVk7QUFDWixXQUFXO0FBQ1gsUUFBUTtBQUNSLFVBQVU7QUFDVixlQUFlO0FBQ2YsV0FBVztBQUNYOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qix1REFBdUQ7QUFDdkQsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEI7O0NBRUM7QUFDRDs7c0JBRXNCO0FBQ3RCLHVGQUF1RjtBQUN2Rjs7aUJBRWlCO0FBQ2pCOztpQkFFaUI7QUFDakIsNERBQTREO0FBQzVELHFCQUFxQjtBQUNyQixvRkFBb0Y7QUFDcEY7O3NCQUVzQjtBQUN0QixpQ0FBaUM7QUFDakMsMkNBQTJDO0FBQzNDOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0Q7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2Isd0JBQXdCO0FBQ3hCLGNBQWM7QUFDZDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsMkJBQTJCO0FBQzNCLHdCQUF3QjtBQUN4QixnQ0FBZ0M7QUFDaEMsNEJBQTRCO0FBQzVCLHlCQUF5QjtBQUN6QiwrQkFBK0I7QUFDL0IsaUNBQWlDO0FBQ2pDLDJCQUEyQjtBQUMzQixvQkFBb0I7QUFDcEIsYUFBYTtBQUNiLGdCQUFnQjtBQUNoQjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNkJBQTZCO0FBQzdCLDJCQUEyQjtBQUMzQjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiLGFBQWE7QUFDYixTQUFTO0FBQ1QsWUFBWTtBQUNaOztzQkFFc0I7QUFDdEIsK0NBQStDO0FBQy9DOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0QsT0FBTztBQUNQLFFBQVE7QUFDUjs7c0JBRXNCO0FBQ3RCLGdDQUFnQztBQUNoQzs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLDRCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsMERBQTBEO0FBQzFELG1DQUFtQztBQUNuQyxtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLDhCQUE4QjtBQUM5QixlQUFlO0FBQ2Y7O3NCQUVzQjtBQUN0Qjs7Ozs7Ozs7Q0FRQztBQUNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQix1QkFBdUI7QUFDdkIscUJBQXFCO0FBQ3JCOztnQ0FFZ0M7QUFDaEMsZUFBZTtBQUNmLGdCQUFnQjtBQUNoQixhQUFhO0FBQ2IsbUJBQW1CO0FBQ25CLGtCQUFrQjtBQUNsQixzQkFBc0I7QUFDdEIsNEJBQTRCO0FBQzVCOzsrQkFFK0I7QUFDL0I7OzJEQUUyRDtBQUMzRCxZQUFZO0FBQ1o7OytCQUUrQjtBQUMvQixXQUFXO0FBQ1gsY0FBYztBQUNkLFlBQVk7QUFDWixXQUFXO0FBQ1gsU0FBUztBQUNULDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsVUFBVTtBQUNWLFVBQVU7QUFDVixVQUFVO0FBQ1YsU0FBUztBQUNULFdBQVc7QUFDWCxnQkFBZ0I7QUFDaEIsU0FBUztBQUNULFdBQVc7QUFDWCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVDs7K0JBRStCO0FBQy9CLGVBQWU7QUFDZixTQUFTO0FBQ1QsU0FBUztBQUNULFNBQVM7QUFDVCxZQUFZO0FBQ1osVUFBVTtBQUNWOzsrQkFFK0I7QUFDL0IsT0FBTztBQUNQLFNBQVM7QUFDVCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVCxjQUFjO0FBQ2Q7OytCQUUrQjtBQUMvQixjQUFjO0FBQ2QsYUFBYTtBQUNiLGFBQWE7QUFDYixXQUFXO0FBQ1gsYUFBYTtBQUNiLFVBQVU7QUFDVixXQUFXO0FBQ1gsVUFBVTtBQUNWLFFBQVE7QUFDUixVQUFVO0FBQ1YsYUFBYTtBQUNiLFdBQVc7QUFDWCxXQUFXO0FBQ1gsVUFBVTtBQUNWLFlBQVk7QUFDWixXQUFXO0FBQ1gsUUFBUTtBQUNSLFVBQVU7QUFDVixlQUFlO0FBQ2YsV0FBVztBQUNYOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qix1REFBdUQ7QUFDdkQsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEI7O0NBRUM7QUFDRDs7c0JBRXNCO0FBQ3RCLHVGQUF1RjtBQUN2Rjs7aUJBRWlCO0FBQ2pCOztpQkFFaUI7QUFDakIsNERBQTREO0FBQzVELHFCQUFxQjtBQUNyQixvRkFBb0Y7QUFDcEY7O3NCQUVzQjtBQUN0QixpQ0FBaUM7QUFDakMsMkNBQTJDO0FBQzNDOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0Q7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2Isd0JBQXdCO0FBQ3hCLGNBQWM7QUFDZDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsMkJBQTJCO0FBQzNCLHdCQUF3QjtBQUN4QixnQ0FBZ0M7QUFDaEMsNEJBQTRCO0FBQzVCLHlCQUF5QjtBQUN6QiwrQkFBK0I7QUFDL0IsaUNBQWlDO0FBQ2pDLDJCQUEyQjtBQUMzQixvQkFBb0I7QUFDcEIsYUFBYTtBQUNiLGdCQUFnQjtBQUNoQjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNkJBQTZCO0FBQzdCLDJCQUEyQjtBQUMzQjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiLGFBQWE7QUFDYixTQUFTO0FBQ1QsWUFBWTtBQUNaOztzQkFFc0I7QUFDdEIsK0NBQStDO0FBQy9DOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0QsT0FBTztBQUNQLFFBQVE7QUFDUjs7c0JBRXNCO0FBQ3RCLGdDQUFnQztBQUNoQzs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLDRCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsMERBQTBEO0FBQzFELG1DQUFtQztBQUNuQyxtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLDhCQUE4QjtBQUM5QixlQUFlO0FBQ2Y7O3NCQUVzQjtBQUN0Qjs7Ozs7Ozs7Q0FRQztBQUNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQix1QkFBdUI7QUFDdkIscUJBQXFCO0FBQ3JCOztnQ0FFZ0M7QUFDaEMsZUFBZTtBQUNmLGdCQUFnQjtBQUNoQixhQUFhO0FBQ2IsbUJBQW1CO0FBQ25CLGtCQUFrQjtBQUNsQixzQkFBc0I7QUFDdEIsK0JBQStCO0FBQy9CLDhCQUE4QjtBQUM5Qjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7dUJBRXVCO0FBQ3ZCLFlBQVk7QUFDWjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixlQUFlO0FBQ2Ysd0JBQXdCO0FBQ3hCLGtCQUFrQjtBQUNsQjs7c0JBRXNCO0FBQ3RCLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsVUFBVTtBQUNWLFdBQVc7QUFDWCxTQUFTO0FBQ1Q7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2IsbUJBQW1CO0FBQ25CLGVBQWU7QUFDZjs7K0JBRStCO0FBQy9COzsyQkFFMkI7QUFDM0IsWUFBWTtBQUNaOzsyREFFMkQ7QUFDM0Q7OzJEQUUyRDtBQUMzRCx5QkFBeUI7QUFDekI7OzJEQUUyRDtBQUMzRDs7MkRBRTJEO0FBQzNELG1CQUFtQjtBQUNuQixlQUFlO0FBQ2Y7OytCQUUrQjtBQUMvQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckIsZUFBZTtBQUNmOzsrQkFFK0I7QUFDL0I7O3VCQUV1QjtBZS9ub0N2QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWZpb29DSjtBZS9ub0NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZmlvb0NKO0FlaG9vQ0k7RUFDSTtBZmtvb0NSO0FlaG9vQ0k7RUFDSTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0Fma29vQ1I7QUFDQTs7dUJBRXVCO0FBQ3ZCLDBDQUEwQztBZTVub0MxQztFQUNJO0FmOG5vQ0o7QWUvbm9DQTtFQUNJO0FmOG5vQ0o7QWU1bm9DQTtFQUNJO0FmOG5vQ0o7QWU1bm9DQTtFQUNJO0FmOG5vQ0o7QUFDQTs7K0JBRStCO0FBQy9COzsyQkFFMkI7QWV6bm9DdEI7O0VBRUc7QWYybm9DUjtBZXhub0NLOztFQUVHO0FmMG5vQ1I7QUFDQTs7dUJBRXVCO0Flcm5vQ3ZCOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FmdW5vQ0o7QWVwbm9DQTs7OztFQUlJO0Fmc25vQ0o7QUFDQTs7MkJBRTJCO0Flam5vQ3ZCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmbW5vQ1I7QWVqbm9DSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWZtbm9DUjtBQUNBOzt1QkFFdUI7QWU5bW9DdkI7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QWZnbm9DSjtBZTltb0NBO0VBRUk7QWZnbm9DSjtBZWxub0NBOztFQUVJO0FmZ25vQ0o7QWU3bW9DSTs7RUFFSTtBZittb0NSO0FBQ0E7OzJCQUUyQjtBZXZtb0NsQjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0FmeW1vQ1o7QUFDQSxnQkFBZ0I7QWV4bG9DUDtFQUNHO0FmMGxvQ1o7QWUzbG9DUztFQUNHO0FmMGxvQ1o7QWV4bG9DUztFQUNHO0FmMGxvQ1o7QUFDQSx3QkFBd0I7QWV2bG9DZjtFQUNHO0FmeWxvQ1o7QWUxbG9DUztFQUNHO0FmeWxvQ1o7QWV2bG9DUztFQUNHO0FmeWxvQ1o7QWUzbm9DUztFQUNHO0VBQ0E7RUFDQTtFQUNBO0FmNm5vQ1o7QUFDQSxnQkFBZ0I7QWU1bW9DUDtFQUNHO0FmOG1vQ1o7QWUvbW9DUztFQUNHO0FmOG1vQ1o7QWU1bW9DUztFQUNHO0FmOG1vQ1o7QUFDQSx3QkFBd0I7QWUzbW9DZjtFQUNHO0FmNm1vQ1o7QWU5bW9DUztFQUNHO0FmNm1vQ1o7QWUzbW9DUztFQUNHO0FmNm1vQ1o7QWUvb29DUztFQUNHO0VBQ0E7RUFDQTtFQUNBO0FmaXBvQ1o7QUFDQSxnQkFBZ0I7QWVob29DUDtFQUNHO0Fma29vQ1o7QWVub29DUztFQUNHO0Fma29vQ1o7QWVob29DUztFQUNHO0Fma29vQ1o7QUFDQSx3QkFBd0I7QWUvbm9DZjtFQUNHO0FmaW9vQ1o7QWVsb29DUztFQUNHO0FmaW9vQ1o7QWUvbm9DUztFQUNHO0FmaW9vQ1o7QWVucW9DUztFQUNHO0VBQ0E7RUFDQTtFQUNBO0FmcXFvQ1o7QUFDQSxnQkFBZ0I7QWVwcG9DUDtFQUNHO0Fmc3BvQ1o7QWV2cG9DUztFQUNHO0Fmc3BvQ1o7QWVwcG9DUztFQUNHO0Fmc3BvQ1o7QUFDQSx3QkFBd0I7QWVucG9DZjtFQUNHO0FmcXBvQ1o7QWV0cG9DUztFQUNHO0FmcXBvQ1o7QWVucG9DUztFQUNHO0FmcXBvQ1o7QUFDQTs7K0JBRStCO0FBQy9COzsyQkFFMkI7QWU3b29DdkI7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZitvb0NSO0FlN29vQ0k7RUFDSTtBZitvb0NSO0FBQ0EscUJBQXFCO0FlNW9vQ2pCO0VBQ0k7QWY4b29DUjtBZTVvb0NJO0VBQ0k7RUFDQTtBZjhvb0NSO0FlNW9vQ0k7RUFDSTtFQUNBO0FmOG9vQ1I7QUFDQSx5QkFBeUI7QWUzb29DakI7RUFDSTtBZjZvb0NaO0FlM29vQ1E7O0VBRUk7QWY2b29DWjtBZTFvb0NRO0VBQ0k7QWY0b29DWjtBZTdvb0NRO0VBQ0k7QWY0b29DWjtBZTFvb0NRO0VBQ0k7QWY0b29DWjtBQUNBOzsyQkFFMkI7QWVyb29DdkI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWZ1b29DUjtBZXJvb0NLO0VBQ0c7QWZ1b29DUjtBZXJvb0NLOztFQUVHO0FmdW9vQ1I7QWVwb29DSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWZzb29DUjtBZXBvb0NJO0VBQ0k7QWZzb29DUjtBZXBvb0NJO0VBQ0k7RUFDQTtBZnNvb0NSO0FBQ0Esb0JBQW9CO0Flbm9vQ2hCO0VBQ0k7RUFDQTtFQUNBO0FmcW9vQ1I7QWVub29DSTtFQUNJO0VBQ0E7QWZxb29DUjtBZW5vb0NJOztFQUVJO0FmcW9vQ1I7QWVub29DSzs7RUFFRztBZnFvb0NSO0FBQ0EsVUFBVTtBZWxvb0NOOzs7RUFHSTtBZm9vb0NSO0FBQ0E7OzJCQUUyQjtBQUMzQixtQkFBbUI7QWU5bm9DZjtFQUNJO0VBQ0E7RUFDQTtBZmdvb0NSO0FlOW5vQ0s7RUFDRztFQUNBO0FmZ29vQ1I7QUFDQSwwQkFBMEI7QWU3bm9DdEI7RUFDSTtFQUNBO0FmK25vQ1I7QWU3bm9DSTtFQUNJO0VBQ0E7RUFDQTtBZitub0NSO0FlN25vQ0k7RUFDSTtBZitub0NSO0FBQ0EsMkJBQTJCO0FlNW5vQ3ZCO0VBQ0k7RUFDQTtFQUNBO0FmOG5vQ1I7QWU1bm9DSTtFQUNJO0VBQ0E7QWY4bm9DUjtBZTNub0NJO0VBQ0k7QWY2bm9DUjtBQUNBLGlCQUFpQjtBZXhub0NiO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWYwbm9DUjtBQUNBLDhCQUE4QjtBZXZub0MxQjs7O0VBR0k7QWZ5bm9DUjtBZXZub0NJOzs7RUFHSTtBZnlub0NSO0Fldm5vQ0k7RUFDSTtBZnlub0NSO0FBQ0EsaUJBQWlCO0FldG5vQ2I7Ozs7O0VBS0k7QWZ3bm9DUjtBZXJub0NROzs7RUFHSTtBZnVub0NaO0Flcm5vQ1E7OztFQUdJO0FmdW5vQ1o7QWVybm9DUTtFQUNJO0FmdW5vQ1o7QWVybm9DUTtFQUNJO0FmdW5vQ1o7QWVybm9DUTtFQUNJO0FmdW5vQ1o7QWVqbm9DUTs7RUFDSTtBZm9ub0NaO0FlbG5vQ1E7O0VBQ0k7QWZxbm9DWjtBZXBub0NZOztFQUNJO0VBQ0E7QWZ1bm9DaEI7QWVsbm9DUTtFQUNJO0Fmb25vQ1o7QWVsbm9DUTtFQUNJO0Fmb25vQ1o7QWUvbW9DUTs7RUFDSTtBZmtub0NaO0FlaG5vQ1E7Ozs7RUFFSTtBZm9ub0NaO0Flam5vQ0k7RUFDSTtJQUNJO0VmbW5vQ1Y7RWVqbm9DTTtJQUNJO0VmbW5vQ1Y7QUFDRjtBZWhub0NRO0VBQ0k7QWZrbm9DWjtBZWhub0NROztFQUVJO0Fma25vQ1o7QWUvbW9DSTs7OztFQUlJO0FmaW5vQ1I7QWU3bW9DSTtFQUNJO0FmK21vQ1I7QWU3bW9DSTtFQUNJO0FmK21vQ1I7QUFDQSwwQkFBMEI7QWUzbW9DdEI7RUFDSTtFQUNBO0FmNm1vQ1I7QWUzbW9DSTtFQUNJO0VBQ0E7QWY2bW9DUjtBQUNBLG9DQUFvQztBZXBtb0MzQjs7OztFQUlHO0VBQ0E7QWZzbW9DWjtBZXBtb0NTOzs7O0VBSUc7QWZzbW9DWjtBZXBtb0NTOzs7Ozs7OztFQVFHO0Fmc21vQ1o7QWVwbW9DUzs7RUFFRztBZnNtb0NaO0FlL25vQ1M7Ozs7RUFJRztFQUNBO0FmaW9vQ1o7QWUvbm9DUzs7OztFQUlHO0FmaW9vQ1o7QWUvbm9DUzs7Ozs7Ozs7RUFRRztBZmlvb0NaO0FlL25vQ1M7O0VBRUc7QWZpb29DWjtBZTFwb0NTOzs7O0VBSUc7RUFDQTtBZjRwb0NaO0FlMXBvQ1M7Ozs7RUFJRztBZjRwb0NaO0FlMXBvQ1M7Ozs7Ozs7O0VBUUc7QWY0cG9DWjtBZTFwb0NTOztFQUVHO0FmNHBvQ1o7QWVycm9DUzs7OztFQUlHO0VBQ0E7QWZ1cm9DWjtBZXJyb0NTOzs7O0VBSUc7QWZ1cm9DWjtBZXJyb0NTOzs7Ozs7OztFQVFHO0FmdXJvQ1o7QWVycm9DUzs7RUFFRztBZnVyb0NaO0FBQ0E7OzJCQUUyQjtBZWhyb0N2Qjs7RUFFSTtFQUNBO0VBQ0E7QWZrcm9DUjtBZWhyb0NJOztFQUVJO0VBQ0E7RUFDQTtBZmtyb0NSO0FBQ0EsdUJBQXVCO0FlL3FvQ25COztFQUVJO0VBQ0E7RUFDQTtBZmlyb0NSO0FBQ0Esd0JBQXdCO0FlOXFvQ3BCOztFQUVJO0VBQ0E7RUFDQTtBZmdyb0NSO0FBQ0Esd0JBQXdCO0FlN3FvQ3BCOzs7RUFHSTtBZitxb0NSO0FlN3FvQ0k7OztFQUdJO0FmK3FvQ1I7QWU3cW9DSTs7O0VBR0k7QWYrcW9DUjtBQUNBLGdCQUFnQjtBZTVxb0NaOztFQUVJO0FmOHFvQ1I7QWUzcW9DSTs7RUFFSTtBZjZxb0NSO0FBQ0E7OzJCQUUyQjtBQUMzQixhQUFhO0FldnFvQ1Q7RUFDSTtBZnlxb0NSO0FBQ0E7OzJCQUUyQjtBZW5xb0N2QjtFQUNJO0FmcXFvQ1I7QWVucW9DSTtFQUNJO0FmcXFvQ1I7QUFDQTs7MkJBRTJCO0FBQzNCLCtCQUErQjtBZS9wb0MzQjtFQUNJO0FmaXFvQ1I7QWVocW9DUTtFQUNJO0Fma3FvQ1o7QWU5cG9DSzs7RUFFRztBZmdxb0NSO0FlN3BvQ0k7RUFDSTtBZitwb0NSO0FlN3BvQ0k7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWYrcG9DUjtBZTlwb0NROztFQUNJO0VBQ0E7QWZpcW9DWjtBZTdwb0NRO0VBQ0k7QWYrcG9DWjtBZTdwb0NROztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmK3BvQ1o7QWU5cG9DWTs7RUFDSTtFQUNBO0FmaXFvQ2hCO0FBQ0EsbURBQW1EO0FlN3BvQzNDO0VBQ0k7O0lBRUk7RWYrcG9DZDtBQUNGO0FlM3BvQ0k7RUFDSTtBZjZwb0NSO0FlM3BvQ0k7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWY2cG9DUjtBZTVwb0NROztFQUNJO0VBQ0E7QWYrcG9DWjtBZW5wb0NJOztFQUVJO0VBQ0E7QWZxcG9DUjtBZWxwb0NLOztFQUVHO0VBQ0E7QWZvcG9DUjtBZW5wb0NROztFQUNJO0Fmc3BvQ1o7QUFDQSxvRkFBb0Y7QWU1b29DdkU7O0VBRUc7RUFDQTtBZjhvb0NoQjtBZTdvb0NnQjs7RUFDSTtBZmdwb0NwQjtBZXJwb0NhOztFQUVHO0VBQ0E7QWZ1cG9DaEI7QWV0cG9DZ0I7O0VBQ0k7QWZ5cG9DcEI7QWU5cG9DYTs7RUFFRztFQUNBO0FmZ3FvQ2hCO0FlL3BvQ2dCOztFQUNJO0Fma3FvQ3BCO0FldnFvQ2E7O0VBRUc7RUFDQTtBZnlxb0NoQjtBZXhxb0NnQjs7RUFDSTtBZjJxb0NwQjtBZWhyb0NhOztFQUVHO0VBQ0E7QWZrcm9DaEI7QWVqcm9DZ0I7O0VBQ0k7QWZvcm9DcEI7QWV6cm9DYTs7RUFFRztFQUNBO0FmMnJvQ2hCO0FlMXJvQ2dCOztFQUNJO0FmNnJvQ3BCO0FlbHNvQ2E7O0VBRUc7RUFDQTtBZm9zb0NoQjtBZW5zb0NnQjs7RUFDSTtBZnNzb0NwQjtBZTNzb0NhOztFQUVHO0VBQ0E7QWY2c29DaEI7QWU1c29DZ0I7O0VBQ0k7QWYrc29DcEI7QWVwdG9DYTs7RUFFRztFQUNBO0Fmc3RvQ2hCO0FlcnRvQ2dCOztFQUNJO0Fmd3RvQ3BCO0FlN3RvQ2E7O0VBRUc7RUFDQTtBZit0b0NoQjtBZTl0b0NnQjs7RUFDSTtBZml1b0NwQjtBZXR1b0NhOztFQUVHO0VBQ0E7QWZ3dW9DaEI7QWV2dW9DZ0I7O0VBQ0k7QWYwdW9DcEI7QWUvdW9DYTs7RUFFRztFQUNBO0FmaXZvQ2hCO0FlaHZvQ2dCOztFQUNJO0FmbXZvQ3BCO0FleHZvQ2E7O0VBRUc7RUFDQTtBZjB2b0NoQjtBZXp2b0NnQjs7RUFDSTtBZjR2b0NwQjtBZWp3b0NhOztFQUVHO0VBQ0E7QWZtd29DaEI7QWVsd29DZ0I7O0VBQ0k7QWZxd29DcEI7QWUxd29DYTs7RUFFRztFQUNBO0FmNHdvQ2hCO0FlM3dvQ2dCOztFQUNJO0FmOHdvQ3BCO0FlbHdvQ2E7O0VBRUc7RUFDQTtBZm93b0NoQjtBZW53b0NnQjs7RUFDSTtBZnN3b0NwQjtBZWx3b0NpQjs7RUFFRztFQUNBO0Fmb3dvQ3BCO0FlbndvQ29COztFQUNJO0Fmc3dvQ3hCO0FlbHdvQ2E7O0VBRUc7RUFDQTtBZm93b0NoQjtBZW53b0NnQjs7RUFDSTtBZnN3b0NwQjtBZTd4b0NhOztFQUVHO0VBQ0E7QWYreG9DaEI7QWU5eG9DZ0I7O0VBQ0k7QWZpeW9DcEI7QWU3eG9DaUI7O0VBRUc7RUFDQTtBZit4b0NwQjtBZTl4b0NvQjs7RUFDSTtBZml5b0N4QjtBZTd4b0NhOztFQUVHO0VBQ0E7QWYreG9DaEI7QWU5eG9DZ0I7O0VBQ0k7QWZpeW9DcEI7QWV4em9DYTs7RUFFRztFQUNBO0FmMHpvQ2hCO0FlenpvQ2dCOztFQUNJO0FmNHpvQ3BCO0FleHpvQ2lCOztFQUVHO0VBQ0E7QWYwem9DcEI7QWV6em9Db0I7O0VBQ0k7QWY0em9DeEI7QWV4em9DYTs7RUFFRztFQUNBO0FmMHpvQ2hCO0FlenpvQ2dCOztFQUNJO0FmNHpvQ3BCO0FlbjFvQ2E7O0VBRUc7RUFDQTtBZnExb0NoQjtBZXAxb0NnQjs7RUFDSTtBZnUxb0NwQjtBZW4xb0NpQjs7RUFFRztFQUNBO0FmcTFvQ3BCO0FlcDFvQ29COztFQUNJO0FmdTFvQ3hCO0FlbjFvQ2E7O0VBRUc7RUFDQTtBZnExb0NoQjtBZXAxb0NnQjs7RUFDSTtBZnUxb0NwQjtBZTkyb0NhOztFQUVHO0VBQ0E7QWZnM29DaEI7QWUvMm9DZ0I7O0VBQ0k7QWZrM29DcEI7QWU5Mm9DaUI7O0VBRUc7RUFDQTtBZmczb0NwQjtBZS8yb0NvQjs7RUFDSTtBZmszb0N4QjtBZTkyb0NhOztFQUVHO0VBQ0E7QWZnM29DaEI7QWUvMm9DZ0I7O0VBQ0k7QWZrM29DcEI7QWV6NG9DYTs7RUFFRztFQUNBO0FmMjRvQ2hCO0FlMTRvQ2dCOztFQUNJO0FmNjRvQ3BCO0FlejRvQ2lCOztFQUVHO0VBQ0E7QWYyNG9DcEI7QWUxNG9Db0I7O0VBQ0k7QWY2NG9DeEI7QWV6NG9DYTs7RUFFRztFQUNBO0FmMjRvQ2hCO0FlMTRvQ2dCOztFQUNJO0FmNjRvQ3BCO0FlcDZvQ2E7O0VBRUc7RUFDQTtBZnM2b0NoQjtBZXI2b0NnQjs7RUFDSTtBZnc2b0NwQjtBZXA2b0NpQjs7RUFFRztFQUNBO0FmczZvQ3BCO0FlcjZvQ29COztFQUNJO0FmdzZvQ3hCO0FlcDZvQ2E7O0VBRUc7RUFDQTtBZnM2b0NoQjtBZXI2b0NnQjs7RUFDSTtBZnc2b0NwQjtBZS83b0NhOztFQUVHO0VBQ0E7QWZpOG9DaEI7QWVoOG9DZ0I7O0VBQ0k7QWZtOG9DcEI7QWUvN29DaUI7O0VBRUc7RUFDQTtBZmk4b0NwQjtBZWg4b0NvQjs7RUFDSTtBZm04b0N4QjtBZS83b0NhOztFQUVHO0VBQ0E7QWZpOG9DaEI7QWVoOG9DZ0I7O0VBQ0k7QWZtOG9DcEI7QWUxOW9DYTs7RUFFRztFQUNBO0FmNDlvQ2hCO0FlMzlvQ2dCOztFQUNJO0FmODlvQ3BCO0FlMTlvQ2lCOztFQUVHO0VBQ0E7QWY0OW9DcEI7QWUzOW9Db0I7O0VBQ0k7QWY4OW9DeEI7QWUxOW9DYTs7RUFFRztFQUNBO0FmNDlvQ2hCO0FlMzlvQ2dCOztFQUNJO0FmODlvQ3BCO0Flci9vQ2E7O0VBRUc7RUFDQTtBZnUvb0NoQjtBZXQvb0NnQjs7RUFDSTtBZnkvb0NwQjtBZXIvb0NpQjs7RUFFRztFQUNBO0FmdS9vQ3BCO0FldC9vQ29COztFQUNJO0FmeS9vQ3hCO0Flci9vQ2E7O0VBRUc7RUFDQTtBZnUvb0NoQjtBZXQvb0NnQjs7RUFDSTtBZnkvb0NwQjtBZWhocENhOztFQUVHO0VBQ0E7QWZraHBDaEI7QWVqaHBDZ0I7O0VBQ0k7QWZvaHBDcEI7QWVoaHBDaUI7O0VBRUc7RUFDQTtBZmtocENwQjtBZWpocENvQjs7RUFDSTtBZm9ocEN4QjtBZWhocENhOztFQUVHO0VBQ0E7QWZraHBDaEI7QWVqaHBDZ0I7O0VBQ0k7QWZvaHBDcEI7QWUzaXBDYTs7RUFFRztFQUNBO0FmNmlwQ2hCO0FlNWlwQ2dCOztFQUNJO0FmK2lwQ3BCO0FlM2lwQ2lCOztFQUVHO0VBQ0E7QWY2aXBDcEI7QWU1aXBDb0I7O0VBQ0k7QWYraXBDeEI7QWUzaXBDYTs7RUFFRztFQUNBO0FmNmlwQ2hCO0FlNWlwQ2dCOztFQUNJO0FmK2lwQ3BCO0FldGtwQ2E7O0VBRUc7RUFDQTtBZndrcENoQjtBZXZrcENnQjs7RUFDSTtBZjBrcENwQjtBZXRrcENpQjs7RUFFRztFQUNBO0Fmd2twQ3BCO0FldmtwQ29COztFQUNJO0FmMGtwQ3hCO0FldGtwQ2E7O0VBRUc7RUFDQTtBZndrcENoQjtBZXZrcENnQjs7RUFDSTtBZjBrcENwQjtBZWptcENhOztFQUVHO0VBQ0E7QWZtbXBDaEI7QWVsbXBDZ0I7O0VBQ0k7QWZxbXBDcEI7QWVqbXBDaUI7O0VBRUc7RUFDQTtBZm1tcENwQjtBZWxtcENvQjs7RUFDSTtBZnFtcEN4QjtBZWptcENhOztFQUVHO0VBQ0E7QWZtbXBDaEI7QWVsbXBDZ0I7O0VBQ0k7QWZxbXBDcEI7QWU1bnBDYTs7RUFFRztFQUNBO0FmOG5wQ2hCO0FlN25wQ2dCOztFQUNJO0FmZ29wQ3BCO0FlNW5wQ2lCOztFQUVHO0VBQ0E7QWY4bnBDcEI7QWU3bnBDb0I7O0VBQ0k7QWZnb3BDeEI7QWU1bnBDYTs7RUFFRztFQUNBO0FmOG5wQ2hCO0FlN25wQ2dCOztFQUNJO0FmZ29wQ3BCO0FBQ0E7O3VCQUV1QjtBZXhucEN2QjtFQUNJO0FmMG5wQ0o7QWVybnBDUztFQUNHO0FmdW5wQ1o7QWV4bnBDUztFQUNHO0FmMG5wQ1o7QWUzbnBDUztFQUNHO0FmNm5wQ1o7QWU5bnBDUztFQUNHO0FmZ29wQ1o7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UjtBZ0Jua3NDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCcWtzQ1I7QWdCbGtzQ0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEJva3NDUjtBZ0Jqa3NDUTs7RUFFSTtBaEJta3NDWjtBZ0Joa3NDUTs7RUFFSTtBaEJra3NDWjtBQUNBOzswQkFFMEI7QWdCM2pzQ3RCOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEI2anNDUjtBZ0IzanNDSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEI2anNDUjtBZ0IxanNDSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEI0anNDUjtBZ0J6anNDUTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBaEIyanNDWjtBZ0J6anNDUTs7RUFFSTtBaEIyanNDWjtBQUNBOzswQkFFMEI7QWdCcGpzQ3RCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJzanNDUjtBQUNBLGVBQWU7QWdCbmpzQ1g7RUFDSTtBaEJxanNDUjtBZ0JuanNDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCcWpzQ1I7QWdCbGpzQ0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJvanNDUjtBQUNBLGdCQUFnQjtBZ0JqanNDWjs7RUFFSTtFQUNBO0FoQm1qc0NSO0FnQmpqc0NJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJtanNDUjtBZ0JqanNDSTtFQUNJO0VBQ0E7QWhCbWpzQ1I7QUFDQSxZQUFZO0FnQmhqc0NSO0VBQ0k7RUFDQTtBaEJranNDUjtBZ0JoanNDSTtFQUNJO0VBQ0E7QWhCa2pzQ1I7QUFDQTs7MEJBRTBCO0FnQjVpc0N0QjtFQUNJO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtBaEI4aXNDUjtBZ0IzaXNDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCNmlzQ1I7QUFDQSxnQkFBZ0I7QWdCMWlzQ1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEI0aXNDUjtBZ0IxaXNDSTtFQUNJO0VBQ0E7RUFDQTtBaEI0aXNDUjtBZ0J6aXNDUTtFQUNJO0VBQ0E7QWhCMmlzQ1o7QWdCemlzQ1E7RUFDSTtFQUNBO0FoQjJpc0NaO0FnQnppc0NRO0VBQ0k7RUFDQTtBaEIyaXNDWjtBZ0J6aXNDUTtFQUNJO0FoQjJpc0NaO0FnQnppc0NRO0VBQ0k7QWhCMmlzQ1o7QWdCemlzQ1E7RUFDSTtBaEIyaXNDWjtBQUNBLGlCQUFpQjtBZ0J2aXNDYjtFQUNJO0VBQ0E7RUFDQTtBaEJ5aXNDUjtBZ0J2aXNDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJ5aXNDUjtBZ0J0aXNDSTtFQUNJO0VBQ0E7QWhCd2lzQ1I7QWdCdGlzQ0k7RUFDSTtFQUNBO0VBQ0E7QWhCd2lzQ1I7QWdCdGlzQ0k7RUFDSTtFQUNBO0VBQ0E7QWhCd2lzQ1I7QUFDQSxpQkFBaUI7QWdCcmlzQ2I7O0VBRUk7RUFDQTtBaEJ1aXNDUjtBZ0JyaXNDSTs7RUFFSTtBaEJ1aXNDUjtBZ0JyaXNDSTs7RUFFSTtFQUNBO0FoQnVpc0NSO0FnQnJpc0NJOztFQUVJO0VBQ0E7QWhCdWlzQ1I7QUFDQSxpQkFBaUI7QWdCcGlzQ2I7RUFDSTtBaEJzaXNDUjtBZ0JwaXNDSTtFQUNJO0VBQ0E7QWhCc2lzQ1I7QUFDQTs7MEJBRTBCO0FnQmhpc0N0Qjs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJraXNDUjtBZ0JoaXNDSTtFQUNJO0VBQ0E7RUFDQTtBaEJraXNDUjtBZ0IvaHNDSTtFQUNJO0VBQ0E7RUFDQTtBaEJpaXNDUjtBZ0I5aHNDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoQmdpc0NSO0FnQjloc0NJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhCZ2lzQ1I7QWdCOWhzQ0k7RUFD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QWxCcW0wQ0o7QWtCbm0wQ0E7O0VBRUk7RUFDQTtFQUNBO0FsQnFtMENKO0FrQmxtMENJO0VBQ0k7RUFDQTtBbEJvbTBDUjtBa0I1bDBDUztFQUNHO0VBQ0E7RUFDQTtBbEI4bDBDWjtBa0I1bDBDUzs7RUFFRztFQUNBO0VBQ0E7QWxCOGwwQ1o7QWtCM2wwQ2E7RUFDRztFQUNBO0FsQjZsMENoQjtBa0IzbTBDUztFQUNHO0VBQ0E7RUFDQTtBbEI2bTBDWjtBa0IzbTBDUzs7RUFFRztFQUNBO0VBQ0E7QWxCNm0wQ1o7QWtCMW0wQ2E7RUFDRztFQUNBO0FsQjRtMENoQjtBa0IxbjBDUztFQUNHO0VBQ0E7RUFDQTtBbEI0bjBDWjtBa0IxbjBDUzs7RUFFRztFQUNBO0VBQ0E7QWxCNG4wQ1o7QWtCem4wQ2E7RUFDRztFQUNBO0FsQjJuMENoQjtBa0J6bzBDUztFQUNHO0VBQ0E7RUFDQTtBbEIybzBDWjtBa0J6bzBDUzs7RUFFRztFQUNBO0VBQ0E7QWxCMm8wQ1o7QWtCeG8wQ2E7RUFDRztFQUNBO0FsQjBvMENoQjtBa0J4cDBDUztFQUNHO0VBQ0E7RUFDQTtBbEIwcDBDWjtBa0J4cDBDUzs7RUFFRztFQUNBO0VBQ0E7QWxCMHAwQ1o7QWtCdnAwQ2E7RUFDRztFQUNBO0FsQnlwMENoQjtBa0J2cTBDUztFQUNHO0VBQ0E7RUFDQTtBbEJ5cTBDWjtBa0J2cTBDUzs7RUFFRztFQUNBO0VBQ0E7QWxCeXEwQ1o7QWtCdHEwQ2E7RUFDRztFQUNBO0FsQndxMENoQjtBa0J0cjBDUztFQUNHO0VBQ0E7RUFDQTtBbEJ3cjBDWjtBa0J0cjBDUzs7RUFFRztFQUNBO0VBQ0E7QWxCd3IwQ1o7QWtCcnIwQ2E7RUFDRztFQUNBO0FsQnVyMENoQjtBQUNBOztzQkFFc0I7QWtCM3EwQ2I7Ozs7Ozs7Ozs7RUFVRztBbEI2cTBDWjtBa0IzcTBDUzs7Ozs7Ozs7RUFRRztBbEI2cTBDWjtBa0JqczBDUzs7Ozs7Ozs7OztFQVVHO0FsQm1zMENaO0FrQmpzMENTOzs7Ozs7OztFQVFHO0FsQm1zMENaO0FrQnZ0MENTOzs7Ozs7Ozs7O0VBVUc7QWxCeXQwQ1o7QWtCdnQwQ1M7Ozs7Ozs7O0VBUUc7QWxCeXQwQ1o7QWtCN3UwQ1M7Ozs7Ozs7Ozs7RUFVRztBbEIrdTBDWjtBa0I3dTBDUzs7Ozs7Ozs7RUFRRztBbEIrdTBDWjtBa0JudzBDUzs7Ozs7Ozs7OztFQVVHO0FsQnF3MENaO0FrQm53MENTOzs7Ozs7OztFQVFHO0FsQnF3MENaO0FrQnp4MENTOzs7Ozs7Ozs7O0VBVUc7QWxCMngwQ1o7QWtCengwQ1M7Ozs7Ozs7O0VBUUc7QWxCMngwQ1o7QWtCL3kwQ1M7Ozs7Ozs7Ozs7RUFVRztBbEJpejBDWjtBa0IveTBDUzs7Ozs7Ozs7RUFRRztBbEJpejBDWjtBa0JyMDBDUzs7Ozs7Ozs7OztFQVVHO0FsQnUwMENaO0FrQnIwMENTOzs7Ozs7OztFQVFHO0FsQnUwMENaO0FrQjMxMENTOzs7Ozs7Ozs7O0VBVUc7QWxCNjEwQ1o7QWtCMzEwQ1M7Ozs7Ozs7O0VBUUc7QWxCNjEwQ1o7QWtCajMwQ1M7Ozs7Ozs7Ozs7RUFVRztBbEJtMzBDWjtBa0JqMzBDUzs7Ozs7Ozs7RUFRRztBbEJtMzBDWjtBa0J2NDBDUzs7Ozs7Ozs7OztFQVVHO0FsQnk0MENaO0FrQnY0MENTOzs7Ozs7OztFQVFHO0FsQnk0MENaO0FrQjc1MENTOzs7Ozs7Ozs7O0VBVUc7QWxCKzUwQ1o7QWtCNzUwQ1M7Ozs7Ozs7O0VBUUc7QWxCKzUwQ1o7QWtCbjcwQ1M7Ozs7Ozs7Ozs7RUFVRztBbEJxNzBDWjtBa0JuNzBDUzs7Ozs7Ozs7RUFRRztBbEJxNzBDWjtBa0J6ODBDUzs7Ozs7Ozs7OztFQVVHO0FsQjI4MENaO0FrQno4MENTOzs7Ozs7OztFQVFHO0FsQjI4MENaO0FrQi85MENTOzs7Ozs7Ozs7O0VBVUc7QWxCaSswQ1o7QWtCLzkwQ1M7Ozs7Ozs7O0VBUUc7QWxCaSswQ1o7QWtCNTkwQ0E7Ozs7Ozs7O0VBUUk7QWxCODkwQ0o7QWtCNTkwQ0E7RUFDSTtBbEI4OTBDSjtBa0I1OTBDQTs7RUFFSTtBbEI4OTBDSjtBa0IzOTBDSTtFQUNJO0FsQjY5MENSO0FBQ0E7OzBCQUUwQjtB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O0VBQ0c7RUFDQTtBdEIwNTdDcEI7QXNCcjU3Q2lCO0VBQ0c7QXRCdTU3Q3BCO0FzQm42N0NhO0VBQ0c7QXRCcTY3Q2hCO0FzQmw2N0NpQjtFQUNHO0VBQ0E7QXRCbzY3Q3BCO0FzQi81N0NpQjtFQUNHO0F0Qmk2N0NwQjtBc0I3NjdDYTtFQUNHO0F0Qis2N0NoQjtBc0I1NjdDaUI7RUFDRztFQUNBO0F0Qjg2N0NwQjtBc0J6NjdDaUI7RUFDRztBdEIyNjdDcEI7QXNCdjc3Q2E7RUFDRztBdEJ5NzdDaEI7QXNCdDc3Q2lCO0VBQ0c7RUFDQTtBdEJ3NzdDcEI7QXNCbjc3Q2lCO0VBQ0c7QXRCcTc3Q3BCO0FzQmo4N0NhO0VBQ0c7QXRCbTg3Q2hCO0FzQmg4N0NpQjtFQUNHO0VBQ0E7QXRCazg3Q3BCO0FzQjc3N0NpQjtFQUNHO0F0Qis3N0NwQjtBc0IzODdDYTtFQUNHO0F0QjY4N0NoQjtBc0IxODdDaUI7RUFDRztFQUNBO0F0QjQ4N0NwQjtBc0J2ODdDaUI7RUFDRztBdEJ5ODdDcEI7QXNCcjk3Q2E7RUFDRztBdEJ1OTdDaEI7QXNCcDk3Q2lCO0VBQ0c7RUFDQTtBdEJzOTdDcEI7QXNCajk3Q2lCO0VBQ0c7QXRCbTk3Q3BCO0FzQi85N0NhO0VBQ0c7QXRCaSs3Q2hCO0FzQjk5N0NpQjtFQUNHO0VBQ0E7QXRCZys3Q3BCO0FzQjM5N0NpQjtFQUNHO0F0QjY5N0NwQjtBc0J6KzdDYTtFQUNHO0F0QjIrN0NoQjtBc0J4KzdDaUI7RUFDRztFQUNBO0F0QjArN0NwQjtBc0JyKzdDaUI7RUFDRztBdEJ1KzdDcEI7QUFDQTs7MEJBRTBCO0FzQjk5N0N0QjtFQUNJO0F0QmcrN0NSO0FzQjk5N0NJO0VBQ0k7QXRCZys3Q1I7QXNCOTk3Q0k7RUFDSTtBdEJnKzdDUjtBQUNBOzswQkFFMEI7QXNCMTk3Q3RCOztFQUVJO0VBQ0E7QXRCNDk3Q1I7QXNCMTk3Q0k7RUFDSTtFQUNBO0F0QjQ5N0NSO0FBQ0E7OzBCQUUwQjtBc0J2OTdDdEI7OztFQUdJO0VBQ0E7QXRCeTk3Q1I7QXNCdjk3Q0k7OztFQUdJO0VBQ0E7QXRCeTk3Q1I7QUFDQSxXQUFXO0FzQnQ5N0NQO0VBQ0k7QXRCdzk3Q1I7QXNCdDk3Q0k7RUFDSTtBdEJ3OTdDUjtBQUNBLGFBQWE7QXNCcjk3Q0w7RUFDSTtBdEJ1OTdDWjtBQUNBLFlBQVk7QXNCbjk3Q0o7O0VBRUk7QXRCcTk3Q1o7QXNCbjk3Q1E7O0VBRUk7QXRCcTk3Q1o7QUFDQTs7c0JBRXNCO0FBQ3RCLGNBQWM7QXNCLzg3Q1Y7RUFDSTtFQUNBO0F0Qmk5N0NSO0FzQjk4N0NRO0VBQ0k7RUFDQTtBdEJnOTdDWjtBQUNBLGFBQWE7QXNCMTg3Q1Q7RUFDSTtFQUNBO0F0QjQ4N0NSO0FzQno4N0NRO0VBQ0k7RUFDQTtBdEIyODdDWjtBQUNBOzswQkFFMEI7QUFDMUIsV0FBVztBc0JwODdDUDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QnM4N0NSO0FzQnI4N0NTO0VBQ0c7QXRCdTg3Q1o7QXNCcDg3Q0k7RUFDSTtBdEJzODdDUjtBQUNBLFFBQVE7QXNCbjg3Q0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QnE4N0NSO0FzQm44N0NJO0VBQ0k7QXRCcTg3Q1I7QXNCbjg3Q0k7RUFDSTtBdEJxODdDUjtBQUNBLFdBQVc7QXNCbDg3Q1A7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCbzg3Q1I7QXNCbDg3Q0k7RUFDSTtBdEJvODdDUjtBc0JsODdDSTtFQUNJO0F0Qm84N0NSO0FzQmw4N0NJO0VBQ0k7QXRCbzg3Q1I7QXNCbDg3Q0k7RUFDSTtBdEJvODdDUjtBc0JoODdDWTtFQUNJO0VBQ0E7QXRCazg3Q2hCO0FzQmg4N0NZO0VBQ0k7QXRCazg3Q2hCO0FzQmg4N0NZO0VBQ0k7QXRCazg3Q2hCO0FzQmg4N0NZO0VBQ0k7QXRCazg3Q2hCO0FzQmg4N0NZO0VBQ0k7QXRCazg3Q2hCO0FBQ0E7O3FCQUVxQjtBc0IxNzdDakI7RUFDSTtFQUNBO0F0QjQ3N0NSO0FzQjE3N0NJO0VBQ0k7RUFDQTtBdEI0NzdDUjtBQUNBOztxQkFFcUI7QXNCdjc3Q2pCO0VBQ0k7RUFDQTtBdEJ5NzdDUjtBc0J2NzdDSTtFQUVRO0lBQ0k7RXRCdzc3Q2Q7RXNCdjc3Q2M7SUFDSTtFdEJ5NzdDbEI7RXNCcDc3Q1U7SUFDSTtFdEJzNzdDZDtFc0JyNzdDYztJQUNJO0V0QnU3N0NsQjtFc0JuNzdDTTtJQUNJO0V0QnE3N0NWO0VzQnA3N0NVO0lBQ0k7RXRCczc3Q2Q7RXNCbDc3Q1U7SUFDSTtFdEJvNzdDZDtFc0JuNzdDYztJQUNJO0V0QnE3N0NsQjtFc0JoNzdDVTtJQUNJO0V0Qms3N0NkO0VzQmo3N0NjO0lBQ0k7RXRCbTc3Q2xCO0FBQ0Y7QXNCOTY3Q0k7RUFFUTtJQUNJO0V0Qis2N0NkO0VzQjk2N0NjO0lBQ0k7RXRCZzc3Q2xCO0VzQjM2N0NVO0lBQ0k7RXRCNjY3Q2Q7RXNCNTY3Q2M7SUFDSTtFdEI4NjdDbEI7RXNCMTY3Q007SUFDSTtFdEI0NjdDVjtFc0IzNjdDVTtJQUNJO0V0QjY2N0NkO0VzQno2N0NVO0lBQ0k7RXRCMjY3Q2Q7RXNCMTY3Q2M7SUFDSTtFdEI0NjdDbEI7RXNCdjY3Q1U7SUFDSTtFdEJ5NjdDZDtFc0J4NjdDYztJQUNJO0V0QjA2N0NsQjtBQUNGO0FzQnQ2N0NJO0VBRVE7SUFDSTtFdEJ1NjdDZDtFc0J0NjdDYztJQUNJO0V0Qnc2N0NsQjtFc0JuNjdDVTtJQUNJO0V0QnE2N0NkO0VzQnA2N0NjO0lBQ0k7RXRCczY3Q2xCO0VzQmw2N0NNO0lBQ0k7RXRCbzY3Q1Y7RXNCbjY3Q1U7SUFDSTtFdEJxNjdDZDtFc0JqNjdDVTtJQUNJO0V0Qm02N0NkO0VzQmw2N0NjO0lBQ0k7RXRCbzY3Q2xCO0VzQi81N0NVO0lBQ0k7RXRCaTY3Q2Q7RXNCaDY3Q2M7SUFDSTtFdEJrNjdDbEI7QUFDRjtBc0I5NTdDSTtFQUVRO0lBQ0k7RXRCKzU3Q2Q7RXNCOTU3Q2M7SUFDSTtFdEJnNjdDbEI7RXNCMzU3Q1U7SUFDSTtFdEI2NTdDZDtFc0I1NTdDYztJQUNJO0V0Qjg1N0NsQjtFc0IxNTdDTTtJQUNJO0V0QjQ1N0NWO0VzQjM1N0NVO0lBQ0k7RXRCNjU3Q2Q7RXNCejU3Q1U7SUFDSTtFdEIyNTdDZDtFc0IxNTdDYztJQUNJO0V0QjQ1N0NsQjtFc0J2NTdDVTtJQUNJO0V0Qnk1N0NkO0VzQng1N0NjO0lBQ0k7RXRCMDU3Q2xCO0FBQ0Y7QXNCcjU3Q1E7RUFDSTtFQUNBO0F0QnU1N0NaO0FBQ0E7O3NCQUVzQjtBc0JqNTdDdEI7O0VBRUk7QXRCbTU3Q0o7QXNCOTQ3Q1M7O0VBRUc7QXRCZzU3Q1o7QXNCbDU3Q1M7O0VBRUc7QXRCbzU3Q1o7QXNCdDU3Q1M7O0VBRUc7QXRCdzU3Q1o7QXNCMTU3Q1M7O0VBRUc7QXRCNDU3Q1o7QXNCOTU3Q1M7O0VBRUc7QXRCZzY3Q1o7QXNCbDY3Q1M7O0VBRUc7QXRCbzY3Q1o7QXNCdDY3Q1M7O0VBRUc7QXRCdzY3Q1o7QUFDQTs7K0JBRStCO0FBQy9COzsrQkFFK0I7QUFDL0I7Ozs7Ozs7O0VBUUU7QUFDRjs7K0JBRStCO0FBQy9COztpQkFFaUI7QUFDakI7Ozs7Ozs7OztDQVNDO0FBQ0Q7OytCQUUrQjtBQUMvQjs7Q0FFQztBQUNELFdBQVc7QUFDWCxhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCLFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQiwyQkFBMkI7QUFDM0IsaUNBQWlDO0FBQ2pDOzsrQkFFK0I7QUFDL0I7OytCQUUrQjtBQUMvQjs7cUJBRXFCO0FBQ3JCOzt1QkFFdUI7QUFDdkIsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7OzJEQUUyRDtBQUMzRCxZQUFZO0FBQ1o7OytCQUUrQjtBQUMvQixXQUFXO0FBQ1gsY0FBYztBQUNkLFlBQVk7QUFDWixXQUFXO0FBQ1gsU0FBUztBQUNULDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsVUFBVTtBQUNWLFVBQVU7QUFDVixVQUFVO0FBQ1YsU0FBUztBQUNULFdBQVc7QUFDWCxnQkFBZ0I7QUFDaEIsU0FBUztBQUNULFdBQVc7QUFDWCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVDs7K0JBRStCO0FBQy9CLGVBQWU7QUFDZixTQUFTO0FBQ1QsU0FBUztBQUNULFNBQVM7QUFDVCxZQUFZO0FBQ1osVUFBVTtBQUNWOzsrQkFFK0I7QUFDL0IsT0FBTztBQUNQLFNBQVM7QUFDVCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVCxjQUFjO0FBQ2Q7OytCQUUrQjtBQUMvQixjQUFjO0FBQ2QsYUFBYTtBQUNiLGFBQWE7QUFDYixXQUFXO0FBQ1gsYUFBYTtBQUNiLFVBQVU7QUFDVixXQUFXO0FBQ1gsVUFBVTtBQUNWLFFBQVE7QUFDUixVQUFVO0FBQ1YsYUFBYTtBQUNiLFdBQVc7QUFDWCxXQUFXO0FBQ1gsVUFBVTtBQUNWLFlBQVk7QUFDWixXQUFXO0FBQ1gsUUFBUTtBQUNSLFVBQVU7QUFDVixlQUFlO0FBQ2YsV0FBVztBQUNYOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qix1REFBdUQ7QUFDdkQsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEI7O0NBRUM7QUFDRDs7c0JBRXNCO0FBQ3RCLHVGQUF1RjtBQUN2Rjs7aUJBRWlCO0FBQ2pCOztpQkFFaUI7QUFDakIsNERBQTREO0FBQzVELHFCQUFxQjtBQUNyQixvRkFBb0Y7QUFDcEY7O3NCQUVzQjtBQUN0QixpQ0FBaUM7QUFDakMsMkNBQTJDO0FBQzNDOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0Q7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2Isd0JBQXdCO0FBQ3hCLGNBQWM7QUFDZDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsMkJBQTJCO0FBQzNCLHdCQUF3QjtBQUN4QixnQ0FBZ0M7QUFDaEMsNEJBQTRCO0FBQzVCLHlCQUF5QjtBQUN6QiwrQkFBK0I7QUFDL0IsaUNBQWlDO0FBQ2pDLDJCQUEyQjtBQUMzQixvQkFBb0I7QUFDcEIsYUFBYTtBQUNiLGdCQUFnQjtBQUNoQjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNkJBQTZCO0FBQzdCLDJCQUEyQjtBQUMzQjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiLGFBQWE7QUFDYixTQUFTO0FBQ1QsWUFBWTtBQUNaOztzQkFFc0I7QUFDdEIsK0NBQStDO0FBQy9DOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0QsT0FBTztBQUNQLFFBQVE7QUFDUjs7c0JBRXNCO0FBQ3RCLGdDQUFnQztBQUNoQzs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLDRCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsMERBQTBEO0FBQzFELG1DQUFtQztBQUNuQyxtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLDhCQUE4QjtBQUM5QixlQUFlO0FBQ2Y7O3NCQUVzQjtBQUN0Qjs7Ozs7Ozs7Q0FRQztBQUNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQix1QkFBdUI7QUFDdkIscUJBQXFCO0FBQ3JCOztnQ0FFZ0M7QUFDaEMsZUFBZTtBQUNmLGdCQUFnQjtBQUNoQixhQUFhO0FBQ2IsbUJBQW1CO0FBQ25CLGtCQUFrQjtBQUNsQixzQkFBc0I7QUFDdEIsNEJBQTRCO0FBQzVCOzsrQkFFK0I7QUFDL0I7OzJEQUUyRDtBQUMzRCxZQUFZO0FBQ1o7OytCQUUrQjtBQUMvQixXQUFXO0FBQ1gsY0FBYztBQUNkLFlBQVk7QUFDWixXQUFXO0FBQ1gsU0FBUztBQUNULDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsVUFBVTtBQUNWLFVBQVU7QUFDVixVQUFVO0FBQ1YsU0FBUztBQUNULFdBQVc7QUFDWCxnQkFBZ0I7QUFDaEIsU0FBUztBQUNULFdBQVc7QUFDWCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVDs7K0JBRStCO0FBQy9CLGVBQWU7QUFDZixTQUFTO0FBQ1QsU0FBUztBQUNULFNBQVM7QUFDVCxZQUFZO0FBQ1osVUFBVTtBQUNWOzsrQkFFK0I7QUFDL0IsT0FBTztBQUNQLFNBQVM7QUFDVCxZQUFZO0FBQ1osU0FBUztBQUNULFNBQVM7QUFDVCxjQUFjO0FBQ2Q7OytCQUUrQjtBQUMvQixjQUFjO0FBQ2QsYUFBYTtBQUNiLGFBQWE7QUFDYixXQUFXO0FBQ1gsYUFBYTtBQUNiLFVBQVU7QUFDVixXQUFXO0FBQ1gsVUFBVTtBQUNWLFFBQVE7QUFDUixVQUFVO0FBQ1YsYUFBYTtBQUNiLFdBQVc7QUFDWCxXQUFXO0FBQ1gsVUFBVTtBQUNWLFlBQVk7QUFDWixXQUFXO0FBQ1gsUUFBUTtBQUNSLFVBQVU7QUFDVixlQUFlO0FBQ2YsV0FBVztBQUNYOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qix1REFBdUQ7QUFDdkQsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEI7O0NBRUM7QUFDRDs7c0JBRXNCO0FBQ3RCLHVGQUF1RjtBQUN2Rjs7aUJBRWlCO0FBQ2pCOztpQkFFaUI7QUFDakIsNERBQTREO0FBQzVELHFCQUFxQjtBQUNyQixvRkFBb0Y7QUFDcEY7O3NCQUVzQjtBQUN0QixpQ0FBaUM7QUFDakMsMkNBQTJDO0FBQzNDOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0Q7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2Isd0JBQXdCO0FBQ3hCLGNBQWM7QUFDZDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsMkJBQTJCO0FBQzNCLHdCQUF3QjtBQUN4QixnQ0FBZ0M7QUFDaEMsNEJBQTRCO0FBQzVCLHlCQUF5QjtBQUN6QiwrQkFBK0I7QUFDL0IsaUNBQWlDO0FBQ2pDLDJCQUEyQjtBQUMzQixvQkFBb0I7QUFDcEIsYUFBYTtBQUNiLGdCQUFnQjtBQUNoQjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNkJBQTZCO0FBQzdCLDJCQUEyQjtBQUMzQjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiLGFBQWE7QUFDYixTQUFTO0FBQ1QsWUFBWTtBQUNaOztzQkFFc0I7QUFDdEIsK0NBQStDO0FBQy9DOztzQkFFc0I7QUFDdEI7OztDQUdDO0FBQ0QsT0FBTztBQUNQLFFBQVE7QUFDUjs7c0JBRXNCO0FBQ3RCLGdDQUFnQztBQUNoQzs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLDRCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsMERBQTBEO0FBQzFELG1DQUFtQztBQUNuQyxtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLDhCQUE4QjtBQUM5QixlQUFlO0FBQ2Y7O3NCQUVzQjtBQUN0Qjs7Ozs7Ozs7Q0FRQztBQUNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQix1QkFBdUI7QUFDdkIscUJBQXFCO0FBQ3JCOztnQ0FFZ0M7QUFDaEMsZUFBZTtBQUNmLGdCQUFnQjtBQUNoQixhQUFhO0FBQ2IsbUJBQW1CO0FBQ25CLGtCQUFrQjtBQUNsQixzQkFBc0I7QUFDdEIsK0JBQStCO0FBQy9CLDhCQUE4QjtBQUM5Qjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7dUJBRXVCO0FBQ3ZCLFlBQVk7QUFDWjs7K0JBRStCO0FBQy9COztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0QixTQUFTO0FBQ1QsVUFBVTtBQUNWLGdCQUFnQjtBQUNoQixVQUFVO0FBQ1YsV0FBVztBQUNYOztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiOztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiOztzQkFFc0I7QUFDdEIsY0FBYztBQUNkLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLG1CQUFtQjtBQUNuQixhQUFhO0FBQ2IsYUFBYTtBQUNiLG1CQUFtQjtBQUNuQixlQUFlO0FBQ2Y7OytCQUUrQjtBQUMvQjs7MkJBRTJCO0FBQzNCLFlBQVk7QUFDWjs7MkRBRTJEO0FBQzNEOzsyREFFMkQ7QUFDM0QseUJBQXlCO0FBQ3pCOzsyREFFMkQ7QUFDM0Q7OzJEQUUyRDtBQUMzRCxtQkFBbUI7QUFDbkIsZUFBZTtBQUNmOzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCLGVBQWU7QUFDZjs7K0JBRStCO0F1QmprL0M5QjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJtay9DSjtBdUJqay9DQztFQUNHO0F2Qm1rL0NKO0FBQ0EsZ0JBQWdCO0F1QmhrL0NoQjtFQUNJO0F2QmtrL0NKO0FBQ0EsZUFBZTtBdUIvai9DZjtFQUNJO0F2QmlrL0NKO0FBQ0E7OytCQUUrQjtBdUI3ai9DOUI7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkIrai9DSjtBQUNBLFVBQVU7QXVCNWovQ1Q7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QjhqL0NKO0FBQ0EsZUFBZTtBdUIzai9DZDtFQUNHO0VBQ0E7QXZCNmovQ0o7QUFDQSxjQUFjO0F1QjFqL0NiO0VBQ0c7RUFDQTtFQUNBO0F2QjRqL0NKO0FBQ0EsY0FBYztBdUJ6ai9DYjtFQUNHO0F2QjJqL0NKO0FBQ0E7OytCQUUrQjtBQUMvQixVQUFVO0F1QnZqL0NWO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZCeWovQ0o7QXVCdmovQ0E7RUFDSTtBdkJ5ai9DSjtBQUNBLGdCQUFnQjtBdUJ0ai9DaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkJ3ai9DSjtBdUJ0ai9DQTtFQUNJO0F2QndqL0NKO0F1QnRqL0NBO0VBQ0k7QXZCd2ovQ0o7QUFDQSxTQUFTO0F1QnJqL0NUO0VBQ0k7RUFDQTtFQUNBO0F2QnVqL0NKO0F1QnJqL0NBOztFQUVJO0VBQ0E7RUFDQTtBdkJ1ai9DSjtBQUNBLG9CQUFvQjtBdUJwai9DbkI7RUFDRztBdkJzai9DSjtBQUNBLFNBQVM7QXVCbmovQ1Q7O0VBRUk7QXZCcWovQ0o7QUFDQTs7K0JBRStCO0F1QmhqL0MzQjtFQUNJO0VBQ0E7RUFDQTtBdkJrai9DUjtBdUJoai9DUztFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCa2ovQ1o7QXVCaGovQ1k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCa2ovQ2hCO0F1QmhqL0NnQjtFQUNJO0F2QmtqL0NwQjtBdUJoai9DZ0I7RUFDSTtBdkJrai9DcEI7QXVCL2kvQ2dCO0VBQ0k7QXZCaWovQ3BCO0F1Qi9pL0NnQjtFQUNJO0F2QmlqL0NwQjtBdUIvaS9DZ0I7RUFDSTtBdkJpai9DcEI7QXVCL2kvQ2dCO0VBQ0k7RUFDQTtBdkJpai9DcEI7QXVCaGovQ29CO0VBQ0k7QXZCa2ovQ3hCO0F1QmpqL0N3QjtFQUNJO0VBQ0E7RUFDQTtBdkJtai9DNUI7QXVCaGovQ29CO0VBQ0k7QXZCa2ovQ3hCO0F1QmhqL0NvQjtFQUNJO0F2QmtqL0N4QjtBdUI3aS9DWTs7Ozs7O0VBTUk7QXZCK2kvQ2hCO0F1QjNpL0NRO0VBQ0k7QXZCNmkvQ1o7QXVCM2kvQ1k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkI2aS9DaEI7QXVCM2kvQ1k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkI2aS9DaEI7QXVCMWkvQ2dCO0VBQ0k7QXZCNGkvQ3BCO0F1QnppL0NnQjtFQUNJO0F2QjJpL0NwQjtBdUJ6aS9DZ0I7RUFDSTtBdkIyaS9DcEI7QXVCdmkvQ2dCO0VBQ0k7RUFDQTtBdkJ5aS9DcEI7QXVCdmkvQ2dCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QnlpL0NwQjtBdUJwaS9DSTtFQUNLO0lBQ0c7RXZCc2kvQ1Y7RXVCcGkvQ087SUFDRztFdkJzaS9DVjtBQUNGO0FBQ0E7O3FCQUVxQjtBdUJoaS9DakI7RUFDSTtBdkJraS9DUjtBdUJoaS9DSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJraS9DUjtBdUJoaS9DSztFQUNHO0VBQ0E7RUFDQTtFQUNBO0F2QmtpL0NSO0F1QjdoL0NZO0VBQ0k7QXZCK2gvQ2hCO0F1QjdoL0NZO0VBQ0k7QXZCK2gvQ2hCO0F1QjdoL0NZO0VBQ0k7QXZCK2gvQ2hCO0F1QjdoL0NZO0VBQ0k7QXZCK2gvQ2hCO0F1QjFoL0NJO0VBQ0k7RUFDQTtBdkI0aC9DUjtBQUNBOztxQkFFcUI7QXVCdGgvQ2hCO0VBQ0c7RUFDQTtFQUNBO0F2QndoL0NSO0F1QnRoL0NLO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7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dUJwKytDSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0F2QnMrK0NSO0F1QnArK0NLO0VBQ0c7QXZCcysrQ1I7QXVCcCsrQ0s7RUFDRztBdkJzKytDUjtBQUNBLFdBQVc7QXVCbisrQ047RUFDRztFQUNBO0F2QnErK0NSO0F1Qm4rK0NLO0VBQ0c7QXZCcSsrQ1I7QXVCbisrQ0s7RUFDRztBdkJxKytDUjtBQUNBOzswQkFFMEI7QXVCLzkrQ3RCOzs7Ozs7OztFQVFJO0F2QmkrK0NSO0F1Qi85K0NJOzs7Ozs7OztFQVFJO0F2QmkrK0NSO0F1Qi85K0NJO0VBQ0k7QXZCaSsrQ1I7QXVCLzkrQ0k7RUFDSTtBdkJpKytDUjtBdUIvOStDSTtFQUNJO0F2QmkrK0NSO0F1Qi85K0NJO0VBQ0k7QXZCaSsrQ1I7QXVCLzkrQ0k7RUFDSTtBdkJpKytDUjtBdUIvOStDSTtFQUNJO0F2QmkrK0NSO0F1Qi85K0NJO0VBQ0k7QXZCaSsrQ1I7QXVCLzkrQ0k7RUFDSTtBdkJpKytDUjtBQUNBOztzQkFFc0I7QXVCNTkrQ3RCOztFQUVJO0F2Qjg5K0NKO0F1Qno5K0NTOztFQUVHO0F2QjI5K0NaO0F1Qng5K0NhO0VBQ0c7RUFDQTtBdkIwOStDaEI7QXVCaisrQ1M7O0VBRUc7QXZCbSsrQ1o7QXVCaCsrQ2E7RUFDRztFQUNBO0F2QmsrK0NoQjtBdUJ6KytDUzs7RUFFRztBdkIyKytDWjtBdUJ4KytDYTtFQUNHO0VBQ0E7QXZCMCsrQ2hCO0F1QmovK0NTOztFQUVHO0F2Qm0vK0NaO0F1QmgvK0NhO0VBQ0c7RUFDQTtBdkJrLytDaEI7QXVCei8rQ1M7O0VBRUc7QXZCMi8rQ1o7QXVCeC8rQ2E7RUFDRztFQUNBO0F2QjAvK0NoQjtBdUJqZy9DUzs7RUFFRztBdkJtZy9DWjtBdUJoZy9DYTtFQUNHO0VBQ0E7QXZCa2cvQ2hCO0F1QnpnL0NTOztFQUVHO0F2QjJnL0NaO0F1QnhnL0NhO0VBQ0c7RUFDQTtBdkIwZy9DaEI7QUFDQTs7cUJBRXFCO0F1QmxnL0NoQjtFQUNHO0F2Qm9nL0NSO0F1QmpnL0NLO0VBQ0c7RUFDQTtFQUNBO0F2Qm1nL0NSO0F1QmhnL0NLO0VBQ0c7RUFDQTtBdkJrZy9DUjtBdUIvLytDSTtFQUNJO0F2QmlnL0NSO0FBQ0EsV0FBVztBdUI5LytDTjs7RUFFRztBdkJnZy9DUjtBdUI5LytDSzs7RUFFRztBdkJnZy9DUjtBQUNBLGFBQWE7QXVCNS8rQ0o7O0VBRUc7QXZCOC8rQ1o7QXVCNS8rQ1M7OztFQUdHO0F2QjgvK0NaO0FBQ0EsZUFBZTtBdUIxLytDVjs7OztFQUlHO0VBQ0E7QXZCNC8rQ1I7QUFDQSxjQUFjO0F1QnovK0NUOzs7O0VBSUc7RUFDQTtBdkIyLytDUjtBQUNBLGtCQUFrQjtBdUJ2LytDTjtFQUNJO0F2QnkvK0NoQjtBdUJyLytDZ0I7RUFDSTtBdkJ1LytDcEI7QXVCci8rQ2dCO0VBQ0k7QXZCdS8rQ3BCO0F1QnIvK0NnQjtFQUNJO0F2QnUvK0NwQjtBdUJwLytDWTtFQUNJO0F2QnMvK0NoQjtBdUJqLytDb0I7RUFDSTtBdkJtLytDeEI7QXVCai8rQ29CO0VBQ0k7QXZCbS8rQ3hCO0F1QnIrK0NZO0VBQ0k7QXZCdSsrQ2hCO0F1QnIrK0NZO0VBQ0k7QXZCdSsrQ2hCO0F1Qm4rK0NZOztFQUNJO0F2QnMrK0NoQjtBdUJwKytDWTs7RUFDSTtBdkJ1KytDaEI7QXVCcisrQ1k7O0VBQ0k7RUFDQTtBdkJ3KytDaEI7QXVCcCsrQ1k7O0VBQ0k7QXZCdSsrQ2hCO0F1QnArK0NTO0VBQ0c7QXZCcysrQ1o7QXVCbisrQ1k7O0VBQ0k7QXZCcysrQ2hCO0F1QmwrK0NhO0VBQ0c7QXZCbysrQ2hCO0F1QmorK0NnQjs7RUFDSTtBdkJvKytDcEI7QXVCNzkrQ2dCOztFQUNJO0F2QmcrK0NwQjtBdUI5OStDZ0I7O0VBQ0k7QXZCaSsrQ3BCO0F1QmxoL0NZO0VBQ0k7QXZCb2gvQ2hCO0F1QmxoL0NZO0VBQ0k7QXZCb2gvQ2hCO0F1QmhoL0NZOztFQUNJO0F2Qm1oL0NoQjtBdUJqaC9DWTs7RUFDSTtBdkJvaC9DaEI7QXVCbGgvQ1k7O0VBQ0k7RUFDQTtBdkJxaC9DaEI7QXVCamgvQ1k7O0VBQ0k7QXZCb2gvQ2hCO0F1QmpoL0NTO0VBQ0c7QXZCbWgvQ1o7QXVCaGgvQ1k7O0VBQ0k7QXZCbWgvQ2hCO0F1Qi9nL0NhO0VBQ0c7QXZCaWgvQ2hCO0F1QjlnL0NnQjs7RUFDSTtBdkJpaC9DcEI7QXVCMWcvQ2dCOztFQUNJO0F2QjZnL0NwQjtBdUIzZy9DZ0I7O0VBQ0k7QXZCOGcvQ3BCO0F1Qi9qL0NZO0VBQ0k7QXZCaWsvQ2hCO0F1Qi9qL0NZO0VBQ0k7QXZCaWsvQ2hCO0F1QjdqL0NZOztFQUNJO0F2QmdrL0NoQjtBdUI5ai9DWTs7RUFDSTtBdkJpay9DaEI7QXVCL2ovQ1k7O0VBQ0k7RUFDQTtBdkJray9DaEI7QXVCOWovQ1k7O0VBQ0k7QXZCaWsvQ2hCO0F1QjlqL0NTO0VBQ0c7QXZCZ2svQ1o7QXVCN2ovQ1k7O0VBQ0k7QXZCZ2svQ2hCO0F1QjVqL0NhO0VBQ0c7QXZCOGovQ2hCO0F1QjNqL0NnQjs7RUFDSTtBdkI4ai9DcEI7QXVCdmovQ2dCOztFQUNJO0F2QjBqL0NwQjtBdUJ4ai9DZ0I7O0VBQ0k7QXZCMmovQ3BCO0F1QjVtL0NZO0VBQ0k7QXZCOG0vQ2hCO0F1QjVtL0NZO0VBQ0k7QXZCOG0vQ2hCO0F1QjFtL0NZOztFQUNJO0F2QjZtL0NoQjtBdUIzbS9DWTs7RUFDSTtBdkI4bS9DaEI7QXVCNW0vQ1k7O0VBQ0k7RUFDQTtBdkIrbS9DaEI7QXVCM20vQ1k7O0VBQ0k7QXZCOG0vQ2hCO0F1QjNtL0NTO0VBQ0c7QXZCNm0vQ1o7QXVCMW0vQ1k7O0VBQ0k7QXZCNm0vQ2hCO0F1QnptL0NhO0VBQ0c7QXZCMm0vQ2hCO0F1QnhtL0NnQjs7RUFDSTtBdkIybS9DcEI7QXVCcG0vQ2dCOztFQUNJO0F2QnVtL0NwQjtBdUJybS9DZ0I7O0VBQ0k7QXZCd20vQ3BCO0F1QnpwL0NZO0VBQ0k7QXZCMnAvQ2hCO0F1QnpwL0NZO0VBQ0k7QXZCMnAvQ2hCO0F1QnZwL0NZOztFQUNJO0F2QjBwL0NoQjtBdUJ4cC9DWTs7RUFDSTtBdkIycC9DaEI7QXVCenAvQ1k7O0VBQ0k7RUFDQTtBdkI0cC9DaEI7QXVCeHAvQ1k7O0VBQ0k7QXZCMnAvQ2hCO0F1QnhwL0NTO0VBQ0c7QXZCMHAvQ1o7QXVCdnAvQ1k7O0VBQ0k7QXZCMHAvQ2hCO0F1QnRwL0NhO0VBQ0c7QXZCd3AvQ2hCO0F1QnJwL0NnQjs7RUFDSTtBdkJ3cC9DcEI7QXVCanAvQ2dCOztFQUNJO0F2Qm9wL0NwQjtBdUJscC9DZ0I7O0VBQ0k7QXZCcXAvQ3BCO0F1QnRzL0NZO0VBQ0k7QXZCd3MvQ2hCO0F1QnRzL0NZO0VBQ0k7QXZCd3MvQ2hCO0F1QnBzL0NZOztFQUNJO0F2QnVzL0NoQjtBdUJycy9DWTs7RUFDSTtBdkJ3cy9DaEI7QXVCdHMvQ1k7O0VBQ0k7RUFDQTtBdkJ5cy9DaEI7QXVCcnMvQ1k7O0VBQ0k7QXZCd3MvQ2hCO0F1QnJzL0NTO0VBQ0c7QXZCdXMvQ1o7QXVCcHMvQ1k7O0VBQ0k7QXZCdXMvQ2hCO0F1Qm5zL0NhO0VBQ0c7QXZCcXMvQ2hCO0F1QmxzL0NnQjs7RUFDSTtBdkJxcy9DcEI7QXVCOXIvQ2dCOztFQUNJO0F2QmlzL0NwQjtBdUIvci9DZ0I7O0VBQ0k7QXZCa3MvQ3BCO0F1Qm52L0NZO0VBQ0k7QXZCcXYvQ2hCO0F1Qm52L0NZO0VBQ0k7QXZCcXYvQ2hCO0F1Qmp2L0NZOztFQUNJO0F2Qm92L0NoQjtBdUJsdi9DWTs7RUFDSTtBdkJxdi9DaEI7QXVCbnYvQ1k7O0VBQ0k7RUFDQTtBdkJzdi9DaEI7QXVCbHYvQ1k7O0VBQ0k7QXZCcXYvQ2hCO0F1Qmx2L0NTO0VBQ0c7QXZCb3YvQ1o7QXVCanYvQ1k7O0VBQ0k7QXZCb3YvQ2hCO0F1Qmh2L0NhO0VBQ0c7QXZCa3YvQ2hCO0F1Qi91L0NnQjs7RUFDSTtBdkJrdi9DcEI7QXVCM3UvQ2dCOztFQUNJO0F2Qjh1L0NwQjtBdUI1dS9DZ0I7O0VBQ0k7QXZCK3UvQ3BCO0F1Qmh5L0NZO0VBQ0k7QXZCa3kvQ2hCO0F1Qmh5L0NZO0VBQ0k7QXZCa3kvQ2hCO0F1Qjl4L0NZOztFQUNJO0F2Qml5L0NoQjtBdUIveC9DWTs7RUFDSTtBdkJreS9DaEI7QXVCaHkvQ1k7O0VBQ0k7RUFDQTtBdkJteS9DaEI7QXVCL3gvQ1k7O0VBQ0k7QXZCa3kvQ2hCO0F1Qi94L0NTO0VBQ0c7QXZCaXkvQ1o7QXVCOXgvQ1k7O0VBQ0k7QXZCaXkvQ2hCO0F1Qjd4L0NhO0VBQ0c7QXZCK3gvQ2hCO0F1QjV4L0NnQjs7RUFDSTtBdkIreC9DcEI7QXVCeHgvQ2dCOztFQUNJO0F2QjJ4L0NwQjtBdUJ6eC9DZ0I7O0VBQ0k7QXZCNHgvQ3BCO0F1QjcwL0NZO0VBQ0k7QXZCKzAvQ2hCO0F1QjcwL0NZO0VBQ0k7QXZCKzAvQ2hCO0F1QjMwL0NZOztFQUNJO0F2QjgwL0NoQjtBdUI1MC9DWTs7RUFDSTtBdkIrMC9DaEI7QXVCNzAvQ1k7O0VBQ0k7RUFDQTtBdkJnMS9DaEI7QXVCNTAvQ1k7O0VBQ0k7QXZCKzAvQ2hCO0F1QjUwL0NTO0VBQ0c7QXZCODAvQ1o7QXVCMzAvQ1k7O0VBQ0k7QXZCODAvQ2hCO0F1QjEwL0NhO0VBQ0c7QXZCNDAvQ2hCO0F1QnowL0NnQjs7RUFDSTtBdkI0MC9DcEI7QXVCcjAvQ2dCOztFQUNJO0F2QncwL0NwQjtBdUJ0MC9DZ0I7O0VBQ0k7QXZCeTAvQ3BCO0F1QjEzL0NZO0VBQ0k7QXZCNDMvQ2hCO0F1QjEzL0NZO0VBQ0k7QXZCNDMvQ2hCO0F1QngzL0NZOztFQUNJO0F2QjIzL0NoQjtBdUJ6My9DWTs7RUFDSTtBdkI0My9DaEI7QXVCMTMvQ1k7O0VBQ0k7RUFDQTtBdkI2My9DaEI7QXVCejMvQ1k7O0VBQ0k7QXZCNDMvQ2hCO0F1QnozL0NTO0VBQ0c7QXZCMjMvQ1o7QXVCeDMvQ1k7O0VBQ0k7QXZCMjMvQ2hCO0F1QnYzL0NhO0VBQ0c7QXZCeTMvQ2hCO0F1QnQzL0NnQjs7RUFDSTtBdkJ5My9DcEI7QXVCbDMvQ2dCOztFQUNJO0F2QnEzL0NwQjtBdUJuMy9DZ0I7O0VBQ0k7QXZCczMvQ3BCO0F1QnY2L0NZO0VBQ0k7QXZCeTYvQ2hCO0F1QnY2L0NZO0VBQ0k7QXZCeTYvQ2hCO0F1QnI2L0NZOztFQUNJO0F2Qnc2L0NoQjtBdUJ0Ni9DWTs7RUFDSTtBdkJ5Ni9DaEI7QXVCdjYvQ1k7O0VBQ0k7RUFDQTtBdkIwNi9DaEI7QXVCdDYvQ1k7O0VBQ0k7QXZCeTYvQ2hCO0F1QnQ2L0NTO0VBQ0c7QXZCdzYvQ1o7QXVCcjYvQ1k7O0VBQ0k7QXZCdzYvQ2hCO0F1QnA2L0NhO0VBQ0c7QXZCczYvQ2hCO0F1Qm42L0NnQjs7RUFDSTtBdkJzNi9DcEI7QXVCLzUvQ2dCOztFQUNJO0F2Qms2L0NwQjtBdUJoNi9DZ0I7O0VBQ0k7QXZCbTYvQ3BCO0F1QnA5L0NZO0VBQ0k7QXZCczkvQ2hCO0F1QnA5L0NZO0VBQ0k7QXZCczkvQ2hCO0F1Qmw5L0NZOztFQUNJO0F2QnE5L0NoQjtBdUJuOS9DWTs7RUFDSTtBdkJzOS9DaEI7QXVCcDkvQ1k7O0VBQ0k7RUFDQTtBdkJ1OS9DaEI7QXVCbjkvQ1k7O0VBQ0k7QXZCczkvQ2hCO0F1Qm45L0NTO0VBQ0c7QXZCcTkvQ1o7QXVCbDkvQ1k7O0VBQ0k7QXZCcTkvQ2hCO0F1Qmo5L0NhO0VBQ0c7QXZCbTkvQ2hCO0F1Qmg5L0NnQjs7RUFDSTtBdkJtOS9DcEI7QXVCNTgvQ2dCOztFQUNJO0F2Qis4L0NwQjtBdUI3OC9DZ0I7O0VBQ0k7QXZCZzkvQ3BCO0F1QmpnZ0RZO0VBQ0k7QXZCbWdnRGhCO0F1QmpnZ0RZO0VBQ0k7QXZCbWdnRGhCO0F1Qi8vL0NZOztFQUNJO0F2QmtnZ0RoQjtBdUJoZ2dEWTs7RUFDSTtBdkJtZ2dEaEI7QXVCamdnRFk7O0VBQ0k7RUFDQTtBdkJvZ2dEaEI7QXVCaGdnRFk7O0VBQ0k7QXZCbWdnRGhCO0F1QmhnZ0RTO0VBQ0c7QXZCa2dnRFo7QXVCLy8vQ1k7O0VBQ0k7QXZCa2dnRGhCO0F1QjkvL0NhO0VBQ0c7QXZCZ2dnRGhCO0F1QjcvL0NnQjs7RUFDSTtBdkJnZ2dEcEI7QXVCei8vQ2dCOztFQUNJO0F2QjQvL0NwQjtBdUIxLy9DZ0I7O0VBQ0k7QXZCNi8vQ3BCO0F1QjlpZ0RZO0VBQ0k7QXZCZ2pnRGhCO0F1QjlpZ0RZO0VBQ0k7QXZCZ2pnRGhCO0F1QjVpZ0RZOztFQUNJO0F2QitpZ0RoQjtBdUI3aWdEWTs7RUFDSTtBdkJnamdEaEI7QXVCOWlnRFk7O0VBQ0k7RUFDQTtBdkJp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QnlvakRaO0F5QnRvakRhO0VBQ0c7QXpCd29qRGhCO0F5QjdvakRTO0VBQ0c7QXpCK29qRFo7QXlCNW9qRGE7RUFDRztBekI4b2pEaEI7QXlCbnBqRFM7RUFDRztBekJxcGpEWjtBeUJscGpEYTtFQUNHO0F6Qm9wakRoQjtBeUJ6cGpEUztFQUNHO0F6QjJwakRaO0F5QnhwakRhO0VBQ0c7QXpCMHBqRGhCO0F5Qi9wakRTO0VBQ0c7QXpCaXFqRFo7QXlCOXBqRGE7RUFDRztBekJncWpEaEI7QXlCcnFqRFM7RUFDRztBekJ1cWpEWjtBeUJwcWpEYTtFQUNHO0F6QnNxakRoQjtBeUIzcWpEUztFQUNHO0F6QjZxakRaO0F5QjFxakRhO0VBQ0c7QXpCNHFqRGhCO0F5QmpyakRTO0VBQ0c7QXpCbXJqRFo7QXlCaHJqRGE7RUFDRztBekJrcmpEaEI7QXlCdnJqRFM7RUFDRztBekJ5cmpEWjtBeUJ0cmpEYTtFQUNHO0F6QndyakRoQjtBeUI3cmpEUztFQUNHO0F6QityakRaO0F5QjVyakRhO0VBQ0c7QXpCOHJqRGhCO0F5Qm5zakRTO0VBQ0c7QXpCcXNqRFo7QXlCbHNqRGE7RUFDRztBekJvc2pEaEI7QXlCenNqRFM7RUFDRztBekIyc2pEWjtBeUJ4c2pEYTtFQUNHO0F6QjBzakRoQjtBeUIvc2pEUztFQUNHO0F6Qml0akRaO0F5QjlzakRhO0VBQ0c7QXpCZ3RqRGhCO0F5QnJzakRTO0VBQ0c7QXpCdXNqRFo7QXlCeHNqRFM7RUFDRztBekIwc2pEWjtBeUIzc2pEUztFQUNHO0F6QjZzakRaO0F5QjlzakRTO0VBQ0c7QXpCZ3RqRFo7QXlCMXNqREk7RUFDSTtBekI0c2pEUjtBQUNBLFVBQVU7QXlCeHNqRFY7RUFDSTtBekIwc2pESjtBeUJyc2pEUztFQUNHO0F6QnVzakRaO0F5QnhzakRTO0VBQ0c7QXpCMHNqRFo7QXlCM3NqRFM7RUFDRztBekI2c2pEWjtBeUI5c2pEUztFQUNHO0F6Qmd0akRaO0F5Qmp0akRTO0VBQ0c7QXpCbXRqRFo7QXlCcHRqRFM7RUFDRztBekJzdGpEWjtBeUJ2dGpEUztFQUNHO0F6Qnl0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eW1EUzs7RUFFRztBM0JveW1EWjtBMkI5eG1EUztFQUVHO0EzQm15bURaO0EyQnJ5bURTOztFQUVHO0EzQm15bURaO0EyQmp5bURTO0VBQ0c7QTNCbXltRFo7QUFDQTs7NkJBRTZCO0EyQi94bURwQjs7Ozs7RUFLRztFQUNBO0EzQml5bURaO0EyQi94bURTOztFQUVHO0EzQml5bURaO0EyQi94bURTOztFQUVHO0EzQml5bURaO0EyQi94bURTOztFQUVHO0EzQml5bURaO0EyQi94bURTOztFQUVHO0VBQ0E7QTNCaXltRFo7QUFDQSxVQUFVO0EyQjl4bUREOztFQUVHO0EzQmd5bURaO0FBQ0EsYUFBYTtBMkI3eG1ESjs7RUFFRztBM0IreG1EWjtBQUNBLFdBQVc7QTJCNXhtREY7O0VBRUc7QTNCOHhtRFo7QUFDQTs7OEJBRThCO0EyQjN4bURyQjs7RUFFRztBM0I2eG1EWjtBMkIzeG1EUzs7RUFFRztFQUNBO0EzQjZ4bURaO0EyQjN4bURTOztFQUVHO0EzQjZ4bURaO0EyQnp4bURhOztFQUVHO0EzQjJ4bURoQjtBMkJ4eG1EWTtFQUNJO0lBQ0k7RTNCMHhtRGxCO0FBQ0Y7QUFDQSxZQUFZO0EyQmhobkRIO0VBQ0c7QTNCa2huRFo7QTJCaGhuRFM7RUFDRztBM0JraG5EWjtBMkJoaG5EUztFQUNHO0EzQmtobkRaO0FBQ0EsZ0JBQWdCO0EyQi9nbkRQOztFQUVHO0EzQmlobkRaO0EyQi9nbkRTOztFQUVHO0EzQmlobkRaO0EyQi9nbkRTOztFQUVHO0EzQmlobkRaO0EyQjlnbkRTOzs7Ozs7RUFNRztBM0JnaG5EWjtBMkI3Z25EUTtFQUNJO0lBQ0k7RTNCK2duRGQ7QUFDRjtBMkI1Z25EUzs7RUFFRztBM0I4Z25EWjtBMkIzZ25EUzs7RUFFRztFQUNBO0EzQjZnbkRaO0EyQjFnbkRTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBa0NHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNCNGduRFo7QTJCaGduRFM7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJHO0VBQ0E7RUFDQTtFQUVBO0EzQmlnbkRaO0Ey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REo7QTJCOXBuREE7RUFDSTtFQUNBO0EzQmdxbkRKO0FBQ0EsdUJBQXVCO0EyQjVwbkRuQjs7RUFFSTtBM0I4cG5EUjtBMkI1cG5ESTs7RUFFSTtBM0I4cG5EUjtBMkI1cG5ESTs7RUFFSTtBM0I4cG5EUjtBMkI1cG5ESTs7RUFFSTtBM0I4cG5EUjtBMkI1cG5ESTs7RUFFSTtBM0I4cG5EUjtBMkI1cG5ESTs7RUFFSTtBM0I4cG5EUjtBMkI1cG5ESTs7RUFFSTtBM0I4cG5EUjtBMkI1cG5ESTs7RUFFSTtBM0I4cG5EUjtBMkI1cG5ESTs7RUFFSTtBM0I4cG5EUjtBQUNBLGlDQUFpQztBMkIxcG5EakM7RUFDSTtJQUNJO0lBQ0E7RTNCNHBuRE47RTJCenBuREc7O0lBRUc7SUFDQTtFM0IycG5ETjtBQUNGO0FBQ0Esd0JBQXdCO0EyQnZwbkRwQjtFQUNJO0VBQ0E7RUFDQTtBM0J5cG5EUjtBMkJ0cG5ESTtFQUNJO0EzQndwbkRSO0EyQnRwbkRJO0VBQ0k7QTNCd3BuRFI7QTJCdHBuREk7RUFDSTtBM0J3cG5EUjtBMkJ0cG5ESTtFQUNJO0EzQndwbkRSO0EyQnRwbkRJO0VBQ0k7QTNCd3BuRFI7QTJCdHBuREk7RUFDSTtBM0J3cG5EUjtBMkJ0cG5ESTtFQUNJO0EzQndwbkRSO0EyQnRwbkRJO0VBQ0k7QTNCd3BuRFI7QTJCdHBuREk7RUFDSTtBM0J3cG5EUjtBMkJ0cG5ESTtFQUNJO0EzQndwbkRSO0EyQnRwbkRJO0VBQ0k7QTNCd3BuRFI7QTJCdHBuREk7RUFDSTtBM0J3cG5EUjtBMkJ0cG5ESTtFQUNJO0EzQndwbkRSO0EyQnRwbkRJO0VBQ0k7QTNCd3BuRFI7QTJCdHBuREk7RUFDSTtBM0J3cG5EUjtBMkJ0cG5ESTtFQUNJO0EzQndwbkRSO0FBQ0E7O3VCQUV1QjtBMkJscG5EbkI7O0VBRUk7RUFDQTtBM0JvcG5EUjtBQUNBOzsyQkFFMkI7QTJCOW9uRHZCO0VBQ0k7RUFDQTtBM0JncG5EUjtBMkI5b25ESTtFQUNJO0VBQ0E7QTNCZ3BuRFI7QUFDQSxpQkFBaUI7QTJCN29uRGI7Ozs7O0VBS0k7RUFD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QTtJQUNBO0lBQ0E7RTVCNDhxRFY7QUFDRjtBNEIxOHFESTtFQUNJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNUI0OHFEVjtBQUNGO0FBQ0E7O3NCQUVzQjtBQUN0QixzQ0FBc0M7QTRCdjhxRHRDOztFQUVJO0E1Qnk4cURKO0FBQ0EsZUFBZTtBNEJ0OHFEZjs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBNEJ0OHFEQTs7RUFFSTtBNUJ3OHFESjtBQUNBLHdCQUF3QjtBNEJyOHFEeEI7RUFDSTtBNUJ1OHFESjtBNEJyOHFEQTtFQUNJO0E1QnU4cURKO0E0QnI4cURBO0VBQ0k7QTVCdThxREo7QTRCcjhxREE7RUFDSTtBNUJ1OHFESjtBNEJyOHFEQTtFQUNJO0E1QnU4cURKO0E0QnI4cURBO0VBQ0k7QTVCdThxREo7QTRCcjhxREE7RUFDSTtBNUJ1OHFESjtBNEJyOHFEQTtFQUNJO0E1QnU4cURKO0E0QnI4cURBO0VBQ0k7QTVCdThxREo7QTRCcjhxREE7RUFDSTtBNUJ1OHFESjtBNEJyOHFEQTtFQUNJO0E1QnU4cURKO0E0QnI4cURBO0VBQ0k7QTVCdThxREo7QTRCcjhxREE7RUFDSTtBNUJ1OHFESjtBNEJyOHFEQTtFQUNJO0E1QnU4cURKO0E0QnI4cURBO0VBQ0k7QTVCdThxREo7QTRCcjhxREE7RUFDSTtBNUJ1OHFESjtBQUNBLGdCQUFnQjtBNEJuOHFEWjtFQUNJO0E1QnE4cURSO0FBQ0E7OzBCQUUwQjtBQUMxQix3QkFBd0I7QTRCLzdxRHBCOzs7O0VBSUk7QTVCaThxRFI7QTRCLzdxREk7Ozs7RUFJSTtBNUJpOHFEUjtBNEIvN3FESTs7OztFQUlJO0E1Qmk4cURSO0E0Qi83cURJOzs7O0VBSUk7QTVCaThxRFI7QTRCLzdxREk7Ozs7RUFJSTtBNUJpOHFEUjtBNEIvN3FESTs7OztFQUlJO0E1Qmk4cURSO0E0Qi83cURJOzs7O0VBSUk7QTVCaThxRFI7QTRCLzdxREk7Ozs7RUFJSTtBNUJpOHFEUjtBNEIvN3FESTs7OztFQUlJO0E1Qmk4cURSO0E0Qi83cURJOzs7O0VBSUk7QTVCaThxRFI7QTRCLzdxREk7Ozs7RUFJSTtBNUJpOHFEUjtBNEIvN3FESTs7OztFQUlJO0E1Qmk4cURSO0E0Qi83cURJOzs7O0VBSUk7QTVCaThxRFI7QTRCLzdxREk7Ozs7RUFJSTtBNUJpOHFEUjtBNEIvN3FESTs7OztFQUlJO0E1Qmk4cURSO0E0Qi83cURJOzs7O0VBSUk7QTVCaThxRFI7QUFDQTs7NkJBRTZCO0FBQzdCLCtCQUErQjtBNEI3N3FEM0I7RUFDSTs7OztJQUlJO0U1Qis3cURWO0U0Qjc3cURNOzs7O0lBSUk7RTVCKzdxRFY7RTRCNzdxRE07Ozs7SUFJSTtFNUIrN3FEVjtFNEI3N3FETTs7OztJQUlJO0U1Qis3cURWO0U0Qjc3cURNOzs7O0lBSUk7RTVCKzdxRFY7RTRCNzdxRE07Ozs7SUFJSTtFNUIrN3FEVjtFNEI3N3FETTs7OztJQUlJO0U1Qis3cURWO0U0Qjc3cURNOzs7O0lBSUk7RTVCKzdxRFY7RTRCNzdxRE07Ozs7SUFJSTtFNUIrN3FEVjtFNEI3N3FETTs7OztJQUlJO0U1Qis3cURWO0U0Qjc3cURNOzs7O0lBSUk7RTVCKzdxRFY7RTRCNzdxRE07Ozs7SUFJSTtFNUIrN3FEVjtFNEI3N3FETTs7OztJQUlJO0U1Qis3cURWO0U0Qjc3cURNOzs7O0lBSUk7RTVCKzdxRFY7RTRCNzdxRE07Ozs7SUFJSTtFNUIrN3FEVjtFNEI3N3FETTs7OztJQUlJO0U1Qis3cURWO0FBQ0Y7QUFDQSwrQkFBK0I7QTRCNTdxRDNCO0VBQ0k7Ozs7SUFJSTtFNUI4N3FEVjtFNEI1N3FETTs7OztJQUlJO0U1Qjg3cURWO0U0QjU3cURNOzs7O0lBSUk7RTVCODdxRFY7RTRCNTdxRE07Ozs7SUFJSTtFNUI4N3FEVjtFNEI1N3FETTs7OztJQUlJO0U1Qjg3cURWO0U0QjU3cURNOzs7O0lBSUk7RTVCODdxRFY7RTRCNTdxRE07Ozs7SUFJSTtFNUI4N3FEVjtFNEI1N3FETTs7OztJQUlJO0U1Qjg3cURWO0U0QjU3cURNOzs7O0lBSUk7RTVCODdxRFY7RTRCNTdxRE07Ozs7SUFJSTtFNUI4N3FEVjtFNEI1N3FETTs7OztJQUlJO0U1Qjg3cURWO0U0QjU3cURNOzs7O0lBSUk7RTVCODdxRFY7RTRCNTdxRE07Ozs7SUFJSTtFNUI4N3FEVjtFNEI1N3FETTs7OztJQUlJO0U1Qjg3cURWO0U0QjU3cURNOzs7O0lBSUk7RTVCODdxRFY7RTRCNTdxRE07Ozs7SUFJSTtFNUI4N3FEVjtBQUNGO0FBQ0EseUNBQXlDO0E0QjM3cURyQztFQUNJOzs7O0lBSUk7RTVCNjdxRFY7RTRCMzdxRE07Ozs7SUFJSTtFNUI2N3FEVjtFNEIzN3FETTs7OztJQUlJO0U1QjY3cURWO0U0QjM3cURNOzs7O0lBSUk7RTVCNjdxRFY7RTRCMzdxRE07Ozs7SUFJSTtFNUI2N3FEVjtFNEIzN3FETTs7OztJQUlJO0U1QjY3cURWO0U0QjM3cURNOzs7O0lBSUk7RTVCNjdxRFY7RTRCMzdxRE07Ozs7SUFJSTtFNUI2N3FEVjtFNEIzN3FETTs7OztJQUlJO0U1QjY3cURWO0U0QjM3cURNOzs7O0lBSUk7RTVCNjdxRFY7RTRCMzdxRE07Ozs7SUFJSTtFNUI2N3FEVjtFNEIzN3FETTs7OztJQUlJO0U1QjY3cURWO0U0QjM3cURNOzs7O0lBSUk7RTVCNjdxRFY7RTRCMzdxRE07Ozs7SUFJSTtFNUI2N3FEVjtFNEIzN3FETTs7OztJQUlJO0U1QjY3cURWO0U0QjM3cURNOzs7O0lBSUk7RTVCNjdxRFY7QUFDRjtBQUNBLHNDQUFzQztBNEIxN3FEbEM7RUFDSTs7OztJQUlJO0U1QjQ3cURWO0U0QjE3cURNOzs7O0lBSUk7RTVCNDdxRFY7RTRCMTdxRE07Ozs7SUFJSTtFNUI0N3FEVjtFNEIxN3FETTs7OztJQUlJO0U1QjQ3cURWO0U0QjE3cURNOzs7O0lBSUk7RTVCNDdxRFY7RTRCMTdxRE07Ozs7SUFJSTtFNUI0N3FEVjtFNEIxN3FETTs7OztJQUlJO0U1QjQ3cURWO0U0QjE3cURNOzs7O0lBSUk7RTVCNDdxRFY7RTRCMTdxRE07Ozs7SUFJSTtFNUI0N3FEVjtFNEIxN3FETTs7OztJQUlJO0U1QjQ3cURWO0U0QjE3cURNOzs7O0lBSUk7RTVCNDdxRFY7RTRCMTdxRE07Ozs7SUFJSTtFNUI0N3FEVjtFNEIxN3FETTs7OztJQUlJO0U1QjQ3cURWO0U0QjE3cURNOzs7O0lBSUk7RTVCNDdxRFY7RTRCMTdxRE07Ozs7SUFJSTtFNUI0N3FEVjtFNEIxN3FETTs7OztJQUlJO0U1QjQ3cURWO0FBQ0Y7QUFDQSxtQ0FBbUM7QTRCejdxRC9CO0VBQ0k7Ozs7SUFJSTtFNUIyN3FEVjtFNEJ6N3FETTs7OztJQUlJO0U1QjI3cURWO0U0Qno3cURNOzs7O0lBSUk7RTVCMjdxRFY7RTRCejdxRE07Ozs7SUFJSTtFNUIyN3FEVjtFNEJ6N3FETTs7OztJQUlJO0U1QjI3cURWO0U0Qno3cURNOzs7O0lBSUk7RTVCMjdxRFY7RTRCejdxRE07Ozs7SUFJSTtFNUIyN3FEVjtFNEJ6N3FETTs7OztJQUlJO0U1QjI3cURWO0U0Qno3cURNOzs7O0lBSUk7RTVCMjdxRFY7RTRCejdxRE07Ozs7SUFJSTtFNUIyN3FEVjtFNEJ6N3FETTs7OztJQUlJO0U1QjI3cURWO0U0Qno3cURNOzs7O0lBSUk7RTVCMjdxRFY7RTRCejdxRE07Ozs7SUFJSTtFNUIyN3FEVjtFNEJ6N3FETTs7OztJQUlJO0U1QjI3cURWO0U0Qno3cURNOzs7O0lBSUk7RTVCMjdxRFY7RTRCejdxRE07Ozs7SUFJSTtFNUIyN3FEVjtBQUNGO0FBQ0E7OzZCQUU2QjtBNEJyN3FEekI7OztFQUdJO0VBQ0E7QTVCdTdxRFI7QTRCcjdxREs7OztFQUdHO0E1QnU3cURSO0E0QnA3cURJOztFQUVJO0VBQ0E7RUFDQTtBNUJzN3FEUjtBQUNBOzs2QkFFNkI7QTRCaDdxRHpCOzs7RUFHSTtFQUNBO0E1Qms3cURSO0E0Qjk2cURROzs7RUFHSTtFQUNBO0E1Qmc3cURaO0FBQ0EsNkJBQTZCO0E0QjU2cUR6Qjs7RUFFSTtFQUNBO0E1Qjg2cURSO0E0QjM2cURROztFQUVJO0VBQ0E7QTVCNjZxRFo7QUFDQTs7NkJBRTZCO0E0QnQ2cUR4QjtFQUNHO0E1Qnc2cURSO0E0QnI2cURRO0VBQ0k7RUFDQTtBNUJ1NnFEWjtBNEJuNnFEUTtFQUNJO0VBQ0E7QTVCcTZxRFo7QUFDQTs7NkJBRTZCO0E0Qjk1cUR6QjtFQUNJO0E1Qmc2cURSO0E0Qjk1cURJO0VBQ0k7QTVCZzZxRFI7QUFDQTs7NkJBRTZCO0E0QjE1cUR6Qjs7RUFFSTtBNUI0NXFEUjtBQUNBLGtFQUFrRTtBNEJ4NXFEMUQ7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QTVCMDVxRFo7QTRCeDVxRFE7RUFDSTtFQUNBO0E1QjA1cURaO0FBQ0Esc0NBQXNDO0E0QnQ1cURsQzs7RUFFSTtBNUJ3NXFEUjtBQUNBLGlDQUFpQztBNEJwNXFEekI7RUFDSTtBNUJzNXFEWjtBQUNBLGdCQUFnQjtBNEJsNXFEWjtFQUNJO0E1Qm81cURSO0E0Qmw1cURJO0VBQ0k7QTVCbzVxRFI7QUFDQSx1QkFBdUI7QTRCaDVxRGY7RUFDSTtBNUJrNXFEWjtBNEJoNXFEUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVCazVxRFo7QUFDQSxnQ0FBZ0M7QTRCNzRxRHZCOztFQUVHO0E1Qis0cURaO0FBQ0EsaUNBQWlDO0E0QjM0cUR6QjtFQUNJO0E1QjY0cURaO0FBQ0EscUJBQXFCO0E0Qno0cURiOztFQUVJO0E1QjI0cURaO0E0Qno0cURROztFQUVJO0E1QjI0cURaO0E0Qng0cURZO0VBQ0k7QTVCMDRxRGhCO0FBQ0EsWUFBWTtBNEJyNHFESjtFQUNJO0VBQ0E7RUFDQTtBNUJ1NHFEWjtBNEJwNHFEWTtFQUNJO0VBQ0E7RUFDQTtBNUJzNHFEaEI7QUFDQTs7NkJBRTZCO0E0QjkzcUR6QjtFQUNJO0VBQ0E7RUFDQTtBNUJnNHFEUjtBNEI3M3FESTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E1QiszcURSO0E0QjczcURJOztFQUVJO0E1QiszcURSO0E0QjUzcURJOztFQUVJO0E1QjgzcURSO0E0QjMzcURJOztFQUVJO0E1QjYzcURSO0E0QjEzcURROztFQUVJO0E1QjQzcURaO0E0QngzcURROztFQUVJO0E1QjAzcURaO0FBQ0Esc0JBQXNCO0E0QnQzcURsQjtFQUNJO0VBQ0E7QTVCdzNxRFI7QTRCdDNxREk7RUFDSTtBNUJ3M3FEUjtBNEJ0M3FESTtFQUNJO0E1QnczcURSO0FBQ0E7OzZCQUU2QjtBQUM3QixnQkFBZ0I7QTRCbDNxRFo7Ozs7O0VBS0k7RUFDQTtFQUNBO0E1Qm8zcURSO0FBQ0EsbUJBQW1CO0E0QmozcURmOzs7OztFQUtJO0VBQ0E7RUFDQTtBNUJtM3FEUjtBQUNBLG1CQUFtQjtBNEJoM3FEZjs7Ozs7RUFLSTtFQUNBO0VBQ0E7QTVCazNxRFI7QUFDQSxjQUFjO0E0QjcycURWOzs7OztFQUtJO0VBQ0E7RUFDQTtBNUIrMnFEUjtBNEI1MnFESTs7Ozs7RUFLSTtBNUI4MnFEUjtBQUNBOzs2QkFFNkI7QUFDN0IsaUJBQWlCO0E0QnYycURiOzs7OztFQUtJO0VBQ0E7QTVCeTJxRFI7QUFDQSxtQkFBbUI7QTRCcjJxRGY7Ozs7O0VBS0k7RUFDQTtBNUJ1MnFEUjtBNEJwMnFESTtFQUNJO0E1QnMycURSO0FBQ0Esa0JBQWtCO0E0QmwycURkOzs7OztFQUtJO0VBQ0E7QTVCbzJxRFI7QUFDQSxjQUFjO0E0Qi8xcURWOzs7OztFQUtJO0VBQ0E7QTVCaTJxRFI7QUFDQTs7eUJBRXlCO0E0QngxcURoQjs7O0VBR0c7RUFDQTtBNUIwMXFEWjtBNEI5MXFEUzs7O0VBR0c7RUFDQTtBNUJnMnFEWjtBNEJwMnFEUzs7O0VBR0c7RUFDQTtBNUJzMnFEWjtBNEIxMnFEUzs7O0VBR0c7RUFDQTtBNUI0MnFEWjtBNEJoM3FEUzs7O0VBR0c7RUFDQTtBNUJrM3FEWjtBNEJ0M3FEUzs7O0VBR0c7RUFDQTtBNUJ3M3FEWjtBNEI1M3FEUzs7O0VBR0c7RUFDQTtBNUI4M3FEWjtBNEJsNHFEUzs7O0VBR0c7RUFDQTtBNUJvNHFEWjtBNEJ4NHFEUzs7O0VBR0c7RUFDQTtBNUIwNHFEWjtBNEI5NHFEUzs7O0VBR0c7RUFDQTtBNUJnNXFEWjtBNEJwNXFEUzs7O0VBR0c7RUFDQTtBNUJzNXFEWjtBNEIxNXFEUzs7O0VBR0c7RUFDQTtBNUI0NXFEWjtBNEJoNnFEUzs7O0VBR0c7RUFDQTtBNUJrNnFEWjtBNEJ0NnFEUzs7O0VBR0c7RUFDQTtBNUJ3NnFEWjtBNEI1NnFEUzs7O0VBR0c7RUFDQTtBNUI4NnFEWjtBQUNBOzs2QkFFNkI7QTRCdjZxRHpCOzs7RUFHSTtFQUNBO0E1Qnk2cURSO0E0QnY2cURJOzs7RUFHSTtBNUJ5NnFEUjtBQUNBOzs2QkFFNkI7QUFDN0IsV0FBVztBNEJuNnFEUDtFQUNJOzs7SUFHSTtFNUJxNnFEVjtFNEJuNnFETTs7SUFFSTtFNUJxNnFEVjtFQUNBLHFCQUFxQjtFNEJsNnFEWDs7SUFFSTtFNUJvNnFEZDtFNEJsNnFEVTs7SUFFSTtFNUJvNnFEZDtFQUNBLGdDQUFnQztFNEJqNnFEdEI7SUFDSTtFNUJtNnFEZDtFNEJqNnFEVTtJQUNJO0U1Qm02cURkO0VBQ0Esb0JBQW9CO0U0Qi81cURWO0lBQ0k7RTVCaTZxRGQ7RTRCLzVxRFU7SUFDSTtFNUJpNnFEZDtBQUNGO0FBQ0EsV0FBVztBNEI3NXFEUDtFQUNJOzs7SUFHSTtFNUIrNXFEVjtFNEI3NXFETTtJQUNJO0U1Qis1cURWO0VBQ0EscUJBQXFCO0U0QjU1cURYOztJQUVJO0U1Qjg1cURkO0U0QjU1cURVOztJQUVJO0U1Qjg1cURkO0VBQ0EsZ0NBQWdDO0U0QjM1cUR0QjtJQUNJO0U1QjY1cURkO0U0QjM1cURVO0lBQ0k7RTVCNjVxRGQ7RUFDQSxvQkFBb0I7RTRCejVxRFY7SUFDSTtFNUIyNXFEZDtFNEJ6NXFEVTtJQUNJO0U1QjI1cURkO0FBQ0Y7QUFDQSxhQUFhO0E0QnY1cURUO0VBQ0k7OztJQUdJO0U1Qnk1cURWO0U0QnY1cURNO0lBQ0k7RTVCeTVxRFY7RUFDQSxxQkFBcUI7RTRCdDVxRFg7O0lBRUk7RTVCdzVxRGQ7RTRCdDVxRFU7O0lBRUk7RTVCdzVxRGQ7RUFDQSxnQ0FBZ0M7RTRCcjVxRHRCO0lBQ0k7RTVCdTVxRGQ7RTRCcjVxRFU7SUFDSTtFNUJ1NXFEZDtFQUNBLG9CQUFvQjtFNEJuNXFEVjtJQUNJO0U1QnE1cURkO0U0Qm41cURVO0lBQ0k7RTVCcTVxRGQ7QUFDRjtBQUNBOzswQkFFMEI7QUFDMUIsZ0JBQWdCO0E0Qjk0cURaO0VBQ0k7SUFDSTtFNUJnNXFEVjtFNEI5NHFETTs7SUFFSTtJQUNBO0U1Qmc1cURWO0U0Qjk0cURNOztJQUVJO0lBQ0E7SUFDQTtJQUNBO0U1Qmc1cURWO0U0Qjk0cURPOztJQUVHO0U1Qmc1cURWO0U0Qjk0cURNOzs7SUFHSTtFNUJnNXFEVjtFNEI5NHFETTs7O0lBR0k7RTVCZzVxRFY7RTRCOTRxRE07OztJQUdJO0U1Qmc1cURWO0U0Qjk0cURNOzs7SUFHSTtFNUJnNXFEVjtFNEI5NHFETTs7O0lBR0k7RTVCZzVxRFY7RTRCOTRxRE07OztJQUdJO0U1Qmc1cURWO0U0Qjk0cURNOzs7SUFHSTtFNUJnNXFEVjtFNEI5NHFETTs7O0lBR0k7RTVCZzVxRFY7RTRCOTRxRE07OztJQUdJO0U1Qmc1cURWO0U0Qjk0cURNOzs7SUFHSTtFNUJnNXFEVjtFNEI5NHFETTs7O0lBR0k7RTVCZzVxRFY7RTRCOTRxRE07OztJQUdJO0U1Qmc1cURWO0U0Qjk0cURNOzs7SUFHSTtFNUJnNXFEVjtFNEI5NHFETTs7O0lBR0k7RTVCZzVxRFY7RTRCOTRxRE07OztJQUdJO0U1Qmc1cURWO0FBQ0Y7QUFDQSxnQkFBZ0I7QTRCNzRxRFo7RUFDSTs7SUFFSTtJQUNBO0U1Qis0cURWO0U0Qjc0cURNOztJQUVJO0lBQ0E7SUFDQTtJQUNBO0U1Qis0cURWO0U0Qjc0cURPOzs7SUFHRztFNUIrNHFEVjtFNEI3NHFETzs7O0lBR0c7RTVCKzRxRFY7RTRCNzRxRE87OztJQUdHO0U1Qis0cURWO0U0Qjc0cURPOzs7SUFHRztFNUIrNHFEVjtFNEI3NHFETzs7O0lBR0c7RTVCKzRxRFY7RTRCNzRxRE87OztJQUdHO0U1Qis0cURWO0U0Qjc0cURPOzs7SUFHRztFNUIrNHFEVjtFNEI3NHFETzs7O0lBR0c7RTVCKzRxRFY7RTRCNzRxRE87OztJQUdHO0U1Qis0cURWO0U0Qjc0cURPOzs7SUFHRztFNUIrNHFEVjtFNEI3NHFETzs7O0lBR0c7RTVCKzRxRFY7RTRCNzRxRE87OztJQUdHO0U1Qis0cURWO0U0Qjc0cURPOzs7SUFHRztFNUIrNHFEVjtFNEI3NHFETzs7O0lBR0c7RTVCKzRxRFY7RTRCNzRxRE87OztJQUdHO0U1Qis0cURWO0FBQ0Y7QUFDQTs7MEJBRTBCO0E0Qno0cUR0QjtFQUNJOztJQUVJO0lBQ0E7SUFDQTtFNUIyNHFEVjtFNEJ6NHFETTs7Ozs7OztJQU9JO0lBQ0E7SUFDQTtJQUNBO0U1QjI0cURWO0U0Qno0cURPO0lBQ0c7SUFDQTtFNUIyNHFEVjtFQUNBLGFBQWE7RTRCeDRxRFA7O0lBRUk7SUFDQTtFNUIwNHFEVjtFQUNBLDRDQUE0QztFNEJ2NHFEckM7O0lBRUc7SUFDQTtFNUJ5NHFEVjtFQUNBLHNCQUFzQjtFNEJ0NHFEaEI7Ozs7SUFJSTtFNUJ3NHFEVjtFNEJyNHFEVTs7OztJQUlJO0U1QnU0cURkO0U0QnA0cURPOzs7O0lBSUc7SUFDQTtJQUNBO0lBQ0E7RTVCczRxRFY7RTRCbjRxRFU7SUFDSTtFNUJxNHFEZDtFNEJqNHFEVzs7SUFFRztJQUNBO0U1Qm00cURkO0FBQ0Y7QUFDQTs7eUJBRXlCO0FBQ3pCLHFFQUFxRTtBQUNyRSxxQkFBcUI7QTRCNTNxRHJCO0VBQ0k7Ozs7SUFJSTtFNUI4M3FETjtFNEI1M3FERTs7OztJQUlJO0U1QjgzcUROO0U0QjUzcURFOzs7O0lBSUk7RTVCODNxRE47RTRCNTNxREU7Ozs7SUFJSTtFNUI4M3FETjtB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Q0k7QTdCMnh2RFo7QUFDQTs7K0JBRStCO0FBQy9COztxQkFFcUI7QTZCbnh2RGpCO0VBQ0k7SUFDSTtFN0JxeHZEVjtFNkJueHZEVTtJQUNJO0U3QnF4dkRkO0U2Qmx4dkRNO0lBQ0k7RTdCb3h2RFY7RTZCbHh2RE07SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U3Qm94dkRWO0U2Qmp4dkRNOztJQUVJO0U3Qm14dkRWO0U2Qmp4dkRNOztJQUVJO0U3Qm14dkRWO0U2Qmp4dkRNOztJQUVJO0lBQ0E7RTdCbXh2RFY7RTZCaHh2RE07OztJQUdJO0U3Qmt4dkRWO0FBQ0Y7QUFDQTs7aUJBRWlCO0E2Qnh3dkRKOzs7RUFNRztBN0J1d3ZEaEI7QTZCN3d2RGE7OztFQU1HO0E3QjR3dkRoQjtBNkJseHZEYTs7O0VBTUc7QTdCaXh2RGhCO0E2QnZ4dkRhOzs7RUFNRztBN0JzeHZEaEI7QTZCNXh2RGE7OztFQU1HO0E3QjJ4dkRoQjtBNkJqeXZEYTs7O0VBTUc7QTdCZ3l2RGhCO0E2QnR5dkRhOzs7RUFNRztBN0JxeXZEaEI7QTZCM3l2RGE7OztFQU1HO0E3QjB5dkRoQjtBNkJoenZEYTs7O0VBTUc7QTdCK3l2RGhCO0E2QnJ6dkRhOzs7RUFNRztBN0JvenZEaEI7QTZCMXp2RGE7OztFQU1HO0E3Qnl6dkRoQjtBNkIvenZEYTs7O0VBTUc7QTdCOHp2RGhCO0E2QnAwdkRhOzs7RUFNRztBN0JtMHZEaEI7QTZCejB2RGE7OztFQU1HO0E3QncwdkRoQjtBQUNBOztxQkFFcUI7QTZCaDB2RGpCO0VBQ0k7RUFDQTtFQUNBO0E3QmswdkRSO0FBQ0EsY0FBYztBNkIvenZEVjs7RUFFSTtFQUNBO0E3QmkwdkRSO0E2Qi96dkRJO0VBQ0k7QTdCaTB2RFI7QUFDQSxtQkFBbUI7QTZCOXp2RGY7RUFDSTtBN0JnMHZEUjtBNkI3enZEUTtFQUNJO0E3Qit6dkRaO0FBQ0EsYUFBYTtBNkI1enZETDs7RUFFSTtBN0I4enZEWjtBQUNBLFdBQVc7QTZCMXp2RFA7RUFDSTtFQUNBO0VBQ0E7QTdCNHp2RFI7QUFDQSxhQUFhO0E2Qnp6dkRUO0VBQ0k7QTdCMnp2RFI7QUFDQSxrQkFBa0I7QTZCeHp2RGQ7Ozs7RUFJSTtFQUNBO0E3QjB6dkRSO0E2QnZ6dkRROztFQUVJO0VBQ0E7QTdCeXp2RFo7QUFDQSxvQkFBb0I7QTZCcnp2RGhCOztFQUVJO0VBQ0E7QTdCdXp2RFI7QUFDQSxtQkFBbUI7QTZCcHp2RGY7RUFDSTtFQUNBO0E3QnN6dkRSO0E2Qm56dkRRO0VBQ0k7RUFDQTtBN0JxenZEWjtBNkJqenZEUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E3Qm16dkRaO0FBQ0EseUJBQXlCO0E2Qi95dkRyQjtFQUNJO0VBQ0E7QTdCaXp2RFI7QTZCOXl2RFE7RUFDSTtBN0JnenZEWjtBQUNBOztxQkFFcUI7QTZCenl2RGpCO0VBQ0k7RUFDQTtBN0IyeXZEUjtBNkJ6eXZESTtFQUNJO0E3QjJ5dkRSO0E2Qnh5dkRJO0VBQ0k7RUFDQTtBN0IweXZEUjtBNkJyeXZESzs7RUFFRztFQUNBO0VBQ0E7QTdCdXl2RFI7QTZCcnl2REk7O0VBRUk7RUFDQTtBN0J1eXZEUjtBQUNBOztxQkFFcUI7QTZCM3h2REo7O0VBRUc7QTdCNnh2RHBCO0E2QjN4dkRpQjtFQUNHO0E3QjZ4dkRwQjtBNkIzeHZEaUI7RUFDRztBN0I2eHZEcEI7QTZCMXh2RHFCO0VBQ0c7QTdCNHh2RHhCO0E2Qnh5dkRpQjs7RUFFRztBN0IweXZEcEI7QTZCeHl2RGlCO0VBQ0c7QTdCMHl2RHBCO0E2Qnh5dkRpQjtFQUNHO0E3QjB5dkRwQjtBNkJ2eXZEcUI7RUFDRztBN0J5eXZEeEI7QTZCcnp2RGlCOztFQUVHO0E3QnV6dkRwQjtBNkJyenZEaUI7RUFDRztBN0J1enZEcEI7QTZCcnp2RGlCO0VBQ0c7QTdCdXp2RHBCO0E2QnB6dkRxQjtFQUNHO0E3QnN6dkR4QjtBNkJsMHZEaUI7O0VBRUc7QTdCbzB2RHBCO0E2QmwwdkRpQjtFQUNHO0E3Qm8wdkRwQjtBNkJsMHZEaUI7RUFDRztBN0JvMHZEcEI7QTZCajB2RHFCO0VBQ0c7QTdCbTB2RHhCO0E2Qi8wdkRpQjs7RUFFRztBN0JpMXZEcEI7QTZCLzB2RGlCO0VBQ0c7QTdCaTF2RHBCO0E2Qi8wdkRpQjtFQUNHO0E3QmkxdkRwQjtBNkI5MHZEcUI7RUFDRztBN0JnMXZEeEI7QTZCNTF2RGlCOztFQUVHO0E3QjgxdkRwQjtBNkI1MXZEaUI7RUFDRztBN0I4MXZEcEI7QTZCNTF2RGlCO0VBQ0c7QTdCODF2RHBCO0E2QjMxdkRxQjtFQUNHO0E3QjYxdkR4QjtBNkJ6MnZEaUI7O0VBRUc7QTdCMjJ2RHBCO0E2QnoydkRpQjtFQUNHO0E3QjIydkRwQjtBNkJ6MnZEaUI7RUFDRztBN0IyMnZEcEI7QTZCeDJ2RHFCO0VBQ0c7QTdCMDJ2RHhCO0E2QnQzdkRpQjs7RUFFRztBN0J3M3ZEcEI7QTZCdDN2RGlCO0VBQ0c7QTdCdzN2RHBCO0E2QnQzdkRpQjtFQUNHO0E3QnczdkRwQjtBNkJyM3ZEcUI7RUFDRztBN0J1M3ZEeEI7QTZCbjR2RGlCOztFQUVHO0E3QnE0dkRwQjtBNkJuNHZEaUI7RUFDRztBN0JxNHZEcEI7QTZCbjR2RGlCO0VBQ0c7QTdCcTR2RHBCO0E2Qmw0dkRxQjtFQUNHO0E3Qm80dkR4QjtBNkJoNXZEaUI7O0VBRUc7QTdCazV2RHBCO0E2Qmg1dkRpQjtFQUNHO0E3Qms1dkRwQjtBNkJoNXZEaUI7RUFDRztBN0JrNXZEcEI7QTZCLzR2RHFCO0VBQ0c7QTdCaTV2RHhCO0E2Qjc1dkRpQjs7RUFFRztBN0IrNXZEcEI7QTZCNzV2RGlCO0VBQ0c7QTdCKzV2RHBCO0E2Qjc1dkRpQjtFQUNHO0E3Qis1dkRwQjtBNkI1NXZEcUI7RUFDRztBN0I4NXZEeEI7QTZCMTZ2RGlCOztFQUVHO0E3QjQ2dkRwQjtBNkIxNnZEaUI7RUFDRztBN0I0NnZEcEI7QTZCMTZ2RGlCO0VBQ0c7QTdCNDZ2RHBCO0E2Qno2dkRxQjtFQUNHO0E3QjI2dkR4QjtBNkJ2N3ZEaUI7O0VBRUc7QTdCeTd2RHBCO0E2QnY3dkRpQjtFQUNHO0E3Qnk3dkRwQjtBNkJ2N3ZEaUI7RUFDRztBN0J5N3ZEcEI7QTZCdDd2RHFCO0VBQ0c7QTdCdzd2RHhCO0E2QnA4dkRpQjs7RUFFRztBN0JzOHZEcEI7QTZCcDh2RGlCO0VBQ0c7QTdCczh2RHBCO0E2QnA4dkRpQjtFQUNHO0E3QnM4dkRwQjtBNkJuOHZEcUI7RUFDRztBN0JxOHZEeEI7QTZCNzd2RFE7RUFDSTtBN0IrN3ZEWjtBQUNBOztxQkFFcUI7QTZCeDd2RGpCOzs7RUFHSTtBN0IwN3ZEUjtBNkJ4N3ZESTs7O0VBR0k7RUFDQTtBN0IwN3ZEUjtBNkJ4N3ZESTs7O0VBR0k7RUFDQTtBN0IwN3ZEUjtBQUNBOztxQkFFcUI7QTZCcDd2RGpCOzs7RUFHSTtBN0JzN3ZEUjtBQUNBOzswQkFFMEI7QTZCaDd2RHRCO0VBQ0k7RUFDQTtFQUNBO0E3Qms3dkRSO0E2Qi82dkRRO0U3Qmk3dkROLGlEQUFpRDtFNkI3NnZEbkM7RUFHSjtBN0I2NnZEWjtBNkIxNnZESztFQUNHO0E3QjQ2dkRSO0E2QjE2dkRJO0VBQ0k7QTdCNDZ2RFI7QTZCejZ2RFE7RUFDSTtBN0IyNnZEWjtBNkJ6NnZEUTtFQUNJO0E3QjI2dkRaO0FBQ0E7OzBCQUUwQjtBNkJwNnZEdEI7O0VBRUk7QTdCczZ2RFI7QUFDQTs7MEJBRTBCO0E2Qmg2dkR0QjtFQUNJO0E3Qms2dkRSO0E2Qi81dkRJOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0JpNnZEUjtBNkIvNXZESzs7RUFFRztBN0JpNnZEUjtBNkI5NXZESTs7RUFFSTtBN0JnNnZEUjtBNkI3NXZESTtFQUNJO0E3Qis1dkRSO0E2Qjc1dkRJO0VBQ0k7QTdCKzV2RFI7QTZCNzV2REk7RUFDSTtBN0IrNXZEUjtBNkI3NXZESTtFQUNJO0E3Qis1dkRSO0E2Qjc1dkRJO0VBQ0k7QTdCKzV2RFI7QTZCNzV2REk7RUFDSTtBN0IrNXZEUjtBNkI3NXZESTtFQUNJO0E3Qis1dkRSO0E2Qjc1dkRJO0VBQ0k7QTdCKzV2RFI7QTZCNzV2REk7RUFDSTtBN0IrNXZEUjtBNkI3NXZESTtFQUNJO0E3Qis1dkRSO0E2Qjc1dkRJO0VBQ0k7QTdCKzV2RFI7QUFDQTs7cUJBRXFCO0E2Qno1dkRqQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E3QjI1dkRSO0E2Qno1dkRJOzs7RUFHSTtBN0IyNXZEUjtBNkJ4NXZESTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBN0IwNXZEUjtBNkJ4NXZESTtFQUNJO0VBQ0E7RUFDQTtBN0IwNXZEUjtBNkJ4NXZESTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0IwNXZEUjtBNkJ4NXZESTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QjA1dkRSO0E2Qng1dkRJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QjA1dkRSO0FBQ0EsdUJBQXVCO0E2QnY1dkRuQjtFQUNJO0E3Qnk1dkRSO0FBQ0E7OzBCQUUwQjtBNkJuNXZEdEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCcTV2RFI7QTZCbDV2RFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0JvNXZEWjtBNkJqNXZESTs7RUFFSTtBN0JtNXZEUjtBQUNBLFdBQVc7QTZCaDV2RFA7RUFDSTtBN0JrNXZEUjtBNkJoNXZESTtFQUNJO0E3Qms1dkRSO0FBQ0EsNkJBQTZCO0E2Qi80dkR6Qjs7RUFFSTtBN0JpNXZEUjtBQUNBLFdBQVc7QTZCOTR2RFA7RUFDSTtBN0JnNXZEUjtBNkI5NHZESTtFQUNJO0E3Qmc1dkRSO0E2Qjk0dkRJO0VBQ0k7QTdCZzV2RFI7QTZCNzR2RFE7RUFDSTtBN0IrNHZEWjtBNkI3NHZEUTtFQUNJO0E3Qis0dkRaO0E2Qjc0dkRRO0VBQ0k7QTdCKzR2RFo7QTZCNTR2RFk7RUFDSTtJQUNJO0U3Qjg0dkRsQjtBQUNGO0E2Qm40dkRTO0VBQ0c7QTdCcTR2RFo7QTZCdDR2RFM7RUFDRztBN0J3NHZEWjtBNkJ6NHZEUztFQUNHO0E3QjI0dkRaO0E2QjU0dkRTO0VBQ0c7QTdCODR2RFo7QTZCLzR2RFM7RUFDRztBN0JpNXZEWjtBNkJsNXZEUztFQUNHO0E3Qm81dkRaO0E2QnI1dkRTO0VBQ0c7QTdCdTV2RFo7QTZCeDV2RFM7RUFDRztBN0IwNXZEWjtBNkIzNXZEUztFQUNHO0E3QjY1dkRaO0E2Qjk1dkRTO0VBQ0c7QTdCZzZ2RFo7QTZCajZ2RFM7RUFDRztBN0JtNnZEWjtBNkJwNnZEUztFQUNHO0E3QnM2dkRaO0E2QnY2dkRTO0VBQ0c7QTdCeTZ2RFo7QTZCMTZ2RFM7RUFDRztBN0I0NnZEWjtBNkI3NnZEUztFQUNHO0E3Qis2dkRaO0FBQ0E7O3FCQUVxQjtBQUNyQixXQUFXO0E2Qng2dkRQO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCMDZ2RFI7QTZCeDZ2REk7RUFDSTtBN0IwNnZEUjtBQUNBLFFBQVE7QTZCdjZ2REo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Qnk2dkRSO0E2QnY2dkRJO0VBQ0k7QTdCeTZ2RFI7QUFDQSxXQUFXO0E2QnQ2dkRQO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Qnc2dkRSO0E2QnQ2dkRJO0VBQ0k7QTdCdzZ2RFI7QUFDQSx1QkFBdUI7QTZCcjZ2RG5CO0VBQ0k7QTdCdTZ2RFI7QTZCcjZ2REk7RUFDSTtBN0J1NnZEUjtBQUNBLHFCQUFxQjtBNkJwNnZEaEI7RUFDRztBN0JzNnZEUjtBNkJuNnZEUTtFQUNJO0E3QnE2dkRaO0E2Qmw2dkRZO0VBQ0k7QTdCbzZ2RGhCO0E2Qi81dkRRO0VBQ0k7RUFDQTtFQUNBO0E3Qmk2dkRaO0E2QjM1dkRJO0VBQ0k7QTdCNjV2RFI7QTZCNTV2RFE7RUFDSTtFQUNBO0E3Qjg1dkRaO0E2QjU1dkRRO0VBQ0k7QTdCODV2RFo7QTZCMzV2RFk7O0VBRUk7QTdCNjV2RGhCO0E2QnY1dkRZO0VBQ0k7QTdCeTV2RGhCO0E2QnY1dkRZO0VBQ0k7QTdCeTV2RGhCO0FBQ0E7O2lCQUVpQjtBNkJsNXZEakI7RUFDSTtBN0JvNXZESjtBNkJqNXZESTtFQUNJO0E3Qm01dkRS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MERaO0ErQi8rMERTOztFQUVHO0EvQmkvMERaO0ErQjkrMERhO0VBQ0c7QS9CZy8wRGhCO0ErQjcrMERTO0VBQ0c7QS9CKyswRFo7QStCNSswRGE7O0VBRUc7QS9COCswRGhCO0ErQmxnMURTO0VBQ0c7RUFDQTtBL0JvZzFEWjtBK0JqZzFEUzs7RUFFRztBL0JtZzFEWjtBK0JoZzFEYTtFQUNHO0EvQmtnMURoQjtBK0IvLzBEUztFQUNHO0EvQmlnMURaO0ErQjkvMERhOztFQUVHO0EvQmdnMURoQjtBK0JwaDFEUztFQUNHO0VBQ0E7QS9Cc2gxRFo7QStCbmgxRFM7O0VBRUc7QS9CcWgxRFo7QStCbGgxRGE7RUFDRztBL0JvaDFEaEI7QStCamgxRFM7RUFDRztBL0JtaDFEWjtBK0JoaDFEYTs7RUFFRztBL0JraDFEaEI7QStCdGkxRFM7RUFDRztFQUNBO0EvQndpMURaO0ErQnJpMURTOztFQUVHO0EvQnVpMURaO0ErQnBpMURhO0VBQ0c7QS9Cc2kxRGhCO0ErQm5pMURTO0VBQ0c7QS9CcWkxRFo7QStCbGkxRGE7O0VBRUc7QS9Cb2kxRGhCO0ErQnJoMURTO0VBRU87RUFDQTtBL0JzaDFEaEI7QStCOWcxRFM7O0VBR087QS9CK2cxRGhCO0ErQjNnMURhO0VBRU87QS9CNGcxRHBCO0ErQnZnMURTO0VBRU87QS9Cd2cxRGhCO0ErQm5pMURTO0VBRU87RUFDQTtBL0JvaTFEaEI7QStCNWgxRFM7O0VBR087QS9CNmgxRGhCO0ErQnpoMURhO0VBRU87QS9CMGgxRHBCO0ErQnJoMURTO0VBRU87QS9Cc2gxRGhCO0ErQmpqMURTO0VBRU87RUFDQTtBL0JrajFEaEI7QStCMWkxRFM7O0VBR087QS9CMmkxRGhCO0ErQnZpMURhO0VBRU87QS9Cd2kxRHBCO0ErQm5pMURTO0VBRU87QS9Cb2kxRGhCO0ErQi9qMURTO0VBRU87RUFDQTtBL0JnazFEaEI7QStCeGoxRFM7O0VBR087QS9CeWoxRGhCO0ErQnJqMURhO0VBRU87QS9Cc2oxRHBCO0ErQmpqMURTO0VBRU87QS9Ca2oxRGhCO0ErQjdrMURTO0VBRU87RUFDQTtBL0I4azFEaEI7QStCdGsxRFM7O0VBR087QS9CdWsxRGhCO0ErQm5rMURhO0VBRU87QS9Cb2sxRHBCO0ErQi9qMURTO0VBRU87QS9CZ2sxRGhCO0ErQjNsMURTO0VBRU87RUFDQTtBL0I0bDFEaEI7QStCcGwxRFM7O0VBR087QS9CcWwxRGhCO0ErQmpsMURhO0VBRU87QS9Ca2wxRHBCO0ErQjdrMURTO0VBRU87QS9COGsxRGhCO0ErQnptMURTO0VBRU87RUFDQTtBL0IwbTFEaEI7QStCbG0xRFM7O0VBR087QS9CbW0xRGhCO0ErQi9sMURhO0VBRU87QS9CZ20xRHBCO0ErQjNsMURTO0VBRU87QS9CNGwxRGhCO0ErQnZuMURTO0VBRU87RUFDQTtBL0J3bjFEaEI7QStCaG4xRFM7O0VBR087QS9CaW4xRGhCO0ErQjdtMURhO0VBRU87QS9COG0xRHBCO0ErQnptMURTO0VBRU87QS9CMG0xRGhCO0ErQnJvMURTO0VBRU87RUFDQTtBL0JzbzFEaEI7QStCOW4xRFM7O0VBR087QS9CK24xRGhCO0ErQjNuMURhO0VBRU87QS9CNG4xRHBCO0ErQnZuMURTO0VBRU87QS9Cd24xRGhCO0ErQm5wMURTO0VBRU87RUFDQTtBL0JvcDFEaEI7QStCNW8xRFM7O0VBR087QS9CNm8xRGhCO0ErQnpvMURhO0VBRU87QS9CMG8xRHBCO0ErQnJvMURTO0VBRU87QS9Cc28xRGhCO0ErQmpxMURTO0VBRU87RUFDQTtBL0JrcTFEaEI7QStCMXAxRFM7O0VBR087QS9CMnAxRGhCO0ErQnZwMURhO0VBRU87QS9Cd3AxRHBCO0ErQm5wMURTO0VBRU87QS9Cb3AxRGhCO0ErQi9xMURTO0VBRU87RUFDQTtBL0JncjFEaEI7QStCeHExRFM7O0VBR087QS9CeXExRGhCO0ErQnJxMURhO0VBRU87QS9Cc3ExRHBCO0ErQmpxMURTO0VBRU87QS9Ca3ExRGhCO0ErQjdyMURTO0VBRU87RUFDQTtBL0I4cjFEaEI7QStCdHIxRFM7O0VBR087QS9CdXIxRGhCO0ErQm5yMURhO0VBRU87QS9Cb3IxRHBCO0ErQi9xMURTO0VBRU87QS9CZ3IxRGhCO0Er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QzN3M0RBO0VBQ0k7QWhDNnczREo7QWdDM3czREE7RUFDSTtBaEM2dzNESjtBQUNBLGVBQWU7QWdDMXczRGY7RUFDSztJQUNHO0lBQ0E7RWhDNHczRE47RWdDMXczREc7Ozs7Ozs7Ozs7Ozs7O0lBY0c7SUFDQTtFaEM0dzNETjtFZ0N6dzNERztJQUNHO0VoQzJ3M0ROO0VnQ3p3M0RHO0lBQ0c7RWhDMnczRE47RWdDenczREc7Ozs7SUFJRztJQUNBO0lBQ0E7RWhDMnczRE47RWdDeHczREc7Ozs7Ozs7SUFPRztJQUNBO0lBQ0E7SUFDQTtFaEMwdzNETjtFZ0N4dzNERzs7Ozs7OztJQU9HO0VoQzB3M0ROO0VBQ0EscUJBQXFCO0VnQ3Z3M0RsQjtJQUNHO0VoQ3l3M0ROO0VnQ2p3M0RjO0lBQ0k7RWhDbXczRGxCO0VnQ2p3M0RjO0lBQ0k7RWhDbXczRGxCO0VnQzl2M0RrQjtJQUNJO0VoQ2d3M0R0QjtFZ0M5djNEa0I7SUFDSTtFaENndzNEdEI7RWdDN3czRGM7SUFDSTtFaEMrdzNEbEI7RWdDN3czRGM7SUFDSTtFaEMrdzNEbEI7RWdDMXczRGtCO0lBQ0k7RWhDNHczRHRCO0VnQzF3M0RrQjtJQUNJO0VoQzR3M0R0QjtFZ0N6eDNEYztJQUNJO0VoQzJ4M0RsQjtFZ0N6eDNEYztJQUNJO0VoQzJ4M0RsQjtFZ0N0eDNEa0I7SUFDSTtFaEN3eDNEdEI7RWdDdHgzRGtCO0lBQ0k7RWhDd3gzRHRCO0VnQ3J5M0RjO0lBQ0k7RWhDdXkzRGxCO0VnQ3J5M0RjO0lBQ0k7RWhDdXkzRGxCO0VnQ2x5M0RrQjtJQUNJO0VoQ295M0R0QjtFZ0NseTNEa0I7SUFDSTtFaENveTNEdEI7RWdDanozRGM7SUFDSTtFaENtejNEbEI7RWdDanozRGM7SUFDSTtFaENtejNEbEI7RWdDOXkzRGtCO0lBQ0k7RWhDZ3ozRHRCO0VnQzl5M0RrQjtJQUNJO0VoQ2d6M0R0QjtFZ0M3ejNEYztJQUNJO0VoQyt6M0RsQjtFZ0M3ejNEYztJQUNJO0VoQyt6M0RsQjtFZ0MxejNEa0I7SUFDSTtFaEM0ejNEdEI7RWdDMXozRGtCO0lBQ0k7RWhDNHozRHRCO0VnQ3owM0RjO0lBQ0k7RWhDMjAzRGxCO0VnQ3owM0RjO0lBQ0k7RWhDMjAzRGxCO0VnQ3QwM0RrQjtJQUNJO0VoQ3cwM0R0QjtFZ0N0MDNEa0I7SUFDSTtFaEN3MDNEdEI7RWdDcjEzRGM7SUFDSTtFaEN1MTNEbEI7RWdDcjEzRGM7SUFDSTtFaEN1MTNEbEI7RWdDbDEzRGtCO0lBQ0k7RWhDbzEzRHRCO0VnQ2wxM0RrQjtJQUNJO0VoQ28xM0R0QjtFZ0NqMjNEYztJQUNJO0VoQ20yM0RsQjtFZ0NqMjNEYztJQUNJO0VoQ20yM0RsQjtFZ0M5MTNEa0I7SUFDSTtFaENnMjNEdEI7RWdDOTEzRGtCO0lBQ0k7RWhDZzIzRHRCO0VnQzcyM0RjO0lBQ0k7RWhDKzIzRGxCO0VnQzcyM0RjO0lBQ0k7RWhDKzIzRGxCO0VnQzEyM0RrQjtJQUNJO0VoQzQyM0R0QjtFZ0MxMjNEa0I7SUFDSTtFaEM0MjNEdEI7RWdDejMzRGM7SUFDSTtFaEMyMzNEbEI7RWdDejMzRGM7SUFDSTtFaEMyMzNEbEI7RWdDdDMzRGtCO0lBQ0k7RWhDdzMzRHRCO0VnQ3QzM0RrQjtJQUNJO0VoQ3czM0R0QjtFZ0NyNDNEYztJQUNJO0VoQ3U0M0RsQjtFZ0NyNDNEYztJQUNJO0VoQ3U0M0RsQjtFZ0NsNDNEa0I7SUFDSTtFaENvNDNEdEI7RWdDbDQzRGtCO0lBQ0k7RWhDbzQzRHRCO0VnQ2o1M0RjO0lBQ0k7RWhDbTUzRGxCO0VnQ2o1M0RjO0lBQ0k7RWhDbTUzRGxCO0VnQzk0M0RrQjtJQUNJO0VoQ2c1M0R0QjtFZ0M5NDNEa0I7SUFDSTtFaENnNTNEdEI7RWdDNzUzRGM7SUFDSTtFaEMrNTNEbEI7RWdDNzUzRGM7SUFDSTtFaEMrNTNEbEI7RWdDMTUzRGtCO0lBQ0k7RWhDNDUzRHRCO0VnQzE1M0RrQjtJQUNJO0VoQzQ1M0R0QjtFZ0N6NjNEYztJQUNJO0VoQzI2M0RsQjtFZ0N6NjNEYztJQUNJO0VoQzI2M0RsQjtFZ0N0NjNEa0I7SUFDSTtFaEN3NjNEdEI7RWdDdDYzRGtCO0lBQ0k7RWhDdzYzRHRCO0VnQ2g2M0RVO0lBQ0k7RWhDazYzRGQ7RWdDajYzRGM7SUFDSTtFaENtNjNEbEI7RWdDOTUzRFU7SUFDSTtFaENnNjNEZDtFZ0MvNTNEYztJQUNJO0VoQ2k2M0RsQjtFZ0M3NTNETTtJQUNJO0VoQys1M0RWO0VnQzk1M0RVO0lBQ0k7RWhDZzYzRGQ7RWdDNTUzRFU7SUFDSTtFaEM4NTNEZDtFZ0M3NTNEYztJQUNJO0VoQys1M0RsQjtFZ0MxNTNEVTtJQUNJO0VoQzQ1M0RkO0VnQzM1M0RjO0lBQ0k7RWhDNjUzRGxCO0VnQ3Q1M0RVO0lBQ0k7RWhDdzUzRGQ7RWdDcDUzRFU7SUFDSTtFaENzNTNEZDtFZ0NuNTNETTtJQUNJO0VoQ3E1M0RWO0VnQ2w1M0RVO0lBQ0k7RWhDbzUzRGQ7RWdDaDUzRFU7SUFDSTtFaENrNTNEZDtBQUNGO0FBQ0E7O3FCQUVxQjtBZ0M3NDNEakI7RUFFUTtJQUNJO0VoQzg0M0RkO0VnQzc0M0RjO0lBQ0k7RWhDKzQzRGxCO0VnQzE0M0RVO0lBQ0k7RWhDNDQzRGQ7RWdDMzQzRGM7SUFDSTtFaEM2NDNEbEI7RWdDejQzRE07SUFDSTtFaEMyNDNEVjtFZ0MxNDNEVTtJQUNJO0VoQzQ0M0RkO0VnQ3g0M0RVO0lBQ0k7RWhDMDQzRGQ7RWdDejQzRGM7SUFDSTtFaEMyNDNEbEI7RWdDdDQzRFU7SUFDSTtFaEN3NDNEZDtFZ0N2NDNEYztJQUNJO0VoQ3k0M0RsQjtBQUNGO0FnQ3I0M0RJO0VBRVE7SUFDSTtFaENzNDNEZDtFZ0NyNDNEYztJQUNJO0VoQ3U0M0RsQjtFZ0NsNDNEVTtJQUNJO0VoQ280M0RkO0VnQ240M0RjO0lBQ0k7RWhDcTQzRGxCO0VnQ2o0M0RNO0lBQ0k7RWhDbTQzRFY7RWdDbDQzRFU7SUFDSTtFaENvNDNEZDtFZ0NoNDNEVTtJQUNJO0VoQ2s0M0RkO0VnQ2o0M0RjO0lBQ0k7RWhDbTQzRGxCO0VnQzkzM0RVO0lBQ0k7RWhDZzQzRGQ7RWdDLzMzRGM7SUFDSTtFaENpNDNEbEI7QUFDRjtBZ0M3MzNESTtFQUVRO0lBQ0k7RWhDODMzRGQ7RWdDNzMzRGM7SUFDSTtFaEMrMzNEbEI7RWdDMTMzRFU7SUFDSTtFaEM0MzNEZDtFZ0MzMzNEYztJQUNJO0VoQzYzM0RsQjtFZ0N6MzNETTtJQUNJO0VoQzIzM0RWO0VnQzEzM0RVO0lBQ0k7RWhDNDMzRGQ7RWdDeDMzRFU7SUFDSTtFaEMwMzNEZDtFZ0N6MzNEYztJQUNJO0VoQzIzM0RsQjtFZ0N0MzNEVTtJQUNJO0VoQ3czM0RkO0VnQ3YzM0RjO0lBQ0k7RWhDeTMzRGxCO0FBQ0Y7QWdDcDMzREk7OztFQUdJO0VBQ0E7RUFDQTtBaENzMzNEUjtBZ0NyMzNEUTs7O0VBQ0k7RUFDQTtFQUNBO0FoQ3kzM0RaO0FnQ3IzM0RRO0VBQ0k7OztJQUdJO0VoQ3UzM0RkO0FBQ0Y7QUFDQSw2RUFBNkU7QWdDbjMzRHpFO0VBQ0k7RUFDQTtFQUNBO0FoQ3EzM0RSO0FnQ24zM0RJO0VBQ0k7RUFDQTtFQUNBO0FoQ3EzM0RSO0FnQ2wzM0RRO0VBQ0k7RUFDQTtBaENvMzNEWjtBZ0NsMzNEUTtFQUNJO0VBQ0E7QWhDbzMzRFo7QWdDajMzREk7O0VBRUk7RUFDQTtBaENtMzNEUjtBZ0NoMzNEUTtFQUNJOztJQUVJO0VoQ2szM0RkO0FBQ0Y7QUFDQSx3Q0FBd0M7QWdDOTIzRDVCO0VBQ0k7O0lBRUk7SUFDQTtJQUNBO0lBQ0E7RWhDZzMzRGxCO0VnQzkyM0RjO0lBQ0k7RWhDZzMzRGxCO0VnQzkyM0RjO0lBQ0k7RWhDZzMzRGxCO0VnQzcyM0RrQjtJQUNJO0VoQysyM0R0QjtFZ0M3MjNEa0I7SUFDSTtFaEMrMjNEdEI7QUFDRjtBZ0MxMjNEWTtFQUNJO0FoQzQyM0RoQjtBZ0MxMjNEWTtFQUNJO0FoQzQyM0RoQjtBZ0MxMjNEWTtFQUNJO0FoQzQyM0RoQjtBZ0MxMjNEWTtFQUNJO0FoQzQyM0RoQjtBZ0N6MjNEZ0I7RWhDMjIzRGQsU0FBUztFZ0N6MjNEUztFQUNBO0VBQ0E7RUFDQTtBaEMyMjNEcEI7QWdDeDIzRFk7RUFDSTtJaEMwMjNEWiw2Q0FBNkM7SWdDeDIzRDdCO0VoQzAyM0RsQjtBQUNGO0FnQ3IyM0RRO0VBQ0k7RUFDQTtBaEN1MjNEWjtBQUNBOztxQkFF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aEM2dzNEeEI7QWdDM3czRG9CO0VBQ0k7QWhDNnczRHhCO0FnQzF4M0RnQjtFQUNJO0FoQzR4M0RwQjtBZ0MxeDNEZ0I7RUFDSTtBaEM0eDNEcEI7QWdDdngzRG9CO0VBQ0k7QWhDeXgzRHhCO0FnQ3Z4M0RvQjtFQUNJO0FoQ3l4M0R4QjtBZ0N0eTNEZ0I7RUFDSTtBaEN3eTNEcEI7QWdDdHkzRGdCO0VBQ0k7QWhDd3kzRHBCO0FnQ255M0RvQjtFQUNJO0FoQ3F5M0R4QjtBZ0NueTNEb0I7RUFDSTtBaENxeTNEeEI7QWdDbHozRGdCO0VBQ0k7QWhDb3ozRHBCO0FnQ2x6M0RnQjtFQUNJO0FoQ296M0RwQjtBZ0MveTNEb0I7RUFDSTtBaENpejNEeEI7QWdDL3kzRG9CO0VBQ0k7QWhDaXozRHhCO0FnQzl6M0RnQjtFQUNJO0FoQ2cwM0RwQjtBZ0M5ejNEZ0I7RUFDSTtBaENnMDNEcEI7QWdDM3ozRG9CO0VBQ0k7QWhDNnozRHhCO0FnQzN6M0RvQjtFQUNJO0FoQzZ6M0R4QjtBZ0MxMDNEZ0I7RUFDSTtBaEM0MDNEcEI7QWdDMTAzRGdCO0VBQ0k7QWhDNDAzRHBCO0FnQ3YwM0RvQjtFQUNJO0FoQ3kwM0R4QjtBZ0N2MDNEb0I7RUFDSTtBaEN5MDNEeEI7QWdDdDEzRGdCO0VBQ0k7QWhDdzEzRHBCO0FnQ3QxM0RnQjtFQUNJO0FoQ3cxM0RwQjtBZ0NuMTNEb0I7RUFDSTtBaENxMTNEeEI7QWdDbjEzRG9CO0VBQ0k7QWhDcTEzRHhCO0FnQ2wyM0RnQjtFQUNJO0FoQ28yM0RwQjtBZ0NsMjNEZ0I7RUFDSTtBaENvMjNEcEI7QWdDLzEzRG9CO0VBQ0k7QWhDaTIzRHhCO0FnQy8xM0RvQjtFQUNJO0FoQ2kyM0R4QjtBZ0M5MjNEZ0I7RUFDSTtBaENnMzNEcEI7QWdDOTIzRGdCO0VBQ0k7QWhDZzMzRHBCO0FnQzMyM0RvQjtFQUNJO0FoQzYyM0R4QjtBZ0MzMjNEb0I7RUFDSTtBaEM2MjNEeEI7QWdDMTMzRGdCO0VBQ0k7QWhDNDMzRHBCO0FnQzEzM0RnQjtFQUNJO0FoQzQzM0RwQjtBZ0N2MzNEb0I7RUFDSTtBaEN5MzNEeEI7QWdDdjMzRG9CO0VBQ0k7QWhDeTMzRHhCO0FnQ3Q0M0RnQjtFQUNJO0FoQ3c0M0RwQjtBZ0N0NDNEZ0I7RUFDSTtBaEN3NDNEcEI7QWdDbjQzRG9CO0VBQ0k7QWhDcTQzRHhCO0FnQ240M0RvQjtFQUNJO0FoQ3E0M0R4QjtBZ0NsNTNEZ0I7RUFDSTtBaENvNTNEcEI7QWdDbDUzRGdCO0VBQ0k7QWhDbzUzRHBCO0FnQy80M0RvQjtFQUNJO0FoQ2k1M0R4QjtBZ0MvNDNEb0I7RUFDSTtBaENpNTNEeEI7QWdDOTUzRGdCO0VBQ0k7QWhDZzYzRHBCO0FnQzk1M0RnQjtFQUNJO0FoQ2c2M0RwQjtBZ0MzNTNEb0I7RUFDSTtBaEM2NTNEeEI7QWdDMzUzRG9CO0VBQ0k7QWhDNjUzRHhCO0FnQzE2M0RnQjtFQUNJO0FoQzQ2M0RwQjtBZ0MxNjNEZ0I7RUFDSTtBaEM0NjNEcEI7QWdDdjYzRG9CO0VBQ0k7QWhDeTYzRHhCO0FnQ3Y2M0RvQjtFQUNJO0FoQ3k2M0R4QjtBQUNBOztxQkFFcUI7QWdDLzUzRGpCOztFQUVJO0FoQ2k2M0RSO0FnQy81M0RJOztFQUVJO0FoQ2k2M0RSO0FnQy81M0RJOztFQUVJO0FoQ2k2M0RSO0FBQ0E7O3dCQUV3QjtBZ0M3NTNEcEI7O0VBRUk7QWhDKzUzRFI7QWdDNzUzREk7O0VBRUk7QWhDKzUzRFI7QWdDNzUzREk7O0VBRUk7QWhDKzUzRFI7QUFDQTs7cUJBRXFCO0FnQ3o1M0RqQjs7RUFFSTtFQUNBO0FoQzI1M0RSO0FBQ0E7O3FCQUVxQjtBZ0NyNTNEakI7RUFDSTtBaEN1NTNEUjtBZ0NwNTNESTs7RUFFSTtFQUNBO0FoQ3M1M0RSO0FBQ0E7O3FCQUVxQjtBZ0NoNTNEakI7O0VBRUk7RUFDQTtBaENrNTNEUjtBZ0MvNDNEUTs7RUFFSTtFQUNBO0FoQ2k1M0RaO0FBQ0EseUJBQXlCO0FnQzc0M0RyQjtFQUNJO0FoQys0M0RSO0FnQzc0M0RJO0VBQ0k7RUFDQTtBaEMrNDNEUjtBZ0M3NDNESTtFQUNJO0FoQys0M0RSO0FnQzc0M0RJOzs7O0VBSUk7QWhDKzQzRFI7QUFDQSxpQkFBaUI7QWdDNTQzRFQ7OztFQUdJO0VBQ0E7QWhDODQzRFo7QWdDMTQzRFE7OztFQUdJO0VBQ0E7QWhDNDQzRFo7QWdDeDQzRFE7OztFQUdJO0VBQ0E7QWhDMDQzRFo7QWdDdDQzRFE7OztFQUdJO0VBQ0E7QWhDdzQzRFo7QWdDcDQzRFE7OztFQUdJO0VBQ0E7QWhDczQzRFo7QUFDQTs7MEJBRTBCO0FBQzFCLFdBQVc7QWdDLzMzRFA7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQ2k0M0RSO0FnQy8zM0RJO0VBQ0k7QWhDaTQzRFI7QUFDQSxRQUFRO0FnQzkzM0RKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaENnNDNEUjtBZ0M5MzNESTtFQUNJO0FoQ2c0M0RSO0FBQ0EsV0FBVztBZ0M3MzNEUDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEMrMzNEUjtBZ0M3MzNESTtFQUNJO0FoQyszM0RSO0FBQ0E7O3FCQUVxQjtBQUNyQixtQkFBbUI7QWdDejMzRGY7O0VBRUk7QWhDMjMzRFI7QUFDQSxZQUFZO0FnQ3gzM0RKOztFQUVJO0FoQzAzM0RaO0FBQ0EsK0JBQStCO0FnQ3QzM0R2QjtFQUNJO0VBQ0E7QWhDdzMzRFo7QUFDQTs7aUJBRWlCO0FnQ2wzM0RqQjs7RUFFSTtBaENvMzNESjtBQUNBOztzQkFFc0I7QWdDbjIzRGI7RUFDRztBaENxMjNEWjtBZ0NsMjNEYTtFQUNHO0VBQ0E7QWhDbzIzRGhCO0FBQ0Esb0VBQW9FO0FnQ2gyM0R2RDs7RUFPTztFQUNBO0FoQzYxM0RwQjtBZ0MzMTNEZ0I7Ozs7RUFFSTtFQUtJO0FoQzIxM0R4QjtBZ0N0MTNEaUI7O0VBRUc7RUFDQTtBaEN3MTNEcEI7QWdDdjEzRG9COzs7O0VBRUk7RUFDQTtBaEMyMTNEeEI7QWdDdDEzRFM7Ozs7OztFQWFPO0VBTUE7QWhDNDAzRGhCO0FnQ3owM0RTOzs7Ozs7RUFNRztFQUtJO0FoQ3UwM0RoQjtBZ0NsMDNEYTs7Ozs7O0VBTUc7RUFDQTtBaENvMDNEaEI7QWdDbDAzRGE7Ozs7OztFQU1HO0VBQ0E7QWhDbzAzRGhCO0FnQ2gwM0RhOzs7Ozs7RUFVTztFQU1BO0FoQ3l6M0RwQjtBZ0NyejNEaUI7Ozs7OztFQVVPO0VBTUE7QWhDOHkzRHhCO0FnQ3R5M0RnQjs7RUFDSTtBaEN5eTNEcEI7QWdDdnkzRGdCOztFQUNJO0FoQzB5M0RwQjtBZ0NweTNEb0I7O0VBQ0k7QWhDdXkzRHhCO0FnQ3J5M0RvQjs7RUFDSTtBaEN3eTNEeEI7QWdDejgzRFM7RUFDRztBaEMyODNEWjtBZ0N4ODNEYTtFQUNHO0VBQ0E7QWhDMDgzRGhCO0FBQ0Esb0VBQW9FO0FnQ3Q4M0R2RDs7RUFPTztFQUNBO0FoQ204M0RwQjtBZ0NqODNEZ0I7Ozs7RUFFSTtFQUtJO0FoQ2k4M0R4QjtBZ0M1NzNEaUI7O0VBRUc7RUFDQTtBaEM4NzNEcEI7QWdDNzczRG9COzs7O0VBRUk7RUFDQTtBaENpODNEeEI7QWdDNTczRFM7Ozs7OztFQWFPO0VBTUE7QWhDazczRGhCO0FnQy82M0RTOzs7Ozs7RUFNRztFQUtJO0FoQzY2M0RoQjtBZ0N4NjNEYTs7Ozs7O0VBTUc7RUFDQTtBaEMwNjNEaEI7QWdDeDYzRGE7Ozs7OztFQU1HO0VBQ0E7QWhDMDYzRGhCO0FnQ3Q2M0RhOzs7Ozs7RUFVTztFQU1BO0FoQys1M0RwQjtBZ0MzNTNEaUI7Ozs7OztFQVVPO0VBTUE7QWhDbzUzRHhCO0FnQzU0M0RnQjs7RUFDSTtBaEMrNDNEcEI7QWdDNzQzRGdCOztFQUNJO0FoQ2c1M0RwQjtBZ0MxNDNEb0I7O0VBQ0k7QWhDNjQzRHhCO0FnQzM0M0RvQjs7RUFDSTtBaEM4NDNEeEI7QWdDL2k0RFM7RUFDRztBaENpajREWjtBZ0M5aTREYTtFQUNHO0VBQ0E7QWhDZ2o0RGhCO0FBQ0Esb0VBQW9FO0FnQzVpNER2RDs7RUFPTztFQUNBO0FoQ3lpNERwQjtBZ0N2aTREZ0I7Ozs7RUFFSTtFQUtJO0FoQ3VpNER4QjtBZ0NsaTREaUI7O0VBRUc7RUFDQTtBaENvaTREcEI7QWdDbmk0RG9COzs7O0VBRUk7RUFDQTtBaEN1aTREeEI7QWdDbGk0RFM7Ozs7OztFQWFPO0VBTUE7QWhDd2g0RGhCO0FnQ3JoNERTOzs7Ozs7RUFNRztFQUtJO0FoQ21oNERoQjtBZ0M5ZzREYTs7Ozs7O0VBTUc7RUFDQTtBaENnaDREaEI7QWdDOWc0RGE7Ozs7OztFQU1HO0VBQ0E7QWhDZ2g0RGhCO0FnQzVnNERhOzs7Ozs7RUFVTztFQU1BO0FoQ3FnNERwQjtBZ0NqZzREaUI7Ozs7OztFQVVPO0VBTUE7QWhDMC8zRHhCO0FnQ2wvM0RnQjs7RUFDSTtBaENxLzNEcEI7QWdDbi8zRGdCOztFQUNJO0FoQ3MvM0RwQjtBZ0NoLzNEb0I7O0VBQ0k7QWhDbS8zRHhCO0FnQ2ovM0RvQjs7RUFDSTtBaENvLzNEeEI7QWdDcnA0RFM7RUFDRztBaEN1cDREWjtBZ0NwcDREYTtFQUNHO0VBQ0E7QWhDc3A0RGhCO0FBQ0Esb0VBQW9FO0FnQ2xwNER2RDs7RUFPTztFQUNBO0FoQytvNERwQjtBZ0M3bzREZ0I7Ozs7RUFFSTtFQUtJO0FoQzZvNER4QjtBZ0N4bzREaUI7O0VBRUc7RUFDQTtBaEMwbzREcEI7QWdDem80RG9COzs7O0VBRUk7RUFDQTtBaEM2bzREeEI7QWdDeG80RFM7Ozs7OztFQWFPO0VBTUE7QWhDOG40RGhCO0FnQzNuNERTOzs7Ozs7RUFNRztFQUtJO0FoQ3luNERoQjtBZ0NwbjREYTs7Ozs7O0VBTUc7RUFDQTtBaENzbjREaEI7QWdDcG40RGE7Ozs7OztFQU1HO0VBQ0E7QWhDc240RGhCO0FnQ2xuNERhOzs7Ozs7RUFVTztFQU1BO0FoQzJtNERwQjtBZ0N2bTREaUI7Ozs7OztFQVVPO0VBTUE7QWhDZ200RHhCO0FnQ3hsNERnQjs7RUFDSTtBaEMybDREcEI7QWdDemw0RGdCOztFQUNJO0FoQzRsNERwQjtBZ0N0bDREb0I7O0VBQ0k7QWhDeWw0RHhCO0FnQ3ZsNERvQjs7RUFDSTtBaEMwbDREeEI7QWdDM3Y0RFM7RUFDRztBaEM2djREWjtBZ0MxdjREYTtFQUNHO0VBQ0E7QWhDNHY0RGhCO0FBQ0Esb0VBQW9FO0FnQ3h2NER2RDs7RUFPTztFQUNBO0FoQ3F2NERwQjtBZ0NudjREZ0I7Ozs7RUFFSTtFQUtJO0FoQ212NER4QjtBZ0M5dTREaUI7O0VBRUc7RUFDQTtBaENndjREcEI7QWdDL3U0RG9COzs7O0VBRUk7RUFDQTtBaENtdjREeEI7QWdDOXU0RFM7Ozs7OztFQWFPO0VBTUE7QWhDb3U0RGhCO0FnQ2p1NERTOzs7Ozs7RUFNRztFQUtJO0FoQyt0NERoQjtBZ0MxdDREYTs7Ozs7O0VBTUc7RUFDQTtBaEM0dDREaEI7QWdDMXQ0RGE7Ozs7OztFQU1HO0VBQ0E7QWhDNHQ0RGhCO0FnQ3h0NERhOzs7Ozs7RUFVTztFQU1BO0FoQ2l0NERwQjtBZ0M3czREaUI7Ozs7OztFQVVPO0VBTUE7QWhDc3M0RHhCO0FnQzlyNERnQjs7RUFDSTtBaENpczREcEI7QWdDL3I0RGdCOztFQUNJO0FoQ2tzNERwQjtBZ0M1cjREb0I7O0VBQ0k7QWhDK3I0RHhCO0FnQzdyNERvQjs7RUFDSTtBaENnczREeEI7QWdDajI0RFM7RUFDRztBaENtMjREWjtBZ0NoMjREYTtFQUNHO0VBQ0E7QWhDazI0RGhCO0FBQ0Esb0VBQW9FO0FnQzkxNER2RDs7RUFPTztFQUNBO0FoQzIxNERwQjtBZ0N6MTREZ0I7Ozs7RUFFSTtFQUtJO0FoQ3kxNER4QjtBZ0NwMTREaUI7O0VBRUc7RUFDQTtBaENzMTREcEI7QWdDcjE0RG9COzs7O0VBRUk7RUFDQTtBaEN5MTREeEI7QWdDcDE0RFM7Ozs7OztFQWFPO0VBTUE7QWhDMDA0RGhCO0FnQ3YwNERTOzs7Ozs7RUFNRztFQUtJO0FoQ3EwNERoQjtBZ0NoMDREYTs7Ozs7O0VBTUc7RUFDQTtBaENrMDREaEI7QWdDaDA0RGE7Ozs7OztFQU1HO0VBQ0E7QWhDazA0RGhCO0FnQzl6NERhOzs7Ozs7RUFVTztFQU1BO0FoQ3V6NERwQjtBZ0NuejREaUI7Ozs7OztFQVVPO0VBTUE7QWhDNHk0RHhCO0FnQ3B5NERnQjs7RUFDSTtBaEN1eTREcEI7QWdDcnk0RGdCOztFQUNJO0FoQ3d5NERwQjtBZ0NseTREb0I7O0VBQ0k7QWhDcXk0RHhCO0FnQ255NERvQjs7RUFDSTtBaENzeTREeEI7QWdDdjg0RFM7RUFDRztBaEN5ODREWjtBZ0N0ODREYTtFQUNHO0VBQ0E7QWhDdzg0RGhCO0FBQ0Esb0VBQW9FO0FnQ3A4NER2RDs7RUFPTztFQUNBO0FoQ2k4NERwQjtBZ0MvNzREZ0I7Ozs7RUFFSTtFQUtJO0FoQys3NER4QjtBZ0MxNzREaUI7O0VBRUc7RUFDQTtBaEM0NzREcEI7QWdDMzc0RG9COzs7O0VBRUk7RUFDQTtBaEMrNzREeEI7QWdDMTc0RFM7Ozs7OztFQWFPO0VBTUE7QWhDZzc0RGhCO0FnQzc2NERTOzs7Ozs7RUFNRztFQUtJO0FoQzI2NERoQjtBZ0N0NjREYTs7Ozs7O0VBTUc7RUFDQTtBaEN3NjREaEI7QWdDdDY0RGE7Ozs7OztFQU1HO0VBQ0E7QWhDdzY0RGhCO0FnQ3A2NERhOzs7Ozs7RUFVTztFQU1BO0FoQzY1NERwQjtBZ0N6NTREaUI7Ozs7OztFQVVPO0VBTUE7QWhDazU0RHhCO0FnQzE0NERnQjs7RUFDSTtBaEM2NDREcEI7QWdDMzQ0RGdCOztFQUNJO0FoQzg0NERwQjtBZ0N4NDREb0I7O0VBQ0k7QWhDMjQ0RHhCO0FnQ3o0NERvQjs7RUFDSTtBaEM0NDREeEI7QWdDN2k1RFM7RUFDRztBaEMraTVEWjtBZ0M1aTVEYTtFQUNHO0VBQ0E7QWhDOGk1RGhCO0FBQ0Esb0VBQW9FO0FnQzFpNUR2RDs7RUFPTztFQUNBO0FoQ3VpNURwQjtBZ0NyaTVEZ0I7Ozs7RUFFSTtFQUtJO0FoQ3FpNUR4QjtBZ0NoaTVEaUI7O0VBRUc7RUFDQTtBaENraTVEcEI7QWdDamk1RG9COzs7O0VBRUk7RUFDQTtBaENxaTVEeEI7QWdDaGk1RFM7Ozs7OztFQWFPO0VBTUE7QWhDc2g1RGhCO0FnQ25oNURTOzs7Ozs7RUFNRztFQUtJO0FoQ2loNURoQjtBZ0M1ZzVEYTs7Ozs7O0VBTUc7RUFDQTtBaEM4ZzVEaEI7QWdDNWc1RGE7Ozs7OztFQU1HO0VBQ0E7QWhDOGc1RGhCO0FnQzFnNURhOzs7Ozs7RUFVTztFQU1BO0FoQ21nNURwQjtBZ0MvLzREaUI7Ozs7OztFQVVPO0VBTUE7QWhDdy80RHhCO0FnQ2gvNERnQjs7RUFDSTtBaENtLzREcEI7QWdDai80RGdCOztFQUNJO0FoQ28vNERwQjtBZ0M5KzREb0I7O0VBQ0k7QWhDaS80RHhCO0FnQy8rNERvQjs7RUFDSTtBaENrLzREeEI7QWdDbnA1RFM7RUFDRztBaENxcDVEWjtBZ0NscDVEYTtFQUNHO0VBQ0E7QWhDb3A1RGhCO0FBQ0Esb0VBQW9FO0FnQ2hwNUR2RDs7RUFPTztFQUNBO0FoQzZvNURwQjtBZ0MzbzVEZ0I7Ozs7RUFFSTtFQUtJO0FoQzJvNUR4QjtBZ0N0bzVEaUI7O0VBRUc7RUFDQTtBaEN3bzVEcEI7QWdDdm81RG9COzs7O0VBRUk7RUFDQTtBaEMybzVEeEI7QWdDdG81RFM7Ozs7OztFQWFPO0VBTUE7QWhDNG41RGhCO0FnQ3puNURTOzs7Ozs7RUFNRztFQUtJO0FoQ3VuNURoQjtBZ0NsbjVEYTs7Ozs7O0VBTUc7RUFDQTtBaENvbjVEaEI7QWdDbG41RGE7Ozs7OztFQU1HO0VBQ0E7QWhDb241RGhCO0FnQ2huNURhOzs7Ozs7RUFVTztFQU1BO0FoQ3ltNURwQjtBZ0NybTVEaUI7Ozs7OztFQVVPO0VBTUE7QWhDOGw1RHhCO0FnQ3RsNURnQjs7RUFDSTtBaEN5bDVEcEI7QWdDdmw1RGdCOztFQUNJO0FoQzBsNURwQjtBZ0NwbDVEb0I7O0VBQ0k7QWhDdWw1RHhCO0FnQ3JsNURvQjs7RUFDSTtBaEN3bDVEeEI7QWdDenY1RFM7RUFDRztBaEMydjVEWjtBZ0N4djVEYTtFQUNHO0VBQ0E7QWhDMHY1RGhCO0FBQ0Esb0VBQW9FO0FnQ3R2NUR2RDs7RUFPTztFQUNBO0FoQ212NURwQjtBZ0NqdjVEZ0I7Ozs7RUFFSTtFQUtJO0FoQ2l2NUR4QjtBZ0M1dTVEaUI7O0VBRUc7RUFDQTtBaEM4dTVEcEI7QWdDN3U1RG9COzs7O0VBRUk7RUFDQTtBaENpdjVEeEI7QWdDNXU1RFM7Ozs7OztFQWFPO0VBTUE7QWhDa3U1RGhCO0FnQy90NURTOzs7Ozs7RUFNRztFQUtJO0FoQzZ0NURoQjtBZ0N4dDVEYTs7Ozs7O0VBTUc7RUFDQTtBaEMwdDVEaEI7QWdDeHQ1RGE7Ozs7OztFQU1HO0VBQ0E7QWhDMHQ1RGhCO0FnQ3R0NURhOzs7Ozs7RUFVTztFQU1BO0FoQytzNURwQjtBZ0MzczVEaUI7Ozs7OztFQVVPO0VBTUE7QWhDb3M1RHhCO0FnQzVyNURnQjs7RUFDSTtBaEMrcjVEcEI7QWdDN3I1RGdCOztFQUNJO0FoQ2dzNURwQjtBZ0MxcjVEb0I7O0VBQ0k7QWhDNnI1RHhCO0FnQzNyNURvQjs7RUFDSTtBaEM4cjVEeEI7QWdDLzE1RFM7RUFDRztBaENpMjVEWjtBZ0M5MTVEYTtFQUNHO0VBQ0E7QWhDZzI1RGhCO0FBQ0Esb0VBQW9FO0FnQzUxNUR2RDs7RUFPTztFQUNBO0FoQ3kxNURwQjtBZ0N2MTVEZ0I7Ozs7RUFFSTtFQUtJO0FoQ3UxNUR4QjtBZ0NsMTVEaUI7O0VBRUc7RUFDQTtBaENvMTVEcEI7QWdDbjE1RG9COzs7O0VBRUk7RUFDQTtBaEN1MTVEeEI7QWdDbDE1RFM7Ozs7OztFQWFPO0VBTUE7QWhDdzA1RGhCO0FnQ3IwNURTOzs7Ozs7RUFNRztFQUtJO0FoQ20wNURoQjtBZ0M5ejVEYTs7Ozs7O0VBTUc7RUFDQTtBaENnMDVEaEI7QWdDOXo1RGE7Ozs7OztFQU1HO0VBQ0E7QWhDZzA1RGhCO0FnQzV6NURhOzs7Ozs7RUFVTztFQU1BO0FoQ3F6NURwQjtBZ0NqejVEaUI7Ozs7OztFQVVPO0VBTUE7QWhDMHk1RHhCO0FnQ2x5NURnQjs7RUFDSTtBaENxeTVEcEI7QWdDbnk1RGdCOztFQUNJO0FoQ3N5NURwQjtBZ0NoeTVEb0I7O0VBQ0k7QWhDbXk1RHhCO0FnQ2p5NURvQjs7RUFDSTtBaENveTVEeEI7QWdDcjg1RFM7RUFDRztBaEN1ODVEWjtBZ0NwODVEYTtFQUNHO0VBQ0E7QWhDczg1RGhCO0FBQ0Esb0VBQW9FO0FnQ2w4NUR2RDs7RUFPTztFQUNBO0FoQys3NURwQjtBZ0M3NzVEZ0I7Ozs7RUFFSTtFQUtJO0FoQzY3NUR4QjtBZ0N4NzVEaUI7O0VBRUc7RUFDQTtBaEMwNzVEcEI7QWdDejc1RG9COzs7O0VBRUk7RUFDQTtBaEM2NzVEeEI7QWdDeDc1RFM7Ozs7OztFQWFPO0VBTUE7QWhDODY1RGhCO0FnQzM2NURTOzs7Ozs7RUFNRztFQUtJO0FoQ3k2NURoQjtBZ0NwNjVEYTs7Ozs7O0VBTUc7RUFDQTtBaENzNjVEaEI7QWdDcDY1RGE7Ozs7OztFQU1HO0VBQ0E7QWhDczY1RGhCO0FnQ2w2NURhOzs7Ozs7RUFVTztFQU1BO0FoQzI1NURwQjtBZ0N2NTVEaUI7Ozs7OztFQVVPO0VBTUE7QWhDZzU1RHhCO0FnQ3g0NURnQjs7RUFDSTtBaEMyNDVEcEI7QWdDejQ1RGdCOztFQUNJO0FoQzQ0NURwQjtBZ0N0NDVEb0I7O0VBQ0k7QWhDeTQ1RHhCO0FnQ3Y0NURvQjs7RUFDSTtBaEMwNDVEeEI7QWdDM2k2RFM7RUFDRztBaEM2aTZEWjtBZ0MxaTZEYTtFQUNHO0VBQ0E7QWhDNGk2RGhCO0FBQ0Esb0VBQW9FO0FnQ3hpNkR2RDs7RUFPTztFQUNBO0FoQ3FpNkRwQjtBZ0NuaTZEZ0I7Ozs7RUFFSTtFQUtJO0FoQ21pNkR4QjtBZ0M5aDZEaUI7O0VBRUc7RUFDQTtBaENnaTZEcEI7QWdDL2g2RG9COzs7O0VBRUk7RUFDQTtBaENtaTZEeEI7QWdDOWg2RFM7Ozs7OztFQWFPO0VBTUE7QWhDb2g2RGhCO0FnQ2poNkRTOzs7Ozs7RUFNRztFQUtJO0FoQytnNkRoQjtBZ0MxZzZEYTs7Ozs7O0VBTUc7RUFDQTtBaEM0ZzZEaEI7QWdDMWc2RGE7Ozs7OztFQU1HO0VBQ0E7QWhDNGc2RGhCO0FnQ3hnNkRhOzs7Ozs7RUFVTztFQU1BO0FoQ2lnNkRwQjtBZ0M3LzVEaUI7Ozs7OztFQVVPO0VBTUE7QWhDcy81RHhCO0FnQzkrNURnQjs7RUFDSTtBaENpLzVEcEI7QWdDLys1RGdCOztFQUNJO0FoQ2svNURwQjtBZ0M1KzVEb0I7O0VBQ0k7QWhDKys1RHhCO0FnQzcrNURvQjs7RUFDSTtBaENnLzVEeEI7QWdDanA2RFM7RUFDRztBaENtcDZEWjtBZ0NocDZEYTtFQUNHO0VBQ0E7QWhDa3A2RGhCO0FBQ0Esb0VBQW9FO0FnQzlvNkR2RDs7RUFHTztFQUNBO0FoQytvNkRwQjtBZ0N6bzZEZ0I7Ozs7RUFFSTtFQUtJO0FoQ3lvNkR4QjtBZ0NwbzZEaUI7O0VBRUc7RUFDQTtBaENzbzZEcEI7QWdDcm82RG9COzs7O0VBRUk7RUFDQTtBaEN5bzZEeEI7QWdDcG82RFM7Ozs7OztFQVVPO0VBU0E7QWhDMG42RGhCO0FnQ3ZuNkRTOzs7Ozs7RUFNRztFQUtJO0FoQ3FuNkRoQjtBZ0NobjZEYTs7Ozs7O0VBTUc7RUFDQTtBaENrbjZEaEI7QWdDaG42RGE7Ozs7OztFQU1HO0VBQ0E7QWhDa242RGhCO0FnQzltNkRhOzs7Ozs7RUFPTztFQVNBO0FoQ3VtNkRwQjtBZ0NubTZEaUI7Ozs7OztFQU9PO0VBU0E7QWhDNGw2RHhCO0FnQ3BsNkRnQjs7RUFDSTtBaEN1bDZEcEI7QWdDcmw2RGdCOztFQUNJO0FoQ3dsNkRwQjtBZ0NsbDZEb0I7O0VBQ0k7QWhDcWw2RHhCO0FnQ25sNkRvQjs7RUFDSTtBaENzbDZEeEI7QWdDdnY2RFM7RUFDRztBaEN5djZEWjtBZ0N0djZEYTtFQUNHO0VBQ0E7QWhDd3Y2RGhCO0FBQ0Esb0VBQW9FO0FnQ3B2NkR2RDs7RUFHTztFQUNBO0FoQ3F2NkRwQjtBZ0MvdTZEZ0I7Ozs7RUFFSTtFQUVJO0FoQ2t2NkR4QjtBZ0MxdTZEaUI7O0VBRUc7RUFDQTtBaEM0dTZEcEI7QWdDM3U2RG9COzs7O0VBRUk7RUFDQTtBaEMrdTZEeEI7QWdDMXU2RFM7Ozs7OztFQVVPO0VBTUE7QWhDbXU2RGhCO0FnQzd0NkRTOzs7Ozs7RUFNRztFQUVJO0FoQzh0NkRoQjtBZ0N0dDZEYTs7Ozs7O0VBTUc7RUFDQTtBaEN3dDZEaEI7QWdDdHQ2RGE7Ozs7OztFQU1HO0VBQ0E7QWhDd3Q2RGhCO0FnQ3B0NkRhOzs7Ozs7RUFPTztFQU1BO0FoQ2d0NkRwQjtBZ0N6czZEaUI7Ozs7OztFQU9PO0VBTUE7QWhDcXM2RHhCO0FnQzFyNkRnQjs7RUFDSTtBaEM2cjZEcEI7QWdDM3I2RGdCOztFQUNJO0FoQzhyNkRwQjtBZ0N4cjZEb0I7O0VBQ0k7QWhDMnI2RHhCO0FnQ3pyNkRvQjs7RUFDSTtBaEM0cjZEeEI7QUFDQTs7cUJBRXFCO0FBQ3JCLGVBQWU7QWdDanI2RFg7RUFDSTtBaENtcjZEUjtBZ0NqcjZESTtFQUNJO0FoQ21yNkRSO0FnQ2pyNkRJO0VBQ0k7QWhDbXI2RFI7QWdDanI2REk7RUFDSTtBaENtcjZEUjtBZ0NqcjZESTtFQUNJO0FoQ21yNkRSO0FnQ2pyNkRJO0VBQ0k7QWhDbXI2RFI7QWdDanI2REk7RUFDSTtBaENtcjZEUjtBZ0NqcjZESTtFQUNJO0FoQ21yNkRSO0FnQ2pyNkRJO0VBQ0k7QWhDbXI2RFI7QWdDanI2REk7RUFDSTtBaENtcjZEUjtBZ0NqcjZESTtFQUNJO0FoQ21yNkRSO0FnQ2pyNkRJO0VBQ0k7QWhDbXI2RFI7QWdDanI2REk7RUFDSTtBaENtcjZEUjtBZ0NqcjZESTtFQUNJO0FoQ21yNkRSO0FnQ2pyNkRJO0VBQ0k7QWhDbXI2RFI7QWdDanI2REk7RUFDSTtBaENtcjZEUjtBQUNBLGlCQUFpQjtBZ0M5cTZEYjs7RUFFSTtBaENncjZEUjtBZ0M5cTZESTs7RUFFSTtBaENncjZEUjtBZ0M5cTZESTs7RUFFSTtBaENncjZEUjtBZ0M5cTZESTs7RUFFSTtBaENncjZEUjtBZ0M5cTZESTs7RUFFSTtBaENncjZEUjtBZ0M5cTZESTs7RUFFSTtBaENncjZEUjtBZ0M5cTZESTs7RUFFSTtBaENncjZEUjtBZ0M5cTZESTs7RUFFSTtBaENncjZEUjtBZ0M5cTZESTs7RUFFSTtBaENncjZEUjtBZ0M5cTZESTs7RUFFSTtBaENncjZEUjtBZ0M5cTZESTs7RUFFSTtBaENncjZEUjtBZ0M5cTZESTs7RUFFSTtBaENncjZEUjtBZ0M5cTZESTs7RUFFSTtBaENncjZEUjtBZ0M5cTZESTs7RUFFSTtBaENncjZEUjtBZ0M5cTZESTs7RUFFSTtBaENncjZEUjtBZ0M5cTZESTs7RUFFSTtBaENncjZEUjtBQUNBOztxQkFFcUI7QWdDMXE2RGpCO0VBQ0k7RUFDQTtFQUNBO0FoQzRxNkRSO0FnQ3pxNkRRO0VBQ0k7QWhDMnE2RFo7QWdDeHE2REk7O0VBRUk7S0FBQTtVQUFBO0FoQzBxNkRSO0FnQ3ZxNkRJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhDeXE2RFI7QWdDdnE2REk7RUFDSTtBaEN5cTZEUjtBZ0N2cTZESTtFQUNJO0FoQ3lxNkRSO0FBQ0EsVUFBVTtBZ0NycTZERjtFQUNJO0VBQ0E7QWhDdXE2RFo7QWdDcHE2REk7RUFDSTtBaENzcTZEUjtBZ0NwcTZESztFQUNHO0FoQ3NxNkRSO0FBQ0EsV0FBVztBZ0NucTZEUDtFQUNJO0FoQ3FxNkRSO0FnQ25xNkRLO0VBQ0c7QWhDcXE2RFI7QWdDbnE2REk7RUFDSTtBaENxcTZEUjtBQUNBLGlCQUFpQjtBZ0NscTZEYjtFQUNJO0FoQ29xNkRSO0FnQ2xxNkRLO0VBQ0c7QWhDb3E2RFI7QUFDQSxhQUFhO0FnQ2pxNkRMO0VBQ0k7QWhDbXE2RFo7QWdDanE2RFM7RUFDRztBaENtcTZEWjtBZ0NqcTZEUTtFQUNJO0FoQ21xNkRaO0FnQ2pxNkRTO0VBQ0c7QWhDbXE2RFo7QWdDanE2RFM7RUFDRztFQUNBO0FoQ21xNkRaO0FBQ0E7O3FCQUVxQjtBQUNyQixlQUFlO0FnQzVwNkRYO0VBQ0k7RUFDQTtFQUNBO0FoQzhwNkRSO0FnQzVwNkRJOzs7RUFHSTtFQUNBO0VBQ0E7QWhDOHA2RFI7QWdDNXA2REk7O0VBRUk7RUFDQTtFQUNBO0FoQzhwNkRSO0FnQzVwNkRJOzs7RUFHSTtBaEM4cDZEUjtBZ0MzcDZEUTs7OztFQUlJO0VBQ0E7QWhDNnA2RFo7QWdDM3A2RFE7Ozs7RUFJSTtBaEM2cDZEWjtBQUNBLGVBQWU7QWdDenA2RE47O0VBRUc7QWhDMnA2RFo7QWdDenA2RFE7OztFQUdJO0VBQ0E7QWhDMnA2RFo7QUFDQTs7cUJBRXFCO0FnQ3BwNkRqQjtFQUNJO0FoQ3NwNkRSO0FBQ0E7O3FCQUVxQjtBZ0NocDZEakI7RUFDSTtFQUNBO0VBQ0E7QWhDa3A2RFI7QWdDaHA2REk7O0VBRUk7QWhDa3A2RFI7QWdDaHA2REk7Ozs7RUFJSTtFQUNBO0FoQ2twNkRSO0FnQ2hwNkRJO0VBQ0k7QWhDa3A2RFI7QWdDaHA2REk7OztFQUdJO0FoQ2twNkRSO0FnQy9vNkRRO0VBQ0k7QWhDaXA2RFo7QUFDQSxlQUFlO0FnQzdvNkRQO0VBQ0k7QWhDK282RFo7QWdDN282RFM7Ozs7OztFQU1HO0FoQytvNkRaO0FnQzdvNkRTOzs7Ozs7O0VBT0c7QWhDK282RFo7QWdDN282RFM7Ozs7Ozs7RUFPRztBaEMrbzZEWjtBZ0M3bzZEUztFQUNHO0FoQytvNkRaO0FBQ0E7O3FCQUVxQjtBZ0N4bzZEakI7Ozs7Ozs7RUFPSTtBaEMwbzZEUjtBZ0N2bzZEUTs7RUFFSTtBaEN5bzZEWjtBZ0N0bzZESTs7Ozs7OztFQU9JO0FoQ3dvNkRSO0FBQ0E7O3FCQUVxQjtBZ0NsbzZEakI7Ozs7RUFJSTtFQUNBO0FoQ29vNkRSO0FnQ2xvNkRJOzs7Ozs7O0VBT0k7QWhDb282RFI7QUFDQSxTQUFTO0FnQ2hvNkREOzs7O0VBSUk7RUFDQTtBaENrbzZEWjtBZ0NobzZEUTs7O0VBR0k7QWhDa282RFo7QUFDQTs7cUJBRXFCO0FnQzNuNkRqQjs7OztFQUlJO0VBQ0E7QWhDNm42RFI7QWdDM242REk7OztFQUdJO0FoQzZuNkRSO0FBQ0EsU0FBUztBZ0N6bjZERDs7OztFQUlJO0VBQ0E7QWhDMm42RFo7QWdDem42RFE7OztFQUdJO0FoQzJuNkRaO0FBQ0E7O3FCQUVxQjtBZ0NwbjZEaEI7RUFDRztBaENzbjZEUjtBZ0NybjZEUTtFQUNJO0FoQ3VuNkRaO0FnQ3JuNkRRO0VBQ0k7QWhDdW42RFo7QWdDcm42RFE7RUFDSTtBaEN1bjZEWjtBZ0NwbjZEWTs7RUFFSTtBaENzbjZEaEI7QWdDam42RFE7RUFDSTtBaENtbjZEWjtBZ0NqbjZEUTtFQUNJO0FoQ21uNkRaO0FnQ2puNkRRO0VBQ0k7QWhDbW42RFo7QWdDaG42RFk7O0VBRUk7QWhDa242RGhCO0FnQzdtNkRROztFQUVJO0VBQ0E7QWhDK202RFo7QWdDNW02REk7RUFDSTtBaEM4bTZEUjtBZ0M3bTZEUTtFQUNJO0VBQ0E7QWhDK202RFo7QWdDOW02RFk7RUFDSTtBaENnbjZEaEI7QWdD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O0FuQzIrZ0VSO0FBQ0E7OzBCQUUwQjtBbUNyK2dFdEI7OztFQUdJO0FuQ3UrZ0VSO0FtQ3ArZ0VROzs7O0VBSUk7QW5DcytnRVo7QW1DbCtnRVE7Ozs7RUFJSTtBbkNvK2dFWjtBbUNqK2dFWTs7Ozs7O0VBTUk7QW5DbStnRWhCO0FBQ0E7OzBCQUUwQjtBbUMzOWdFdEI7RUFDSTtBbkM2OWdFUjtBbUMzOWdFSTtFQUNJO0VBQ0E7QW5DNjlnRVI7QUFDQTs7MEJBRTBCO0FtQ3Y5Z0V0QjtFQUNJO0VBQ0E7QW5DeTlnRVI7QUFDQTs7MEJBRTBCO0FtQ245Z0V0Qjs7OztFQUlJO0FuQ3E5Z0VSO0FtQ2w5Z0VJOzs7O0VBSUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQ285Z0VSO0FBQ0E7O3NCQUVzQjtBbUN2OGdFYjs7O0VBR0c7QW5DeThnRVo7QW1DbjhnRWE7Ozs7OztFQU1HO0FuQ3E4Z0VoQjtBbUM5N2dFYTs7OztFQUlHO0FuQ2c4Z0VoQjtBbUNyN2dFaUI7Ozs7Ozs7O0VBUUc7QW5DdTdnRXBCO0FtQ2w3Z0VhOzs7RUFHRztBbkNvN2dFaEI7QW1DOTZnRWlCOzs7Ozs7RUFNRztBbkNnN2dFcEI7QW1DejZnRWlCOzs7O0VBSUc7QW5DMjZnRXBCO0FtQ3g2Z0VxQjs7Ozs7Ozs7RUFRRztBbkMwNmdFeEI7QW1DamdoRVM7OztFQUdHO0FuQ21naEVaO0FtQzcvZ0VhOzs7Ozs7RUFNRztBbkMrL2dFaEI7QW1DeC9nRWE7Ozs7RUFJRztBbkMwL2dFaEI7QW1DLytnRWlCOzs7Ozs7OztFQVFHO0FuQ2kvZ0VwQjtBbUM1K2dFYTs7O0VBR0c7QW5DOCtnRWhCO0FtQ3grZ0VpQjs7Ozs7O0VBTUc7QW5DMCtnRXBCO0FtQ24rZ0VpQjs7OztFQUlHO0FuQ3ErZ0VwQjtBbUNsK2dFcUI7Ozs7Ozs7O0VBUUc7QW5DbytnRXhCO0FtQzNqaEVTOzs7RUFHRztBbkM2amhFWjtBbUN2amhFYTs7Ozs7O0VBTUc7QW5DeWpoRWhCO0FtQ2xqaEVhOzs7O0VBSUc7QW5Db2poRWhCO0FtQ3ppaEVpQjs7Ozs7Ozs7RUFRRztBbkMyaWhFcEI7QW1DdGloRWE7OztFQUdHO0FuQ3dpaEVoQjtBbUNsaWhFaUI7Ozs7OztFQU1HO0FuQ29paEVwQjtBbUM3aGhFaUI7Ozs7RUFJRztBbkMraGhFcEI7QW1DNWhoRXFCOzs7Ozs7OztFQVFHO0FuQzhoaEV4QjtBbUNybmhFUzs7O0VBR0c7QW5DdW5oRVo7QW1Dam5oRWE7Ozs7OztFQU1HO0FuQ21uaEVoQjtBbUM1bWhFYTs7OztFQUlHO0FuQzhtaEVoQjtBbUNubWhFaUI7Ozs7Ozs7O0VBUUc7QW5DcW1oRXBCO0FtQ2htaEVhOzs7RUFHRztBbkNrbWhFaEI7QW1DNWxoRWlCOzs7Ozs7RUFNRztBbkM4bGhFcEI7QW1DdmxoRWlCOzs7O0VBSUc7QW5DeWxoRXBCO0FtQ3RsaEVxQjs7Ozs7Ozs7RUFRRztBbkN3bGhFeEI7QW1DL3FoRVM7OztFQUdHO0FuQ2lyaEVaO0FtQzNxaEVhOzs7Ozs7RUFNRztBbkM2cWhFaEI7QW1DdHFoRWE7Ozs7RUFJRztBbkN3cWhFaEI7QW1DN3BoRWlCOzs7Ozs7OztFQVFHO0FuQytwaEVwQjtBbUMxcGhFYTs7O0VBR0c7QW5DNHBoRWhCO0FtQ3RwaEVpQjs7Ozs7O0VBTUc7QW5Dd3BoRXBCO0FtQ2pwaEVpQjs7OztFQUlHO0FuQ21waEVwQjtBbUNocGhFcUI7Ozs7Ozs7O0VBUUc7QW5Da3BoRXhCO0FtQ3p1aEVTOzs7RUFHRztBbkMydWhFWjtBbUNydWhFYTs7Ozs7O0VBTUc7QW5DdXVoRWhCO0FtQ2h1aEVhOzs7O0VBSUc7QW5Da3VoRWhCO0FtQ3Z0aEVpQjs7Ozs7Ozs7RUFRRztBbkN5dGhFcEI7QW1DcHRoRWE7OztFQUdHO0FuQ3N0aEVoQjtBbUNodGhFaUI7Ozs7OztFQU1HO0FuQ2t0aEVwQjtBbUMzc2hFaUI7Ozs7RUFJRztBbkM2c2hFcEI7QW1DMXNoRXFCOzs7Ozs7OztFQVFHO0FuQzRzaEV4QjtBbUNueWhFUzs7O0VBR0c7QW5DcXloRVo7QW1DL3hoRWE7Ozs7OztFQU1HO0FuQ2l5aEVoQjtBbUMxeGhFYTs7OztFQUlHO0FuQzR4aEVoQjtBbUNqeGhFaUI7Ozs7Ozs7O0VBUUc7QW5DbXhoRXBCO0FtQzl3aEVhOzs7RUFHRztBbkNneGhFaEI7QW1DMXdoRWlCOzs7Ozs7RUFNRztBbkM0d2hFcEI7QW1DcndoRWlCOzs7O0VBSUc7QW5DdXdoRXBCO0FtQ3B3aEVxQjs7Ozs7Ozs7RUFRRztBbkNzd2hFeEI7QW1DNzFoRVM7OztFQUdHO0FuQysxaEVaO0FtQ3oxaEVhOzs7Ozs7RUFNRztBbkMyMWhFaEI7QW1DcDFoRWE7Ozs7RUFJRztBbkNzMWhFaEI7QW1DMzBoRWlCOzs7Ozs7OztFQVFHO0FuQzYwaEVwQjtBbUN4MGhFYTs7O0VBR0c7QW5DMDBoRWhCO0FtQ3AwaEVpQjs7Ozs7O0VBTUc7QW5DczBoRXBCO0FtQy96aEVpQjs7OztFQUlHO0FuQ2kwaEVwQjtBbUM5emhFcUI7Ozs7Ozs7O0VBUUc7QW5DZzBoRXhCO0FtQ3Y1aEVTOzs7RUFHRztBbkN5NWhFWjtBbUNuNWhFYTs7Ozs7O0VBTUc7QW5DcTVoRWhCO0FtQzk0aEVhOzs7O0VBSUc7QW5DZzVoRWhCO0FtQ3I0aEVpQjs7Ozs7Ozs7RUFRRztBbkN1NGhFcEI7QW1DbDRoRWE7OztFQUdHO0FuQ280aEVoQjtBbUM5M2hFaUI7Ozs7OztFQU1HO0FuQ2c0aEVwQjtBbUN6M2hFaUI7Ozs7RUFJRztBbkMyM2hFcEI7QW1DeDNoRXFCOzs7Ozs7OztFQVFHO0FuQzAzaEV4QjtBbUNqOWhFUzs7O0VBR0c7QW5DbTloRVo7QW1DNzhoRWE7Ozs7OztFQU1HO0FuQys4aEVoQjtBbUN4OGhFYTs7OztFQUlHO0FuQzA4aEVoQjtBbUMvN2hFaUI7Ozs7Ozs7O0VBUUc7QW5DaThoRXBCO0FtQzU3aEVhOzs7RUFHRztBbkM4N2hFaEI7QW1DeDdoRWlCOzs7Ozs7RUFNRztBbkMwN2hFcEI7QW1DbjdoRWlCOzs7O0VBSUc7QW5DcTdoRXBCO0FtQ2w3aEVxQjs7Ozs7Ozs7RUFRRztBbkNvN2hFeEI7QW1DM2dpRVM7OztFQUdHO0FuQzZnaUVaO0FtQ3ZnaUVhOzs7Ozs7RUFNRztBbkN5Z2lFaEI7QW1DbGdpRWE7Ozs7RUFJRztBbkNvZ2lFaEI7QW1Dei9oRWlCOzs7Ozs7OztFQVFHO0FuQzIvaEVwQjtBbUN0L2hFYTs7O0VBR0c7QW5Ddy9oRWhCO0FtQ2wvaEVpQjs7Ozs7O0VBTUc7QW5Dby9oRXBCO0FtQzcraEVpQjs7OztFQUlHO0FuQysraEVwQjtBbUM1K2hFcUI7Ozs7Ozs7O0VBUUc7QW5DOCtoRXhCO0FtQ3JraUVTOzs7RUFHRztBbkN1a2lFWjtBbUNqa2lFYTs7Ozs7O0VBTUc7QW5DbWtpRWhCO0FtQzVqaUVhOzs7O0VBSUc7QW5DOGppRWhCO0FtQ25qaUVpQjs7Ozs7Ozs7RUFRRztBbkNxamlFcEI7QW1DaGppRWE7OztFQUdHO0FuQ2tqaUVoQjtBbUM1aWlFaUI7Ozs7OztFQU1HO0FuQzhpaUVwQjtBbUN2aWlFaUI7Ozs7RUFJRztBbkN5aWlFcEI7QW1DdGlpRXFCOzs7Ozs7OztFQVFHO0FuQ3dpaUV4QjtBbUMvbmlFUzs7O0VBR0c7QW5DaW9pRVo7QW1DM25pRWE7Ozs7OztFQU1HO0FuQzZuaUVoQjtBbUN0bmlFYTs7OztFQUlHO0FuQ3duaUVoQjtBbUM3bWlFaUI7Ozs7Ozs7O0VBUUc7QW5DK21pRXBCO0FtQzFtaUVhOzs7RUFHRztBbkM0bWlFaEI7QW1DdG1pRWlCOzs7Ozs7RUFNRztBbkN3bWlFcEI7QW1Dam1pRWlCOzs7O0VBSUc7QW5DbW1pRXBCO0FtQ2htaUVxQjs7Ozs7Ozs7RUFRRztBbkNrbWlFeEI7QW1DenJpRVM7OztFQUdHO0FuQzJyaUVaO0FtQ3JyaUVhOzs7Ozs7RUFNRztBbkN1cmlFaEI7QW1DaHJpRWE7Ozs7RUFJRztBbkNrcmlFaEI7QW1DdnFpRWlCOzs7Ozs7OztFQVFHO0FuQ3lxaUVwQjtBbUNwcWlFYTs7O0VBR0c7QW5Dc3FpRWhCO0FtQ2hxaUVpQjs7Ozs7O0VBTUc7QW5Da3FpRXBCO0FtQzNwaUVpQjs7OztFQUlHO0FuQzZwaUVwQjtBbUMxcGlFcUI7Ozs7Ozs7O0VBUUc7QW5DNHBpRXhCO0FtQ252aUVTOzs7RUFHRztBbkNxdmlFWjtBbUMvdWlFYTs7Ozs7O0VBTUc7QW5DaXZpRWhCO0FtQzF1aUVhOzs7O0VBSUc7QW5DNHVpRWhCO0FtQzF1aUVvQjs7Ozs7Ozs7Ozs7Ozs7OztFQUlJO0FuQ3d2aUV4QjtBbUNudmlFaUI7Ozs7Ozs7O0VBUUc7QW5DcXZpRXBCO0FtQ2h2aUVhOzs7RUFHRztBbkNrdmlFaEI7QW1DNXVpRWlCOzs7Ozs7RUFNRztBbkM4dWlFcEI7QW1DdnVpRWlCOzs7O0VBSUc7QW5DeXVpRXBCO0FtQ3R1aUVxQjs7Ozs7Ozs7RUFRRztBbkN3dWlFeEI7QUFDQTs7cUJBRXFCO0FtQzl0aUVqQjtFQUNJO0VBQ0E7QW5DZ3VpRVI7QW1DOXRpRUk7RUFDSTtBbkNndWlFUjtBbUM3dGlFSTtFQUNJO0VBQ0E7QW5DK3RpRVI7QW1DN3RpRUk7RUFDSTtFQUNBO0VBQ0E7QW5DK3RpRVI7QW1DNXRpRUk7RUFDSTtFQUNBO0FuQzh0aUVSO0FtQzV0aUVJO0VBQ0k7RUFDQTtFQUNBO0FuQzh0aUVSO0FtQzN0aUVJO0VBQ0k7RUFDQTtBbkM2dGlFUjtBbUMzdGlFSTtFQUNJO0VBQ0E7RUFDQTtBbkM2dGlFUjtBbUMxdGlFSTtFQUNJO0VBQ0E7QW5DNHRpRVI7QW1DMXRpRUk7RUFDSTtFQUNBO0VBQ0E7QW5DNHRpRVI7QW1DenRpRUk7RUFDSTtFQUNBO0FuQzJ0aUVSO0FtQ3p0aUVJO0VBQ0k7RUFDQTtFQUNBO0FuQzJ0aUVSO0FtQ3h0aUVJO0VBQ0k7RUFDQTtBbkMwdGlFUjtBbUN4dGlFSTtFQUNJO0VBQ0E7RUFDQTtBbkMwdGlFUjtBbUN2dGlFSTtFQUNJO0VBQ0E7QW5DeXRpRVI7QW1DdnRpRUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbkN5dGlFUjtBbUN0dGlFSTtFQUNJO0VBQ0E7QW5Dd3RpRVI7QW1DdHRpRUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbkN3dGlFUjtBbUNydGlFSTtFQUNJO0VBQ0E7QW5DdXRpRVI7QW1DcnRpRUk7RUFDSTtFQUNBO0VBQ0E7QW5DdXRpRVI7QUFDQTs7MEJBRTBCO0FBQzFCLGdCQUFnQjtBbUNqdGlFWjtFQUNJO0lBQ0k7SUFDQTtFbkNtdGlFVjtFbUNqdGlFTTtJQUNJO0lBQ0E7SUFDQTtFbkNtdGlFVjtFbUNqdGlFTTtJQUNJO0lBQ0E7RW5DbXRpRVY7RW1DanRpRU07SUFDSTtJQUNBO0lBQ0E7RW5DbXRpRVY7RW1DanRpRU07SUFDSTtJQUNBO0VuQ210aUVWO0VtQ2p0aUVNO0lBQ0k7SUFDQTtJQUNBO0VuQ210aUVWO0VtQ2p0aUVNO0lBQ0k7SUFDQTtFbkNtdGlFVjtFbUNqdGlFTTtJQUNJO0lBQ0E7SUFDQTtFbkNtdGlFVjtFbUNqdGlFTTtJQUNJO0lBQ0E7RW5DbXRpRVY7RW1DanRpRU07SUFDSTtJQUNBO0lBQ0E7RW5DbXRpRVY7RW1DanRpRU07SUFDSTtJQUNBO0VuQ210aUVWO0VtQ2p0aUVNO0lBQ0k7SUFDQTtJQUNBO0VuQ210aUVWO0VtQ2p0aUVNO0lBQ0k7SUFDQTtFbkNtdGlFVjtFbUNqdGlFTTtJQUNJO0lBQ0E7SUFDQTtFbkNtdGlFVjtFbUNqdGlFTTtJQUNJO0lBQ0E7RW5DbXRpRVY7RW1DanRpRU07SUFDSTtJQUNBO0lBQ0E7RW5DbXRpRVY7RW1DanRpRU07SUFDSTtJQUNBO0VuQ210aUVWO0VtQ2p0aUVNO0lBQ0k7SUFDQTtJQUNBO0VuQ210aUVWO0FBQ0Y7QUFDQSxnQkFBZ0I7QW1DaHRpRVo7RUFDSTtJQUNJO0lBQ0E7RW5Da3RpRVY7RW1DaHRpRU07SUFDSTtJQUNBO0lBQ0E7RW5Da3RpRVY7RW1DaHRpRU07SUFDSTtJQUNBO0VuQ2t0aUVWO0VtQ2h0aUVNO0lBQ0k7SUFDQTtJQUNBO0VuQ2t0aUVWO0VtQ2h0aUVNO0lBQ0k7SUFDQTtFbkNrdGlFVjtFbUNodGlFTTtJQUNJO0lBQ0E7SUFDQTtFbkNrdGlFVjtFbUNodGlFTTtJQUNJO0lBQ0E7RW5Da3RpRVY7RW1DaHRpRU07SUFDSTtJQUNBO0lBQ0E7RW5Da3RpRVY7RW1DaHRpRU07SUFDSTtJQUNBO0VuQ2t0aUVWO0VtQ2h0aUVNO0lBQ0k7SUFDQTtJQUNBO0VuQ2t0aUVWO0VtQ2h0aUVNO0lBQ0k7SUFDQTtFbkNrdGlFVjtFbUNodGlFTTtJQUNJO0lBQ0E7SUFDQTtFbkNrdGlFVjtFbUNodGlFTTtJQUNJO0lBQ0E7RW5Da3RpRVY7RW1DaHRpRU07SUFDSTtJQUNBO0lBQ0E7RW5Da3RpRVY7RW1DaHRpRU07SUFDSTtJQUNBO0VuQ2t0aUVWO0VtQ2h0aUVNO0lBQ0k7SUFDQTtJQUNBO0VuQ2t0aUVWO0VtQ2h0aUVNO0lBQ0k7SUFDQTtFbkNrdGlFVjtFbUNodGlFTTtJQUNJO0lBQ0E7SUFDQTtFbkNrdGlFVjtBQUNGO0FBQ0E7OzBCQUUwQjtBbUM1c2lFdEI7RUFDSTtJQUNJO0VuQzhzaUVWO0VtQzVzaUVNO0lBQ0k7RW5DOHNpRVY7RW1DNXNpRU07SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VuQzhzaUVWO0FBQ0Y7QUFDQTs7aUJBRWlCO0FtQ3pzaUVqQjtFQUNJO0FuQzJzaUVKO0FtQ3RzaUVTOztFQUVHO0FuQ3dzaUVaO0FtQzFzaUVTOztFQUVHO0FuQzRzaUVaO0FtQzlzaUVTOztFQUVHO0FuQ2d0aUVaO0FtQ2x0aUVTOztFQUVHO0FuQ290aUVaO0FtQ3R0aUVTOztFQUVHO0FuQ3d0aUVaO0FtQzF0aUVTOztFQUVHO0FuQzR0aUVaO0FtQzl0aUVTOztFQUVHO0FuQ2d1aUVaO0FBQ0E7O3dCQUV3QjtBbUN6dGlFcEI7O0VBRUk7RUFDQTtBbkMydGlFUjtBQUNBLFlBQVk7QW1DeHRpRVI7O0VBRUk7QW5DMHRpRVI7QUFDQSxXQUFXO0FtQ3R0aUVIOztFQUVJO0FuQ3d0aUVaO0FtQ3R0aUVROztFQUVJO0FuQ3d0aUVaO0FtQ3Z0aUVZOztFQUNJO0FuQzB0aUVoQjtBQUNBLGdCQUFnQjtBbUNwdGlFUjs7RUFFSTtBbkNzdGlFWjtBQUNBLFNBQVM7QW1DanRpRUQ7O0VBRUk7QW5DbXRpRVo7QW1DanRpRVE7O0VBRUk7QW5DbXRpRVo7QW1DanRpRVE7O0VBRUk7QW5DbXRpRVo7QUFDQSxVQUFVO0FtQzlzaUVGOztFQUVJO0VBQ0E7QW5DZ3RpRVo7QW1DOXNpRVE7O0VBRUk7QW5DZ3RpRVo7QW1DOXNpRVE7O0VBRUk7QW5DZ3RpRVo7QUFDQSxpQkFBaUI7QW1DM3NpRVQ7Ozs7RUFJSTtBbkM2c2lFWjtBQUNBLFlBQVk7QW1DeHNpRUo7RUFDSTtBbkMwc2lFWjtBbUN4c2lFUTtFQUNJO0FuQzBzaUVaO0FBQ0E7OytCQUUrQjtBQUMvQjs7K0JBRStCO0FBQy9COzs7Ozs7OztFQVFFO0FBQ0Y7OytCQUUrQjtBQUMvQjs7Ozs7Ozs7O0NBU0M7QUFDRDs7K0JBRStCO0FBQy9COztDQUVDO0FBQ0QsV0FBVztBQUNYLGFBQWE7QUFDYixnQkFBZ0I7QUFDaEIsWUFBWTtBQUNaLFVBQVU7QUFDVjs7K0JBRStCO0FBQy9CLDJCQUEyQjtBQUMzQixpQ0FBaUM7QUFDakM7OytCQUUrQjtBQUMvQjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3VCQUV1QjtBQUN2QiwyQkFBMkI7QUFDM0I7OytCQUUrQjtBQUMvQjs7MkRBRTJEO0FBQzNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9CLFdBQVc7QUFDWCxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsV0FBVztBQUNYLFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsZUFBZTtBQUNmLFNBQVM7QUFDVCxTQUFTO0FBQ1QsU0FBUztBQUNULFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQixPQUFPO0FBQ1AsU0FBUztBQUNULFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNULGNBQWM7QUFDZDs7K0JBRStCO0FBQy9CLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFdBQVc7QUFDWCxVQUFVO0FBQ1YsUUFBUTtBQUNSLFVBQVU7QUFDVixhQUFhO0FBQ2IsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFVO0FBQ1YsWUFBWTtBQUNaLFdBQVc7QUFDWCxRQUFRO0FBQ1IsVUFBVTtBQUNWLGVBQWU7QUFDZixXQUFXO0FBQ1g7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHVEQUF1RDtBQUN2RCwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0Qjs7Q0FFQztBQUNEOztzQkFFc0I7QUFDdEIsdUZBQXVGO0FBQ3ZGOztpQkFFaUI7QUFDakI7O2lCQUVpQjtBQUNqQiw0REFBNEQ7QUFDNUQscUJBQXFCO0FBQ3JCLG9GQUFvRjtBQUNwRjs7c0JBRXNCO0FBQ3RCLGlDQUFpQztBQUNqQywyQ0FBMkM7QUFDM0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYix3QkFBd0I7QUFDeEIsY0FBYztBQUNkOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQiwyQkFBMkI7QUFDM0Isd0JBQXdCO0FBQ3hCLGdDQUFnQztBQUNoQyw0QkFBNEI7QUFDNUIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQixhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2IsYUFBYTtBQUNiLFNBQVM7QUFDVCxZQUFZO0FBQ1o7O3NCQUVzQjtBQUN0QiwrQ0FBK0M7QUFDL0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRCxPQUFPO0FBQ1AsUUFBUTtBQUNSOztzQkFFc0I7QUFDdEIsZ0NBQWdDO0FBQ2hDOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwwREFBMEQ7QUFDMUQsbUNBQW1DO0FBQ25DLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsOEJBQThCO0FBQzlCLGVBQWU7QUFDZjs7c0JBRXNCO0FBQ3RCOzs7Ozs7OztDQVFDO0FBQ0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckI7O2dDQUVnQztBQUNoQyxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGFBQWE7QUFDYixtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCLHNCQUFzQjtBQUN0Qiw0QkFBNEI7QUFDNUI7OytCQUUrQjtBQUMvQjs7MkRBRTJEO0FBQzNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9CLFdBQVc7QUFDWCxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsV0FBVztBQUNYLFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsZUFBZTtBQUNmLFNBQVM7QUFDVCxTQUFTO0FBQ1QsU0FBUztBQUNULFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQixPQUFPO0FBQ1AsU0FBUztBQUNULFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNULGNBQWM7QUFDZDs7K0JBRStCO0FBQy9CLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFdBQVc7QUFDWCxVQUFVO0FBQ1YsUUFBUTtBQUNSLFVBQVU7QUFDVixhQUFhO0FBQ2IsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFVO0FBQ1YsWUFBWTtBQUNaLFdBQVc7QUFDWCxRQUFRO0FBQ1IsVUFBVTtBQUNWLGVBQWU7QUFDZixXQUFXO0FBQ1g7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHVEQUF1RDtBQUN2RCwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0Qjs7Q0FFQztBQUNEOztzQkFFc0I7QUFDdEIsdUZBQXVGO0FBQ3ZGOztpQkFFaUI7QUFDakI7O2lCQUVpQjtBQUNqQiw0REFBNEQ7QUFDNUQscUJBQXFCO0FBQ3JCLG9GQUFvRjtBQUNwRjs7c0JBRXNCO0FBQ3RCLGlDQUFpQztBQUNqQywyQ0FBMkM7QUFDM0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYix3QkFBd0I7QUFDeEIsY0FBYztBQUNkOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQiwyQkFBMkI7QUFDM0Isd0JBQXdCO0FBQ3hCLGdDQUFnQztBQUNoQyw0QkFBNEI7QUFDNUIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQixhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2IsYUFBYTtBQUNiLFNBQVM7QUFDVCxZQUFZO0FBQ1o7O3NCQUVzQjtBQUN0QiwrQ0FBK0M7QUFDL0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRCxPQUFPO0FBQ1AsUUFBUTtBQUNSOztzQkFFc0I7QUFDdEIsZ0NBQWdDO0FBQ2hDOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwwREFBMEQ7QUFDMUQsbUNBQW1DO0FBQ25DLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsOEJBQThCO0FBQzlCLGVBQWU7QUFDZjs7c0JBRXNCO0FBQ3RCOzs7Ozs7OztDQVFDO0FBQ0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckI7O2dDQUVnQztBQUNoQyxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGFBQWE7QUFDYixtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCLHNCQUFzQjtBQUN0QiwrQkFBK0I7QUFDL0IsOEJBQThCO0FBQzlCOzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOzt1QkFFdUI7QUFDdkIsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLFlBQVk7QUFDWixtQkFBbUI7QUFDbkIsV0FBVztBQUNYLFlBQVk7QUFDWixXQUFXO0FBQ1gsYUFBYTtBQUNiLFNBQVM7QUFDVCxZQUFZO0FBQ1osVUFBVTtBQUNWOztzQkFFc0I7QUFDdEIsYUFBYTtBQUNiLFlBQVk7QUFDWixtQkFBbUI7QUFDbkIsZUFBZTtBQUNmOzsrQkFFK0I7QUFDL0I7OzJCQUUyQjtBQUMzQixZQUFZO0FBQ1o7OzJEQUUyRDtBQUMzRDs7MkRBRTJEO0FBQzNELHlCQUF5QjtBQUN6Qjs7MkRBRTJEO0FBQzNEOzsyREFFMkQ7QUFDM0QsbUJBQW1CO0FBQ25CLGVBQWU7QUFDZjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQixlQUFlO0FBQ2Y7OytCQUUrQjtBQUMvQjs7aUJBRWlCO0FvQzkrbEVqQjtFQUNJO0VBQ0E7QXBDZy9sRUo7QW9DNytsRUE7RUFDSTtBcEMrK2xFSjtBb0M3K2xFQTtFQUNJO0FwQysrbEVKO0FBQ0E7O2lCQUVpQjtBb0MzK2xFakI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEM2K2xFSjtBb0MzK2xFQTtFQUNJO0VBQ0E7QXBDNitsRUo7QUFDQTs7dUJBRXVCO0FvQ3orbEV2QjtFQUNJO0VBQ0E7QXBDMitsRUo7QW9DeitsRUE7RUFDSTtFQUNBO0VBQ0E7QXBDMitsRUo7QW9DeitsRUE7RUFDSTtFQUNBO0VBQ0E7QXBDMitsRUo7QUFDQTs7cUJBRXFCO0FvQ3YrbEVqQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBDeStsRVI7QW9DditsRUk7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEN5K2xFUjtBQUNBOztpQkFFaUI7QW9DcCtsRWpCO0VBQ0k7QXBDcytsRUo7QUFDQSw0Q0FBNEM7QW9DbitsRXhDO0VBQ0k7QXBDcStsRVI7QUFDQTs7cUJBRXFCO0FvQy85bEVqQjtFQUNJO0VBQ0E7RUFDQTtBcENpK2xFUjtBb0MvOWxFSTtFQUNJO0FwQ2krbEVSO0FvQy85bEVJO0VBQ0k7QXBDaStsRVI7QUFDQTs7cUJBRXFCO0FvQzM5bEVqQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwQzY5bEVSO0FvQzM5bEVJO0VBQ0k7RUFDQTtBcEM2OWxFUjtBb0MzOWxFSTtFQUNJO0FwQzY5bEVSO0FBQ0E7O3VCQUV1QjtBb0N4OWxFdkI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQzA5bEVKO0FBQ0E7OzJCQUUyQjtBb0NyOWxFdkI7RUFDSTtBcEN1OWxFUjtBb0NyOWxFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwQ3U5bEVSO0FvQ3I5bEVJO0VBQ0k7QXBDdTlsRVI7QW9DcjlsRUk7O0VBRUk7QXBDdTlsRVI7QUFDQTs7MkJBRTJCO0FvQ2o5bEV2QjtFQUNJO0FwQ205bEVSO0FvQ2o5bEVJO0VBQ0k7RUFDQTtBcENtOWxFUjtBb0NqOWxFSTtFQUNJO0VBQ0E7QXBDbTlsRVI7QUFDQTs7K0JBRStCO0FvQzk4bEUvQjs7O0VBR0k7QXBDZzlsRUo7QUFDQTs7K0JBRStCO0FBQy9COzsyQkFFMkI7QW9DMThsRXZCO0VBQ0k7RUFDQTtFQUNBO0FwQzQ4bEVSO0FBQ0E7OzJCQUUyQjtBb0N0OGxFdkI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEN3OGxFUjtBb0N0OGxFSTtFQUNJO0FwQ3c4bEVSO0FBQ0E7O3NCQUVzQjtBb0NuOGxFdEI7RUFDSTtBcENxOGxFSjtBb0NoOGxFUztFQUNHO0FwQ2s4bEVaO0FvQ244bEVTO0VBQ0c7QXBDcThsRVo7QW9DdDhsRVM7RUFDRztBcEN3OGxFWjtBb0N6OGxFUztFQUNHO0FwQzI4bEVaO0FvQzU4bEVTO0VBQ0c7QXBDODhsRVo7QW9DLzhsRVM7RUFDRztBcENpOWxFWjtBb0NsOWxFUztFQUNHO0FwQ285bEVaO0FBQ0E7OzBCQUUwQjtBb0M5OGxFdEI7RUFDSTtBcENnOWxFUjtBb0M3OGxFSTs7RUFFSTtBcEMrOGxFUjtBb0M1OGxFSTs7RUFFSTtBcEM4OGxFUjtBb0MzOGxFSTs7O0VBR0k7QXBDNjhsRVI7QW9DMThsRVE7RUFDSTtBcEM0OGxFWjtBb0N2OGxFSTs7RUFFSTtFQUNBO0FwQ3k4bEVSO0FBQ0E7OytCQUUrQjtBQUMvQjs7K0JBRStCO0FBQy9COzs7Ozs7OztFQVFFO0FBQ0Y7OytCQUUrQjtBQUMvQjs7Ozs7Ozs7O0NBU0M7QUFDRDs7K0JBRStCO0FBQy9COztDQUVDO0FBQ0QsV0FBVztBQUNYLGFBQWE7QUFDYixnQkFBZ0I7QUFDaEIsWUFBWTtBQUNaLFVBQVU7QUFDVjs7K0JBRStCO0FBQy9CLDJCQUEyQjtBQUMzQixpQ0FBaUM7QUFDakM7OytCQUUrQjtBQUMvQjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3VCQUV1QjtBQUN2QiwyQkFBMkI7QUFDM0I7OytCQUUrQjtBQUMvQjs7MkRBRTJEO0FBQzNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9CLFdBQVc7QUFDWCxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsV0FBVztBQUNYLFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsZUFBZTtBQUNmLFNBQVM7QUFDVCxTQUFTO0FBQ1QsU0FBUztBQUNULFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQixPQUFPO0FBQ1AsU0FBUztBQUNULFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNULGNBQWM7QUFDZDs7K0JBRStCO0FBQy9CLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFdBQVc7QUFDWCxVQUFVO0FBQ1YsUUFBUTtBQUNSLFVBQVU7QUFDVixhQUFhO0FBQ2IsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFVO0FBQ1YsWUFBWTtBQUNaLFdBQVc7QUFDWCxRQUFRO0FBQ1IsVUFBVTtBQUNWLGVBQWU7QUFDZixXQUFXO0FBQ1g7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHVEQUF1RDtBQUN2RCwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0Qjs7Q0FFQztBQUNEOztzQkFFc0I7QUFDdEIsdUZBQXVGO0FBQ3ZGOztpQkFFaUI7QUFDakI7O2lCQUVpQjtBQUNqQiw0REFBNEQ7QUFDNUQscUJBQXFCO0FBQ3JCLG9GQUFvRjtBQUNwRjs7c0JBRXNCO0FBQ3RCLGlDQUFpQztBQUNqQywyQ0FBMkM7QUFDM0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYix3QkFBd0I7QUFDeEIsY0FBYztBQUNkOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQiwyQkFBMkI7QUFDM0Isd0JBQXdCO0FBQ3hCLGdDQUFnQztBQUNoQyw0QkFBNEI7QUFDNUIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQixhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2IsYUFBYTtBQUNiLFNBQVM7QUFDVCxZQUFZO0FBQ1o7O3NCQUVzQjtBQUN0QiwrQ0FBK0M7QUFDL0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRCxPQUFPO0FBQ1AsUUFBUTtBQUNSOztzQkFFc0I7QUFDdEIsZ0NBQWdDO0FBQ2hDOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwwREFBMEQ7QUFDMUQsbUNBQW1DO0FBQ25DLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsOEJBQThCO0FBQzlCLGVBQWU7QUFDZjs7c0JBRXNCO0FBQ3RCOzs7Ozs7OztDQVFDO0FBQ0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckI7O2dDQUVnQztBQUNoQyxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGFBQWE7QUFDYixtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCLHNCQUFzQjtBQUN0Qiw0QkFBNEI7QUFDNUI7OytCQUUrQjtBQUMvQjs7MkRBRTJEO0FBQzNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9CLFdBQVc7QUFDWCxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsV0FBVztBQUNYLFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsZUFBZTtBQUNmLFNBQVM7QUFDVCxTQUFTO0FBQ1QsU0FBUztBQUNULFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQixPQUFPO0FBQ1AsU0FBUztBQUNULFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNULGNBQWM7QUFDZDs7K0JBRStCO0FBQy9CLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFdBQVc7QUFDWCxVQUFVO0FBQ1YsUUFBUTtBQUNSLFVBQVU7QUFDVixhQUFhO0FBQ2IsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFVO0FBQ1YsWUFBWTtBQUNaLFdBQVc7QUFDWCxRQUFRO0FBQ1IsVUFBVTtBQUNWLGVBQWU7QUFDZixXQUFXO0FBQ1g7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHVEQUF1RDtBQUN2RCwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0Qjs7Q0FFQztBQUNEOztzQkFFc0I7QUFDdEIsdUZBQXVGO0FBQ3ZGOztpQkFFaUI7QUFDakI7O2lCQUVpQjtBQUNqQiw0REFBNEQ7QUFDNUQscUJBQXFCO0FBQ3JCLG9GQUFvRjtBQUNwRjs7c0JBRXNCO0FBQ3RCLGlDQUFpQztBQUNqQywyQ0FBMkM7QUFDM0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYix3QkFBd0I7QUFDeEIsY0FBYztBQUNkOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQiwyQkFBMkI7QUFDM0Isd0JBQXdCO0FBQ3hCLGdDQUFnQztBQUNoQyw0QkFBNEI7QUFDNUIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQixhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2IsYUFBYTtBQUNiLFNBQVM7QUFDVCxZQUFZO0FBQ1o7O3NCQUVzQjtBQUN0QiwrQ0FBK0M7QUFDL0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRCxPQUFPO0FBQ1AsUUFBUTtBQUNSOztzQkFFc0I7QUFDdEIsZ0NBQWdDO0FBQ2hDOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwwREFBMEQ7QUFDMUQsbUNBQW1DO0FBQ25DLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsOEJBQThCO0FBQzlCLGVBQWU7QUFDZjs7c0JBRXNCO0FBQ3RCOzs7Ozs7OztDQVFDO0FBQ0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckI7O2dDQUVnQztBQUNoQyxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGFBQWE7QUFDYixtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCLHNCQUFzQjtBQUN0QiwrQkFBK0I7QUFDL0IsOEJBQThCO0FBQzlCOzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOzt1QkFFdUI7QUFDdkIsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLFVBQVU7QUFDVixnQkFBZ0I7QUFDaEIsZUFBZTtBQUNmLGdCQUFnQjtBQUNoQixlQUFlO0FBQ2YsYUFBYTtBQUNiLHFCQUFxQjtBQUNyQixZQUFZO0FBQ1osU0FBUztBQUNULFlBQVk7QUFDWixrQkFBa0I7QUFDbEIsaUJBQWlCO0FBQ2pCLFNBQVM7QUFDVCx1QkFBdUI7QUFDdkIsaUJBQWlCO0FBQ2pCLGVBQWU7QUFDZixtQkFBbUI7QUFDbkIsU0FBUztBQUNULHFCQUFxQjtBQUNyQjs7c0JBRXNCO0FBQ3RCLGNBQWM7QUFDZCxZQUFZO0FBQ1osWUFBWTtBQUNaLGFBQWE7QUFDYixtQkFBbUI7QUFDbkIsZUFBZTtBQUNmOzsrQkFFK0I7QUFDL0I7OzJCQUUyQjtBQUMzQixZQUFZO0FBQ1o7OzJEQUUyRDtBQUMzRDs7MkRBRTJEO0FBQzNELHlCQUF5QjtBQUN6Qjs7MkRBRTJEO0FBQzNEOzsyREFFMkQ7QUFDM0QsbUJBQW1CO0FBQ25CLGVBQWU7QUFDZjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQixlQUFlO0FBQ2Y7OytCQUUrQjtBcUN2NG5FL0I7RUFDSTtBckN5NG5FSjtBcUN2NG5FQTtFQUNJO0FyQ3k0bkVKO0FxQ3Y0bkVBO0VBQ0k7QXJDeTRuRUo7QUFDQTs7K0JBRStCO0FBQy9CLFVBQVU7QXFDcjRuRVY7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDdTRuRUo7QXFDdDRuRUk7RUFDSTtBckN3NG5FUjtBcUNyNG5FQztFQUNHO0FyQ3U0bkVKO0FxQ3I0bkVBO0VBQ0k7QXJDdTRuRUo7QUFDQSxnQkFBZ0I7QXFDbDRuRVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDbzRuRVI7QXFDaDRuRVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQ2s0bkVaO0FxQzkzbkVRO0VBQ0k7RUFDQTtFQUNBO0FyQ2c0bkVaO0FxQzUzbkVRO0VBQ0k7RUFDQTtFQUNBO0FyQzgzbkVaO0FxQzczbkVZO0VBQ0k7QXJDKzNuRWhCO0FxQzczbkVZO0VBQ0k7QXJDKzNuRWhCO0FxQzkzbkVnQjtFQUNJO0FyQ2c0bkVwQjtBcUMxM25FUTtFQUNJO0VBQ0E7RUFDQTtBckM0M25FWjtBcUN4M25FSTtFQUNJO0FyQzAzbkVSO0FBQ0E7O2lCQUVpQjtBQUNqQixZQUFZO0FxQ3IzbkVaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckN1M25FSjtBcUNyM25FQTtFQUNJO0FyQ3UzbkVKO0FBQ0EsU0FBUztBcUNwM25FVDtFQUNJO0FyQ3MzbkVKO0FBQ0E7O3FCQUVxQjtBcUNqM25FakI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDbTNuRVI7QUFDQTs7cUJBRXFCO0FxQzcybkVqQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyQysybkVSO0FBQ0Esa0JBQWtCO0FxQzUybkVkO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQzgybkVSO0FBQ0E7O3lCQUV5QjtBQUN6Qix3QkFBd0I7QXFDMTJuRWhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDNDJuRVo7QXFDMzJuRVk7RUFDSTtBckM2Mm5FaEI7QUFDQTs7cUJBRXFCO0FxQ3QybkVqQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyQ3cybkVSO0FxQ3QybkVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXJDdzJuRVI7QUFDQTs7cUJBRXFCO0FxQ2wybkVqQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyQ28ybkVSO0FBQ0EsV0FBVztBcUNqMm5FUDtFQUNJO0VBQ0E7RUFDQTtBckNtMm5FUjtBQUNBLFNBQVM7QXFDaDJuRUw7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQ2sybkVSO0FBQ0E7O3FCQUVxQjtBcUM1MW5FakI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDODFuRVI7QXFDMzFuRUk7RUFDSTtFQUNBO0FyQzYxbkVSO0FxQzMxbkVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDNjFuRVI7QXFDejFuRVE7RUFDSTtFQUNBO0FyQzIxbkVaO0FxQ3oxbkVRO0VBQ0k7QXJDMjFuRVo7QXFDejFuRVE7RUFDSTtBckMyMW5FWjtBQUNBLGtCQUFrQjtBcUN2MW5FZDtFQUNJO0FyQ3kxbkVSO0FxQ3YxbkVJO0VBQ0k7QXJDeTFuRVI7QUFDQSxXQUFXO0FxQ3QxbkVQOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FyQ3cxbkVSO0FxQ3QxbkVJOzs7RUFHSTtBckN3MW5FUjtBQUNBOzsrQkFFK0I7QUFDL0IsZUFBZTtBcUNuMW5FWDtFQUNJO0FyQ3ExbkVSO0FxQ2oxbkVJO0VBQ0k7QXJDbTFuRVI7QXFDbDFuRVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDbzFuRVo7QXFDbDFuRVE7RUFDSTtBckNvMW5FWjtBcUMvMG5FWTtFQUNJO0FyQ2kxbkVoQjtBcUMxMG5FSTtFQUNJO0FyQzQwbkVSO0FxQ3owbkVRO0VBQ0k7QXJDMjBuRVo7QXFDdDBuRUk7RUFDSTtBckN3MG5FUjtBcUNwMG5FSTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQ3MwbkVSO0FxQ2wwbkVJO0VBQ0k7QXJDbzBuRVI7QXFDbjBuRVE7RUFDSTtFQUNBO0FyQ3EwbkVaO0FxQ2owbkVROztFQUVJO0VBQ0E7RUFDQTtBckNtMG5FWjtBcUMvem5FUTtFQUNJO0VBQ0E7QXJDaTBuRVo7QUFDQSxpREFBaUQ7QXFDOXpuRXpDOztFQUVJO0VBQ0E7QXJDZzBuRVo7QXFDM3puRUk7RUFDSTs7SUFFSTtJQUNBO0VyQzZ6bkVWO0FBQ0Y7QXFDenpuRUE7RUFDSTtBckMyem5FSjtBcUN0em5FUztFQUNHO0FyQ3d6bkVaO0FxQ3p6bkVTO0VBQ0c7QXJDMnpuRVo7QXFDNXpuRVM7RUFDRztBckM4em5FWjtBcUMvem5FUztFQUNHO0FyQ2kwbkVaO0FxQ2wwbkVTO0VBQ0c7QXJDbzBuRVo7QXFDcjBuRVM7RUFDRztBckN1MG5FWjtBcUN4MG5FUztFQUNHO0FyQzAwbkVaO0FBQ0E7O3lCQUV5QjtBcUNuMG5FckI7RUFDSTtBckNxMG5FUjtBcUNwMG5FUTtFQUNJO0FyQ3MwbkVaO0FxQ3AwbkVRO0VBQ0k7QXJDczBuRVo7QXFDajBuRVE7O0VBRUk7QXJDbTBuRVo7QXFDOXpuRVE7O0VBRUk7QXJDZzBuRVo7QXFDM3puRVE7RUFDSTtBckM2em5FWjtBcUMzem5FUTtFQUNJO0FyQzZ6bkVaO0FBQ0EsV0FBVztBcUN6em5FUDs7RUFFSTtBckMyem5FUjtBcUN6em5FSTs7O0VBR0k7QXJDMnpuRVI7QUFDQTs7aUJBRWlCO0FxQ2h6bkVKOztFQUVHO0FyQ2t6bkVoQjtBcUM5eW5FYTs7RUFFRztBckNnem5FaEI7QXFDN3luRWlCOztFQUVHO0FyQyt5bkVwQjtBcUMxeW5FYTs7RUFFRztBckM0eW5FaEI7QXFDeHluRWE7O0VBRUc7QXJDMHluRWhCO0FxQ3Z5bkVpQjs7RUFFRztBckN5eW5FcEI7QXFDeDBuRWE7O0VBRUc7QXJDMDBuRWhCO0FxQ3QwbkVhOztFQUVHO0FyQ3cwbkVoQjtBcUNyMG5FaUI7O0VBRUc7QXJDdTBuRXBCO0FxQ2wwbkVhOztFQUVHO0FyQ28wbkVoQjtBcUNoMG5FYTs7RUFFRztBckNrMG5FaEI7QXFDL3puRWlCOztFQUVHO0FyQ2kwbkVwQjtBcUNoMm5FYTs7RUFFRztBckNrMm5FaEI7QXFDOTFuRWE7O0VBRUc7QXJDZzJuRWhCO0FxQzcxbkVpQjs7RUFFRztBckMrMW5FcEI7QXFDMTFuRWE7O0VBRUc7QXJDNDFuRWhCO0FxQ3gxbkVhOztFQUVHO0FyQzAxbkVoQjtBcUN2MW5FaUI7O0VBRUc7QXJDeTFuRXBCO0FxQ3gzbkVhOztFQUVHO0FyQzAzbkVoQjtBcUN0M25FYTs7RUFFRztBckN3M25FaEI7QXFDcjNuRWlCOztFQUVHO0FyQ3UzbkVwQjtBcUNsM25FYTs7RUFFRztBckNvM25FaEI7QXFDaDNuRWE7O0VBRUc7QXJDazNuRWhCO0FxQy8ybkVpQjs7RUFFRztBckNpM25FcEI7QXFDaDVuRWE7O0VBRUc7QXJDazVuRWhCO0FxQzk0bkVhOztFQUVHO0FyQ2c1bkVoQjtBcUM3NG5FaUI7O0VBRUc7QXJDKzRuRXBCO0FxQzE0bkVhOztFQUVHO0FyQzQ0bkVoQjtBcUN4NG5FYTs7RUFFRztBckMwNG5FaEI7QXFDdjRuRWlCOztFQUVHO0FyQ3k0bkVwQjtBcUN4Nm5FYTs7RUFFRztBckMwNm5FaEI7QXFDdDZuRWE7O0VBRUc7QXJDdzZuRWhCO0FxQ3I2bkVpQjs7RUFFRztBckN1Nm5FcEI7QXFDbDZuRWE7O0VBRUc7QXJDbzZuRWhCO0FxQ2g2bkVhOztFQUVHO0FyQ2s2bkVoQjtBcUMvNW5FaUI7O0VBRUc7QXJDaTZuRXBCO0FxQ2g4bkVhOztFQUVHO0FyQ2s4bkVoQjtBcUM5N25FYTs7RUFFRztBckNnOG5FaEI7QXFDNzduRWlCOztFQUVHO0FyQys3bkVwQjtBcUMxN25FYTs7RUFFRztBckM0N25FaEI7QXFDeDduRWE7O0VBRUc7QXJDMDduRWhCO0FxQ3Y3bkVpQjs7RUFFRztBckN5N25FcEI7QXFDeDluRWE7O0VBRUc7QXJDMDluRWhCO0FxQ3Q5bkVhOztFQUVHO0FyQ3c5bkVoQjtBcUNyOW5FaUI7O0VBRUc7QXJDdTluRXBCO0FxQ2w5bkVhOztFQUVHO0FyQ285bkVoQjtBcUNoOW5FYTs7RUFFRztBckNrOW5FaEI7QXFDLzhuRWlCOztFQUVHO0FyQ2k5bkVwQjtBcUNoL25FYTs7RUFFRztBckNrL25FaEI7QXFDOStuRWE7O0VBRUc7QXJDZy9uRWhCO0FxQzcrbkVpQjs7RUFFRztBckMrK25FcEI7QXFDMStuRWE7O0VBRUc7QXJDNCtuRWhCO0FxQ3grbkVhOztFQUVHO0FyQzArbkVoQjtBcUN2K25FaUI7O0VBRUc7QXJDeStuRXBCO0FxQ3hnb0VhOztFQUVHO0FyQzBnb0VoQjtBcUN0Z29FYTs7RUFFRztBckN3Z29FaEI7QXFDcmdvRWlCOztFQUVHO0FyQ3Vnb0VwQjtBcUNsZ29FYTs7RUFFRztBckNvZ29FaEI7QXFDaGdvRWE7O0VBRUc7QXJDa2dvRWhCO0FxQy8vbkVpQjs7RUFFRztBckNpZ29FcEI7QXFDaGlvRWE7O0VBRUc7QXJDa2lvRWhCO0FxQzlob0VhOztFQUVHO0FyQ2dpb0VoQjtBcUM3aG9FaUI7O0VBRUc7QXJDK2hvRXBCO0FxQzFob0VhOztFQUVHO0FyQzRob0VoQjtBcUN4aG9FYTs7RUFFRztBckMwaG9FaEI7QXFDdmhvRWlCOztFQUVHO0FyQ3lob0VwQjtBcUN4am9FYTs7RUFFRztBckMwam9FaEI7QXFDdGpvRWE7O0VBRUc7QXJDd2pvRWhCO0FxQ3Jqb0VpQjs7RUFFRztBckN1am9FcEI7QXFDbGpvRWE7O0VBRUc7QXJDb2pvRWhCO0FxQ2hqb0VhOztFQUVHO0FyQ2tqb0VoQjtBcUMvaW9FaUI7O0VBRUc7QXJDaWpvRXBCO0FxQ2hsb0VhOztFQUVHO0FyQ2tsb0VoQjtBcUM5a29FYTs7RUFFRztBckNnbG9FaEI7QXFDN2tvRWlCOztFQUVHO0FyQytrb0VwQjtBcUMxa29FYTs7RUFFRztBckM0a29FaEI7QXFDeGtvRWE7O0VBRUc7QXJDMGtvRWhCO0FxQ3Zrb0VpQjs7RUFFRztBckN5a29FcEI7QXFDeG1vRWE7O0VBRUc7QXJDMG1vRWhCO0FxQ3Rtb0VhOztFQUVHO0FyQ3dtb0VoQjtBcUNybW9FaUI7O0VBRUc7QXJDdW1vRXBCO0FxQ2xtb0VhOztFQUVHO0FyQ29tb0VoQjtBcUNobW9FYTs7RUFFRztBckNrbW9FaEI7QXFDL2xvRWlCOztFQUVHO0FyQ2ltb0VwQjtBcUNob29FYTs7RUFFRztBckNrb29FaEI7QXFDOW5vRWE7O0VBRUc7QXJDZ29vRWhCO0FxQzdub0VpQjs7RUFFRztBckMrbm9FcEI7QXFDMW5vRWE7O0VBRUc7QXJDNG5vRWhCO0FxQ3hub0VhOztFQUVHO0FyQzBub0VoQjtBcUN2bm9FaUI7O0VBRUc7QXJDeW5vRXBCO0FxQ2xub0VJOztFQUVJO0VB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O0F0QzJzcUVSO0FzQ3pzcUVJO0VBQ0k7RUFDQTtBdEMyc3FFUjtBQUNBLG9CQUFvQjtBc0N4c3FFWjtFQUNJO0VBQ0E7QXRDMHNxRVo7QXNDdnNxRVk7RUFDSTtFQUNBO0F0Q3lzcUVoQjtBQUNBOzswQkFFMEI7QXNDanNxRXRCOztFQUVJO0F0Q21zcUVSO0FzQy9ycUVROztFQUVJO0F0Q2lzcUVaO0FBQ0E7O2lCQUVpQjtBc0MzcnFFakI7RUFDSTtBdEM2cnFFSjtBc0N4cnFFUztFQUNHO0F0QzBycUVaO0FzQzNycUVTO0VBQ0c7QXRDNnJxRVo7QXNDOXJxRVM7RUFDRztBdENnc3FFWjtBc0Nqc3FFUztFQUNHO0F0Q21zcUVaO0FzQ3BzcUVTO0VBQ0c7QXRDc3NxRVo7QXNDdnNxRVM7RUFDRztBdEN5c3FFWjtBc0Mxc3FFUztFQUNHO0F0QzRzcUVaO0FBQ0E7O3NCQUVzQjtBc0Nyc3FFbEI7RUFDSTs7SUFFSTtFdEN1c3FFVjtBQUNGO0FBQ0E7O3FCQUVxQjtBc0Nqc3FFakI7RUFDSTtBdENtc3FFUjtBc0Nqc3FFSTtFQUNJO0VBQ0E7QXRDbXNxRVI7QXNDaHNxRVE7RUFDSTtBdENrc3FFWjtBc0M5cnFFUTtFQUNJO0F0Q2dzcUVaO0FzQzVycUVRO0VBQ0k7QXRDOHJxRVo7QXNDMXJxRVE7RUFDSTtBdEM0cnFFWjtBc0N6cnFFSTtFQUNJO0F0QzJycUVSO0FzQ3pycUVJO0VBQ0k7QXRDMnJxRVI7QXNDeHJxRVE7RUFDSTtBdEMwcnFFWjtBc0N4cnFFUTtFQUNJO0F0QzBycUVaO0FzQ3RycUVRO0VBQ0k7QXRDd3JxRVo7QXNDdHJxRVE7RUFDSTtBdEN3cnFFWjtBc0NwcnFFUTtFQUNJO0F0Q3NycUVaO0FzQ3BycUVRO0VBQ0k7QXRDc3JxRVo7QXNDbHJxRVE7RUFDSTtBdENvcnFFWjtBc0NscnFFUTtFQUNJO0F0Q29ycUVaO0FzQ2hycUVRO0VBQ0k7QXRDa3JxRVo7QXNDOXFxRVE7O0VBRUk7QXRDZ3JxRVo7QXNDNXFxRVE7RUFDSTtBdEM4cXFFWjtBc0M1cXFFUTtFQUNJO0F0QzhxcUVaO0FzQ3px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ZDs7RUFFSTtBdkM2NHNFSjtBQUNBLGlCQUFpQjtBdUMxNHNFakI7O0VBRUk7QXZDNDRzRUo7QUFDQTs7K0JBRStCO0FBQy9COztpQkFFaUI7QXVDdjRzRWpCOztFQUVJO0VBQ0E7RUFDQTtBdkN5NHNFSjtBQUNBOztpQkFFaUI7QXVDcjRzRWpCOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0F2Q3U0c0VKO0F1Q3I0c0VBOztFQUVJO0F2Q3U0c0VKO0FBQ0E7O2lCQUVpQjtBdUNuNHNFakI7O0VBRUk7RUFDQTtBdkNxNHNFSjtBQUNBOzsrQkFFK0I7QUFDL0I7O2lCQUVpQjtBdUMvM3NFYjtFQUNJO0F2Q2k0c0VSO0F1Qy8zc0VJO0VBQ0k7RUFDQTtBdkNpNHNFUjtBdUM5M3NFSTtFQUNJO0F2Q2c0c0VSO0F1Qzkzc0VJO0VBQ0k7RUFDQTtBdkNnNHNFUjtBdUM3M3NFSTtFQUNJO0F2Qyszc0VSO0F1Qzczc0VJO0VBQ0k7RUFDQTtBdkMrM3NFUjtBdUM1M3NFSTtFQUNJO0F2Qzgzc0VSO0F1QzUzc0VJO0VBQ0k7RUFDQTtBdkM4M3NFUjtBdUMzM3NFSTtFQUNJO0F2QzYzc0VSO0F1QzMzc0VJO0VBQ0k7RUFDQTtBdkM2M3NFUjtBdUMxM3NFSTtFQUNJO0F2QzQzc0VSO0F1QzEzc0VJO0VBQ0k7RUFDQTtBdkM0M3NFUjtBdUN6M3NFSTtFQUNJO0F2QzIzc0VSO0F1Q3ozc0VJO0VBQ0k7RUFDQTtBdkMyM3NFUjtBdUN4M3NFSTtFQUNJO0F2QzAzc0VSO0F1Q3gzc0VJO0VBQ0k7RUFDQTtBdkMwM3NFUjtBdUN2M3NFSTtFQUNJO0F2Q3kzc0VSO0F1Q3Yzc0VJO0VBQ0k7RUFDQTtBdkN5M3NFUjtBdUN0M3NFSTtFQUNJO0F2Q3czc0VSO0F1Q3Qzc0VJO0VBQ0k7RUFDQTtBdkN3M3NFUjtBdUNuM3NFSTtFQUNJO0F2Q3Ezc0VSO0FBQ0E7O3FCQUVxQjtBdUMvMnNFakI7RUFDSTtFQUNBO0F2Q2kzc0VSO0F1Qy8yc0VJO0VBQ0k7RUFDQTtFQUNBO0F2Q2kzc0VSO0F1Qy8yc0VJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXZDaTNzRVI7QXVDOTJzRUk7O0VBRUk7QXZDZzNzRVI7QXVDOTJzRUk7O0VBRUk7QXZDZzNzRVI7QXVDNzJzRUk7O0VBRUk7RUFDQTtBdkMrMnNFUjtBdUM3MnNFSTs7RUFFSTtFQUNBO0VBQ0E7QXZDKzJzRVI7QUFDQTs7cUJBRXFCO0F1Q3oyc0VqQjs7RUFFSTtBdkMyMnNFUjtBdUN6MnNFSTs7RUFFSTtBdkMyMnNFUjtBQUNBOztpQkFFaUI7QXVDajJzRVI7OztFQUdHO0F2Q20yc0VaO0F1Q2gyc0VhOzs7RUFHRztBdkNrMnNFaEI7QXVDMzJzRVM7OztFQUdHO0F2QzYyc0VaO0F1QzEyc0VhOzs7RUFHRztBdkM0MnNFaEI7QXVDcjNzRVM7OztFQUdHO0F2Q3Uzc0VaO0F1Q3Azc0VhOzs7RUFHRztBdkNzM3NFaEI7QXVDLzNzRVM7OztFQUdHO0F2Q2k0c0VaO0F1Qzkzc0VhOzs7RUFHRztBdkNnNHNFaEI7QXVDejRzRVM7OztFQUdHO0F2QzI0c0VaO0F1Q3g0c0VhOzs7RUFHRztBdkMwNHNFaEI7QXVDbjVzRVM7OztFQUdHO0F2Q3E1c0VaO0F1Q2w1c0VhOzs7RUFHRztBdkNvNXNFaEI7QXVDNzVzRVM7OztFQUdHO0F2Qys1c0VaO0F1QzU1c0VhOzs7RUFHRztBdkM4NXNFaEI7QXVDdjZzRVM7OztFQUdHO0F2Q3k2c0VaO0F1Q3Q2c0VhOzs7RUFHRztBdkN3NnNFaEI7QXVDajdzRVM7OztFQUdHO0F2Q203c0VaO0F1Q2g3c0VhOzs7RUFHRztBdkNrN3NFaEI7QXVDMzdzRVM7OztFQUdHO0F2QzY3c0VaO0F1QzE3c0VhOzs7RUFHRztBdkM0N3NFaEI7QXVDcjhzRVM7OztFQUdHO0F2Q3U4c0VaO0F1Q3A4c0VhOzs7RUFHRztBdkNzOHNFaEI7QXVDLzhzRVM7OztFQUdHO0F2Q2k5c0VaO0F1Qzk4c0VhOzs7RUFHRztBdkNnOXNFaEI7QXVDejlzRVM7OztFQUdHO0F2QzI5c0VaO0F1Q3g5c0VhOzs7RUFHRztBdkMwOXNFaEI7QXVDbitzRVM7OztFQUdHO0F2Q3Erc0VaO0F1Q2wrc0VhOzs7RUFHRztBdkNvK3NFaEI7QXVDNytzRVM7OztFQUdHO0F2Qysrc0VaO0F1QzUrc0VhOzs7RUFHRztBdkM4K3NFaEI7QUFDQTs7cUJBRXFCO0F1Q3Qrc0VqQjtFQUNJO0VBQ0E7QXZDdytzRVI7QXVDdCtzRUk7RUFDSTtFQUNBO0F2Q3crc0VSO0F1Q3Qrc0VJO0VBQ0k7QXZDdytzRVI7QUFDQTs7cUJBRXFCO0F1Q2wrc0VqQjtFQUNJO0lBQ0k7SUFDQTtJQUNBO0V2Q28rc0VWO0V1Q2wrc0VNO0lBQ0k7SUFDQTtJQUNBO0V2Q28rc0VWO0FBQ0Y7QUFDQTs7aUJBRWlCO0FBQ2pCLFdBQVc7QXVDLzlzRVg7O0VBRUk7QXZDaStzRUo7QXVDLzlzRUE7O0VBRUk7QXZDaStzRUo7QXVDLzlzRUE7O0VBRUk7QXZDaStzRUo7QXVDMTlzRVM7O0VBRUc7QXZDNDlzRVo7QXVDMTlzRVM7O0VBRUc7QXZDNDlzRVo7QXVDMTlzRVM7O0VBRUc7QXZDNDlzRVo7QXVDdCtzRVM7O0VBRUc7QXZDdytzRVo7QXVDdCtzRVM7O0VBRUc7QXZDdytzRVo7QXVDdCtzRVM7O0VBRUc7QXZDdytzRVo7QXVDbC9zRVM7O0VBRUc7QXZDby9zRVo7QXVDbC9zRVM7O0VBRUc7QXZDby9zRVo7QXVDbC9zRVM7O0VBRUc7QXZDby9zRVo7QXVDOS9zRVM7O0VBRUc7QXZDZ2d0RVo7QXVDOS9zRVM7O0VBRUc7QXZDZ2d0RVo7QXVDOS9zRVM7O0VBRUc7QXZDZ2d0RVo7QXVDMWd0RVM7O0VBRUc7QXZDNGd0RVo7QXVDMWd0RVM7O0VBRUc7QXZDNGd0RVo7QXVDMWd0RVM7O0VBRUc7QXZDNGd0RVo7QXVDdGh0RVM7O0VBRUc7QXZDd2h0RVo7QXVDdGh0RVM7O0VBRUc7QXZDd2h0RVo7QXVDdGh0RVM7O0VBRUc7QXZDd2h0RVo7QXVDbGl0RVM7O0VBRUc7QXZDb2l0RVo7QXVDbGl0RVM7O0VBRUc7QXZDb2l0RVo7QXVDbGl0RVM7O0VBRUc7QXZDb2l0RVo7QUFDQTs7K0JBRStCO0FBQy9COzsrQkFFK0I7QUFDL0IsWUFBWTtBQUNaOzs7Ozs7OztFQVFFO0FB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QUNJO0ExQ3dneEVKO0EwQ3JneEVBOztFQUVJO0VBQ0E7QTFDdWd4RUo7QTBDcGd4RUE7RUFDSTtBMUNzZ3hFSjtBMENuZ3hFQTtFQUNJO0ExQ3FneEVKO0EwQ2xneEVBO0VBQ0k7RUFDQTtFQUNBO0ExQ29neEVKO0EwQ2pneEVBO0VBQ0k7QTFDbWd4RUo7QTBDaGd4RUE7RUFDSTtFQUNBO0ExQ2tneEVKO0EwQy8vd0VBO0VBQ0k7RUFDQTtBMUNpZ3hFSjtBMEM5L3dFQTtFQUNJO0ExQ2dneEVKO0EwQzcvd0VBO0VBQ0k7RUFDQTtFQUNBO0ExQysvd0VKO0EwQzUvd0VBO0VBQ0k7RUFDQTtFQUNBO0ExQzgvd0VKO0EwQzMvd0VBO0VBQ0k7RUFDQTtFQUNBO0ExQzYvd0VKO0EwQzEvd0VBO0VBQ0k7RUFDQTtBMUM0L3dFSjtBQUNBOztpQkFFaUI7QTBDeC93RWpCO0VBQ0k7QTFDMC93RUo7QTBDdi93RUE7RUFDSTtFQUNBO0VBQ0E7QTFDeS93RUo7QTBDdC93RUM7O0VBRUc7QTFDdy93RUo7QTBDcC93RUk7RUFDSTtFQUNBO0VBQ0E7QTFDcy93RVI7QTBDbi93RUs7O0VBRUc7QTFDcS93RVI7QTBDbi93RUk7RUFDSTtBMUNxL3dFUjtBMENsL3dFSTtFQUNJO0VBQ0E7QTFDby93RVI7QTBDLyt3RUk7RUFDSTtBMUNpL3dFUjtBMENoL3dFUTtFQUNJO0ExQ2svd0VaO0EwQ2ovd0VZO0VBQ0k7RUFDQTtBMUNtL3dFaEI7QTBDaC93RVE7RUFDSTtBMUNrL3dFWjtBMENqL3dFWTtFQUNJO0VBQ0E7QTFDbS93RWhCO0FBQ0E7O3VCQUV1QjtBMEN6K3dFZDs7O0VBR0c7QTFDMit3RVo7QTBDeit3RVM7OztFQUdHO0ExQzIrd0VaO0EwQ3ord0VTO0VBQ0c7QTFDMit3RVo7QTBDeit3RVM7RUFDRztBMUMyK3dFWjtBMEN6K3dFUztFQUNHO0ExQzIrd0VaO0EwQzUvd0VTOzs7RUFHRztBMUM4L3dFWjtBMEM1L3dFUzs7O0VBR0c7QTFDOC93RVo7QTBDNS93RVM7RUFDRztBMUM4L3dFWjtBMEM1L3dFUztFQUNHO0Ex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czN5RVo7QTJDcDN5RVE7RUFDSTtBM0NzM3lFWjtBQUNBLGtCQUFrQjtBMkNsM3lFVjtFQUNJO0EzQ28zeUVaO0FBQ0EsaUJBQWlCO0EyQ2ozeUVUO0VBQ0k7QTNDbTN5RVo7QUFDQSxrQkFBa0I7QTJDaDN5RVY7RUFDSTtBM0NrM3lFWjtBMkNoM3lFUTtFQUNJO0EzQ2szeUVaO0FBQ0Esd0JBQXdCO0EyQy8yeUVoQjtFQUNJO0EzQ2kzeUVaO0EyQy8yeUVRO0VBQ0k7QTNDaTN5RVo7QUFDQTs7cUJBRXFCO0EyQzEyeUViO0VBQ0k7QTNDNDJ5RVo7QTJDMTJ5RVE7RUFDSTtFQUNBO0EzQzQyeUVaO0EyQzEyeUVROztFQUVJO0EzQzQyeUVaO0EyQzEyeUVRO0VBQ0k7QTNDNDJ5RVo7QTJDeDJ5RVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBM0MwMnlFWjtBMkN4MnlFUTtFQUNJO0EzQzAyeUVaO0EyQ3gyeUVROztFQUVJO0EzQzAyeUVaO0EyQ3IyeUVRO0VBQ0k7RUFDQTtBM0N1MnlFWjtBMkNyMnlFUTtFQUNJO0EzQ3UyeUVaO0EyQ3AyeUVZOztFQUVJO0EzQ3MyeUVoQjtBQUNBOzt1QkFFdUI7QTJDejF5RWQ7RUFDRztBM0MyMXlFWjtBMkM1MXlFUztFQUNHO0EzQzgxeUVaO0EyQy8xeUVTO0VBQ0c7QTNDaTJ5RVo7QTJDbDJ5RVM7RUFDRztBM0NvMnlFWjtBMkM3MXlFb0I7Ozs7RUFHSTtFQUNBO0EzQ2cyeUV4QjtBMkM1MXlFb0I7O0VBRUk7RUFDQTtBM0M4MXlFeEI7QTJDNTF5RW9COztFQUVJO0VBQ0E7RUFDQTtBM0M4MXlFeEI7QTJDdjN5RVM7RUFDRztBM0N5M3lFWjtBMkNsM3lFb0I7Ozs7RUFHSTtFQUNBO0EzQ3EzeUV4QjtBMkNqM3lFb0I7O0VBRUk7RUFDQTtBM0NtM3lFeEI7QTJDajN5RW9COztFQUVJO0VBQ0E7RUFDQTtBM0NtM3lFeEI7QTJDNTR5RVM7RUFDRztBM0M4NHlFWjtBMkN2NHlFb0I7Ozs7RUFHSTtFQUNBO0EzQzA0eUV4QjtBMkN0NHlFb0I7O0VBRUk7RUFDQTtBM0N3NHlF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QThDL24zRVA7RUFDRztBOUNpbzNFWjtBOENycTNFUzs7O0VBR0c7QTlDdXEzRVo7QThDcHEzRWE7RUFDRztFQUNBO0E5Q3NxM0VoQjtBOENucTNFYTtFQUNHO0E5Q3FxM0VoQjtBOENqcTNFaUI7RUFDRztBOUNtcTNFcEI7QThDL3AzRVM7O0VBRUc7QTlDaXEzRVo7QThDL3AzRVM7RUFDRztBOUNpcTNFWjtBQUNBLGVBQWU7QThDOXAzRU47RUFDRztBOUNncTNFWjtBQUNBLGdCQUFnQjtBOEM3cDNFUDtFQUNHO0E5QytwM0VaO0E4Q25zM0VTOzs7RUFHRztBOUNxczNFWjtBOENsczNFYTtFQUNHO0VBQ0E7QTlDb3MzRWhCO0E4Q2pzM0VhO0VBQ0c7QTlDbXMzRWhCO0E4Qy9yM0VpQjtFQUNHO0E5Q2lzM0VwQjtBOEM3cjNFUzs7RUFFRztBOUMrcjNFWjtBOEM3cjNFUztFQUNHO0E5QytyM0VaO0FBQ0EsZUFBZTtBOEM1cjNFTjtFQUNHO0E5QzhyM0VaO0FBQ0EsZ0JBQWdCO0E4QzNyM0VQO0VBQ0c7QTlDNnIzRVo7QThDanUzRVM7OztFQUdHO0E5Q211M0VaO0E4Q2h1M0VhO0VBQ0c7RUFDQTtBOUNrdTNFaEI7QThDL3QzRWE7RUFDRztBOUNpdTNFaEI7QThDN3QzRWlCO0VBQ0c7QTlDK3QzRXBCO0E4QzN0M0VTOztFQUVHO0E5QzZ0M0VaO0E4QzN0M0VTO0VBQ0c7QTlDNnQzRVo7QUFDQSxlQUFlO0E4QzF0M0VOO0VBQ0c7QTlDNHQzRVo7QUFDQSxnQkFBZ0I7QThDenQzRVA7RUFDRztBOUMydDNFWjtBQUNBOzs0QkFFNEI7QThDcnQzRXhCOztFQUVJO0VBQ0E7QTlDdXQzRVI7QThDcnQzRUk7O0VBRUk7QTlDdXQzRVI7QUFDQTs7NEJBRTRCO0FBQzVCLGFBQWE7QThDanQzRVQ7O0VBRUk7RUFDQTtFQUNBO0E5Q210M0VSO0FBQ0E7OzRCQUU0QjtBOEM3czNFeEI7RUFDSTtFQUNBO0E5QytzM0VSO0E4QzFzM0VJOzs7O0VBSVE7QTlDNHMzRVo7QUFDQTs7K0JBRStCO0FBQy9COztpQkFFaUI7QUFD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cUJBRXFCO0FBQ3JCLHNDQUFzQztBOEN2bTNFbEM7O0VBRUk7RUFDQTtFQUNBO0E5Q3ltM0VSO0E4Q3RtM0VJOztFQUVJO0E5Q3dtM0VSO0E4Q3JtM0VJOztFQUVJO0VBQ0E7RUFDQTtBOUN1bTNFUjtBOENwbTNFSTs7RUFFSTtFQUNBO0E5Q3NtM0VSO0E4Q25tM0VJOzs7RUFHSTtFQUNBO0E5Q3FtM0VSO0E4Q2xtM0VJOztFQUVJO0E5Q29tM0VSO0E4Q2ptM0VJOzs7RUFHSTtBOUNtbTNFUjtBOENobTNFSTs7RUFFSTtBOUNrbTNFUjtBOEMvbDNFSTs7RUFFSTtFQUNBO0E5Q2ltM0VSO0FBQ0EsY0FBYztBOEM3bDNFTjtFQUNJO0VBQ0E7RUFDQTtBOUMrbDNFWjtBOEM1bDNFUTtFQUNJO0VBQ0E7QTlDOGwzRVo7QThDM2wzRVE7RUFDSTtBOUM2bDNFWjtBOEMxbDNFUTtFQUNJO0E5QzRsM0VaO0E4Q3psM0VROzs7OztFQUtJO0E5QzJsM0VaO0E4Q3hsM0VROztFQUVJO0E5QzBsM0VaO0E4Q3RsM0VLOztFQUVHO0E5Q3dsM0VSO0E4Q3RsM0VLOztFQUVHO0E5Q3dsM0VSO0E4Q3JsM0VJOztFQUVJO0E5Q3VsM0VSO0E4Q3JsM0VJO0VBQ0k7QTlDdWwzRVI7QThDcGwzRUk7O0VBRUk7QTlDc2wzRVI7QUFDQSxzQkFBc0I7QThDbmwzRWxCOztFQUVJO0E5Q3FsM0VSO0FBQ0EsV0FBVztBOENqbDNFSDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5Q21sM0VaO0E4Q2hsM0VRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTlDa2wzRVo7QThDL2szRVE7O0VBRUk7QTlDaWwzRVo7QThDOWszRVE7O0VBRUk7QTlDZ2wzRVo7QUFDQSxnQ0FBZ0M7QThDNWszRTVCO0VBRUk7RUFDQTtBOUM4azNFUjtBOENqbDNFSTs7RUFFSTtFQUNBO0E5QzhrM0VSO0FBQ0EsZUFBZTtBOEMxazNFUDs7RUFFSTtBOUM0azNFWjtBOEMxazNFUTs7RUFFSTtBOUM0azNFWjtBOEMxazNFUTs7RUFFSTtBOUM0azNFWjtBOEMxazNFUTs7RUFFSTtBOUM0azNFWjtBOEN6azNFWTs7RTlDNGszRVYsU0FBUztFOEN6azNFSztFQUNBO0VBQ0E7RUFDQTtBOUMyazNFaEI7QThDeGszRVE7RUFDSTs7STlDMmszRVIsNkNBQTZDO0k4Q3hrM0VqQztFOUMwazNFZDtBQUNGO0E4Q3RrM0VROztFQUVJO0VBQ0E7QTlDd2szRVo7QThDcmszRVk7RUFDSTtBOUN1azNFaEI7QThDcGszRVE7RUFDSzs7SUFFRztFOUNzazNFZDtFOENwazNFVzs7SUFFRztFOUNzazNFZDtBQUNGO0FBQ0E7OytCQUUrQjtBQUMvQixvQkFBb0I7QStDdm83RXBCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QS9DeW83RUo7QStDdG83RUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7QS9Db283RUo7QStDbG83RUE7RUFDSTtBL0N1bzdFSjtBQUNBLGFBQWE7QStDcG83RWI7RUFDSTtBL0NzbzdFSjtBK0NubzdFQTs7RUFFSTtBL0NxbzdFSjtBQUNBLDJCQUEyQjtBK0NsbzdFM0I7RUFDSTtBL0NvbzdFSjtBQUNBOzs7Ozs7Ozs7Ozs7O0NBYUM7QUFDRDs7K0JBRStCO0FBQy9COzs7Ozs7OztFQVFFO0FBQ0Y7OytCQUUrQjtBQUMvQjs7Ozs7Ozs7O0NBU0M7QUFDRDs7K0JBRStCO0FBQy9COztDQUVDO0FBQ0QsV0FBVztBQUNYLGFBQWE7QUFDYixnQkFBZ0I7QUFDaEIsWUFBWTtBQUNaLFVBQVU7QUFDVjs7K0JBRStCO0FBQy9CLDJCQUEyQjtBQUMzQixpQ0FBaUM7QUFDakM7OytCQUUrQjtBQUMvQjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3VCQUV1QjtBQUN2QiwyQkFBMkI7QUFDM0I7OytCQUUrQjtBQUMvQjs7MkRBRTJEO0FBQzNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9CLFdBQVc7QUFDWCxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsV0FBVztBQUNYLFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsZUFBZTtBQUNmLFNBQVM7QUFDVCxTQUFTO0FBQ1QsU0FBUztBQUNULFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQixPQUFPO0FBQ1AsU0FBUztBQUNULFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNULGNBQWM7QUFDZDs7K0JBRStCO0FBQy9CLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFdBQVc7QUFDWCxVQUFVO0FBQ1YsUUFBUTtBQUNSLFVBQVU7QUFDVixhQUFhO0FBQ2IsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFVO0FBQ1YsWUFBWTtBQUNaLFdBQVc7QUFDWCxRQUFRO0FBQ1IsVUFBVTtBQUNWLGVBQWU7QUFDZixXQUFXO0FBQ1g7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHVEQUF1RDtBQUN2RCwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0Qjs7Q0FFQztBQUNEOztzQkFFc0I7QUFDdEIsdUZBQXVGO0FBQ3ZGOztpQkFFaUI7QUFDakI7O2lCQUVpQjtBQUNqQiw0REFBNEQ7QUFDNUQscUJBQXFCO0FBQ3JCLG9GQUFvRjtBQUNwRjs7c0JBRXNCO0FBQ3RCLGlDQUFpQztBQUNqQywyQ0FBMkM7QUFDM0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYix3QkFBd0I7QUFDeEIsY0FBYztBQUNkOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQiwyQkFBMkI7QUFDM0Isd0JBQXdCO0FBQ3hCLGdDQUFnQztBQUNoQyw0QkFBNEI7QUFDNUIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQixhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2IsYUFBYTtBQUNiLFNBQVM7QUFDVCxZQUFZO0FBQ1o7O3NCQUVzQjtBQUN0QiwrQ0FBK0M7QUFDL0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRCxPQUFPO0FBQ1AsUUFBUTtBQUNSOztzQkFFc0I7QUFDdEIsZ0NBQWdDO0FBQ2hDOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwwREFBMEQ7QUFDMUQsbUNBQW1DO0FBQ25DLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsOEJBQThCO0FBQzlCLGVBQWU7QUFDZjs7c0JBRXNCO0FBQ3RCOzs7Ozs7OztDQVFDO0FBQ0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckI7O2dDQUVnQztBQUNoQyxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGFBQWE7QUFDYixtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCLHNCQUFzQjtBQUN0Qiw0QkFBNEI7QUFDNUI7OytCQUUrQjtBQUMvQjs7MkRBRTJEO0FBQzNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9CLFdBQVc7QUFDWCxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsV0FBVztBQUNYLFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsZUFBZTtBQUNmLFNBQVM7QUFDVCxTQUFTO0FBQ1QsU0FBUztBQUNULFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQixPQUFPO0FBQ1AsU0FBUztBQUNULFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNULGNBQWM7QUFDZDs7K0JBRStCO0FBQy9CLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFdBQVc7QUFDWCxVQUFVO0FBQ1YsUUFBUTtBQUNSLFVBQVU7QUFDVixhQUFhO0FBQ2IsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFVO0FBQ1YsWUFBWTtBQUNaLFdBQVc7QUFDWCxRQUFRO0FBQ1IsVUFBVTtBQUNWLGVBQWU7QUFDZixXQUFXO0FBQ1g7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHVEQUF1RDtBQUN2RCwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0Qjs7Q0FFQztBQUNEOztzQkFFc0I7QUFDdEIsdUZBQXVGO0FBQ3ZGOztpQkFFaUI7QUFDakI7O2lCQUVpQjtBQUNqQiw0REFBNEQ7QUFDNUQscUJBQXFCO0FBQ3JCLG9GQUFvRjtBQUNwRjs7c0JBRXNCO0FBQ3RCLGlDQUFpQztBQUNqQywyQ0FBMkM7QUFDM0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYix3QkFBd0I7QUFDeEIsY0FBYztBQUNkOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQiwyQkFBMkI7QUFDM0Isd0JBQXdCO0FBQ3hCLGdDQUFnQztBQUNoQyw0QkFBNEI7QUFDNUIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQixhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2IsYUFBYTtBQUNiLFNBQVM7QUFDVCxZQUFZO0FBQ1o7O3NCQUVzQjtBQUN0QiwrQ0FBK0M7QUFDL0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRCxPQUFPO0FBQ1AsUUFBUTtBQUNSOztzQkFFc0I7QUFDdEIsZ0NBQWdDO0FBQ2hDOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwwREFBMEQ7QUFDMUQsbUNBQW1DO0FBQ25DLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsOEJBQThCO0FBQzlCLGVBQWU7QUFDZjs7c0JBRXNCO0FBQ3RCOzs7Ozs7OztDQVFDO0FBQ0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckI7O2dDQUVnQztBQUNoQyxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGFBQWE7QUFDYixtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCLHNCQUFzQjtBQUN0QiwrQkFBK0I7QUFDL0IsOEJBQThCO0FBQzlCOzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOzt1QkFFdUI7QUFDdkIsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixXQUFXO0FBQ1gsZ0JBQWdCO0FBQ2hCLHFDQUFxQztBQUNyQyxTQUFTO0FBQ1Q7O3NCQUVzQjtBQUN0QixVQUFVO0FBQ1Y7O3NCQUVzQjtBQUN0QixrQkFBa0I7QUFDbEIsbUJBQW1CO0FBQ25CLGVBQWU7QUFDZjs7MkJBRTJCO0FBQzNCLFlBQVk7QUFDWjs7MkRBRTJEO0FBQzNEOzsyREFFMkQ7QUFDM0QseUJBQXlCO0FBQ3pCOzsyREFFMkQ7QUFDM0Q7OzJEQUUyRDtBQUMzRCxtQkFBbUI7QUFDbkIsZUFBZTtBQUNmOzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCLGVBQWU7QUFDZjs7K0JBRStCO0FnRDd6OEUvQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEQrejhFSjtBQUNBOztvQkFFb0I7QWdEM3o4RXBCOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhENno4RUo7QUFDQTs7b0JBRW9CO0FnRHp6OEVwQjtFQUNJO0FoRDJ6OEVKO0FBQ0E7O2lCQUVpQjtBZ0R2ejhFakI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRHl6OEVKO0FBQ0E7O2lCQUVpQjtBZ0RyejhFakI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaER1ejhFSjtBZ0RyejhFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRHV6OEVKO0FnRHJ6OEVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRHV6OEVKO0FBQ0E7OytCQUUrQjtBQUMvQjs7aUJBRWlCO0FnRGx6OEVqQjtFQUNJO0VBQ0E7QWhEb3o4RUo7QWdEbHo4RUE7RUFDSTtBaERvejhFSjtBQUNBOztpQkFFaUI7QWdEaHo4RWpCOztFQUVJO0FoRGt6OEVKO0FnRGh6OEVBO0VBQ0k7QWhEa3o4RUo7QUFDQTs7K0JBRStCO0FnRDd5OEUzQjtFQUNJO0FoRCt5OEVSO0FnRDd5OEVJO0VBQ0k7QWhEK3k4RVI7QWdEN3k4RUk7RUFDSTtBaEQreThFUjtBZ0Q3eThFSTtFQUNJO0FoRCt5OEVSO0FBQ0E7OytCQUUrQjtBQUMvQjs7K0JBRStCO0FBQy9COzs7Ozs7OztFQVFFO0FBQ0Y7OytCQUUrQjtBQUMvQjs7Ozs7Ozs7O0NBU0M7QUFDRDs7K0JBRStCO0FBQy9COztDQUVDO0FBQ0QsV0FBVztBQUNYLGFBQWE7QUFDYixnQkFBZ0I7QUFDaEIsWUFBWTtBQUNaLFVBQVU7QUFDVjs7K0JBRStCO0FBQy9CLDJCQUEyQjtBQUMzQixpQ0FBaUM7QUFDakM7OytCQUUrQjtBQUMvQjs7K0JBRStCO0FBQy9COztxQkFFcUI7QUFDckI7O3VCQUV1QjtBQUN2QiwyQkFBMkI7QUFDM0I7OytCQUUrQjtBQUMvQjs7MkRBRTJEO0FBQzNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9CLFdBQVc7QUFDWCxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsV0FBVztBQUNYLFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsZUFBZTtBQUNmLFNBQVM7QUFDVCxTQUFTO0FBQ1QsU0FBUztBQUNULFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQixPQUFPO0FBQ1AsU0FBUztBQUNULFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNULGNBQWM7QUFDZDs7K0JBRStCO0FBQy9CLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFdBQVc7QUFDWCxVQUFVO0FBQ1YsUUFBUTtBQUNSLFVBQVU7QUFDVixhQUFhO0FBQ2IsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFVO0FBQ1YsWUFBWTtBQUNaLFdBQVc7QUFDWCxRQUFRO0FBQ1IsVUFBVTtBQUNWLGVBQWU7QUFDZixXQUFXO0FBQ1g7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHVEQUF1RDtBQUN2RCwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0Qjs7Q0FFQztBQUNEOztzQkFFc0I7QUFDdEIsdUZBQXVGO0FBQ3ZGOztpQkFFaUI7QUFDakI7O2lCQUVpQjtBQUNqQiw0REFBNEQ7QUFDNUQscUJBQXFCO0FBQ3JCLG9GQUFvRjtBQUNwRjs7c0JBRXNCO0FBQ3RCLGlDQUFpQztBQUNqQywyQ0FBMkM7QUFDM0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYix3QkFBd0I7QUFDeEIsY0FBYztBQUNkOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQiwyQkFBMkI7QUFDM0Isd0JBQXdCO0FBQ3hCLGdDQUFnQztBQUNoQyw0QkFBNEI7QUFDNUIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQixhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2IsYUFBYTtBQUNiLFNBQVM7QUFDVCxZQUFZO0FBQ1o7O3NCQUVzQjtBQUN0QiwrQ0FBK0M7QUFDL0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRCxPQUFPO0FBQ1AsUUFBUTtBQUNSOztzQkFFc0I7QUFDdEIsZ0NBQWdDO0FBQ2hDOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwwREFBMEQ7QUFDMUQsbUNBQW1DO0FBQ25DLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsOEJBQThCO0FBQzlCLGVBQWU7QUFDZjs7c0JBRXNCO0FBQ3RCOzs7Ozs7OztDQVFDO0FBQ0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckI7O2dDQUVnQztBQUNoQyxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGFBQWE7QUFDYixtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCLHNCQUFzQjtBQUN0Qiw0QkFBNEI7QUFDNUI7OytCQUUrQjtBQUMvQjs7MkRBRTJEO0FBQzNELFlBQVk7QUFDWjs7K0JBRStCO0FBQy9CLFdBQVc7QUFDWCxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCxTQUFTO0FBQ1QsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFVBQVU7QUFDVixTQUFTO0FBQ1QsV0FBVztBQUNYLGdCQUFnQjtBQUNoQixTQUFTO0FBQ1QsV0FBVztBQUNYLFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNUOzsrQkFFK0I7QUFDL0IsZUFBZTtBQUNmLFNBQVM7QUFDVCxTQUFTO0FBQ1QsU0FBUztBQUNULFlBQVk7QUFDWixVQUFVO0FBQ1Y7OytCQUUrQjtBQUMvQixPQUFPO0FBQ1AsU0FBUztBQUNULFlBQVk7QUFDWixTQUFTO0FBQ1QsU0FBUztBQUNULGNBQWM7QUFDZDs7K0JBRStCO0FBQy9CLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiLFdBQVc7QUFDWCxhQUFhO0FBQ2IsVUFBVTtBQUNWLFdBQVc7QUFDWCxVQUFVO0FBQ1YsUUFBUTtBQUNSLFVBQVU7QUFDVixhQUFhO0FBQ2IsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFVO0FBQ1YsWUFBWTtBQUNaLFdBQVc7QUFDWCxRQUFRO0FBQ1IsVUFBVTtBQUNWLGVBQWU7QUFDZixXQUFXO0FBQ1g7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHVEQUF1RDtBQUN2RCwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0Qjs7Q0FFQztBQUNEOztzQkFFc0I7QUFDdEIsdUZBQXVGO0FBQ3ZGOztpQkFFaUI7QUFDakI7O2lCQUVpQjtBQUNqQiw0REFBNEQ7QUFDNUQscUJBQXFCO0FBQ3JCLG9GQUFvRjtBQUNwRjs7c0JBRXNCO0FBQ3RCLGlDQUFpQztBQUNqQywyQ0FBMkM7QUFDM0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRDs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLGFBQWE7QUFDYix3QkFBd0I7QUFDeEIsY0FBYztBQUNkOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQiwyQkFBMkI7QUFDM0Isd0JBQXdCO0FBQ3hCLGdDQUFnQztBQUNoQyw0QkFBNEI7QUFDNUIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQixhQUFhO0FBQ2IsZ0JBQWdCO0FBQ2hCOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qiw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixhQUFhO0FBQ2IsYUFBYTtBQUNiLFNBQVM7QUFDVCxZQUFZO0FBQ1o7O3NCQUVzQjtBQUN0QiwrQ0FBK0M7QUFDL0M7O3NCQUVzQjtBQUN0Qjs7O0NBR0M7QUFDRCxPQUFPO0FBQ1AsUUFBUTtBQUNSOztzQkFFc0I7QUFDdEIsZ0NBQWdDO0FBQ2hDOztzQkFFc0I7QUFDdEI7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCOztzQkFFc0I7QUFDdEIsNEJBQTRCO0FBQzVCLDZCQUE2QjtBQUM3QiwwREFBMEQ7QUFDMUQsbUNBQW1DO0FBQ25DLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsOEJBQThCO0FBQzlCLGVBQWU7QUFDZjs7c0JBRXNCO0FBQ3RCOzs7Ozs7OztDQVFDO0FBQ0QsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0Qjs7c0JBRXNCO0FBQ3RCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCOztzQkFFc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLDBCQUEwQjtBQUMxQjs7c0JBRXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUI7O3NCQUVzQjtBQUN0QixxQkFBcUI7QUFDckIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2QixxQkFBcUI7QUFDckI7O2dDQUVnQztBQUNoQyxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGFBQWE7QUFDYixtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCLHNCQUFzQjtBQUN0QiwrQkFBK0I7QUFDL0IsOEJBQThCO0FBQzlCOzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOzt1QkFFdUI7QUFDdkIsWUFBWTtBQUNaOzsrQkFFK0I7QUFDL0I7O3NCQUVzQjtBQUN0QixjQUFjO0FBQ2QsV0FBVztBQUNYLHFCQUFxQjtBQUNyQixXQUFXO0FBQ1gsYUFBYTtBQUNiLFlBQVk7QUFDWixzQkFBc0I7QUFDdEIsZUFBZTtBQUNmLFdBQVc7QUFDWCxZQUFZO0FBQ1o7O3NCQUVzQjtBQUN0QixVQUFVO0FBQ1YsV0FBVztBQUNYOztzQkFFc0I7QUFDdEIsbUJBQW1CO0FBQ25CLGVBQWU7QUFDZjs7MkJBRTJCO0FBQzNCLFlBQVk7QUFDWjs7MkRBRTJEO0FBQzNEOzsyREFFMkQ7QUFDM0QseUJBQXlCO0FBQ3pCOzsyREFFMkQ7QUFDM0Q7OzJEQUUyRDtBQUMzRCxtQkFBbUI7QUFDbkIsZUFBZTtBQUNmOzsrQkFFK0I7QUFDL0I7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCLGVBQWU7QUFDZjs7K0JBRStCO0FBQy9CLGdCQUFnQjtBaUQ5aytFaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRGdsK0VKO0FBQ0Esa0NBQWtDO0FpRDdrK0VsQztFQUNJO0FqRCtrK0VKO0FBQ0E7O3FCQUVxQjtBaUQzaytFakI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakQ2aytFUjtBaUQzaytFSTs7RUFFSTtFQUNBO0FqRDZrK0VSO0FBQ0E7O2lCQUVpQjtBaUR6aytFakI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakQyaytFSjtBQUNBOztpQkFFaUI7QWlEeGsrRWpCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRDBrK0VKO0FpRHprK0VJO0VBQ0k7RUFDQTtBakQyaytFUjtBaUR4aytFQTs7RUFFSTtBakQwaytFSjtBaUR4aytFQTs7RUFFSTtBakQwaytFSjtBaUR2aytFSTs7RUFFSTtBakR5aytFUjtBaUR2aytFSTs7RUFFSTtBakR5aytFUjtBaUR0aytFSTs7RUFFSTtBakR3aytFUjtBQUNBOztxQkFFcUI7QWlEbmsrRWpCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWpEcWsrRVI7QWlEbmsrRUs7RUFDRztBakRxaytFUjtBaURsaytFUTtFQUNJO0FqRG9rK0VaO0FpRGhrK0VRO0VBQ0k7QWpEa2srRVo7QWlEamsrRWE7RUFDRztFQUNBO0FqRG1rK0VoQjtBaUQ3aitFSTs7RUFFSTtBakQraitFUjtBaUQ5aitFUzs7RUFDRztFQUNBO0FqRGlrK0VaO0FpRDVqK0VJOztFQUVJO0FqRDhqK0VSO0FpRDVqK0VJO0VBQ0k7QWpEOGorRVI7QUFDQTs7aUJBRWlCO0FpRHpqK0ViO0VBQ0k7RUFDQTtFQUNBO0FqRDJqK0VSO0FpRHZqK0VJO0VBQ0k7RUFDQTtFQUNBO0FqRHlqK0VSO0FpRHBqK0VJOztFQUVJO0VBQ0E7QWpEc2orRVI7QWlEbmorRVE7RUFDSTtFQUNBO0VBQ0E7QWpEcWorRVo7QWlEamorRVE7RUFDSTtFQUNBO0VBQ0E7QWpEbWorRVo7QUFDQTs7aUJBRWlCO0FpRDdpK0VqQjtFQUNJO0VBQ0E7RUFDQTtBakQraStFSjtBaUQ5aStFSTtFQUNJO0VBQ0E7QWpEZ2orRVI7QUFDQSxlQUFlO0FpRDVpK0VmO0VBQ0k7QWpEOGkrRUo7QWlEN2krRUk7RUFDSTtBakQraStFUjtBQUNBLGlCQUFpQjtBaUQzaStFakI7RUFDSTtFQUNBO0FqRDZpK0VKO0FpRDNpK0VBOzs7RUFHSTtBakQ2aStFSjtBQUNBOztpQkFFaUI7QWlEemkrRWpCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakQyaStFSjtBQUNBOztpQkFFaUI7QWlEdmkrRWpCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFakR5aStFRixrREFBa0Q7RWlEdGkrRWhEO0FqRHdpK0VKO0FpRHZpK0VJO0VBQ0k7QWpEeWkrRVI7QWlEcmkrRUE7RUFDSTtBakR1aStFSjtBQUNBOztpQkFFaUI7QWlEbmkrRWpCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpEcWkrRUo7QUFDQTs7aUJBRWlCO0FpRGppK0VqQjtFQUNJO0FqRG1pK0VKO0FBQ0E7OytCQUUrQjtBQUMvQjs7aUJBRWlCO0FpRDloK0VqQjtFQUNJO0VBQ0E7RUFDQTtBakRnaStFSjtBaUQ3aCtFSTtFQUNJO0VBRUE7QWpEK2grRVI7QWlENWgrRUE7RUFDSTtBakQ4aCtFSjtBQUNBOztpQkFFaUI7QWlEMWgrRWpCO0VBQ0k7QWpENGgrRUo7QUFDQTs7aUJBRWlCO0FpRHhoK0VqQjtFQUNJO0VBQ0E7QWpEMGgrRUo7QUFDQSxxQkFBcUI7QWlEdGgrRWpCOztFQUVJO0FqRHdoK0VSO0FpRHBoK0VJOztFQUVJO0FqRHNoK0VSO0FBQ0Esb0JBQW9CO0FpRGpoK0VoQjs7RUFFSTtBakRtaCtFUjtBaUQvZytFSTs7RUFFSTtBakRpaCtFUjtBaUQ3ZytFSTs7RUFFSTtBakQrZytFUjtBaUQzZytFSTs7RUFFSTtBakQ2ZytFUjtBQUNBLGtEQUFrRDtBaUR4ZytFOUM7Ozs7RUFJSTtBakQwZytFUjtBQUNBOztxQkFFcUI7QWlEcmcrRWpCO0VBQ0k7QWpEdWcrRVI7QWlEcGcrRVE7RUFDSTtBakRzZytFWjtBaURsZytFSTs7RUFFSTtFQUNBO0FqRG9nK0VSO0FpRGxnK0VJO0VBQ0k7RUFDQTtFQUNBO0FqRG9nK0VSO0FBQ0E7OytCQUUrQjtBQUMvQjs7aUJBRWlCO0FBQ2pCLGlCQUFpQjtBaUQ3LzlFYjs7RUFFSTtBakQrLzlFUjtBaUQ1LzlFUTs7RUFFSTtBakQ4LzlFWjtBaUQzLzlFUTs7RUFFSTtBakQ2LzlFWjtBaUR4LzlFUTs7RUFFSTtBakQwLzlFWjtBaUR2LzlFUTs7RUFFSTtBakR5LzlFWjtBQUNBLGlCQUFpQjtBaURuLzlFTDs7RUFFSTtBakRxLzlFaEI7QWlEbC85RVk7O0VBRUk7QWpEby85RWhCO0FpRC8rOUVZOztFQUVJO0FqRGkvOUVoQjtBaUQ5KzlFWTs7RUFFSTtBakRnLzlFaEI7QUFDQSxrQkFBa0I7QWlEeis5RU47O0VBRUk7QWpEMis5RWhCO0FpRHgrOUVZOztFQUVJO0FqRDArOUVoQjtBaURyKzlFWTs7RUFFSTtBakR1KzlFaEI7QWlEcCs5RVk7O0VBRUk7QWpEcys5RWhCO0FBQ0EsZUFBZTtBaURoKzlFUDtFQUNJO0FqRGsrOUVaO0FBQ0E7OzBCQUUwQjtBQUMxQix3QkFBd0I7QWlEMzk5RWY7RUFDRztBakQ2OTlFWjtBaUQxOTlFUztFQUNHO0FqRDQ5OUVaO0FpRHo5OUVTO0VBQ0c7QWpEMjk5RVo7QWlEeDk5RVM7RUFDRztBakQwOTlFWjtBaUR2OTlFUztFQUNHO0FqRHk5OUVaO0FpRHQ5OUVTO0VBQ0c7QWpEdzk5RVo7QWlEcjk5RVM7RUFDRztBakR1OTlFWjtBaURwOTlFUztFQUNHO0FqRHM5OUVaO0FpRG45OUVTO0VBQ0c7QWpEcTk5RVo7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RHVpakZSO0FtRHJpakZJOztFQUVJO0FuRHVpakZSO0FtRHJpakZJOztFQUVJO0FuRHVpakZSO0FBQ0E7OzBCQUUwQjtBbUQvaGpGakI7O0VBRUc7QW5EaWlqRlo7QW1EbmlqRlM7O0VBRUc7QW5EcWlqRlo7QW1EdmlqRlM7O0VBRUc7QW5EeWlqRlo7QW1EM2lqRlM7O0VBRUc7QW5ENmlqRlo7QW1EL2lqRlM7O0VBRUc7QW5EaWpqRlo7QW1EbmpqRlM7O0VBRUc7RUFFSTtBbkRvampGaEI7QW1EeGpqRlM7O0VBRUc7RUFFSTtBbkR5ampGaEI7QUFDQTs7Z0JBRWdCO0FtRDVpakZQO0VBQ0c7QW5EOGlqRlo7QW1EeGlqRmE7RUFDRztBbkQwaWpGaEI7QW1EbGpqRlM7RUFDRztBbkRvampGWjtBbUQ5aWpGYTtFQUNHO0FuRGdqakZoQjtBbUR4ampGUztFQUNHO0FuRDBqakZaO0FtRHBqakZhO0VBQ0c7QW5Ec2pqRmhCO0FtRDlqakZTO0VBQ0c7QW5EZ2tqRlo7QW1EMWpqRmE7RUFDRztBbkQ0ampGaEI7QW1EcGtqRlM7RUFDRztBbkRza2pGWjtBbURoa2pGYTtFQUNHO0FuRGtrakZoQjtBbUQxa2pGUztFQUNHO0FuRDRrakZaO0FtRHRrakZhO0VBQ0c7QW5Ed2tqRmhCO0FtRGhsakZTO0VBQ0c7QW5Ea2xqRlo7QW1ENWtqRmE7RUFDRztBbkQ4a2pGaEI7QW1EdGxqRlM7RUFDRztBbkR3bGpGWjtBbURsbGpGYTtFQUNHO0FuRG9sakZoQjtBbUQ1bGpGUztFQUNHO0FuRDhsakZaO0FtRHhsakZhO0VBQ0c7QW5EMGxqRmhCO0FtRGxtakZTO0VBQ0c7QW5Eb21qRlo7QW1EOWxqRmE7RUFDRztBbkRnbWpGaEI7QW1EeG1qRlM7RUFDRztBbkQwbWpGWjtBbURwbWpGYTtFQUNHO0FuRHNtakZoQjtBbUQ5bWpGUztFQUNHO0FuRGduakZaO0FtRDFtakZhO0VBQ0c7QW5ENG1qRmhCO0FtRHBuakZTO0VBQ0c7QW5Ec25qRlo7QW1EaG5qRmE7RUFDRztBbkRrbmpGaEI7QW1EMW5qRlM7RUFDRztBbkQ0bmpGWjtBbUR0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QjtBQUNBLHlCQUF5QjtBb0QvNmtGVDtFQUNJO0VBQ0E7QXBEaTdrRnBCO0FvRDU2a0ZvQjtFQUNJO0VBQ0E7QXBEODZrRnhCO0FvRDE2a0ZvQjtFQUNJO0VBQ0E7QXBENDZrRnhCO0FvRHY2a0ZnQjtFQUNJO0FwRHk2a0ZwQjtBb0RuNmtGWTtFQUNJO0FwRHE2a0ZoQjtBb0RuNmtGWTtFQUNJO0FwRHE2a0ZoQjtBb0RoNmtGZ0I7RUFDSTtBcERrNmtGcEI7QW9EOTVrRmdCO0VBQ0k7QXBEZzZrRnBCO0FvRDk1a0ZnQjtFQUNJO0FwRGc2a0ZwQjtBb0Q1NWtGZ0I7RUFDSTtBcEQ4NWtGcEI7QW9ENTVrRmdCO0VBQ0k7QXBEODVrRnBCO0FvRHg1a0ZJO0VBQ0k7QXBEMDVrRlI7QW9EeDVrRkk7RUFDSTtBcEQwNWtGUjtBb0R4NWtGSTtFQUNJO0FwRDA1a0ZSO0FvRHg1a0ZJO0VBQ0k7QXBEMDVrRlI7QUFDQTs7eUJBRXlCO0FvRHQ1a0ZqQjtFQUNJO0FwRHc1a0ZaO0FvRG41a0ZRO0VBQ0k7QXBEcTVrRlo7QUFDQTs7aUJBRWlCO0FvRC80a0ZqQjtFQUNJO0FwRGk1a0ZKO0FBQ0EsdUJBQXVCO0FvRDc0a0ZuQjtFQUNJO0FwRCs0a0ZSO0FvRDU0a0ZRO0VBQ0k7QXBEODRrRlo7QW9EMTRrRlE7RUFDSTtBcEQ0NGtGWjtBb0R4NGtGUTtFQUNJO0FwRDA0a0ZaO0FBQ0EsbUNBQW1DO0FvRG40a0YzQjtFQUNJO0VBQ0E7QXBEcTRrRlo7QW9EajRrRlE7RUFDSTtFQUNBO0FwRG00a0ZaO0FBQ0EsMEJBQTBCO0FvRDcza0Z0QjtFQUNJO0FwRCsza0ZSO0FvRDUza0ZRO0VBQ0k7QXBEODNrRlo7QW9EMTNrRlE7RUFDSTtBcEQ0M2tGWjtBb0R4M2tGUTtFQUNJO0FwRDAza0ZaO0FBQ0E7O3FCQUVxQjtBQUNyQixrQkFBa0I7QW9EcjNrRmQ7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBEdTNrRlI7QW9EcDNrRkk7RUFDSTtBcERzM2tGUjtBQUNBLGVBQWU7QW9EbjNrRlg7RUFDSTtFQUNBO0VBQ0E7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QjtBb0Q3MWtGaUI7O0VBRUc7QXBEKzFrRnBCO0FvRDUxa0ZhOztFQUVHO0FwRDgxa0ZoQjtBb0QzMWtGaUI7Ozs7RUFJRztFQUNBO0FwRDYxa0ZwQjtBb0QxMWtGcUI7O0VBRUc7QXBENDFrRnhCO0FvRHoza0ZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRDIza0ZoQjtBb0R4M2tGaUI7O0VBRUc7QXBEMDNrRnBCO0FvRHYza0ZhOztFQUVHO0FwRHkza0ZoQjtBb0R0M2tGaUI7Ozs7RUFJRztFQUNBO0FwRHcza0ZwQjtBb0RyM2tGcUI7O0VBRUc7QXBEdTNrRnhCO0FvRHA1a0ZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRHM1a0ZoQjtBb0RuNWtGaUI7O0VBRUc7QXBEcTVrRnBCO0FvRGw1a0ZhOztFQUVHO0FwRG81a0ZoQjtBb0RqNWtGaUI7Ozs7RUFJRztFQUNBO0FwRG01a0ZwQjtBb0RoNWtGcUI7O0VBRUc7QXBEazVrRnhCO0FvRC82a0ZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRGk3a0ZoQjtBb0Q5NmtGaUI7O0VBRUc7QXBEZzdrRnBCO0FvRDc2a0ZhOztFQUVHO0FwRCs2a0ZoQjtBb0Q1NmtGaUI7Ozs7RUFJRztFQUNBO0FwRDg2a0ZwQjtBb0QzNmtGcUI7O0VBRUc7QXBENjZrRnhCO0FvRDE4a0ZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRDQ4a0ZoQjtBb0R6OGtGaUI7O0VBRUc7QXBEMjhrRnBCO0FvRHg4a0ZhOztFQUVHO0FwRDA4a0ZoQjtBb0R2OGtGaUI7Ozs7RUFJRztFQUNBO0FwRHk4a0ZwQjtBb0R0OGtGcUI7O0VBRUc7QXBEdzhrRnhCO0FvRHIra0ZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRHUra0ZoQjtBb0RwK2tGaUI7O0VBRUc7QXBEcytrRnBCO0FvRG4ra0ZhOztFQUVHO0FwRHEra0ZoQjtBb0RsK2tGaUI7Ozs7RUFJRztFQUNBO0FwRG8ra0ZwQjtBb0RqK2tGcUI7O0VBRUc7QXBEbStrRnhCO0FvRGhnbEZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRGtnbEZoQjtBb0QvL2tGaUI7O0VBRUc7QXBEaWdsRnBCO0FvRDkva0ZhOztFQUVHO0FwRGdnbEZoQjtBb0Q3L2tGaUI7Ozs7RUFJRztFQUNBO0FwRCsva0ZwQjtBb0Q1L2tGcUI7O0VBRUc7QXBEOC9rRnhCO0FvRDNobEZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRDZobEZoQjtBb0QxaGxGaUI7O0VBRUc7QXBENGhsRnBCO0FvRHpobEZhOztFQUVHO0FwRDJobEZoQjtBb0R4aGxGaUI7Ozs7RUFJRztFQUNBO0FwRDBobEZwQjtBb0R2aGxGcUI7O0VBRUc7QXBEeWhsRnhCO0FvRHRqbEZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRHdqbEZoQjtBb0RyamxGaUI7O0VBRUc7QXBEdWpsRnBCO0FvRHBqbEZhOztFQUVHO0FwRHNqbEZoQjtBb0RuamxGaUI7Ozs7RUFJRztFQUNBO0FwRHFqbEZwQjtBb0RsamxGcUI7O0VBRUc7QXBEb2psRnhCO0FvRGpsbEZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRG1sbEZoQjtBb0RobGxGaUI7O0VBRUc7QXBEa2xsRnBCO0FvRC9rbEZhOztFQUVHO0FwRGlsbEZoQjtBb0Q5a2xGaUI7Ozs7RUFJRztFQUNBO0FwRGdsbEZwQjtBb0Q3a2xGcUI7O0VBRUc7QXBEK2tsRnhCO0FvRDVtbEZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRDhtbEZoQjtBb0QzbWxGaUI7O0VBRUc7QXBENm1sRnBCO0FvRDFtbEZhOztFQUVHO0FwRDRtbEZoQjtBb0R6bWxGaUI7Ozs7RUFJRztFQUNBO0FwRDJtbEZwQjtBb0R4bWxGcUI7O0VBRUc7QXBEMG1sRnhCO0FvRHZvbEZhOzs7O0VBSUc7RUFDQTtFQUNBO0FwRHlvbEZoQjtBb0R0b2xGaUI7O0VBRUc7QXBEd29sRnBCO0FvRHJvbEZhOztFQUVHO0FwRHVvbEZoQjtBb0Rwb2xGaUI7Ozs7RUFJRztFQUNBO0FwRHNvbEZwQjtBb0Rub2xGcUI7O0VBRUc7QXBEcW9sRnhCO0FBQ0E7O3FCQUVxQjtBb0QzbmxGakI7RUFDSTtBcEQ2bmxGUjtBQUNBOztpQkFFaUI7QW9EeG5sRmpCO0VBQ0k7QXBEMG5s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QTtFQUNBO0FyRHlvb0ZSO0FxRHZvb0ZJOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FyRHlvb0ZSO0FxRHZvb0ZJO0VBQ0k7QXJEeW9vRlI7QUFDQSxpQkFBaUI7QXFEdG9vRmI7O0VBRUk7RUFDQTtBckR3b29GUjtBcUR0b29GSTtFQUNJO0FyRHdvb0ZSO0FBQ0EsYUFBYTtBcURwb29GVDs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRHNvb0ZSO0FxRG5vb0ZJOztFQUVJO0VBQ0E7QXJEcW9vRlI7QUFDQTs7aUJBRWlCO0FxRDNub0ZSOzs7RUFHRztBckQ2bm9GWjtBcUQxbm9GYTs7O0VBR0c7QXJENG5vRmhCO0FxRHJvb0ZTOzs7RUFHRztBckR1b29GWjtBcURwb29GYTs7O0VBR0c7QXJEc29vRmhCO0FxRC9vb0ZTOzs7RUFHRztBckRpcG9GWjtBcUQ5b29GYTs7O0VBR0c7QXJEZ3BvRmhCO0FxRHpwb0ZTOzs7RUFHRztBckQycG9GWjtBcUR4cG9GYTs7O0VBR0c7QXJEMHBvRmhCO0FxRG5xb0ZTOzs7RUFHRztBckRxcW9GWjtBcURscW9GYTs7O0VBR0c7QXJEb3FvRmhCO0FxRDdxb0ZTOzs7RUFHRztBckQrcW9GWjtBcUQ1cW9GYTs7O0VBR0c7QXJEOHFvRmhCO0FxRHZyb0ZTOzs7RUFHRztBckR5cm9GWjtBcUR0cm9GYTs7O0VBR0c7QXJEd3JvRmhCO0FxRGpzb0ZTOzs7RUFHRztBckRtc29GWjtBcURoc29GYTs7O0VBR0c7QXJEa3NvRmhCO0FxRDNzb0ZTOzs7RUFHRztBckQ2c29GWjtBcUQxc29GYTs7O0VBR0c7QXJENHNvRmhCO0FxRHJ0b0ZTOzs7RUFHRztBckR1dG9GWjtBcURwdG9GYTs7O0VBR0c7QXJEc3RvRmhCO0FxRC90b0ZTOzs7RUFHRztBckRpdW9GWjtBcUQ5dG9GYTs7O0VBR0c7QXJEZ3VvRmhCO0FxRHp1b0ZTOzs7RUFHRztBckQydW9GWjtBcUR4dW9GYTs7O0VBR0c7QXJEMHVvRmhCO0FxRG52b0ZTOzs7RUFHRztBckRxdm9GWjtBcURsdm9GYTs7O0VBR0c7QXJEb3ZvRmhCO0FxRDd2b0ZTOzs7RUFHRztBckQrdm9GWjtBcUQ1dm9GYTs7O0VBR0c7QXJEOHZvRmhCO0FxRHZ3b0ZTOzs7RUFHRztBckR5d29GWjtBcUR0d29GYTs7O0VBR0c7QXJEd3dvRmhCO0FBQ0E7O2lCQUVpQjtBcURqd29GakI7RUFDSTtBckRtd29GSjtBcURqd29GQTtFQUNJO0FyRG13b0ZKO0FxRDd2b0ZTO0VBQ0c7QXJEK3ZvRlo7QXFEN3ZvRlM7RUFDRztBckQrdm9GWjtBcURud29GUztFQUNHO0FyRHF3b0ZaO0FxRG53b0ZTO0VBQ0c7QXJEcXdvRlo7QXFEendvRlM7RUFDRztBckQyd29GWjtBcUR6d29GUztFQUNHO0FyRDJ3b0ZaO0FxRC93b0ZTO0VBQ0c7QXJEaXhvRlo7QXFEL3dvRlM7RUFDRztBckRpeG9GWjtBcURyeG9GUztFQUNHO0FyRHV4b0ZaO0FxRHJ4b0ZTO0VBQ0c7QXJEdXhvRlo7QXFEM3hvRlM7RUFDRztBckQ2eG9GWjtBcUQzeG9GUztFQUNHO0FyRDZ4b0ZaO0FxRGp5b0ZTO0VBQ0c7QXJEbXlvRlo7QXFEanlvRlM7RUFDRztBckRteW9GWjtBQUNBOztzQkFFc0I7QXFENXhvRmxCO0VBQ0k7QXJEOHhvRlI7QXFENXhvRkk7O0VBRUk7RUFDQTtFQUNBO0FyRDh4b0ZSO0FxRDV4b0ZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckQ4eG9GUjtBcUQzeG9GUTtFQUNJO0FyRDZ4b0ZaO0FxRDN4b0ZRO0VBQ0k7QXJENnhvRlo7QXFEenhvRlE7RUFDSTtFQUNBO0FyRDJ4b0ZaO0FxRHZ4b0ZRO0VBQ0k7RUFDQTtBckR5eG9GWjtBcURyeG9GUTtFQUNJO0FyRHV4b0ZaO0FxRHB4b0ZLO0VBQ0c7QXJEc3hvRlI7QXFEbnhvRlE7OztFQUdJO0FyRHF4b0ZaO0FxRGx4b0ZZOztFQUVJO0FyRG94b0ZoQjtBcURoeG9GWTs7O0VBR0k7QXJEa3hvRmhCO0FxRC93b0ZnQjs7RUFFSTtBckRpeG9GcEI7QXFENXdvRlk7RUFDSTs7SUFFSTtJQUNBO0VyRDh3b0ZsQjtF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RztFQUNBO0VBQ0E7QXREMmhyRko7QXNEeGhyRkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXREMGhyRko7QXNEdmhyRkM7RUFDRztFQUNBO0F0RHlockZKO0FzRHRockZDO0VBQ0c7QXREd2hyRko7QUFDQTs7K0JBRStCO0FBQy9COztxQkFFcUI7QXNEbGhyRmhCO0VBQ0c7QXREb2hyRlI7QXNEamhyRkk7RUFDSTtBdERtaHJGUjtBc0RoaHJGSTtFQUNJO0F0RGtockZSO0FBQ0E7O3FCQUVxQjtBc0Q1Z3JGakI7RUFDSTtFQUNBO0F0RDhnckZSO0FzRDNnckZLO0VBQ0c7RUFDQTtBdEQ2Z3JGUjtBc0QxZ3JGSTtFQUNJO0F0RDRnckZSO0FzRHhnckZRO0VBQ0k7QXREMGdyRlo7QUFDQTs7K0JBRStCO0FBQy9COztxQkFFcUI7QXNEbGdyRmpCO0VBQ0k7RUFDQTtFQUNBO0F0RG9nckZSO0FzRGpnckZJO0VBQ0k7QXREbWdyRlI7QXNEaGdyRkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdERrZ3JGUjtBc0QvL3FGSTtFQUNJO0VBQ0E7RUFDQTtBdERpZ3JGUjtBQUNBLHNCQUFzQjtBc0Q5L3FGZDtFQUNJO0VBQ0E7QXREZ2dyRlo7QXNENy9xRlE7RUFDSTtFQUNBO0F0RCsvcUZaO0FBQ0E7O3FCQUVxQjtBc0R4L3FGakI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RDAvcUZSO0FzRHYvcUZLO0VBQ0c7QXREeS9xRlI7QXNEdC9xRkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdER3L3FGUjtBc0R2L3FGUTtFQUNJO0F0RHkvcUZaO0FzRHIvcUZRO0VBQ0k7RUFDQTtBdER1L3FGWjtBc0RuL3FGUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RHEvcUZaO0FzRGwvcUZZO0VBQ0k7RUFDQTtBdERvL3FGaEI7QXNEai9xRmdCO0VBQ0k7QXREbS9xRnBCO0FzRGovcUZnQjtFQUNJO0F0RG0vcUZwQjtBc0QvK3FGUTtFQUNJO0F0RGkvcUZaO0FzRDkrcUZZO0VBQ0k7QXREZy9xRmhCO0FzRDMrcUZTO0VBQ0c7QXRENitxRlo7QXNEMytxRlM7RUFDRztBdEQ2K3FGWjtBc0QzK3FGUztFQUNHO0F0RDYrcUZaO0FBQ0Esb0JBQW9CO0FzRHYrcUZaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RHkrcUZaO0FzRHQrcUZRO0VBQ0k7QXREdytxRlo7QXNEcitxRlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdER1K3FGWjtBc0RyK3FGUTtFQUNJO0VBQ0E7QXREdStxRlo7QXNEcitxRlM7RUFDRztBdER1K3FGWjtBQUNBLDZCQUE2QjtBc0RuK3FGakI7RUFDSTtBdERxK3FGaEI7QXNEaitxRmE7RUFDRztBdERtK3FGaEI7QXNELzlxRlk7RUFDSTtFQUNBO0F0RGkrcUZoQjtBc0QvOXFGWTtFQUNJO0VBQ0E7QXREaStxRmhCO0FzRDk5cUZZO0VBQ0k7RUFDQTtBdERnK3FGaEI7QXNEOTlxRlk7RUFDSTtBdERnK3FGaEI7QXNENzlxRmdCO0VBQ0k7QXREKzlxRnBCO0FzRDM5cUZnQjtFQUNJO0F0RDY5cUZwQjtBQUNBOztpQkFFaUI7QXNEcjlxRmpCO0VBQ0k7RUFDQTtBdER1OXFGSjtBc0RwOXFGQzs7RUFFRztBdERzOXFGSjtBQUNBOztxQkFFcUI7QXNEajlxRmpCO0VBQ0k7QXREbTlxRlI7QXNEaDlxRkk7RUFDSTtBdERrOXFGUjtBc0Q5OHFGSTtFQUNJO0F0RGc5cUZSO0FzRDc4cUZRO0VBQ0k7QXREKzhxRlo7QXNENThxRlk7RUFDSTtBdEQ4OHFGaEI7QXNEejhxRkk7O0VBRUk7QXREMjhxRlI7QUFDQTs7aUJBRWlCO0FBQ2pCLGFBQWE7QXNELzdxRko7RUFDRztBdERpOHFGWjtBc0Q5N3FGYTtFQUNHO0F0RGc4cUZoQjtBQUNBLFVBQVU7QXNEMzdxRkc7RUFDRztBdEQ2N3FGaEI7QXNEMzdxRmE7O0VBRUc7QXRENjdxRmhCO0FBQ0EsbUJBQW1CO0FzRDE3cUZGO0VBQ0c7QXRENDdxRnBCO0FzRDE3cUZpQjs7RUFFRztBdEQ0N3FGcEI7QXNEdjdxRmE7RUFDRztBdER5N3FGaEI7QXNEdDdxRmlCO0VBQ0c7QXREdzdxRnBCO0FBQ0EsYUFBYTtBc0Q1OXFGSjtFQUNHO0F0RDg5cUZaO0FzRDM5cUZhO0VBQ0c7QXRENjlxRmhCO0FBQ0EsVUFBVTtBc0R4OXFGRztFQUNHO0F0RDA5cUZoQjtBc0R4OXFGYTs7RUFFRztBdEQwOXFGaEI7QUFDQSxtQkFBbUI7QXNEdjlxRkY7RUFDRztBdER5OXFGcEI7QXNEdjlxRmlCOztFQUVHO0F0RHk5cUZwQjtBc0RwOXFGYTtFQUNHO0F0RHM5cUZoQjtBc0RuOXFGaUI7RUFDRztBdERxOXFGcEI7QUFDQSxhQUFhO0FzRHovcUZKO0VBQ0c7QXREMi9xRlo7QXNEeC9xRmE7RUFDRztBdEQwL3FGaEI7QUFDQSxVQUFVO0FzRHIvcUZHO0VBQ0c7QXREdS9xRmhCO0FzRHIvcUZhOztFQUVHO0F0RHUvcUZoQjtBQUNBLG1CQUFtQjtBc0RwL3FGRjtFQUNHO0F0RHMvcUZwQjtBc0RwL3FGaUI7O0VBRUc7QXREcy9xRnBCO0FzRGovcUZhO0VBQ0c7QXREbS9xRmhCO0FzRGgvcUZpQjtFQUNHO0F0RGsvcUZwQjtBQUNBLGFBQWE7QXNEdGhyRko7RUFDRztBdER3aHJGWjtBc0RyaHJGYTtFQUNHO0F0RHVockZoQjtBQUNBLFVBQVU7QXNEbGhyRkc7RUFDRztBdERvaHJGaEI7QXNEbGhyRmE7O0VBRUc7QXREb2hyRmhCO0FBQ0EsbUJBQW1CO0FzRGpockZGO0VBQ0c7QXREbWhyRnBCO0FzRGpockZpQjs7RUFFRztBdERtaHJGcEI7QXNEOWdyRmE7RUFDRztBdERnaHJGaEI7QXNEN2dyRmlCO0VBQ0c7QXREK2dyRnBCO0FBQ0EsYUFBYTtBc0RuanJGSjtFQUNHO0F0RHFqckZaO0FzRGxqckZhO0VBQ0c7QXREb2pyRmhCO0FBQ0EsVUFBVTtBc0QvaXJGRztFQUNHO0F0RGlqckZoQjtBc0QvaXJGYTs7RUFFRztBdERpanJGaEI7QUFDQSxtQkFBbUI7QXNEOWlyRkY7RUFDRztBdERnanJGcEI7QXNEOWlyRmlCOztFQUVHO0F0RGdqckZwQjtBc0QzaXJGYTtFQUNHO0F0RDZpckZoQjtBc0QxaXJGaUI7RUFDRztBdEQ0aXJGcEI7QUFDQSxhQUFhO0FzRGhsckZKO0VBQ0c7QXREa2xyRlo7QXNEL2tyRmE7RUFDRztBdERpbHJGaEI7QUFDQSxVQUFVO0FzRDVrckZHO0VBQ0c7QXREOGtyRmhCO0FzRDVrckZhOztFQUVHO0F0RDhrckZoQjtBQUNBLG1CQUFtQjtBc0Qza3JGRjtFQUNHO0F0RDZrckZwQjtBc0Qza3JGaUI7O0VBRUc7QXRENmtyRnBCO0FzRHhrckZhO0VBQ0c7QXREMGtyRmhCO0FzRHZrckZpQjtFQUNHO0F0RHlrckZwQjtBQUNBLGFBQWE7QXNEN21yRko7RUFDRztBdEQrbXJGWjtBc0Q1bXJGYTtFQUNHO0F0RDhtckZoQjtBQUNBLFVBQVU7QXNEem1yRkc7RUFDRztBdEQybXJGaEI7QXNEem1yRmE7O0VBRUc7QXREMm1yRmhCO0FBQ0EsbUJBQW1CO0FzRHhtckZGO0VBQ0c7QXREMG1yRnBCO0FzRHhtckZpQjs7RUFFRztBdEQwbXJGcEI7QXNEcm1yRmE7RUFDRztBdER1bXJGaEI7QXNEcG1yRmlCO0VBQ0c7QXREc21yRnBCO0FBQ0EsYUFBYTtBc0Qxb3JGSjtFQUNHO0F0RDRvckZaO0FzRHpvckZhO0VBQ0c7QXREMm9yRmhCO0FBQ0EsVUFBVTtBc0R0b3JGRztFQUNHO0F0RHdvckZoQjtBc0R0b3JGYTs7RUFFRztBdER3b3JGaEI7QUFDQSxtQkFBbUI7QXNEcm9yRkY7RUFDRztBdER1b3JGcEI7QXNEcm9yRmlCOztFQUVHO0F0RHVvckZwQjtBc0Rsb3JGYTtFQUNHO0F0RG9vckZoQjtBc0Rqb3JGaUI7RUFDRztBdERtb3JGcEI7QUFDQSxhQUFhO0FzRHZxckZKO0VBQ0c7QXREeXFyRlo7QXNEdHFyRmE7RUFDRztBdER3cXJGaEI7QUFDQSxVQUFVO0FzRG5xckZHO0VBQ0c7QXREcXFyRmhCO0FzRG5xckZhOztFQUVHO0F0RHFxckZoQjtBQUNBLG1CQUFtQjtBc0RscXJGRjtFQUNHO0F0RG9xckZwQjtBc0RscXJGaUI7O0VBRUc7QXREb3FyRnBCO0FzRC9wckZhO0VBQ0c7QXREaXFyRmhCO0FzRDlwckZpQjtFQUNHO0F0RGdxckZwQjtBQUNBLGFBQWE7QXNEcHNyRko7RUFDRztBdERzc3JGWjtBc0Ruc3JGYTtFQUNHO0F0RHFzckZoQjtBQUNBLFVBQVU7QXNEaHNyRkc7RUFDRztBdERrc3JGaEI7QXNEaHNyRmE7O0VBRUc7QXREa3NyRmhCO0FBQ0EsbUJBQW1CO0FzRC9yckZGO0VBQ0c7QXREaXNyRnBCO0FzRC9yckZpQjs7RUFFRztBdERpc3JGcEI7QXNENXJyRmE7RUFDRztBdEQ4cnJGaEI7QXNEM3JyRmlCO0VBQ0c7QXRENnJyRnBCO0FBQ0EsYUFBYTtBc0RqdXJGSjtFQUNHO0F0RG11ckZaO0FzRGh1ckZhO0VBQ0c7QXREa3VyRmhCO0FBQ0EsVUFBVTtBc0Q3dHJGRztFQUNHO0F0RCt0ckZoQjtBc0Q3dHJGYTs7RUFFRztBdEQrdHJGaEI7QUFDQSxtQkFBbUI7QXNENXRyRkY7RUFDRztBdEQ4dHJGcEI7QXNENXRyRmlCOztFQUVHO0F0RDh0ckZwQjtBc0R6dHJGYTtFQUNHO0F0RDJ0ckZoQjtBc0R4dHJGaUI7RUFDRztBdEQwdHJGcEI7QUFDQSxhQUFhO0FzRDl2ckZKO0VBQ0c7QXREZ3dyRlo7QXNEN3ZyRmE7RUFDRztBdEQrdnJGaEI7QUFDQSxVQUFVO0FzRDF2ckZHO0VBQ0c7QXRENHZyRmhCO0FzRDF2ckZhOztFQUVHO0F0RDR2ckZoQjtBQUNBLG1CQUFtQjtBc0R6dnJGRjtFQUNHO0F0RDJ2ckZwQjtBc0R6dnJGaUI7O0VBRUc7QXREMnZyRnBCO0FzRHR2ckZhO0VBQ0c7QXREd3ZyRmhCO0FzRHJ2ckZpQjtFQUNHO0F0RHV2ckZwQjtBQUNBLGFBQWE7QXNEM3hyRko7RUFDRztBdEQ2eHJGWjtBc0QxeHJGYTtFQUNHO0F0RDR4ckZoQjtBQUNBLFVBQVU7QXNEdnhyRkc7RUFDRztBdER5eHJGaEI7QXNEdnhyRmE7O0VBRUc7QXREeXhyRmhCO0FBQ0EsbUJBQW1CO0FzRHR4ckZGO0VBQ0c7QXREd3hyRnBCO0FzRHR4ckZpQjs7RUFFRztBdER3eHJGcEI7QXNEbnhyRmE7RUFDRztBdERxeHJGaEI7QXNEbHhyRmlCO0VBQ0c7QXREb3hyRnBCO0FBQ0EsYUFBYTtBc0R4enJGSjtFQUNHO0F0RDB6ckZaO0FzRHZ6ckZhO0VBQ0c7QXREeXpyRmhCO0FBQ0EsVUFBVTtBc0RwenJGRztFQUNHO0F0RHN6ckZoQjtBc0RwenJGYTs7RUFFRztBdERzenJGaEI7QUFDQSxtQkFBbUI7QXNEbnpyRkY7RUFDRztBdERxenJGcEI7QXNEbnpyRmlCOztFQUVHO0F0RHF6ckZwQjtBc0RoenJGYTtFQUNHO0F0RGt6ckZoQjtBc0QveXJGaUI7RUFDRztBdERpenJGcEI7QUFDQSxhQUFhO0FzRHIxckZKO0VBQ0c7QXREdTFyRlo7QXNEcDFyRmE7RUFDRztBdERzMXJGaEI7QUFDQSxVQUFVO0FzRGoxckZHO0VBQ0c7QXREbTFyRmhCO0FzRGoxckZhOztFQUVHO0F0RG0xckZoQjtBQUNBLG1CQUFtQjtBc0RoMXJGRjtFQUNHO0F0RGsxckZwQjtBc0RoMXJGaUI7O0VBRUc7QXREazFyRnBCO0FzRDcwckZhO0VBQ0c7QXREKzByRmhCO0FzRDUwckZpQjtFQUNHO0F0RDgwckZwQjtBQUNBOztxQkFFcUI7QUFDckIsYUFBYTtBc0RwMHJGVDtFQUNJO0F0RHMwckZSO0FzRHAwckZJOztFQUVJO0F0RHMwckZSO0FBQ0E7O3lCQUV5QjtBQUN6QixhQUFhO0FzRGowckZMO0VBQ0k7QXREbTByRlo7QXNEajByRlE7O0VBRUk7QXREbTByRlo7QUFDQTs7aUJBRWlCO0FzRHZ6ckZSO0VBQ0c7RUFDQTtBdER5enJGWjtBc0R2enJGUztFQUNHO0F0RHl6ckZaO0FzRHZ6ckZTOztFQUVHO0VBQ0E7QXREeXpyRlo7QXNEdHpyRmE7O0VBRUc7QXREd3pyRmhCO0FzRHR6ckZhO0VBQ0c7QXREd3pyRmhCO0FBQ0EsbUJBQW1CO0FzRHB6ckZOO0VBQ0c7QXREc3pyRmhCO0FzRHB6ckZhOztFQUVHO0VBQ0E7QXREc3pyRmhCO0FzRG56ckZpQjs7RUFF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eGx1RlM7RUFDRztFQUNBO0F2RDBsdUZaO0F1RHBsdUZTOzs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RGlsdUZaO0F1RDlrdUZhO0VBQ0c7RUFDQTtBdkRnbHVGaEI7QXVEem11RlM7RUFDRztFQUNBO0F2RDJtdUZaO0F1RHJtdUZTOzs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RGttdUZaO0F1RC9sdUZhO0VBQ0c7RUFDQTtBdkRpbXVGaEI7QXVEMW51RlM7RUFDRztFQUNBO0F2RDRudUZaO0F1RHRudUZTOzs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RG1udUZaO0F1RGhudUZhO0VBQ0c7RUFDQTtBdkRrbnVGaEI7QXVEM291RlM7RUFDRztFQUNBO0F2RDZvdUZaO0F1RHZvdUZTOzs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RG9vdUZaO0F1RGpvdUZhO0VBQ0c7RUFDQTtBdkRtb3VGaEI7QXVENXB1RlM7RUFDRztFQUNBO0F2RDhwdUZaO0F1RHhwdUZTOzs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RHFwdUZaO0F1RGxwdUZhO0VBQ0c7RUFDQTtBdkRvcHVGaEI7QXVEN3F1RlM7RUFDRztFQUNBO0F2RCtxdUZaO0F1RHpxdUZTOzs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RHNxdUZaO0F1RG5xdUZhO0VBQ0c7RUFDQTtBdkRxcXVGaEI7QXVEOXJ1RlM7RUFDRztFQUNBO0F2RGdzdUZaO0F1RDFydUZTOzs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RHVydUZaO0F1RHBydUZhO0VBQ0c7RUFDQTtBdkRzcnVGaEI7QXVEL3N1RlM7RUFDRztFQUNBO0F2RGl0dUZaO0F1RDNzdUZTOzs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RHdzdUZaO0F1RHJzdUZhO0VBQ0c7RUFDQTtBdkR1c3VGaEI7QXVEaHV1RlM7RUFDRztFQUNBO0F2RGt1dUZaO0F1RDV0dUZTOzs7RUFHRztFQUNBO0VBQ0E7RUFNQTtFQUNBO0F2RHl0dUZaO0F1RHR0dUZhO0VBQ0c7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QUNBO0VBQ0E7QTdEZzE0Rlo7QTZENTA0RlE7RUFDSTtFQUNBO0VBQ0E7QTdEODA0Rlo7QTZENTA0RlE7RUFDSTtFQUNBO0VBQ0E7QTdEODA0Rlo7QTZENTA0RlE7RUFDSTtFQUNBO0VBQ0E7QTdEODA0Rlo7QTZEMzA0Rkk7RUFDSTtFQUNBO0VBQ0E7QTdENjA0RlI7QTZEMzA0Rkk7OztFQUdJO0E3RDYwNEZSO0E2RDMwNEZJO0VBQ0k7RUFDQTtBN0Q2MDRGUjtBNkQ1MDRGUTtFQUNJO0E3RDgwNEZaO0E2RDMwNEZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdENjA0RlI7QTZENTA0RlE7RUFDSTtBN0Q4MDRGWjtBNkQ1MDRGUztFQUNHO0E3RDgwNEZaO0E2RDMwNEZZOztFQUVJO0VBQ0E7QTdENjA0RmhCO0E2RDEwNEZnQjs7RUFFSTtFQUNBO0E3RDQwNEZwQjtBNkR2MDRGWTs7RUFFSTtBN0R5MDRGaEI7QTZEdDA0RlE7O0VBRUk7RUFDQTtBN0R3MDRGWjtBNkR0MDRGUTtFQUNJO0E3RHcwNEZaO0E2RHYwNEZZO0VBQ0k7QTdEeTA0RmhCO0E2RHYwNEZZO0VBQ0k7QTdEeTA0RmhCO0E2RHYwNEZZO0VBQ0k7QTdEeTA0RmhCO0E2RHYwNEZZO0VBQ0k7QTdEeTA0RmhCO0E2RHYwNEZZO0VBQ0k7QTdEeTA0RmhCO0E2RHYwNEZZO0VBQ0k7QTdEeTA0RmhCO0E2RHYwNEZZO0VBQ0k7QTdEeTA0RmhCO0E2RHYwNEZZO0VBQ0k7QTdEeTA0RmhCO0E2RHIwNEZZO0VBQ0k7RUFDQTtBN0R1MDRGaEI7QTZEcjA0Rlk7RUFDSTtBN0R1MDRGaEI7QTZEcjA0Rlk7RUFDSTtBN0R1MDRGaEI7QTZEdDA0RmlCO0VBQ0c7QTdEdzA0RnBCO0E2RHQwNEZpQjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdEdzA0RnBCO0E2RHIwNEZxQjtFQUNHO0VBQ0E7QTdEdTA0RnhCO0E2RHIwNEZvQjtFQUNJO0E3RHUwNEZ4QjtBNkRqMDRGWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E3RG0wNEZoQjtBNkRsMDRGZ0I7RUFDSTtBN0RvMDRGcEI7QTZEajA0Rlk7RUFDSTtFQUNBO0E3RG0wNEZoQjtBNkRqMDRGYTtFQUNHO0VBQ0E7QTdEbTA0RmhCO0E2RGwwNEZnQjtFQUNJO0E3RG8wNEZwQjtBNkRsMDRGZ0I7RUFDSTtBN0RvMDRGcEI7QTZEaDA0RlE7RUFDSTtBN0RrMDRGWjtBNkRoMDRGZ0I7RUFDSTtFQUNBO0E3RGswNEZwQjtBNkRoMDRGd0I7RUFDSTtBN0RrMDRGNUI7QTZEaDA0RndCO0VBQ0k7QTdEazA0RjVCO0E2RDl6NEZnQjtFQUNJO0VBQ0E7QTdEZzA0RnBCO0E2RDl6NEZ3QjtFQUNJO0E3RGcwNEY1QjtBNkQ5ejRGd0I7RUFDSTtBN0RnMDRGNUI7QTZEMXo0RmdCO0VBQ0k7QTdENHo0RnBCO0E2RDF6NEZnQjtFQUNJO0E3RDR6NEZwQjtBNkR4ejRGUTtFQUNJO0VBQ0E7QTdEMHo0Rlo7QTZEeHo0RmdCO0VBQ0k7QTdEMHo0RnBCO0E2RHh6NEZnQjtFQUNJO0E3RDB6NEZwQjtBNkR2ejRGWTtFQUNJO0E3RHl6NEZoQjtBNkR0ejRGUTtFQUNJO0E3RHd6NEZaO0E2RHR6NEZTO0VBQ0c7QTdEd3o0Rlo7QTZEcno0Rlk7RUFDSTtBN0R1ejRGaEI7QTZEcno0Rlk7RUFDSTtFQUNBO0E3RHV6NEZoQjtBNkR0ejRGaUI7RUFDRztBN0R3ejRGcEI7QTZEdHo0RmlCO0VBQ0c7RUFDQTtBN0R3ejRGcEI7QTZEdHo0RmdCO0VBQ0k7QTdEd3o0RnBCO0E2RG56NEZZOzs7RUFHSTtBN0RxejRGaEI7QTZEbHo0RlE7RUFDSTtBN0RvejRGWjtBNkRuejRGWTtFQUNJO0E3RHF6NEZoQjtBNkRuejRGWTtFQUNJO0E3RHF6NEZoQjtBNkRuejRGYTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdEcXo0RmhCO0E2RHB6NEZpQjtFQUNHO0E3RHN6NEZwQjtBNkRwejRGZ0I7RUFDSTtBN0RzejRGcEI7QTZEcHo0RmdCO0VBQ0k7QTdEc3o0RnBCO0E2RHB6NEZnQjtFQUNJO0E3RHN6NEZwQjtBNkQ1eTRGWTtFQUNJO0E3RDh5NEZoQjtBNkQ1eTRGWTtFQUNJO0VBQ0E7QTdEOHk0RmhCO0E2RDN5NEZROztFQUVJO0VBQ0E7QTdENnk0Rlo7QTZEM3k0RlE7RUFDSTtFQUNBO0E3RDZ5NEZaO0E2RDV5NEZZOztFQUVJO0VBQ0E7QTdEOHk0RmhCO0E2RDN5NEZRO0VBQ0k7RUFDQTtBN0Q2eTRGWjtBNkR4eTRGWTtFQUNJO0E3RDB5NEZoQjtBNkR4eTRGWTtFQUNJO0VBQ0E7QTdEMHk0RmhCO0E2RHZ5NEZROztFQUVJO0VBQ0E7QTdEeXk0Rlo7QTZEdnk0RlE7RUFDSTtFQUNBO0E3RHl5NEZaO0E2RHh5NEZZOztFQUVJO0VBQ0E7QTdEMHk0RmhCO0E2RHZ5NEZRO0VBQ0k7RUFDQTtBN0R5eTRGWjtBNkRseTRGUTtFQUNJO0VBQ0E7QTdEb3k0Rlo7QTZEbnk0Rlk7RUFDSTtBN0RxeTRGaEI7QTZEbnk0Rlk7RUFDSTtBN0RxeTRGaEI7QTZEaHk0RlE7RUFDSTtFQUNBO0E3RGt5NEZaO0E2RGp5NEZZO0VBQ0k7QTdEbXk0RmhCO0E2RGp5NEZZO0VBQ0k7QTdEbXk0RmhCO0FBQ0E7OytCQUUrQjtBNkQ1eDRGL0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdEOHg0Rko7QTZEN3g0Rkk7RUFDSTtFQUNBO0VBQ0E7QTdEK3g0RlI7QTZEN3g0Rkk7RUFDSTtFQUNBO0E3RCt4NEZSO0E2RDd4NEZJO0VBQ0k7RUFDQTtBN0QreDRGUjtBNkQ3eDRGSTtFQUNJO0VBQ0E7QTdEK3g0RlI7QTZEN3g0Rkk7RUFDSTtFQUNBO0E3RCt4NEZSO0E2RDd4NEZJO0VBQ0k7RUFDQTtBN0QreDRGUjtBNkQ3eDRGSztFQUNHO0E3RCt4NEZSO0E2RDN4NEZhO0VBQ0c7QTdENng0RmhCO0E2RDN4NEZZO0VBQ0k7QTdENng0RmhCO0E2RHp4NEZZO0VBQ0k7QTdEMng0RmhCO0E2RHh4NEZRO0VBQ0k7QTdEMHg0Rlo7QTZEdng0Rlk7RUFDSTtFQUNBO0E3RHl4NEZoQjtBNkR2eDRGWTtFQUNJO0VBQ0E7QTdEeXg0RmhCO0E2RHZ4NEZZO0VBQ0k7RUFDQTtBN0R5eDRGaEI7QTZEdng0Rlk7RUFDSTtFQUNBO0E3RHl4NEZoQjtBNkRyeDRGWTs7RUFFSTtFQUNBO0E3RHV4NEZoQjtBNkRweDRGUTtFQUNJO0E3RHN4NEZaO0E2RHB4NEZRO0VBQ0k7QTdEc3g0Rlo7QTZEbHg0RlE7RUFDSTtBN0RveDRGWjtBNkRseDRGUTtFQUNJO0E3RG94NEZaO0E2RGx4NEZRO0VBQ0k7QTdEb3g0Rlo7QTZEang0RmE7O0VBRUc7QTdEbXg0RmhCO0E2RGh4NEZRO0VBQ0k7RUFDQTtFN0RreDRGVixhQUFhO0FBQ2Y7QTZEaHg0Rlk7O0VBRUk7QTdEa3g0RmhCO0E2RDV3NEZRO0VBQ0k7RUFDQTtBN0Q4dzRGWjtBNkQ1dzRGUTtFQUNJO0VBQ0E7QTdEOHc0Rlo7QTZEMXc0Rkk7RUFDSTtBN0Q0dzRGUjtBNkQzdzRGUTtFQUNJO0VBQ0E7RUFDQTtBN0Q2dzRGWjtBNkQzdzRGUTtFQUNJO0E3RDZ3NEZaO0E2RDN3NEZRO0VBQ0k7RUFDQTtBN0Q2dzRGWjtBNkQ1dzRGWTtFQUNJO0E3RDh3NEZoQjtBNkQ3dzRGZ0I7RUFDSTtFQUNBO0E3RCt3NEZwQjtBNkR4dzRGQTtFQUNJO0E3RDB3NEZKO0E2RHJ3NEZBOztFQUVJO0E3RHV3NEZKO0E2RHB3NEZBO0VBQ0k7QTdEc3c0Rko7QTZEbHc0Rkk7O0VBRUk7RUFDQTtFQUNBO0E3RG93NEZSO0E2RGx3NEZTOzs7Ozs7RUFHRztBN0R1dzRGWjtBNkRudzRGSTs7RUFFSTtBN0RxdzRGUjtBNkRsdzRGSTs7RUFFSTtBN0RvdzRGUjtBNkRsdzRGUzs7RUFDRztFQUNBO0E3RHF3NEZaO0FBQ0E7O2dCQUVnQjtBNkQxdjRGUDtFQUNHO0VBQ0E7QTdENHY0Rlo7QTZEenY0RmE7O0VBRUc7RUFDQTtBN0QydjRGaEI7QTZEbnc0RlM7RUFDRztFQUNBO0E3RHF3NEZaO0E2RGx3NEZhOztFQUVHO0VBQ0E7QTdEb3c0RmhCO0E2RDV3NEZTO0VBQ0c7RUFDQTtBN0Q4dzRGWjtBNkQzdzRGYTs7RUFFRztFQUNBO0E3RDZ3NEZoQjtBNkRyeDRGUztFQUNHO0VBQ0E7QTdEdXg0Rlo7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cEI7QThEanM3RmE7RUFDRztBOURtczdGaEI7QThEaHM3RmlCO0VBQ0c7QTlEa3M3RnBCO0E4RHZzN0ZhO0VBQ0c7QTlEeXM3RmhCO0E4RHRzN0ZpQjtFQUNHO0E5RHdzN0ZwQjtBOEQ3czdGYTtFQUNHO0E5RCtzN0ZoQjtBOEQ1czdGaUI7RUFDRztBOUQ4czdGcEI7QThEbnQ3RmE7RUFDRztBOURxdDdGaEI7QThEbHQ3RmlCO0VBQ0c7QTlEb3Q3RnBCO0E4RHp0N0ZhO0VBQ0c7QTlEMnQ3RmhCO0E4RHh0N0ZpQjtFQUNHO0E5RDB0N0ZwQjtBOEQvdDdGYTtFQUNHO0E5RGl1N0ZoQjtBOEQ5dDdGaUI7RUFDRztBOURndTdGcEI7QThEcnU3RmE7RUFDRztBOUR1dTdGaEI7QThEcHU3RmlCO0VBQ0c7QTlEc3U3RnBCO0E4RDN1N0ZhO0VBQ0c7QTlENnU3RmhCO0E4RDF1N0ZpQjtFQUNHO0E5RDR1N0ZwQjtBOERqdjdGYTtFQUNHO0E5RG12N0ZoQjtBOERodjdGaUI7RUFDRztBOURrdjdGcEI7QThEdnY3RmE7RUFDRztBOUR5djdGaEI7QThEdHY3RmlCO0VBQ0c7QTlEd3Y3RnBCO0FBQ0E7OytCQUUrQjtBQUMvQjs7Ozs7O0NBTUM7QUFDRDs7cUJBRXFCO0ErRGgyN0ZqQjtFQUNJO0EvRGsyN0ZSO0ErRGgyN0ZJO0VBQ0k7QS9EazI3RlI7QStEaDI3Rkk7O0VBRUk7QS9EazI3RlI7QStEaDI3Rkk7RUFDSTtBL0RrMjdGUjtBQUNBLE9BQU87QStELzE3Rkg7RUFDSTtJQUNJO0lBQ0E7RS9EaTI3RlY7RStELzE3Rk07SUFDSTtJQUNBO0lBQ0E7RS9EaTI3RlY7RStELzE3Rk07SUFDSTtJQUNBO0lBQ0E7RS9EaTI3RlY7RStELzE3Rk07SUFDSTtJQUNBO0UvRGkyN0ZWO0FBQ0Y7QUFDQSxRQUFRO0ErRDkxN0ZKO0VBQ0k7SUFDSTtJQUNBO0UvRGcyN0ZWO0UrRDkxN0ZNO0lBQ0k7SUFDQTtFL0RnMjdGVjtFK0Q5MTdGTTtJQUNJO0UvRGcyN0ZWO0UrRDkxN0ZNO0lBQ0k7SUFDQTtJQUNBO0UvRGcyN0ZWO0FBQ0Y7QStEOTE3Rkk7RUFDSTtJQUNJO0lBQ0E7RS9EZzI3RlY7RStEOTE3Rk07SUFDSTtJQUNBO0UvRGcyN0ZWO0UrRDkxN0ZNO0lBQ0k7RS9EZzI3RlY7RStEOTE3Rk07SUFDSTtJQUNBO0lBQ0E7RS9EZzI3RlY7QUFDRjtBQUNBOztxQkFFcUI7QStEMTE3RmpCO0VBQ0k7RUFDQTtFQUNBO0EvRDQxN0ZSO0ErRDExN0ZJO0VBQ0k7QS9ENDE3RlI7QStEMTE3Rkk7RUFDSTtBL0Q0MTdGUjtBQUNBLFNBQVM7QStEejE3Rkw7RUFDSTtJQUNJO0lBQ0E7RS9EMjE3RlY7RStEejE3Rk07SUFDSTtJQUNBO0UvRDIxN0ZWO0FBQ0Y7QStEejE3Rkk7RUFDSTtJQUNJO0lBQ0E7RS9EMjE3RlY7RStEejE3Rk07SUFDSTtJQUNBO0UvRDIxN0ZWO0FBQ0Y7QUFDQTs7cUJBRXFCO0ErRHIxN0ZqQjtFQUNJO0EvRHUxN0ZSO0ErRHIxN0ZJO0VBQ0k7QS9EdTE3RlI7QStEcjE3Rkk7RUFDSTtBL0R1MTdGUjtBK0RyMTdGSTtFQUNJO0EvRHUxN0ZSO0ErRHIxN0ZJO0VBQ0k7QS9EdTE3RlI7QStEcDE3Rkk7RUFDSTtBL0RzMTdGUjtBK0RwMTdGSTtFQUNJO0EvRHMxN0ZSO0ErRHAxN0ZJO0VBQ0k7QS9EczE3RlI7QStEcDE3Rkk7RUFDSTtBL0RzMTdGUjtBK0RwMTdGSTtFQUNJO0EvRHMxN0ZSO0FBQ0EsT0FBTztBK0RuMTdGSDtFQUNJO0lBQ0k7RS9EcTE3RlY7RStEbjE3Rk07SUFDSTtFL0RxMTdGVjtBQUNGO0ErRG4xN0ZJO0VBQ0k7SUFDSTtJQUNBO0UvRHExN0ZWO0UrRG4xN0ZNO0lBQ0k7SUFDQTtFL0RxMTdGVjtBQUNGO0ErRG4xN0ZJO0VBQ0k7SUFDSTtJQUNBO0UvRHExN0ZWO0UrRG4xN0ZNO0lBQ0k7SUFDQTtFL0RxMTdGVjtBQUNGO0ErRG4xN0ZJO0VBQ0k7SUFDSTtJQUNBO0UvRHExN0ZWO0UrRG4xN0ZNO0lBQ0k7SUFDQTtFL0RxMTdGVjtBQUNGO0ErRG4xN0ZJO0VBQ0k7SUFDSTtJQUNBO0UvRHExN0ZWO0UrRG4xN0ZNO0lBQ0k7SUFDQTtFL0RxMTdGVjtBQUNGO0FBQ0EsUUFBUTtBK0RsMTdGSjtFQUNJO0lBQ0k7RS9EbzE3RlY7RStEbDE3Rk07SUFDSTtFL0RvMTdGVjtBQUNGO0ErRGwxN0ZJO0VBQ0k7SUFDSTtJQUNBO0UvRG8xN0ZWO0UrRGwxN0ZNO0lBQ0k7SUFDQTtFL0RvMTdGVjtBQUNGO0ErRGwxN0ZJO0VBQ0k7SUFDSTtJQUNBO0UvRG8xN0ZWO0UrRGwxN0ZNO0lBQ0k7SUFDQTtFL0RvMTdGVjtBQUNGO0ErRGwxN0ZJO0VBQ0k7SUFDSTtJQUNBO0UvRG8xN0ZWO0UrRGwxN0ZNO0lBQ0k7SUFDQTtFL0RvMTdGVjtBQUNGO0ErRGwxN0ZJO0VBQ0k7SUFDSTtJQUNBO0UvRG8xN0ZWO0UrRGwxN0ZNO0lBQ0k7SUFDQTtFL0RvMTdGVjtBQUNGO0FBQ0E7O3FCQUVxQjtBK0Q5MDdGakI7O0VBRUk7QS9EZzE3RlI7QStEOTA3Rkk7RUFDSTtBL0RnMTdGUjtBK0Q5MDdGSTtFQUNJO0EvRGcxN0ZSO0ErRDkwN0ZJO0VBQ0k7QS9EZzE3RlI7QStEOTA3Rkk7RUFDSTtBL0RnMTdGUjtBQUNBLE9BQU87QStENzA3Rkg7RUFDSTtJQUNJO0lBQ0E7RS9EKzA3RlY7RStENzA3Rk07SUFDSTtJQUNBO0UvRCswN0ZWO0FBQ0Y7QStENzA3Rkk7RUFDSTtJQUNJO0lBQ0E7RS9EKzA3RlY7RStENzA3Rk07SUFDSTtJQUNBO0UvRCswN0ZWO0FBQ0Y7QUFDQSxRQUFRO0ErRDUwN0ZKO0VBQ0k7SUFDSTtJQUNBO0UvRDgwN0ZWO0UrRDUwN0ZNO0lBQ0k7SUFDQTtFL0Q4MDdGVjtBQUNGO0ErRDUwN0ZJO0VBQ0k7SUFDSTtJQUNBO0UvRDgwN0ZWO0UrRDUwN0ZNO0lBQ0k7SUFDQTtFL0Q4MDdGVjtBQUNGO0FBQ0E7O3FCQUVxQjtBK0R4MDdGakI7RUFDSTtBL0QwMDdGUjtBK0R4MDdGSTtFQUNJO0EvRDAwN0ZSO0ErRHYwN0ZJO0VBQ0k7SUFDSTtJQUNBO0UvRHkwN0ZWO0UrRHYwN0ZNO0lBQ0k7SUFDQTtFL0R5MDdGVjtBQUNGO0FBQ0EsUUFBUTtBK0R0MDdGSjtFQUNJO0lBQ0k7SUFDQTtFL0R3MDdGVjtFK0R0MDdGTTtJQUNJO0lBQ0E7RS9EdzA3RlY7QUFDRjtBQUNBOztxQkFFcUI7QUFDckIsV0FBVztBK0RsMDdGUDtFQUNJO0VBQ0E7QS9EbzA3RlI7QStEbDA3Rkk7RUFDSTtBL0RvMDdGUjtBK0RsMDdGSTtFQUNJO0EvRG8wN0ZSO0ErRGwwN0ZJO0VBQ0k7QS9EbzA3RlI7QStEbDA3Rkk7RUFDSTtBL0RvMDdGUjtBK0RsMDdGSTtFQUNJO0EvRG8wN0ZSO0FBQ0EsWUFBWTtBK0RqMDdGUjtFQUNJO0EvRG0wN0ZSO0ErRGowN0ZJO0VBQ0k7QS9EbTA3RlI7QStEajA3Rkk7RUFDSTtBL0RtMDdGUjtBK0RqMDdGSTtFQUNJO0EvRG0wN0ZSO0ErRGowN0ZJO0VBQ0k7QS9EbTA3RlI7QUFDQSxPQUFPO0ErRGgwN0ZIO0VBQ0k7SUFDSTtJQUNBO0UvRGswN0ZWO0UrRGgwN0ZNO0lBQ0k7RS9EazA3RlY7RStEaDA3Rk07SUFDSTtFL0RrMDdGVjtFK0RoMDdGTTtJQUNJO0lBQ0E7RS9EazA3RlY7RStEaDA3Rk07SUFDSTtFL0RrMDdGVjtFK0RoMDdGTTtJQUNJO0lBQ0E7RS9EazA3RlY7QUFDRjtBK0RoMDdGSTtFQUNJO0lBQ0k7SUFDQTtFL0RrMDdGVjtFK0RoMDdGTTtJQUNJO0lBQ0E7RS9EazA3RlY7RStEaDA3Rk07SUFDSTtFL0RrMDdGVjtFK0RoMDdGTTtJQUNJO0UvRGswN0ZWO0UrRGgwN0ZNO0lBQ0k7RS9EazA3RlY7QUFDRjtBK0RoMDdGSTtFQUNJO0lBQ0k7SUFDQTtFL0RrMDdGVjtFK0RoMDdGTTtJQUNJO0lBQ0E7RS9EazA3RlY7RStEaDA3Rk07SUFDSTtFL0RrMDdGVjtFK0RoMDdGTTtJQUNJO0UvRGswN0ZWO0UrRGgwN0ZNO0lBQ0k7RS9EazA3RlY7QUFDRjtBK0RoMDdGSTtFQUNJO0lBQ0k7SUFDQTtFL0RrMDdGVjtFK0RoMDdGTTtJQUNJO0lBQ0E7RS9EazA3RlY7RStEaDA3Rk07SUFDSTtFL0RrMDdGVjtF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O0UvRG14N0ZWO0UrRGp4N0ZNOzs7SUFHSTtFL0RteDdGVjtFK0RqeDdGTTtJQUNJO0UvRG14N0ZWO0FBQ0Y7QUFDQSxVQUFVO0ErRC93N0ZOO0VBQ0k7SUFDSTtJQUNBO0UvRGl4N0ZWO0UrRC93N0ZNO0lBQ0k7SUFDQTtFL0RpeDdGVjtFK0QvdzdGTTtJQUNJO0lBQ0E7RS9EaXg3RlY7QUFDRjtBQUNBLFdBQVc7QStEN3c3RlA7RUFDSTtJQUNJO0UvRCt3N0ZWO0UrRDd3N0ZNO0lBQ0k7RS9EK3c3RlY7RStEN3c3Rk07SUFDSTtFL0QrdzdGVjtFK0Q3dzdGTTtJQUNJO0UvRCt3N0ZWO0UrRDd3N0ZNO0lBQ0k7RS9EK3c3RlY7RStEN3c3Rk07SUFDSTtFL0QrdzdGVjtFK0Q3dzdGTTtJQUNJO0UvRCt3N0ZWO0FBQ0Y7QUFDQSxTQUFTO0ErRDN3N0ZMO0VBQ0k7SUFDSTtFL0Q2dzdGVjtFK0QzdzdGTTtJQUNJO0UvRDZ3N0ZWO0UrRDN3N0ZNO0lBQ0k7RS9ENnc3RlY7QUFDRjtBQUNBOzsrQkFFK0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9zZW1hbnRpYy5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL2dsb2JhbHMvcmVzZXQubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy90aGVtZXMvZGVmYXVsdC9nbG9iYWxzL3Jlc2V0Lm92ZXJyaWRlcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy90aGVtZS5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL2dsb2JhbHMvc2l0ZS5sZXNzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zZW1hbnRpYy11aS9zaXRlL2dsb2JhbHMvc2l0ZS5vdmVycmlkZXMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvZWxlbWVudHMvYnV0dG9uLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvZWxlbWVudHMvY29udGFpbmVyLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvZWxlbWVudHMvZGl2aWRlci5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL3RoZW1lcy9kZWZhdWx0L2VsZW1lbnRzL2RpdmlkZXIub3ZlcnJpZGVzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL2VsZW1lbnRzL2Vtb2ppLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvZWxlbWVudHMvZmxhZy5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL2VsZW1lbnRzL2hlYWRlci5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL2VsZW1lbnRzL2ljb24ubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9lbGVtZW50cy9pbWFnZS5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL2VsZW1lbnRzL2lucHV0Lmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvZWxlbWVudHMvbGFiZWwubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9lbGVtZW50cy9saXN0Lmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvZWxlbWVudHMvbG9hZGVyLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvZWxlbWVudHMvcGxhY2Vob2xkZXIubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9lbGVtZW50cy9yYWlsLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvZWxlbWVudHMvcmV2ZWFsLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvZWxlbWVudHMvc2VnbWVudC5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL2VsZW1lbnRzL3N0ZXAubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy90aGVtZXMvZGVmYXVsdC9lbGVtZW50cy9zdGVwLm92ZXJyaWRlcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9lbGVtZW50cy90ZXh0Lmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvY29sbGVjdGlvbnMvYnJlYWRjcnVtYi5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL2NvbGxlY3Rpb25zL2Zvcm0ubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9jb2xsZWN0aW9ucy9ncmlkLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvY29sbGVjdGlvbnMvbWVudS5sZXNzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zZW1hbnRpYy11aS9zaXRlL2NvbGxlY3Rpb25zL21lbnUub3ZlcnJpZGVzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL2NvbGxlY3Rpb25zL21lc3NhZ2UubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9jb2xsZWN0aW9ucy90YWJsZS5sZXNzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zZW1hbnRpYy11aS9zaXRlL2NvbGxlY3Rpb25zL3RhYmxlLm92ZXJyaWRlcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy92aWV3cy9hZC5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL3ZpZXdzL2NhcmQubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy92aWV3cy9jb21tZW50Lmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvdmlld3MvZmVlZC5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL3ZpZXdzL2l0ZW0ubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy92aWV3cy9zdGF0aXN0aWMubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9tb2R1bGVzL2FjY29yZGlvbi5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL3RoZW1lcy9kZWZhdWx0L21vZHVsZXMvYWNjb3JkaW9uLm92ZXJyaWRlcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9tb2R1bGVzL2NhbGVuZGFyLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvbW9kdWxlcy9jaGVja2JveC5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL3RoZW1lcy9kZWZhdWx0L21vZHVsZXMvY2hlY2tib3gub3ZlcnJpZGVzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL21vZHVsZXMvZGltbWVyLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvbW9kdWxlcy9kcm9wZG93bi5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL3RoZW1lcy9kZWZhdWx0L21vZHVsZXMvZHJvcGRvd24ub3ZlcnJpZGVzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL21vZHVsZXMvZW1iZWQubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9tb2R1bGVzL2ZseW91dC5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL21vZHVsZXMvbW9kYWwubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9tb2R1bGVzL25hZy5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL21vZHVsZXMvcG9wdXAubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9tb2R1bGVzL3Byb2dyZXNzLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvbW9kdWxlcy9zbGlkZXIubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9tb2R1bGVzL3JhdGluZy5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL21vZHVsZXMvc2VhcmNoLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvbW9kdWxlcy9zaGFwZS5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL21vZHVsZXMvc2lkZWJhci5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb21hbnRpYy11aS1sZXNzL2RlZmluaXRpb25zL21vZHVsZXMvc3RpY2t5Lmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvbW9kdWxlcy90YWIubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9tYW50aWMtdWktbGVzcy9kZWZpbml0aW9ucy9tb2R1bGVzL3RvYXN0Lmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvZGVmaW5pdGlvbnMvbW9kdWxlcy90cmFuc2l0aW9uLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbWFudGljLXVpLWxlc3MvdGhlbWVzL2RlZmF1bHQvbW9kdWxlcy90cmFuc2l0aW9uLm92ZXJyaWRlcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuXG7ilojilojilojilojilojilojilojilZcg4paI4paI4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVlyDilojilojilojilojilojilZcg4paI4paI4paI4pWXICAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXIOKWiOKWiOKWiOKWiOKWiOKWiOKVlyAgICDilojilojilZcgICDilojilojilZfilojilojilZdcbuKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilojilojilZfilojilojilojilojilZcgIOKWiOKWiOKVkeKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnSAgICDilojilojilZEgICDilojilojilZHilojilojilZFcbuKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWRICAg4paI4paI4pWR4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4pWU4paI4paI4pWXIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkeKWiOKWiOKVkSAgICAgICAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkeKWiOKWiOKVkVxu4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZEgICDilojilojilZHilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilojilojilZHilojilojilZHilZrilojilojilZfilojilojilZEgICDilojilojilZEgICDilojilojilZHilojilojilZEgICAgICAgICDilojilojilZEgICDilojilojilZHilojilojilZFcbuKWiOKWiOKVkSAgICAg4pWa4paI4paI4paI4paI4paI4paI4pWU4pWd4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVkSDilZrilojilojilojilojilZEgICDilojilojilZEgICDilojilojilZHilZrilojilojilojilojilojilojilZcgICAg4pWa4paI4paI4paI4paI4paI4paI4pWU4pWd4paI4paI4pWRXG7ilZrilZDilZ0gICAgICDilZrilZDilZDilZDilZDilZDilZ0g4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWdICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdIOKVmuKVkOKVkOKVkOKVkOKVkOKVnSAgICAg4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWdIOKVmuKVkOKVnVxuXG4gIEltcG9ydCB0aGlzIGZpbGUgaW50byB5b3VyIExFU1MgcHJvamVjdCB0byB1c2UgRm9tYW50aWMtVUkgd2l0aG91dCBidWlsZCB0b29sc1xuKi9cbi8qIEdsb2JhbCAqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gUmVzZXRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgUmVzZXRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgUmVzZXRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCb3JkZXItQm94ICovXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4vKiBpUGFkIElucHV0IFNoYWRvd3MgKi9cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAvKiBtb2JpbGUgZmlyZWZveCB0b28hICovXG59XG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbn1cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovXG59XG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqL1xufVxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAxICovXG59XG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgLyogMSAqL1xufVxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi9cbn1cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG59XG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG59XG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBTaXRlXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFBhZ2VcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICBzcmM6IHVybChcIi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL0xhdG9MYXRpbi1SZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpICwgdXJsKFwiLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvTGF0b0xhdGluLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLCBVKzAwMEQsIFUrMDAyMC0wMDdFLCBVKzAwQTAtMDE3RiwgVSswMTkyLCBVKzAyMTgtMDIxQiwgVSswMjM3LCBVKzAyQzYtMDJDNywgVSswMkM5LCBVKzAyRDgtMDJERCwgVSswMzk0LCBVKzAzQTksIFUrMDNCQywgVSswM0MwLCBVKzFFODAtMUU4NSwgVSsyMDEwLCBVKzIwMTMtMjAxNCwgVSsyMDE4LTIwMUEsIFUrMjAxQy0yMDFFLCBVKzIwMjAtMjAyMiwgVSsyMDI2LCBVKzIwMzAsIFUrMjAzOS0yMDNBLCBVKzIwNDQsIFUrMjBBMy0yMEE0LCBVKzIwQTcsIFUrMjBBQywgVSsyMTEzLCBVKzIxMjIsIFUrMjEyNiwgVSsyMTJFLCBVKzIyMDIsIFUrMjIwNiwgVSsyMjBGLCBVKzIyMTEtMjIxMiwgVSsyMjE1LCBVKzIyMTktMjIxQSwgVSsyMjFFLCBVKzIyMkIsIFUrMjI0OCwgVSsyMjYwLCBVKzIyNjQtMjI2NSwgVSsyNUNBLCBVK0Y4RkYsIFUrRkIwMC1GQjA0O1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9MYXRvTGF0aW4tQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSAsIHVybChcIi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL0xhdG9MYXRpbi1Cb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMDAsIFUrMDAwRCwgVSswMDIwLTAwN0UsIFUrMDBBMC0wMTdGLCBVKzAxOTIsIFUrMDIxOC0wMjFCLCBVKzAyMzcsIFUrMDJDNi0wMkM3LCBVKzAyQzksIFUrMDJEOC0wMkRELCBVKzAzOTQsIFUrMDNBOSwgVSswM0JDLCBVKzAzQzAsIFUrMUU4MC0xRTg1LCBVKzIwMTAsIFUrMjAxMy0yMDE0LCBVKzIwMTgtMjAxQSwgVSsyMDFDLTIwMUUsIFUrMjAyMC0yMDIyLCBVKzIwMjYsIFUrMjAzMCwgVSsyMDM5LTIwM0EsIFUrMjA0NCwgVSsyMEEzLTIwQTQsIFUrMjBBNywgVSsyMEFDLCBVKzIxMTMsIFUrMjEyMiwgVSsyMTI2LCBVKzIxMkUsIFUrMjIwMiwgVSsyMjA2LCBVKzIyMEYsIFUrMjIxMS0yMjEyLCBVKzIyMTUsIFUrMjIxOS0yMjFBLCBVKzIyMUUsIFUrMjIyQiwgVSsyMjQ4LCBVKzIyNjAsIFUrMjI2NC0yMjY1LCBVKzI1Q0EsIFUrRjhGRiwgVStGQjAwLUZCMDQ7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICBzcmM6IHVybChcIi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL0xhdG9MYXRpbi1JdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIikgLCB1cmwoXCIuL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9MYXRvTGF0aW4tSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMCwgVSswMDBELCBVKzAwMjAtMDA3RSwgVSswMEEwLTAxN0YsIFUrMDE5MiwgVSswMjE4LTAyMUIsIFUrMDIzNywgVSswMkM2LTAyQzcsIFUrMDJDOSwgVSswMkQ4LTAyREQsIFUrMDM5NCwgVSswM0E5LCBVKzAzQkMsIFUrMDNDMCwgVSsxRTgwLTFFODUsIFUrMjAxMCwgVSsyMDEzLTIwMTQsIFUrMjAxOC0yMDFBLCBVKzIwMUMtMjAxRSwgVSsyMDIwLTIwMjIsIFUrMjAyNiwgVSsyMDMwLCBVKzIwMzktMjAzQSwgVSsyMDQ0LCBVKzIwQTMtMjBBNCwgVSsyMEE3LCBVKzIwQUMsIFUrMjExMywgVSsyMTIyLCBVKzIxMjYsIFUrMjEyRSwgVSsyMjAyLCBVKzIyMDYsIFUrMjIwRiwgVSsyMjExLTIyMTIsIFUrMjIxNSwgVSsyMjE5LTIyMUEsIFUrMjIxRSwgVSsyMjJCLCBVKzIyNDgsIFUrMjI2MCwgVSsyMjY0LTIyNjUsIFUrMjVDQSwgVStGOEZGLCBVK0ZCMDAtRkIwNDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIHNyYzogdXJsKFwiLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvTGF0b0xhdGluLUJvbGRJdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIikgLCB1cmwoXCIuL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9MYXRvTGF0aW4tQm9sZEl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLCBVKzAwMEQsIFUrMDAyMC0wMDdFLCBVKzAwQTAtMDE3RiwgVSswMTkyLCBVKzAyMTgtMDIxQiwgVSswMjM3LCBVKzAyQzYtMDJDNywgVSswMkM5LCBVKzAyRDgtMDJERCwgVSswMzk0LCBVKzAzQTksIFUrMDNCQywgVSswM0MwLCBVKzFFODAtMUU4NSwgVSsyMDEwLCBVKzIwMTMtMjAxNCwgVSsyMDE4LTIwMUEsIFUrMjAxQy0yMDFFLCBVKzIwMjAtMjAyMiwgVSsyMDI2LCBVKzIwMzAsIFUrMjAzOS0yMDNBLCBVKzIwNDQsIFUrMjBBMy0yMEE0LCBVKzIwQTcsIFUrMjBBQywgVSsyMTEzLCBVKzIxMjIsIFUrMjEyNiwgVSsyMTJFLCBVKzIyMDIsIFUrMjIwNiwgVSsyMjBGLCBVKzIyMTEtMjIxMiwgVSsyMjE1LCBVKzIyMTktMjIxQSwgVSsyMjFFLCBVKzIyMkIsIFUrMjI0OCwgVSsyMjYwLCBVKzIyNjQtMjI2NSwgVSsyNUNBLCBVK0Y4RkYsIFUrRkIwMC1GQjA0O1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9MYXRvLVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIikgLCB1cmwoXCIuL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9MYXRvLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgdW5pY29kZS1yYW5nZTogVSswMTgwLTAxOTEsIFUrMDE5My0wMjE3LCBVKzAyMUMtMDIzNiwgVSswMjM4LTAyQzUsIFUrMDJDOCwgVSswMkNBLTAyRDcsIFUrMDJERS0wMzZGLCBVKzAzNzQtMDM3NSwgVSswMzdBLTAzN0UsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wMzkzLCBVKzAzOTUtMDNBMSwgVSswM0EzLTAzQTgsIFUrMDNBQS0wM0JCLCBVKzAzQkQtMDNCRiwgVSswM0MxLTAzQ0UsIFUrMDNEMC0wNDg2LCBVKzA0ODgtMDUxMywgVSsxRDAwLTFEQ0EsIFUrMURGRS0xRTdGLCBVKzFFODYtMUU5QiwgVSsxRTlFLCBVKzFFQTAtMUVGOSwgVSsxRjAwLTFGMTUsIFUrMUYxOC0xRjFELCBVKzFGMjAtMUY0NSwgVSsxRjQ4LTFGNEQsIFUrMUY1MC0xRjU3LCBVKzFGNTksIFUrMUY1QiwgVSsxRjVELCBVKzFGNUYtMUY3RCwgVSsxRjgwLTFGQjQsIFUrMUZCNi0xRkM0LCBVKzFGQzYtMUZEMywgVSsxRkQ2LTFGREIsIFUrMUZERC0xRkVGLCBVKzFGRjItMUZGNCwgVSsxRkY2LTFGRkUsIFUrMjAwMC0yMDBGLCBVKzIwMTIsIFUrMjAxNS0yMDE3LCBVKzIwMUIsIFUrMjAxRiwgVSsyMDJGLCBVKzIwMzQsIFUrMjAzQy0yMDNFLCBVKzIwNUUtMjA1RiwgVSsyMDcwLTIwNzEsIFUrMjA3NC0yMDk0LCBVKzIwQTAtMjBBMiwgVSsyMEE1LTIwQTYsIFUrMjBBOC0yMEFCLCBVKzIwQUQtMjBCNSwgVSsyMEI4LTIwQkEsIFUrMjBERCwgVSsyMTA1LCBVKzIxMTYtMjExNywgVSsyMTIwLCBVKzIxMzIsIFUrMjE0RC0yMTRFLCBVKzIxNTMtMjE1RiwgVSsyMTgzLTIxODQsIFUrMjE5MC0yMTk5LCBVKzIxQTgsIFUrMjIxRiwgVSsyMjI5LCBVKzIyNjEsIFUrMjMwMiwgVSsyMzEwLCBVKzIzMjAtMjMyMSwgVSsyNDYwLTI0NzMsIFUrMjRFQS0yNEY0LCBVKzI0RkYtMjUwMCwgVSsyNTAyLCBVKzI1MEMsIFUrMjUxMCwgVSsyNTE0LCBVKzI1MTgsIFUrMkM2MC0yQzZDLCBVKzJDNzQtMkM3Nztcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIHNyYzogdXJsKFwiLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvTGF0by1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpICwgdXJsKFwiLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvTGF0by1Cb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICB1bmljb2RlLXJhbmdlOiBVKzAxODAtMDE5MSwgVSswMTkzLTAyMTcsIFUrMDIxQy0wMjM2LCBVKzAyMzgtMDJDNSwgVSswMkM4LCBVKzAyQ0EtMDJENywgVSswMkRFLTAzNkYsIFUrMDM3NC0wMzc1LCBVKzAzN0EtMDM3RSwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzOTMsIFUrMDM5NS0wM0ExLCBVKzAzQTMtMDNBOCwgVSswM0FBLTAzQkIsIFUrMDNCRC0wM0JGLCBVKzAzQzEtMDNDRSwgVSswM0QwLTA0ODYsIFUrMDQ4OC0wNTEzLCBVKzFEMDAtMURDQSwgVSsxREZFLTFFN0YsIFUrMUU4Ni0xRTlCLCBVKzFFOUUsIFUrMUVBMC0xRUY5LCBVKzFGMDAtMUYxNSwgVSsxRjE4LTFGMUQsIFUrMUYyMC0xRjQ1LCBVKzFGNDgtMUY0RCwgVSsxRjUwLTFGNTcsIFUrMUY1OSwgVSsxRjVCLCBVKzFGNUQsIFUrMUY1Ri0xRjdELCBVKzFGODAtMUZCNCwgVSsxRkI2LTFGQzQsIFUrMUZDNi0xRkQzLCBVKzFGRDYtMUZEQiwgVSsxRkRELTFGRUYsIFUrMUZGMi0xRkY0LCBVKzFGRjYtMUZGRSwgVSsyMDAwLTIwMEYsIFUrMjAxMiwgVSsyMDE1LTIwMTcsIFUrMjAxQiwgVSsyMDFGLCBVKzIwMkYsIFUrMjAzNCwgVSsyMDNDLTIwM0UsIFUrMjA1RS0yMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOTQsIFUrMjBBMC0yMEEyLCBVKzIwQTUtMjBBNiwgVSsyMEE4LTIwQUIsIFUrMjBBRC0yMEI1LCBVKzIwQjgtMjBCQSwgVSsyMERELCBVKzIxMDUsIFUrMjExNi0yMTE3LCBVKzIxMjAsIFUrMjEzMiwgVSsyMTRELTIxNEUsIFUrMjE1My0yMTVGLCBVKzIxODMtMjE4NCwgVSsyMTkwLTIxOTksIFUrMjFBOCwgVSsyMjFGLCBVKzIyMjksIFUrMjI2MSwgVSsyMzAyLCBVKzIzMTAsIFUrMjMyMC0yMzIxLCBVKzI0NjAtMjQ3MywgVSsyNEVBLTI0RjQsIFUrMjRGRi0yNTAwLCBVKzI1MDIsIFUrMjUwQywgVSsyNTEwLCBVKzI1MTQsIFUrMjUxOCwgVSsyQzYwLTJDNkMsIFUrMkM3NC0yQzc3O1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9MYXRvLUl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSAsIHVybChcIi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL0xhdG8tSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDE4MC0wMTkxLCBVKzAxOTMtMDIxNywgVSswMjFDLTAyMzYsIFUrMDIzOC0wMkM1LCBVKzAyQzgsIFUrMDJDQS0wMkQ3LCBVKzAyREUtMDM2RiwgVSswMzc0LTAzNzUsIFUrMDM3QS0wMzdFLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDM5MywgVSswMzk1LTAzQTEsIFUrMDNBMy0wM0E4LCBVKzAzQUEtMDNCQiwgVSswM0JELTAzQkYsIFUrMDNDMS0wM0NFLCBVKzAzRDAtMDQ4NiwgVSswNDg4LTA1MTMsIFUrMUQwMC0xRENBLCBVKzFERkUtMUU3RiwgVSsxRTg2LTFFOUIsIFUrMUU5RSwgVSsxRUEwLTFFRjksIFUrMUYwMC0xRjE1LCBVKzFGMTgtMUYxRCwgVSsxRjIwLTFGNDUsIFUrMUY0OC0xRjRELCBVKzFGNTAtMUY1NywgVSsxRjU5LCBVKzFGNUIsIFUrMUY1RCwgVSsxRjVGLTFGN0QsIFUrMUY4MC0xRkI0LCBVKzFGQjYtMUZDNCwgVSsxRkM2LTFGRDMsIFUrMUZENi0xRkRCLCBVKzFGREQtMUZFRiwgVSsxRkYyLTFGRjQsIFUrMUZGNi0xRkZFLCBVKzIwMDAtMjAwRiwgVSsyMDEyLCBVKzIwMTUtMjAxNywgVSsyMDFCLCBVKzIwMUYsIFUrMjAyRiwgVSsyMDM0LCBVKzIwM0MtMjAzRSwgVSsyMDVFLTIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA5NCwgVSsyMEEwLTIwQTIsIFUrMjBBNS0yMEE2LCBVKzIwQTgtMjBBQiwgVSsyMEFELTIwQjUsIFUrMjBCOC0yMEJBLCBVKzIwREQsIFUrMjEwNSwgVSsyMTE2LTIxMTcsIFUrMjEyMCwgVSsyMTMyLCBVKzIxNEQtMjE0RSwgVSsyMTUzLTIxNUYsIFUrMjE4My0yMTg0LCBVKzIxOTAtMjE5OSwgVSsyMUE4LCBVKzIyMUYsIFUrMjIyOSwgVSsyMjYxLCBVKzIzMDIsIFUrMjMxMCwgVSsyMzIwLTIzMjEsIFUrMjQ2MC0yNDczLCBVKzI0RUEtMjRGNCwgVSsyNEZGLTI1MDAsIFUrMjUwMiwgVSsyNTBDLCBVKzI1MTAsIFUrMjUxNCwgVSsyNTE4LCBVKzJDNjAtMkM2QywgVSsyQzc0LTJDNzc7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICBzcmM6IHVybChcIi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL0xhdG8tQm9sZEl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSAsIHVybChcIi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL0xhdG8tQm9sZEl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgdW5pY29kZS1yYW5nZTogVSswMTgwLTAxOTEsIFUrMDE5My0wMjE3LCBVKzAyMUMtMDIzNiwgVSswMjM4LTAyQzUsIFUrMDJDOCwgVSswMkNBLTAyRDcsIFUrMDJERS0wMzZGLCBVKzAzNzQtMDM3NSwgVSswMzdBLTAzN0UsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wMzkzLCBVKzAzOTUtMDNBMSwgVSswM0EzLTAzQTgsIFUrMDNBQS0wM0JCLCBVKzAzQkQtMDNCRiwgVSswM0MxLTAzQ0UsIFUrMDNEMC0wNDg2LCBVKzA0ODgtMDUxMywgVSsxRDAwLTFEQ0EsIFUrMURGRS0xRTdGLCBVKzFFODYtMUU5QiwgVSsxRTlFLCBVKzFFQTAtMUVGOSwgVSsxRjAwLTFGMTUsIFUrMUYxOC0xRjFELCBVKzFGMjAtMUY0NSwgVSsxRjQ4LTFGNEQsIFUrMUY1MC0xRjU3LCBVKzFGNTksIFUrMUY1QiwgVSsxRjVELCBVKzFGNUYtMUY3RCwgVSsxRjgwLTFGQjQsIFUrMUZCNi0xRkM0LCBVKzFGQzYtMUZEMywgVSsxRkQ2LTFGREIsIFUrMUZERC0xRkVGLCBVKzFGRjItMUZGNCwgVSsxRkY2LTFGRkUsIFUrMjAwMC0yMDBGLCBVKzIwMTIsIFUrMjAxNS0yMDE3LCBVKzIwMUIsIFUrMjAxRiwgVSsyMDJGLCBVKzIwMzQsIFUrMjAzQy0yMDNFLCBVKzIwNUUtMjA1RiwgVSsyMDcwLTIwNzEsIFUrMjA3NC0yMDk0LCBVKzIwQTAtMjBBMiwgVSsyMEE1LTIwQTYsIFUrMjBBOC0yMEFCLCBVKzIwQUQtMjBCNSwgVSsyMEI4LTIwQkEsIFUrMjBERCwgVSsyMTA1LCBVKzIxMTYtMjExNywgVSsyMTIwLCBVKzIxMzIsIFUrMjE0RC0yMTRFLCBVKzIxNTMtMjE1RiwgVSsyMTgzLTIxODQsIFUrMjE5MC0yMTk5LCBVKzIxQTgsIFUrMjIxRiwgVSsyMjI5LCBVKzIyNjEsIFUrMjMwMiwgVSsyMzEwLCBVKzIzMjAtMjMyMSwgVSsyNDYwLTI0NzMsIFUrMjRFQS0yNEY0LCBVKzI0RkYtMjUwMCwgVSsyNTAyLCBVKzI1MEMsIFUrMjUxMCwgVSsyNTE0LCBVKzI1MTgsIFUrMkM2MC0yQzZDLCBVKzJDNzQtMkM3Nztcbn1cbmh0bWwsXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgbWluLXdpZHRoOiAzMjBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgSGVhZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUge1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgbGluZS1oZWlnaHQ6IDEuMjg1NzE0MjllbTtcbiAgbWFyZ2luOiBjYWxjKDJyZW0gLSAwLjE0Mjg1NzE0Mjg1NzE0MjllbSkgMCAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMDtcbn1cbmgxIHtcbiAgbWluLWhlaWdodDogMXJlbTtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuaDIge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbmg0IHtcbiAgZm9udC1zaXplOiAxLjA3MTQyODU3cmVtO1xufVxuaDUge1xuICBmb250LXNpemU6IDFyZW07XG59XG5oMTpmaXJzdC1jaGlsZCxcbmgyOmZpcnN0LWNoaWxkLFxuaDM6Zmlyc3QtY2hpbGQsXG5oNDpmaXJzdC1jaGlsZCxcbmg1OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbmgxOmxhc3QtY2hpbGQsXG5oMjpsYXN0LWNoaWxkLFxuaDM6bGFzdC1jaGlsZCxcbmg0Omxhc3QtY2hpbGQsXG5oNTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVGV4dFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbnAge1xuICBtYXJnaW46IDAgMCAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODVlbTtcbn1cbnA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxucDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5hIHtcbiAgY29sb3I6ICM0MTgzYzQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmE6aG92ZXIge1xuICBjb2xvcjogIzFlNzBiZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNjcm9sbGJhcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JjZSBTaW1wbGUgU2Nyb2xsYmFycyAqL1xuYm9keSA6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xufVxuYm9keSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuYm9keSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbn1cbmJvZHkgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjp3aW5kb3ctaW5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuYm9keSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMjgsIDEzNSwgMTM5LCAwLjgpO1xufVxuYm9keSAudWkge1xuICAvKiBJRTExICovXG4gIHNjcm9sbGJhci1mYWNlLWNvbG9yOiAjYmZiZmJmO1xuICBzY3JvbGxiYXItc2hhZG93LWNvbG9yOiAjYmZiZmJmO1xuICBzY3JvbGxiYXItdHJhY2stY29sb3I6ICNlNmU2ZTY7XG4gIHNjcm9sbGJhci1hcnJvdy1jb2xvcjogI2U2ZTZlNjtcbn1cbkBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOiBub25lKSB7XG4gIGJvZHkgLnVpIHtcbiAgICAvKiBmaXJlZm94OiBmaXJzdCBjb2xvciB0aHVtYiwgc2Vjb25kIHRyYWNrICovXG4gICAgc2Nyb2xsYmFyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gIH1cbn1cbi8qIEludmVydGVkIFVJICovXG5ib2R5IC51aS5pbnZlcnRlZDpub3QoLmRpbW1lcik6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuYm9keSAudWkuaW52ZXJ0ZWQ6bm90KC5kaW1tZXIpOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG5ib2R5IC51aS5pbnZlcnRlZDpub3QoLmRpbW1lcik6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOndpbmRvdy1pbmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG5ib2R5IC51aS5pbnZlcnRlZDpub3QoLmRpbW1lcik6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KTtcbn1cbmJvZHkgLnVpLmludmVydGVkOm5vdCguZGltbWVyKSB7XG4gIC8qIElFMTEgKi9cbiAgc2Nyb2xsYmFyLWZhY2UtY29sb3I6ICM2NTY1NjU7XG4gIHNjcm9sbGJhci1zaGFkb3ctY29sb3I6ICM2NTY1NjU7XG4gIHNjcm9sbGJhci10cmFjay1jb2xvcjogIzMyMzIzMjtcbiAgc2Nyb2xsYmFyLWFycm93LWNvbG9yOiAjMzIzMjMyO1xufVxuQHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6IG5vbmUpIHtcbiAgYm9keSAudWkuaW52ZXJ0ZWQ6bm90KC5kaW1tZXIpIHtcbiAgICAvKiBmaXJlZm94OiBmaXJzdCBjb2xvciB0aHVtYiwgc2Vjb25kIHRyYWNrICovXG4gICAgc2Nyb2xsYmFyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBIaWdobGlnaHRpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBTaXRlICovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2UyZmY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLyogRm9ybSAqL1xudGV4dGFyZWE6OnNlbGVjdGlvbixcbmlucHV0OjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNCk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgR2xvYmFsIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEN1c3RvbSBTZW1hbnRpYyBDbGFzc2VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBHZW5lcmFsIENvbG9ycyAqL1xuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi5jb2xvci5wcmltYXJ5IHtcbiAgY29sb3I6ICM2QzM2NjcgIWltcG9ydGFudDtcbn1cbi5jb2xvci5wcmltYXJ5LmJhY2tncm91bmQge1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkMzNjY3ICFpbXBvcnRhbnQ7XG59XG4uY29sb3Iuc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICM4OGQzMTcgIWltcG9ydGFudDtcbn1cbi5jb2xvci5zZWNvbmRhcnkuYmFja2dyb3VuZCB7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4OGQzMTcgIWltcG9ydGFudDtcbn1cbi8qIEdlbmVyYWwgVGV4dCB0cmFuc2Zvcm1lcnMgKi9cbi50ZXh0LmJvbGQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi51aS5mb3JtIC5maWVsZHM6bm90KC5ncm91cGVkKTpub3QoLmlubGluZSkgLmZpZWxkOm5vdCg6b25seS1jaGlsZCkgLnVpLmNoZWNrYm94IHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLyogRWxlbWVudHMgKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEJ1dHRvblxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEJ1dHRvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQnV0dG9uICovXG4vKiBCdXR0b24gZGVmYXVsdHMgdG8gdXNpbmcgc2FtZSBoZWlnaHQgYXMgaW5wdXQgZ2xvYmFsbHkgKi9cbi8qIFRleHQgKi9cbi8qIEludGVybmFsIFNoYWRvdyAqL1xuLyogQm94IFNoYWRvdyAqL1xuLyogSWNvbiAqL1xuLyogTG9hZGVyICovXG4vKlxuQHdpbGxDaGFuZ2U6IGJveC1zaGFkb3csIHRyYW5zZm9ybSwgb3BhY2l0eSwgY29sb3IsIGJhY2tncm91bmQ7XG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcm91cFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSG92ZXJlZCAqL1xuLyogRm9jdXNlZCAqL1xuLyogRGlzYWJsZWQgKi9cbi8qIFByZXNzZWQgRG93biAqL1xuLyogQWN0aXZlICovXG4vKiBBY3RpdmUgKyBIb3ZlcmVkICovXG4vKiBMb2FkaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogT3IgKi9cbi8qIEljb24gKi9cbi8qIExhYmVsZWQgKi9cbi8qIGh5cG90ZW51c2Ugb2YgdHJpYW5nbGUgKi9cbi8qIExhYmVsZWQgSWNvbiAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJhc2ljICovXG4vKiBCYXNpYyBIb3ZlciAqL1xuLyogQmFzaWMgRm9jdXMgKi9cbi8qIEJhc2ljIERvd24gKi9cbi8qIEJhc2ljIEFjdGl2ZSAqL1xuLyogQmFzaWMgSW52ZXJ0ZWQgKi9cbi8qIEJhc2ljIEdyb3VwICovXG4vKiAtLS0tLS0tLS0tLS0tXG4gICBUZXJ0aWFyeVxuLS0tLS0tLS0tLS0tLSAqL1xuLyogVGVydGlhcnkgSG92ZXIgKi9cbi8qIFRlcnRpYXJ5IEZvY3VzICovXG4vKiBUZXJ0aWFyeSBBY3RpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDb2xvcnMgKi9cbi8qIENvbG9yZWQgKi9cbi8qIEludmVydGVkICovXG4vKiBPcmRpbmFsaXR5ICovXG4vKiBDb21wYWN0ICovXG4vKiBBdHRhY2hlZCAqL1xuLyogRmxvYXRlZCAqL1xuLyogQW5pbWF0ZWQgKi9cbi8qIFRvZ2dsZSAqL1xuLyogQ2lyY3VsYXIgKi9cbi8qIFNwYWNlZCAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEJ1dHRvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLWhlaWdodDogMWVtO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYmFja2dyb3VuZDogI2UwZTFlMiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgbWFyZ2luOiAwIDAuMjVlbSAwIDA7XG4gIHBhZGRpbmc6IDAuNzg1NzE0MjllbSAxLjVlbSAwLjc4NTcxNDI5ZW07XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudCBpbnNldCwgMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2UsIGJveC1zaGFkb3cgMC4xcyBlYXNlLCBiYWNrZ3JvdW5kIDAuMXMgZWFzZTtcbiAgd2lsbC1jaGFuZ2U6IGF1dG87XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYmNkO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggdHJhbnNwYXJlbnQgaW5zZXQsIDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbi51aS5idXR0b246aG92ZXIgLmljb24ge1xuICBvcGFjaXR5OiAwLjg1O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYmNkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3gtc2hhZG93OiBcIlwiO1xufVxuLnVpLmJ1dHRvbjpmb2N1cyAuaWNvbiB7XG4gIG9wYWNpdHk6IDAuODU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgRG93blxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYnV0dG9uOmFjdGl2ZSxcbi51aS5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYWJiYmM7XG4gIGJhY2tncm91bmQtaW1hZ2U6IFwiXCI7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzBjMWMyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggdHJhbnNwYXJlbnQgaW5zZXQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLnVpLmFjdGl2ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzBjMWMyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi51aS5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMGMxYzI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBMb2FkaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTcGVjaWZpY2l0eSBoYWNrICovXG4udWkudWkudWkudWkudWkudWkubG9hZGluZy5idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhciwgb3BhY2l0eSAwLjFzIGVhc2U7XG59XG4udWkubG9hZGluZy5idXR0b246OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMC42NDI4NTcxNGVtIDAgMCAtMC42NDI4NTcxNGVtO1xuICB3aWR0aDogMS4yODU3MTQyOWVtO1xuICBoZWlnaHQ6IDEuMjg1NzE0MjllbTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBib3JkZXI6IDAuMmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG4udWkubG9hZGluZy5idXR0b246OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0wLjY0Mjg1NzE0ZW0gMCAwIC0wLjY0Mjg1NzE0ZW07XG4gIHdpZHRoOiAxLjI4NTcxNDI5ZW07XG4gIGhlaWdodDogMS4yODU3MTQyOWVtO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGFuaW1hdGlvbjogbG9hZGVyIDAuNnMgaW5maW5pdGUgbGluZWFyO1xuICBib3JkZXI6IDAuMmVtIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudDtcbn1cbi51aS51aS51aS5sb2FkaW5nLmJ1dHRvbiAubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnVpLmxhYmVsZWQuaWNvbi5sb2FkaW5nLmJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmJhc2ljLmxvYWRpbmcuYnV0dG9uOm5vdCguaW52ZXJ0ZWQpOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS5iYXNpYy5sb2FkaW5nLmJ1dHRvbjpub3QoLmludmVydGVkKTo6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6ICM3Njc2NzY7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmJ1dHRvbnMgLmRpc2FibGVkLmJ1dHRvbjpub3QoLmJhc2ljKSxcbi51aS5kaXNhYmxlZC5idXR0b24sXG4udWkuYnV0dG9uOmRpc2FibGVkLFxuLnVpLmRpc2FibGVkLmJ1dHRvbjpob3Zlcixcbi51aS5kaXNhYmxlZC5hY3RpdmUuYnV0dG9uIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvcGFjaXR5OiAwLjQ1ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG59XG4vKiBCYXNpYyBHcm91cCBXaXRoIERpc2FibGVkICovXG4udWkuYmFzaWMuYnV0dG9ucyAudWkuZGlzYWJsZWQuYnV0dG9uIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuNSk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBBbmltYXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYW5pbWF0ZWQuYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDE7XG59XG4udWkuYW5pbWF0ZWQuYnV0dG9uIC5jb250ZW50IHtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cbi51aS5hbmltYXRlZC5idXR0b24gLnZpc2libGUuY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVlbTtcbn1cbi51aS5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIEhvcml6b250YWwgKi9cbi51aS5hbmltYXRlZC5idXR0b24gLnZpc2libGUuY29udGVudCxcbi51aS5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcbiAgdHJhbnNpdGlvbjogcmlnaHQgMC4zcyBlYXNlIDBzO1xufVxuLnVpLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG59XG4udWkuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogLTEwMCU7XG4gIG1hcmdpbi10b3A6IC0wLjVlbTtcbn1cbi51aS5hbmltYXRlZC5idXR0b246Zm9jdXMgLnZpc2libGUuY29udGVudCxcbi51aS5hbmltYXRlZC5idXR0b246aG92ZXIgLnZpc2libGUuY29udGVudCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAyMDAlO1xufVxuLnVpLmFuaW1hdGVkLmJ1dHRvbjpmb2N1cyAuaGlkZGVuLmNvbnRlbnQsXG4udWkuYW5pbWF0ZWQuYnV0dG9uOmhvdmVyIC5oaWRkZW4uY29udGVudCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xufVxuLyogVmVydGljYWwgKi9cbi51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b24gLnZpc2libGUuY29udGVudCxcbi51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcbiAgdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZTtcbn1cbi51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b24gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgcmlnaHQ6IGF1dG87XG59XG4udWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gIHRvcDogLTUwJTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG59XG4udWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC52aXNpYmxlLmNvbnRlbnQsXG4udWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uOmhvdmVyIC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwJSk7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbjpmb2N1cyAuaGlkZGVuLmNvbnRlbnQsXG4udWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uOmhvdmVyIC5oaWRkZW4uY29udGVudCB7XG4gIHRvcDogNTAlO1xuICByaWdodDogYXV0bztcbn1cbi8qIEZhZGUgKi9cbi51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50LFxuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbiAuaGlkZGVuLmNvbnRlbnQge1xuICBvcGFjaXR5OiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xufVxuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC52aXNpYmxlLmNvbnRlbnQsXG4udWkuZmFkZS5hbmltYXRlZC5idXR0b246aG92ZXIgLnZpc2libGUuY29udGVudCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xufVxuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC5oaWRkZW4uY29udGVudCxcbi51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAuaGlkZGVuLmNvbnRlbnQge1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmludmVydGVkLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjRkZGRkZGIGluc2V0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBub25lO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIEdyb3VwICovXG4udWkuaW52ZXJ0ZWQuYnV0dG9ucyAuYnV0dG9uIHtcbiAgbWFyZ2luOiAwIDAgMCAtMnB4O1xufVxuLnVpLmludmVydGVkLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnVpLmludmVydGVkLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gIG1hcmdpbjogMCAwIC0ycHggMDtcbn1cbi51aS5pbnZlcnRlZC52ZXJ0aWNhbC5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLyogU3RhdGVzICovXG4vKiBIb3ZlciAqL1xuLnVpLmludmVydGVkLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjRkZGRkZGIGluc2V0O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLyogQWN0aXZlIC8gRm9jdXMgKi9cbi51aS5pbnZlcnRlZC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYnV0dG9uLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjRkZGRkZGIGluc2V0O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLyogQWN0aXZlIEZvY3VzICovXG4udWkuaW52ZXJ0ZWQuYnV0dG9uLmFjdGl2ZTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNkY2RkZGU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZGNkZGRlIGluc2V0O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBMYWJlbGVkIEJ1dHRvblxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubGFiZWxlZC5idXR0b246bm90KC5pY29uKSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5sYWJlbGVkLmJ1dHRvbiA+IC5idXR0b24ge1xuICBtYXJnaW46IDA7XG59XG4udWkubGFiZWxlZC5idXR0b24gPiAubGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgMCAwIC0xcHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxZW07XG4gIHBhZGRpbmc6IFwiXCI7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qIFRhZyAqL1xuLnVpLmxhYmVsZWQuYnV0dG9uID4gLnRhZy5sYWJlbDo6YmVmb3JlIHtcbiAgd2lkdGg6IDEuODVlbTtcbiAgaGVpZ2h0OiAxLjg1ZW07XG59XG4vKiBSaWdodCAqL1xuLnVpLmxhYmVsZWQuYnV0dG9uOm5vdChbY2xhc3MqPVwibGVmdCBsYWJlbGVkXCJdKSA+IC5idXR0b24ge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4udWkubGFiZWxlZC5idXR0b246bm90KFtjbGFzcyo9XCJsZWZ0IGxhYmVsZWRcIl0pID4gLmxhYmVsIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi8qIExlZnQgU2lkZSAqL1xuLnVpW2NsYXNzKj1cImxlZnQgbGFiZWxlZFwiXS5idXR0b24gPiAuYnV0dG9uIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGxhYmVsZWRcIl0uYnV0dG9uID4gLmxhYmVsIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBTb2NpYWxcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRmFjZWJvb2sgKi9cbi51aS5mYWNlYm9vay5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I1OTk4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5mYWNlYm9vay5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzA0ZDhhO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuZmFjZWJvb2suYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZDQzNzM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIFR3aXR0ZXIgKi9cbi51aS50d2l0dGVyLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZGExZjI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLnR3aXR0ZXIuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAyOThmMztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnR3aXR0ZXIuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYzg1ZDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEdvb2dsZSBQbHVzICovXG4udWkuZ29vZ2xlLnBsdXMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkNGIzOTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkuZ29vZ2xlLnBsdXMuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMzIxYztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmdvb2dsZS5wbHVzLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzIzMzIxO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBMaW5rZWQgSW4gKi9cbi51aS5saW5rZWRpbi5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3N2I1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkubGlua2VkaW4uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjY5YztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmxpbmtlZGluLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1NTgyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBZb3VUdWJlICovXG4udWkueW91dHViZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS55b3V0dWJlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNjAwMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS55b3V0dWJlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2MwMDAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBJbnN0YWdyYW0gKi9cbi51aS5pbnN0YWdyYW0uYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ5NzY5YztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkuaW5zdGFncmFtLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZDY5OGU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5pbnN0YWdyYW0uYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzOTVjNzk7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIFBpbnRlcmVzdCAqL1xuLnVpLnBpbnRlcmVzdC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQwODFjO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5waW50ZXJlc3QuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FjMDAxMztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnBpbnRlcmVzdC5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhjMDYxNTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogVksgKi9cbi51aS52ay5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDU2NjhlO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLnZrLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzOTU5ODA7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnZrLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ0ZDZjO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFdoYXRzQXBwICovXG4udWkud2hhdHNhcHAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1ZDM2NjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS53aGF0c2FwcC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTljNTVhO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS53aGF0c2FwcC5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkYTg1MTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBUZWxlZ3JhbSAqL1xuLnVpLnRlbGVncmFtLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwOGM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkudGVsZWdyYW0uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzdiMztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudGVsZWdyYW0uYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDY2OTk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgSWNvblxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYnV0dG9uID4gLmljb246bm90KC5idXR0b24pIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvcGFjaXR5OiAwLjg7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xuICBjb2xvcjogXCJcIjtcbn1cbi51aS5idXR0b246bm90KC5pY29uKSA+IC5pY29uOm5vdCguYnV0dG9uKTpub3QoLmRyb3Bkb3duKSxcbi51aS5idXR0b246bm90KC5pY29uKSA+IC5pY29uczpub3QoLmJ1dHRvbik6bm90KC5kcm9wZG93bikge1xuICBtYXJnaW46IDAgMC40Mjg1NzE0M2VtIDAgLTAuMjE0Mjg1NzFlbTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuLnVpLmJ1dHRvbjpub3QoLmljb24pID4gLmljb25zOm5vdCguYnV0dG9uKTpub3QoLmRyb3Bkb3duKSA+IC5pY29uIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuLnVpLmJ1dHRvbjpub3QoLmljb24pID4gLnJpZ2h0Lmljb246bm90KC5idXR0b24pOm5vdCguZHJvcGRvd24pIHtcbiAgbWFyZ2luOiAwIC0wLjIxNDI4NTcxZW0gMCAwLjQyODU3MTQzZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdGFja2FibGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRhYmxldCBPciBCZWxvdyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkuc3RhY2thYmxlLmJ1dHRvbnMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAudWkuc3RhY2thYmxlLmJ1dHRvbnMgLmJ1dHRvbjpvbmx5LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEZsb2F0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5idXR0b25zLFxuLnVpW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5idXR0b24ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMC4yNWVtO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0uYnV0dG9ucyxcbi51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLmJ1dHRvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMC4yNWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBDb21wYWN0XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jb21wYWN0LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5jb21wYWN0LmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDAuNTg5Mjg1NzFlbSAxLjEyNWVtIDAuNTg5Mjg1NzFlbTtcbn1cbi51aS5jb21wYWN0Lmljb24uYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmNvbXBhY3QuaWNvbi5idXR0b24ge1xuICBwYWRkaW5nOiAwLjU4OTI4NTcxZW0gMC41ODkyODU3MWVtIDAuNTg5Mjg1NzFlbTtcbn1cbi51aS5jb21wYWN0LmxhYmVsZWQuaWNvbi5idXR0b25zIC5idXR0b24sXG4udWkuY29tcGFjdC5sYWJlbGVkLmljb24uYnV0dG9uIHtcbiAgcGFkZGluZzogMC41ODkyODU3MWVtIDMuNjk2NDI4NTdlbSAwLjU4OTI4NTcxZW07XG59XG4udWkuY29tcGFjdC5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uID4gLmljb24sXG4udWkuY29tcGFjdC5sYWJlbGVkLmljb24uYnV0dG9uID4gLmljb24ge1xuICBwYWRkaW5nOiAwLjU4OTI4NTcxZW0gMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJ1dHRvbnMgLm9yLFxuLnVpLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5taW5pLmJ1dHRvbnMgLmRyb3Bkb3duLFxuLnVpLm1pbmkuYnV0dG9ucyAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSxcbi51aS5taW5pLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5taW5pLmJ1dHRvbnMgLm9yLFxuLnVpLnVpLnVpLnVpLm1pbmkuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLnRpbnkuYnV0dG9ucyAuZHJvcGRvd24sXG4udWkudGlueS5idXR0b25zIC5kcm9wZG93biAubWVudSA+IC5pdGVtLFxuLnVpLnRpbnkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnRpbnkuYnV0dG9ucyAub3IsXG4udWkudWkudWkudWkudGlueS5idXR0b24ge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkuc21hbGwuYnV0dG9ucyAuZHJvcGRvd24sXG4udWkuc21hbGwuYnV0dG9ucyAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSxcbi51aS5zbWFsbC5idXR0b25zIC5idXR0b24sXG4udWkuc21hbGwuYnV0dG9ucyAub3IsXG4udWkudWkudWkudWkuc21hbGwuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLmxhcmdlLmJ1dHRvbnMgLmRyb3Bkb3duLFxuLnVpLmxhcmdlLmJ1dHRvbnMgLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0sXG4udWkubGFyZ2UuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmxhcmdlLmJ1dHRvbnMgLm9yLFxuLnVpLnVpLnVpLnVpLmxhcmdlLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5iaWcuYnV0dG9ucyAuZHJvcGRvd24sXG4udWkuYmlnLmJ1dHRvbnMgLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0sXG4udWkuYmlnLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iaWcuYnV0dG9ucyAub3IsXG4udWkudWkudWkudWkuYmlnLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5odWdlLmJ1dHRvbnMgLmRyb3Bkb3duLFxuLnVpLmh1Z2UuYnV0dG9ucyAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSxcbi51aS5odWdlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5odWdlLmJ1dHRvbnMgLm9yLFxuLnVpLnVpLnVpLnVpLmh1Z2UuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuLnVpLm1hc3NpdmUuYnV0dG9ucyAuZHJvcGRvd24sXG4udWkubWFzc2l2ZS5idXR0b25zIC5kcm9wZG93biAubWVudSA+IC5pdGVtLFxuLnVpLm1hc3NpdmUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLm1hc3NpdmUuYnV0dG9ucyAub3IsXG4udWkudWkudWkudWkubWFzc2l2ZS5idXR0b24ge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBJY29uIE9ubHlcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pY29uLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pY29uLmJ1dHRvbjpub3QoLmFuaW1hdGVkKTpub3QoLmNvbXBhY3QpOm5vdCgubGFiZWxlZCkge1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5ZW0gMC43ODU3MTQyOWVtIDAuNzg1NzE0MjllbTtcbn1cbi51aS5hbmltYXRlZC5pY29uLmJ1dHRvbiA+IC5jb250ZW50ID4gLmljb24sXG4udWkuaWNvbi5idXR0b25zIC5idXR0b24gPiAuaWNvbixcbi51aS5pY29uLmJ1dHRvbiA+IC5pY29uIHtcbiAgb3BhY2l0eTogMC45O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi51aS5hbmltYXRlZC5idXR0b24gPiAuY29udGVudCA+IC5pY29uIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEJhc2ljXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLmJhc2ljLmJ1dHRvbnMge1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG4udWkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi51aS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4zNSkgaW5zZXQsIDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4zNSkgaW5zZXQsIDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KSBpbnNldCwgMCAxcHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3gtc2hhZG93OiBcIlwiO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi51aS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLmFjdGl2ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpIGluc2V0LCAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpIGluc2V0LCAwIDFweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiBcIlwiO1xufVxuLyogU3RhbmRhcmQgQmFzaWMgSW52ZXJ0ZWQgKi9cbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZjlmYWZiO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0O1xufVxuLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b246aG92ZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZmZmZmYgaW5zZXQ7XG59XG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbjpmb2N1cyB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmZmZmZiBpbnNldDtcbn1cbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSBpbnNldDtcbn1cbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLmludmVydGVkLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgaW5zZXQ7XG59XG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5hY3RpdmUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZmZmZmYgaW5zZXQ7XG59XG4vKiBCYXNpYyBHcm91cCAqL1xuLnVpLmJhc2ljLmJ1dHRvbnM6bm90KC5pbnZlcnRlZCkgLmJ1dHRvbjpub3QoLmJhc2ljKSB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYmFzaWMudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5iYXNpYy52ZXJ0aWNhbC5idXR0b25zOm5vdCguc3BhY2VkKTpub3QoLmNpcmN1bGFyKSAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgVGVydGlhcnlcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogT3ZlcmxpbmUgTWl4aW4gKi9cbi51aS50ZXJ0aWFyeS5idXR0b24ge1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWFyZ2luOiAwLjI4NTcxNDI5ZW0gMC4yNWVtIDAuMjg1NzE0MjllbSAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAuNWVtIDAuNWVtICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4udWkudGVydGlhcnkuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjNjY2NjY2O1xuICBjb2xvcjogIzMzMzMzMztcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cbi51aS50ZXJ0aWFyeS5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICM2NjY2NjY7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLnVpLnRlcnRpYXJ5LmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICM5OTk5OTk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIExhYmVsZWQgSWNvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxhYmVsZWQuaWNvbi5idXR0b25zIC5idXR0b24sXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiA0LjA3MTQyODU3ZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMS41ZW0gIWltcG9ydGFudDtcbn1cbi8qIExlZnQgTGFiZWxlZCAqL1xuLnVpLmxhYmVsZWQuaWNvbi5idXR0b25zID4gLmJ1dHRvbiA+IC5pY29uLFxuLnVpLmxhYmVsZWQuaWNvbi5idXR0b24gPiAuaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGFuaW1hdGlvbjogbm9uZTtcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDIuNTcxNDI4NTdlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgY29sb3I6IFwiXCI7XG4gIGJveC1zaGFkb3c6IC0xcHggMCAwIDAgdHJhbnNwYXJlbnQgaW5zZXQ7XG59XG4vKiBSaWdodCBMYWJlbGVkICovXG4udWlbY2xhc3MqPVwicmlnaHQgbGFiZWxlZFwiXS5pY29uLmJ1dHRvbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDQuMDcxNDI4NTdlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDEuNWVtICFpbXBvcnRhbnQ7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgbGFiZWxlZFwiXS5pY29uLmJ1dHRvbiA+IC5pY29uIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbiAgYm94LXNoYWRvdzogMXB4IDAgMCAwIHRyYW5zcGFyZW50IGluc2V0O1xufVxuLnVpLmxhYmVsZWQuaWNvbi5idXR0b25zID4gLmJ1dHRvbiA+IC5pY29uOjpiZWZvcmUsXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbiA+IC5pY29uOjpiZWZvcmUsXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgPiAuYnV0dG9uID4gLmljb246OmFmdGVyLFxuLnVpLmxhYmVsZWQuaWNvbi5idXR0b24gPiAuaWNvbjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbiA+IC5pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi51aS5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkID4gLmljb24ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLmxhYmVsZWQuaWNvbi5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCA+IC5pY29uIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLnZlcnRpY2FsLmxhYmVsZWQuaWNvbi5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQgPiAuaWNvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkudmVydGljYWwubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkID4gLmljb24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLyogTG9hZGluZyBJY29uIGluIExhYmVsZWQgQnV0dG9uICovXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbiA+IC5sb2FkaW5nLmljb246OmJlZm9yZSB7XG4gIGFuaW1hdGlvbjogbG9hZGVyIDJzIGxpbmVhciBpbmZpbml0ZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBUb2dnbGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRvZ2dsZSAoTW9kaWZpZXMgYWN0aXZlIHN0YXRlIHRvIGdpdmUgYWZmb3JkYW5jZXMpICovXG4udWkudG9nZ2xlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYnV0dG9ucyAuYnV0dG9uLnRvZ2dsZS5hY3RpdmUsXG4udWkuYnV0dG9uLnRvZ2dsZS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiYTQ1O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuYnV0dG9uLnRvZ2dsZS5hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTZhYjM5O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBDaXJjdWxhclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnVpLmNpcmN1bGFyLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS51aS51aS51aS5jaXJjdWxhci5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAxMGVtO1xuICBtaW4td2lkdGg6IDIuNWVtO1xufVxuLnVpLmNpcmN1bGFyLmJ1dHRvbnMgLmJ1dHRvbiA+IC5pY29uLFxuLnVpLmNpcmN1bGFyLmJ1dHRvbiA+IC5pY29uIHtcbiAgd2lkdGg6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuLnVpLmNpcmN1bGFyLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCk6bm90KC5zcGFjZWQpIC5idXR0b24ge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbn1cbi51aS52ZXJ0aWNhbC5jaXJjdWxhci5idXR0b25zIC5idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1ZW07XG59XG4udWkuY2lyY3VsYXIuYmFzaWMuYnV0dG9ucyB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS5jaXJjdWxhci5iYXNpYy5idXR0b25zIC5idXR0b24ge1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLmNpcmN1bGFyLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbi5iYXNpYyB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBPciBCdXR0b25zXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5idXR0b25zIC5vciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDAuM2VtO1xuICBoZWlnaHQ6IDIuNTcxNDI4NTdlbTtcbiAgei1pbmRleDogMztcbn1cbi51aS5idXR0b25zIC5vcjo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgY29udGVudDogXCJvclwiO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuODkyODU3MTRlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjg5Mjg1NzE0ZW07XG4gIHdpZHRoOiAxLjc4NTcxNDI5ZW07XG4gIGhlaWdodDogMS43ODU3MTQyOWVtO1xuICBsaW5lLWhlaWdodDogMS43ODU3MTQyOWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggdHJhbnNwYXJlbnQgaW5zZXQ7XG59XG4udWkuYnV0dG9ucyAub3JbZGF0YS10ZXh0XTo6YmVmb3JlIHtcbiAgY29udGVudDogYXR0cihkYXRhLXRleHQpO1xufVxuLyogRmx1aWQgT3IgKi9cbi51aS5mbHVpZC5idXR0b25zIC5vciB7XG4gIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG59XG4udWkuZmx1aWQuYnV0dG9ucyAub3I6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQXR0YWNoZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2luZ3VsYXIgKi9cbi51aS5hdHRhY2hlZC5idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogVG9wIC8gQm90dG9tICovXG4udWkuYXR0YWNoZWQudG9wLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWkuYXR0YWNoZWQuYm90dG9tLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4vKiBMZWZ0IC8gUmlnaHQgKi9cbi51aS5sZWZ0LmF0dGFjaGVkLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjc1ZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMCAwIDAuMjg1NzE0MjlyZW07XG59XG4udWkucmlnaHQuYXR0YWNoZWQuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDAuNzVlbTtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMDtcbn1cbi8qIFBsdXJhbCAqL1xuLnVpLmF0dGFjaGVkLmJ1dHRvbnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG59XG4udWkuYXR0YWNoZWQuYnV0dG9ucyAuYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xufVxuLnVpLmF0dGFjaGVkLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4udWkuYXR0YWNoZWQuYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLyogVG9wIC8gQm90dG9tICovXG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmJ1dHRvbnMge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMCAwO1xufVxuLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAgMCAwO1xufVxuLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmJ1dHRvbnMge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwLjI4NTcxNDI5cmVtO1xufVxuLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDA7XG59XG4vKiBMZWZ0IC8gUmlnaHQgKi9cbi51aVtjbGFzcyo9XCJsZWZ0IGF0dGFjaGVkXCJdLmJ1dHRvbnMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMDtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiAwIDAuMjg1NzE0MjlyZW0gMCAwO1xufVxuLnVpW2NsYXNzKj1cImxlZnQgYXR0YWNoZWRcIl0uYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMDtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBhdHRhY2hlZFwiXS5idXR0b25zIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMCAwIDAuMjg1NzE0MjlyZW07XG59XG4udWlbY2xhc3MqPVwicmlnaHQgYXR0YWNoZWRcIl0uYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMCAwIDA7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgYXR0YWNoZWRcIl0uYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMC4yODU3MTQyOXJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEZsdWlkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbHVpZC5idXR0b25zLFxuLnVpLmZsdWlkLmJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLmZsdWlkLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLnR3by5idXR0b25zIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkudHdvLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi51aS50aHJlZS5idXR0b25zIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkudGhyZWUuYnV0dG9ucyA+IC5idXR0b24ge1xuICB3aWR0aDogMzMuMzMzJTtcbn1cbi51aS5mb3VyLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5mb3VyLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDI1JTtcbn1cbi51aS5maXZlLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5maXZlLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDIwJTtcbn1cbi51aS5zaXguYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLnNpeC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHdpZHRoOiAxNi42NjYlO1xufVxuLnVpLnNldmVuLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5zZXZlbi5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHdpZHRoOiAxNC4yODUlO1xufVxuLnVpLmVpZ2h0LmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5laWdodC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHdpZHRoOiAxMi41JTtcbn1cbi51aS5uaW5lLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5uaW5lLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDExLjExJTtcbn1cbi51aS50ZW4uYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLnRlbi5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHdpZHRoOiAxMCU7XG59XG4udWkuZWxldmVuLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5lbGV2ZW4uYnV0dG9ucyA+IC5idXR0b24ge1xuICB3aWR0aDogOS4wOSU7XG59XG4udWkudHdlbHZlLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS50d2VsdmUuYnV0dG9ucyA+IC5idXR0b24ge1xuICB3aWR0aDogOC4zMzMzJTtcbn1cbi8qIEZsdWlkIFZlcnRpY2FsIEJ1dHRvbnMgKi9cbi51aS5mbHVpZC52ZXJ0aWNhbC5idXR0b25zLFxuLnVpLmZsdWlkLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IGF1dG87XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLnVpLnR3by52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIGhlaWdodDogNTAlO1xufVxuLnVpLnRocmVlLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiAzMy4zMzMlO1xufVxuLnVpLmZvdXIudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDI1JTtcbn1cbi51aS5maXZlLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiAyMCU7XG59XG4udWkuc2l4LnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiAxNi42NjYlO1xufVxuLnVpLnNldmVuLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiAxNC4yODUlO1xufVxuLnVpLmVpZ2h0LnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiAxMi41JTtcbn1cbi51aS5uaW5lLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiAxMS4xMSU7XG59XG4udWkudGVuLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiAxMCU7XG59XG4udWkuZWxldmVuLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiA5LjA5JTtcbn1cbi51aS50d2VsdmUudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDguMzMzMyU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnByaW1hcnkuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZDMzY2NztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLnByaW1hcnkuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnByaW1hcnkuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVkMmI1OTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnByaW1hcnkuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1MjQ1MDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5wcmltYXJ5LmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGEyNTQ3O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucHJpbWFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnByaW1hcnkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkucHJpbWFyeS5hY3RpdmUuYnV0dG9uLFxuLnVpLnByaW1hcnkuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ZTJhNWE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMucHJpbWFyeS5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMucHJpbWFyeS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM2QzM2NjcgaW5zZXQ7XG4gIGNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLmJhc2ljLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLnByaW1hcnkuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNWQyYjU5IGluc2V0O1xuICBjb2xvcjogIzVkMmI1OTtcbn1cbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzU1MjQ1MCBpbnNldDtcbiAgY29sb3I6ICM1ZDJiNTk7XG59XG4udWkuYmFzaWMucHJpbWFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLnByaW1hcnkuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzVlMmE1YSBpbnNldDtcbiAgY29sb3I6ICM0YTI1NDc7XG59XG4udWkuYmFzaWMucHJpbWFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLnByaW1hcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNGEyNTQ3IGluc2V0O1xuICBjb2xvcjogIzRhMjU0Nztcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICM1NGM4ZmYgaW5zZXQ7XG4gIGNvbG9yOiAjNTRjOGZmO1xufVxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYjhmZjtcbn1cbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYmJiZmY7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnByaW1hcnkuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWMwZmY7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMWI4ZmY7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICMyMWI4ZmYgaW5zZXQ7XG4gIGNvbG9yOiAjNTRjOGZmO1xufVxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICMyYmJiZmYgaW5zZXQ7XG4gIGNvbG9yOiAjNTRjOGZmO1xufVxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICMzYWMwZmYgaW5zZXQ7XG4gIGNvbG9yOiAjNTRjOGZmO1xufVxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICMyMWI4ZmYgaW5zZXQ7XG4gIGNvbG9yOiAjNTRjOGZmO1xufVxuLyogVGVydGlhcnkgKi9cbi51aS50ZXJ0aWFyeS5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5wcmltYXJ5LmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5wcmltYXJ5LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogIzZDMzY2Nztcbn1cbi51aS50ZXJ0aWFyeS5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS5wcmltYXJ5LmJ1dHRvbnMgYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5LnByaW1hcnkuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjNTAzOTRlO1xuICBjb2xvcjogIzUwMzk0ZTtcbn1cbi51aS50ZXJ0aWFyeS5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS50ZXJ0aWFyeS5wcmltYXJ5LmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjpmb2N1cyxcbi51aS50ZXJ0aWFyeS5wcmltYXJ5LmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzQ5MzA0NjtcbiAgY29sb3I6ICM0OTMwNDY7XG59XG4udWkudGVydGlhcnkucHJpbWFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnByaW1hcnkuYnV0dG9ucyAudGVydGlhcnkuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5wcmltYXJ5LmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkucHJpbWFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5LnByaW1hcnkuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS5wcmltYXJ5LmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICM2YzFjNjU7XG4gIGNvbG9yOiAjNWUyYTVhO1xufVxuLnVpLnNlY29uZGFyeS5idXR0b25zIC5idXR0b24sXG4udWkuc2Vjb25kYXJ5LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4OGQzMTc7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS5zZWNvbmRhcnkuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLnNlY29uZGFyeS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuc2Vjb25kYXJ5LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OGYwMTM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnNlY29uZGFyeS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBmYjE4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuc2Vjb25kYXJ5LmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTFlOTM0O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuc2Vjb25kYXJ5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuc2Vjb25kYXJ5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLnNlY29uZGFyeS5hY3RpdmUuYnV0dG9uLFxuLnVpLnNlY29uZGFyeS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5ZjUwZTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLnNlY29uZGFyeS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM4OGQzMTcgaW5zZXQ7XG4gIGNvbG9yOiAjODhkMzE3O1xufVxuLnVpLmJhc2ljLnNlY29uZGFyeS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMuc2Vjb25kYXJ5LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzk4ZjAxMyBpbnNldDtcbiAgY29sb3I6ICM5OGYwMTM7XG59XG4udWkuYmFzaWMuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjYTBmYjE4IGluc2V0O1xuICBjb2xvcjogIzk4ZjAxMztcbn1cbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5zZWNvbmRhcnkuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzk5ZjUwZSBpbnNldDtcbiAgY29sb3I6ICNhMWU5MzQ7XG59XG4udWkuYmFzaWMuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMuc2Vjb25kYXJ5LmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ExZTkzNCBpbnNldDtcbiAgY29sb3I6ICNhMWU5MzQ7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzU0NTQ1NCBpbnNldDtcbiAgY29sb3I6ICM1NDU0NTQ7XG59XG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZTZlNmU7XG59XG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY4Njg2ODtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MTYxNjE7XG59XG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmU2ZTZlO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjNmU2ZTZlIGluc2V0O1xuICBjb2xvcjogIzU0NTQ1NDtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjNjg2ODY4IGluc2V0O1xuICBjb2xvcjogIzU0NTQ1NDtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjNjE2MTYxIGluc2V0O1xuICBjb2xvcjogIzU0NTQ1NDtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjNmU2ZTZlIGluc2V0O1xuICBjb2xvcjogIzU0NTQ1NDtcbn1cbi8qIFRlcnRpYXJ5ICovXG4udWkudGVydGlhcnkuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5zZWNvbmRhcnkuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnNlY29uZGFyeS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICM4OGQzMTc7XG59XG4udWkudGVydGlhcnkuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS5zZWNvbmRhcnkuYnV0dG9ucyBidXR0b246aG92ZXIsXG4udWkudGVydGlhcnkuc2Vjb25kYXJ5LmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzkzZDcyYztcbiAgY29sb3I6ICM5M2Q3MmM7XG59XG4udWkudGVydGlhcnkuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS50ZXJ0aWFyeS5zZWNvbmRhcnkuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LnNlY29uZGFyeS5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICM5Y2UzMzA7XG4gIGNvbG9yOiAjOWNlMzMwO1xufVxuLnVpLnRlcnRpYXJ5LnNlY29uZGFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnNlY29uZGFyeS5idXR0b25zIC50ZXJ0aWFyeS5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnNlY29uZGFyeS5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnNlY29uZGFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5LnNlY29uZGFyeS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5LnNlY29uZGFyeS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjOWJmZjA0O1xuICBjb2xvcjogIzk5ZjUwZTtcbn1cbi51aS5yZWQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnJlZC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGIyODI4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkucmVkLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5yZWQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnJlZC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDAxOTE5O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucmVkLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5yZWQuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhMTAxMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnJlZC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnJlZC5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IyMWUxZTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnJlZC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnJlZC5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS5yZWQuYWN0aXZlLmJ1dHRvbixcbi51aS5yZWQuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNDE1MTU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMucmVkLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5yZWQuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZGIyODI4IGluc2V0O1xuICBjb2xvcjogI2RiMjgyODtcbn1cbi51aS5iYXNpYy5yZWQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLnJlZC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkMDE5MTkgaW5zZXQ7XG4gIGNvbG9yOiAjZDAxOTE5O1xufVxuLnVpLmJhc2ljLnJlZC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMucmVkLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2NhMTAxMCBpbnNldDtcbiAgY29sb3I6ICNkMDE5MTk7XG59XG4udWkuYmFzaWMucmVkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMucmVkLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNDE1MTUgaW5zZXQ7XG4gIGNvbG9yOiAjYjIxZTFlO1xufVxuLnVpLmJhc2ljLnJlZC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLnJlZC5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNiMjFlMWUgaW5zZXQ7XG4gIGNvbG9yOiAjYjIxZTFlO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnJlZC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZjY5NWUgaW5zZXQ7XG4gIGNvbG9yOiAjZmY2OTVlO1xufVxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnJlZC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnJlZC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzOTJiO1xufVxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjQzMzU7XG59XG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucmVkLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1MTQ0O1xufVxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnJlZC5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMzkyYjtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLnJlZC5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnJlZC5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmMzkyYiBpbnNldDtcbiAgY29sb3I6ICNmZjY5NWU7XG59XG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnJlZC5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmNDMzNSBpbnNldDtcbiAgY29sb3I6ICNmZjY5NWU7XG59XG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmNTE0NCBpbnNldDtcbiAgY29sb3I6ICNmZjY5NWU7XG59XG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmMzkyYiBpbnNldDtcbiAgY29sb3I6ICNmZjY5NWU7XG59XG4vKiBUZXJ0aWFyeSAqL1xuLnVpLnRlcnRpYXJ5LnJlZC5idXR0b25zIC5idXR0b24sXG4udWkudGVydGlhcnkucmVkLmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5yZWQuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjZGIyODI4O1xufVxuLnVpLnRlcnRpYXJ5LnJlZC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkudGVydGlhcnkucmVkLmJ1dHRvbnMgYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5LnJlZC5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICNiOTMxMzE7XG4gIGNvbG9yOiAjYjkzMTMxO1xufVxuLnVpLnRlcnRpYXJ5LnJlZC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkucmVkLmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjpmb2N1cyxcbi51aS50ZXJ0aWFyeS5yZWQuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjYjUyNjI2O1xuICBjb2xvcjogI2I1MjYyNjtcbn1cbi51aS50ZXJ0aWFyeS5yZWQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5yZWQuYnV0dG9ucyAudGVydGlhcnkuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5yZWQuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5yZWQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS5yZWQuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS5yZWQuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgI2VhMDAwMDtcbiAgY29sb3I6ICNkNDE1MTU7XG59XG4udWkub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5vcmFuZ2UuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNzExYztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLm9yYW5nZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5vcmFuZ2UuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNjIwMjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLm9yYW5nZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkub3JhbmdlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTViMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5vcmFuZ2UuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZjU5MGM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5vcmFuZ2UuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5vcmFuZ2UuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkub3JhbmdlLmFjdGl2ZS5idXR0b24sXG4udWkub3JhbmdlLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjU2MTAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLm9yYW5nZS5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMub3JhbmdlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2YyNzExYyBpbnNldDtcbiAgY29sb3I6ICNmMjcxMWM7XG59XG4udWkuYmFzaWMub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZjI2MjAyIGluc2V0O1xuICBjb2xvcjogI2YyNjIwMjtcbn1cbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLm9yYW5nZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNlNTViMDAgaW5zZXQ7XG4gIGNvbG9yOiAjZjI2MjAyO1xufVxuLnVpLmJhc2ljLm9yYW5nZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLm9yYW5nZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZjU2MTAwIGluc2V0O1xuICBjb2xvcjogI2NmNTkwYztcbn1cbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjY2Y1OTBjIGluc2V0O1xuICBjb2xvcjogI2NmNTkwYztcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmY4NTFiIGluc2V0O1xuICBjb2xvcjogI2ZmODUxYjtcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U3NmIwMDtcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjE3MDAwO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLm9yYW5nZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNzcwMTtcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNzZiMDA7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNlNzZiMDAgaW5zZXQ7XG4gIGNvbG9yOiAjZmY4NTFiO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmMTcwMDAgaW5zZXQ7XG4gIGNvbG9yOiAjZmY4NTFiO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZjc3MDEgaW5zZXQ7XG4gIGNvbG9yOiAjZmY4NTFiO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNlNzZiMDAgaW5zZXQ7XG4gIGNvbG9yOiAjZmY4NTFiO1xufVxuLyogVGVydGlhcnkgKi9cbi51aS50ZXJ0aWFyeS5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5Lm9yYW5nZS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b24sXG4udWkudGVydGlhcnkub3JhbmdlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2YyNzExYztcbn1cbi51aS50ZXJ0aWFyeS5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5Lm9yYW5nZS5idXR0b25zIGJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS5vcmFuZ2UuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjZGE2NzFiO1xuICBjb2xvcjogI2RhNjcxYjtcbn1cbi51aS50ZXJ0aWFyeS5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5Lm9yYW5nZS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkub3JhbmdlLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgI2NlNjAxNztcbiAgY29sb3I6ICNjZTYwMTc7XG59XG4udWkudGVydGlhcnkub3JhbmdlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkub3JhbmdlLmJ1dHRvbnMgLnRlcnRpYXJ5LmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkub3JhbmdlLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkub3JhbmdlLmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkub3JhbmdlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICNmNTYxMDA7XG4gIGNvbG9yOiAjZjU2MTAwO1xufVxuLnVpLnllbGxvdy5idXR0b25zIC5idXR0b24sXG4udWkueWVsbG93LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmJkMDg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS55ZWxsb3cuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLnllbGxvdy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkueWVsbG93LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWFlMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnllbGxvdy5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFhMzAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkueWVsbG93LmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2Q5OTAzO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkueWVsbG93LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkueWVsbG93LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLnllbGxvdy5hY3RpdmUuYnV0dG9uLFxuLnVpLnllbGxvdy5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhYWUwMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLnllbGxvdy5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmYmJkMDggaW5zZXQ7XG4gIGNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLmJhc2ljLnllbGxvdy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMueWVsbG93LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2VhYWUwMCBpbnNldDtcbiAgY29sb3I6ICNlYWFlMDA7XG59XG4udWkuYmFzaWMueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy55ZWxsb3cuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZGFhMzAwIGluc2V0O1xuICBjb2xvcjogI2VhYWUwMDtcbn1cbi51aS5iYXNpYy55ZWxsb3cuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy55ZWxsb3cuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2VhYWUwMCBpbnNldDtcbiAgY29sb3I6ICNjZDk5MDM7XG59XG4udWkuYmFzaWMueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMueWVsbG93LmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2NkOTkwMyBpbnNldDtcbiAgY29sb3I6ICNjZDk5MDM7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmZTIxZiBpbnNldDtcbiAgY29sb3I6ICNmZmUyMWY7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViY2QwMDtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVkNTAwO1xufVxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnllbGxvdy5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZGYwNTtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmNkMDA7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNlYmNkMDAgaW5zZXQ7XG4gIGNvbG9yOiAjZmZlMjFmO1xufVxuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmNWQ1MDAgaW5zZXQ7XG4gIGNvbG9yOiAjZmZlMjFmO1xufVxuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZmRmMDUgaW5zZXQ7XG4gIGNvbG9yOiAjZmZlMjFmO1xufVxuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNlYmNkMDAgaW5zZXQ7XG4gIGNvbG9yOiAjZmZlMjFmO1xufVxuLyogVGVydGlhcnkgKi9cbi51aS50ZXJ0aWFyeS55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnllbGxvdy5idXR0b25zIC50ZXJ0aWFyeS5idXR0b24sXG4udWkudGVydGlhcnkueWVsbG93LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2ZiYmQwODtcbn1cbi51aS50ZXJ0aWFyeS55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5LnllbGxvdy5idXR0b25zIGJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS55ZWxsb3cuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjZDJhMjE3O1xuICBjb2xvcjogI2QyYTIxNztcbn1cbi51aS50ZXJ0aWFyeS55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LnllbGxvdy5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkueWVsbG93LmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgI2M0OTgxNjtcbiAgY29sb3I6ICNjNDk4MTY7XG59XG4udWkudGVydGlhcnkueWVsbG93LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkueWVsbG93LmJ1dHRvbnMgLnRlcnRpYXJ5LmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkueWVsbG93LmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkueWVsbG93LmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkueWVsbG93LmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICNlYWFlMDA7XG4gIGNvbG9yOiAjZWFhZTAwO1xufVxuLnVpLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5vbGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjVjYzE4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkub2xpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5vbGl2ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTdiZDBkO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLm9saXZlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMGI2MDU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5vbGl2ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLm9saXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGQ5ZTEzO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkub2xpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5vbGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS5vbGl2ZS5hY3RpdmUuYnV0dG9uLFxuLnVpLm9saXZlLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFjMTA5O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5vbGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNiNWNjMTggaW5zZXQ7XG4gIGNvbG9yOiAjYjVjYzE4O1xufVxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5vbGl2ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNhN2JkMGQgaW5zZXQ7XG4gIGNvbG9yOiAjYTdiZDBkO1xufVxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5vbGl2ZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNhMGI2MDUgaW5zZXQ7XG4gIGNvbG9yOiAjYTdiZDBkO1xufVxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMub2xpdmUuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2FhYzEwOSBpbnNldDtcbiAgY29sb3I6ICM4ZDllMTM7XG59XG4udWkuYmFzaWMub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5vbGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM4ZDllMTMgaW5zZXQ7XG4gIGNvbG9yOiAjOGQ5ZTEzO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZDllNzc4IGluc2V0O1xuICBjb2xvcjogI2Q5ZTc3ODtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMmU3NDU7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWVmNDc7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vbGl2ZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZWQ1OTtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RkZjRkO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZDJlNzQ1IGluc2V0O1xuICBjb2xvcjogI2Q5ZTc3ODtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZGFlZjQ3IGluc2V0O1xuICBjb2xvcjogI2Q5ZTc3ODtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZGFlZDU5IGluc2V0O1xuICBjb2xvcjogI2Q5ZTc3ODtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjY2RkZjRkIGluc2V0O1xuICBjb2xvcjogI2Q5ZTc3ODtcbn1cbi8qIFRlcnRpYXJ5ICovXG4udWkudGVydGlhcnkub2xpdmUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5Lm9saXZlLmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5vbGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNiNWNjMTg7XG59XG4udWkudGVydGlhcnkub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5Lm9saXZlLmJ1dHRvbnMgYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5Lm9saXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzk4YTkyMjtcbiAgY29sb3I6ICM5OGE5MjI7XG59XG4udWkudGVydGlhcnkub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5Lm9saXZlLmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjpmb2N1cyxcbi51aS50ZXJ0aWFyeS5vbGl2ZS5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICM5MmE0MTg7XG4gIGNvbG9yOiAjOTJhNDE4O1xufVxuLnVpLnRlcnRpYXJ5Lm9saXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkub2xpdmUuYnV0dG9ucyAudGVydGlhcnkuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5vbGl2ZS5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5Lm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkub2xpdmUuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS5vbGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjYjFjYjAwO1xuICBjb2xvcjogI2FhYzEwOTtcbn1cbi51aS5ncmVlbi5idXR0b25zIC5idXR0b24sXG4udWkuZ3JlZW4uYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYmE0NTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLmdyZWVuLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5ncmVlbi5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuZ3JlZW4uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE2YWIzOTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5ncmVlbi5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGVhNDMyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5ncmVlbi5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5OGYzNTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmdyZWVuLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuZ3JlZW4uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkuZ3JlZW4uYWN0aXZlLmJ1dHRvbixcbi51aS5ncmVlbi5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzYWUzODtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5ncmVlbi5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMjFiYTQ1IGluc2V0O1xuICBjb2xvcjogIzIxYmE0NTtcbn1cbi51aS5iYXNpYy5ncmVlbi5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMTZhYjM5IGluc2V0O1xuICBjb2xvcjogIzE2YWIzOTtcbn1cbi51aS5iYXNpYy5ncmVlbi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMGVhNDMyIGluc2V0O1xuICBjb2xvcjogIzE2YWIzOTtcbn1cbi51aS5iYXNpYy5ncmVlbi5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLmdyZWVuLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMxM2FlMzggaW5zZXQ7XG4gIGNvbG9yOiAjMTk4ZjM1O1xufVxuLnVpLmJhc2ljLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMTk4ZjM1IGluc2V0O1xuICBjb2xvcjogIzE5OGYzNTtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzJlY2M0MCBpbnNldDtcbiAgY29sb3I6ICMyZWNjNDA7XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlYTkyZTtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5YjgyYjtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZWVuLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWZjMjMxO1xufVxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNWEyMzM7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICMxZWE5MmUgaW5zZXQ7XG4gIGNvbG9yOiAjMmVjYzQwO1xufVxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICMxOWI4MmIgaW5zZXQ7XG4gIGNvbG9yOiAjMmVjYzQwO1xufVxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICMxZmMyMzEgaW5zZXQ7XG4gIGNvbG9yOiAjMmVjYzQwO1xufVxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICMyNWEyMzMgaW5zZXQ7XG4gIGNvbG9yOiAjMmVjYzQwO1xufVxuLyogVGVydGlhcnkgKi9cbi51aS50ZXJ0aWFyeS5ncmVlbi5idXR0b25zIC5idXR0b24sXG4udWkudGVydGlhcnkuZ3JlZW4uYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmdyZWVuLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogIzIxYmE0NTtcbn1cbi51aS50ZXJ0aWFyeS5ncmVlbi5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkudGVydGlhcnkuZ3JlZW4uYnV0dG9ucyBidXR0b246aG92ZXIsXG4udWkudGVydGlhcnkuZ3JlZW4uYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjMmE5ODQ0O1xuICBjb2xvcjogIzJhOTg0NDtcbn1cbi51aS50ZXJ0aWFyeS5ncmVlbi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkuZ3JlZW4uYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LmdyZWVuLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzIwOTIzYjtcbiAgY29sb3I6ICMyMDkyM2I7XG59XG4udWkudGVydGlhcnkuZ3JlZW4uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5ncmVlbi5idXR0b25zIC50ZXJ0aWFyeS5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmdyZWVuLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS5ncmVlbi5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5LmdyZWVuLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICMwMGMyMmU7XG4gIGNvbG9yOiAjMTNhZTM4O1xufVxuLnVpLnRlYWwuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnRlYWwuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjVhZDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLnRlYWwuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnRlYWwuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOWM5NTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnRlYWwuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOGM4NjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZWFsLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4MjdjO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkudGVhbC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlYWwuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkudGVhbC5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlYWwuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDljOTU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMudGVhbC5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMudGVhbC5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMwMGI1YWQgaW5zZXQ7XG4gIGNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLmJhc2ljLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLnRlYWwuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMDA5Yzk1IGluc2V0O1xuICBjb2xvcjogIzAwOWM5NTtcbn1cbi51aS5iYXNpYy50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy50ZWFsLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzAwOGM4NiBpbnNldDtcbiAgY29sb3I6ICMwMDljOTU7XG59XG4udWkuYmFzaWMudGVhbC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLnRlYWwuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzAwOWM5NSBpbnNldDtcbiAgY29sb3I6ICMwMDgyN2M7XG59XG4udWkuYmFzaWMudGVhbC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLnRlYWwuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMDA4MjdjIGluc2V0O1xuICBjb2xvcjogIzAwODI3Yztcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICM2ZGZmZmYgaW5zZXQ7XG4gIGNvbG9yOiAjNmRmZmZmO1xufVxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FmZmZmO1xufVxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ0ZmZmZjtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQudGVhbC5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0ZmZmZjtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhZmZmZjtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzNhZmZmZiBpbnNldDtcbiAgY29sb3I6ICM2ZGZmZmY7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzQ0ZmZmZiBpbnNldDtcbiAgY29sb3I6ICM2ZGZmZmY7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzU0ZmZmZiBpbnNldDtcbiAgY29sb3I6ICM2ZGZmZmY7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzNhZmZmZiBpbnNldDtcbiAgY29sb3I6ICM2ZGZmZmY7XG59XG4vKiBUZXJ0aWFyeSAqL1xuLnVpLnRlcnRpYXJ5LnRlYWwuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnRlYWwuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnRlYWwuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLnRlcnRpYXJ5LnRlYWwuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5LnRlYWwuYnV0dG9ucyBidXR0b246aG92ZXIsXG4udWkudGVydGlhcnkudGVhbC5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICMxMDhjODY7XG4gIGNvbG9yOiAjMTA4Yzg2O1xufVxuLnVpLnRlcnRpYXJ5LnRlYWwuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LnRlYWwuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LnRlYWwuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjMGU3ZTc5O1xuICBjb2xvcjogIzBlN2U3OTtcbn1cbi51aS50ZXJ0aWFyeS50ZWFsLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkudGVhbC5idXR0b25zIC50ZXJ0aWFyeS5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnRlYWwuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkudGVhbC5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5LnRlYWwuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzAwOWM5NTtcbiAgY29sb3I6ICMwMDljOTU7XG59XG4udWkuYmx1ZS5idXR0b25zIC5idXR0b24sXG4udWkuYmx1ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NWQwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkuYmx1ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkuYmx1ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmx1ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTY3OGMyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYmx1ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmx1ZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQ3MWJiO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYmx1ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJsdWUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTY5YTQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5ibHVlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmx1ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS5ibHVlLmFjdGl2ZS5idXR0b24sXG4udWkuYmx1ZS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEyNzljNjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5ibHVlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5ibHVlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzIxODVkMCBpbnNldDtcbiAgY29sb3I6ICMyMTg1ZDA7XG59XG4udWkuYmFzaWMuYmx1ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMuYmx1ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMxNjc4YzIgaW5zZXQ7XG4gIGNvbG9yOiAjMTY3OGMyO1xufVxuLnVpLmJhc2ljLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLmJsdWUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMGQ3MWJiIGluc2V0O1xuICBjb2xvcjogIzE2NzhjMjtcbn1cbi51aS5iYXNpYy5ibHVlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMuYmx1ZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMTI3OWM2IGluc2V0O1xuICBjb2xvcjogIzFhNjlhNDtcbn1cbi51aS5iYXNpYy5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMuYmx1ZS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMxYTY5YTQgaW5zZXQ7XG4gIGNvbG9yOiAjMWE2OWE0O1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzU0YzhmZiBpbnNldDtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiOGZmO1xufVxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJiYmJmZjtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmx1ZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhYzBmZjtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYjhmZjtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzIxYjhmZiBpbnNldDtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzJiYmJmZiBpbnNldDtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzNhYzBmZiBpbnNldDtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggIzIxYjhmZiBpbnNldDtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG4vKiBUZXJ0aWFyeSAqL1xuLnVpLnRlcnRpYXJ5LmJsdWUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmJsdWUuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmJsdWUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLnRlcnRpYXJ5LmJsdWUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5LmJsdWUuYnV0dG9ucyBidXR0b246aG92ZXIsXG4udWkudGVydGlhcnkuYmx1ZS5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICMyYjc1YWM7XG4gIGNvbG9yOiAjMmI3NWFjO1xufVxuLnVpLnRlcnRpYXJ5LmJsdWUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LmJsdWUuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LmJsdWUuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjMjE2ZWE3O1xuICBjb2xvcjogIzIxNmVhNztcbn1cbi51aS50ZXJ0aWFyeS5ibHVlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkuYmx1ZS5idXR0b25zIC50ZXJ0aWFyeS5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmJsdWUuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkuYmx1ZS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5LmJsdWUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzAwN2JkODtcbiAgY29sb3I6ICMxMjc5YzY7XG59XG4udWkudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS52aW9sZXQuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVjOTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLnZpb2xldC5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS52aW9sZXQuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU4MjliYjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnZpb2xldC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkudmlvbGV0LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZjIwYjU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS52aW9sZXQuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MDJhYTE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS52aW9sZXQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS52aW9sZXQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkudmlvbGV0LmFjdGl2ZS5idXR0b24sXG4udWkudmlvbGV0LmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTYyNmJmO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLnZpb2xldC5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzY0MzVjOSBpbnNldDtcbiAgY29sb3I6ICM2NDM1Yzk7XG59XG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy52aW9sZXQuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNTgyOWJiIGluc2V0O1xuICBjb2xvcjogIzU4MjliYjtcbn1cbi51aS5iYXNpYy52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLnZpb2xldC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM0ZjIwYjUgaW5zZXQ7XG4gIGNvbG9yOiAjNTgyOWJiO1xufVxuLnVpLmJhc2ljLnZpb2xldC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLnZpb2xldC5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNTYyNmJmIGluc2V0O1xuICBjb2xvcjogIzUwMmFhMTtcbn1cbi51aS5iYXNpYy52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy52aW9sZXQuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNTAyYWExIGluc2V0O1xuICBjb2xvcjogIzUwMmFhMTtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjYTI5MWZiIGluc2V0O1xuICBjb2xvcjogI2EyOTFmYjtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc0NWFmZjtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2Q2NGZmO1xufVxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnZpb2xldC5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhhNzNmZjtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ODYwZjk7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC52aW9sZXQuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC52aW9sZXQuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICM3NDVhZmYgaW5zZXQ7XG4gIGNvbG9yOiAjYTI5MWZiO1xufVxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC52aW9sZXQuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICM3ZDY0ZmYgaW5zZXQ7XG4gIGNvbG9yOiAjYTI5MWZiO1xufVxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICM4YTczZmYgaW5zZXQ7XG4gIGNvbG9yOiAjYTI5MWZiO1xufVxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICM3ODYwZjkgaW5zZXQ7XG4gIGNvbG9yOiAjYTI5MWZiO1xufVxuLyogVGVydGlhcnkgKi9cbi51aS50ZXJ0aWFyeS52aW9sZXQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnZpb2xldC5idXR0b25zIC50ZXJ0aWFyeS5idXR0b24sXG4udWkudGVydGlhcnkudmlvbGV0LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogIzY0MzVjOTtcbn1cbi51aS50ZXJ0aWFyeS52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5LnZpb2xldC5idXR0b25zIGJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS52aW9sZXQuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjNjA0MGE1O1xuICBjb2xvcjogIzYwNDBhNTtcbn1cbi51aS50ZXJ0aWFyeS52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LnZpb2xldC5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkudmlvbGV0LmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzU3MzVhMDtcbiAgY29sb3I6ICM1NzM1YTA7XG59XG4udWkudGVydGlhcnkudmlvbGV0LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkudmlvbGV0LmJ1dHRvbnMgLnRlcnRpYXJ5LmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkudmlvbGV0LmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkudmlvbGV0LmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkudmlvbGV0LmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICM0ZTBmZDY7XG4gIGNvbG9yOiAjNTYyNmJmO1xufVxuLnVpLnB1cnBsZS5idXR0b25zIC5idXR0b24sXG4udWkucHVycGxlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMzMzYzg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS5wdXJwbGUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLnB1cnBsZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkucHVycGxlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NjI3YmE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnB1cnBsZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGYxZWI0O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkucHVycGxlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODIyOTlmO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucHVycGxlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkucHVycGxlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLnB1cnBsZS5hY3RpdmUuYnV0dG9uLFxuLnVpLnB1cnBsZS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3MjRiZTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLnB1cnBsZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNhMzMzYzggaW5zZXQ7XG4gIGNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLmJhc2ljLnB1cnBsZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzk2MjdiYSBpbnNldDtcbiAgY29sb3I6ICM5NjI3YmE7XG59XG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5wdXJwbGUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjOGYxZWI0IGluc2V0O1xuICBjb2xvcjogIzk2MjdiYTtcbn1cbi51aS5iYXNpYy5wdXJwbGUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5wdXJwbGUuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzk3MjRiZSBpbnNldDtcbiAgY29sb3I6ICM4MjI5OWY7XG59XG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzgyMjk5ZiBpbnNldDtcbiAgY29sb3I6ICM4MjI5OWY7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2RjNzNmZiBpbnNldDtcbiAgY29sb3I6ICNkYzczZmY7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZjQwZmY7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QyNGFmZjtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5wdXJwbGUuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNjVhZmY7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2Y0MGZmO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjY2Y0MGZmIGluc2V0O1xuICBjb2xvcjogI2RjNzNmZjtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZDI0YWZmIGluc2V0O1xuICBjb2xvcjogI2RjNzNmZjtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZDY1YWZmIGluc2V0O1xuICBjb2xvcjogI2RjNzNmZjtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjY2Y0MGZmIGluc2V0O1xuICBjb2xvcjogI2RjNzNmZjtcbn1cbi8qIFRlcnRpYXJ5ICovXG4udWkudGVydGlhcnkucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5wdXJwbGUuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnB1cnBsZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNhMzMzYzg7XG59XG4udWkudGVydGlhcnkucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS5wdXJwbGUuYnV0dG9ucyBidXR0b246aG92ZXIsXG4udWkudGVydGlhcnkucHVycGxlLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzhhM2VhNDtcbiAgY29sb3I6ICM4YTNlYTQ7XG59XG4udWkudGVydGlhcnkucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS50ZXJ0aWFyeS5wdXJwbGUuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LnB1cnBsZS5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICM4NDMzOWY7XG4gIGNvbG9yOiAjODQzMzlmO1xufVxuLnVpLnRlcnRpYXJ5LnB1cnBsZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnB1cnBsZS5idXR0b25zIC50ZXJ0aWFyeS5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnB1cnBsZS5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnB1cnBsZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5LnB1cnBsZS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5LnB1cnBsZS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjYTMwZGQ0O1xuICBjb2xvcjogIzk3MjRiZTtcbn1cbi51aS5waW5rLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5waW5rLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMDM5OTc7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS5waW5rLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5waW5rLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNjFhOGQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5waW5rLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMTBmODU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5waW5rLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkucGluay5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M3MWY3ZTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnBpbmsuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5waW5rLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLnBpbmsuYWN0aXZlLmJ1dHRvbixcbi51aS5waW5rLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWExNThkO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLnBpbmsuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLnBpbmsuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZTAzOTk3IGluc2V0O1xuICBjb2xvcjogI2UwMzk5Nztcbn1cbi51aS5iYXNpYy5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5waW5rLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2U2MWE4ZCBpbnNldDtcbiAgY29sb3I6ICNlNjFhOGQ7XG59XG4udWkuYmFzaWMucGluay5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMucGluay5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNlMTBmODUgaW5zZXQ7XG4gIGNvbG9yOiAjZTYxYThkO1xufVxuLnVpLmJhc2ljLnBpbmsuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5waW5rLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNlYTE1OGQgaW5zZXQ7XG4gIGNvbG9yOiAjYzcxZjdlO1xufVxuLnVpLmJhc2ljLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5waW5rLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2M3MWY3ZSBpbnNldDtcbiAgY29sb3I6ICNjNzFmN2U7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmY4ZWRmIGluc2V0O1xuICBjb2xvcjogI2ZmOGVkZjtcbn1cbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjViZDE7XG59XG4udWkuaW52ZXJ0ZWQucGluay5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2NWQzO1xufVxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5waW5rLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY3NGQ4O1xufVxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1YmQxO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmY1YmQxIGluc2V0O1xuICBjb2xvcjogI2ZmOGVkZjtcbn1cbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmY2NWQzIGluc2V0O1xuICBjb2xvcjogI2ZmOGVkZjtcbn1cbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmY3NGQ4IGluc2V0O1xuICBjb2xvcjogI2ZmOGVkZjtcbn1cbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmY1YmQxIGluc2V0O1xuICBjb2xvcjogI2ZmOGVkZjtcbn1cbi8qIFRlcnRpYXJ5ICovXG4udWkudGVydGlhcnkucGluay5idXR0b25zIC5idXR0b24sXG4udWkudGVydGlhcnkucGluay5idXR0b25zIC50ZXJ0aWFyeS5idXR0b24sXG4udWkudGVydGlhcnkucGluay5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNlMDM5OTc7XG59XG4udWkudGVydGlhcnkucGluay5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkudGVydGlhcnkucGluay5idXR0b25zIGJ1dHRvbjpob3Zlcixcbi51aS50ZXJ0aWFyeS5waW5rLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgI2NjMzM4OTtcbiAgY29sb3I6ICNjYzMzODk7XG59XG4udWkudGVydGlhcnkucGluay5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkucGluay5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkucGluay5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICNjOTI3ODI7XG4gIGNvbG9yOiAjYzkyNzgyO1xufVxuLnVpLnRlcnRpYXJ5LnBpbmsuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5waW5rLmJ1dHRvbnMgLnRlcnRpYXJ5LmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkucGluay5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LnBpbmsuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS5waW5rLmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkucGluay5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjZmYwMDkwO1xuICBjb2xvcjogI2VhMTU4ZDtcbn1cbi51aS5icm93bi5idXR0b25zIC5idXR0b24sXG4udWkuYnJvd24uYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1NjczZjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLmJyb3duLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5icm93bi5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYnJvd24uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3NWIzMztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5icm93bi5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA1MzJiO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5icm93bi5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgwNTAzMTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmJyb3duLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYnJvd24uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkuYnJvd24uYWN0aXZlLmJ1dHRvbixcbi51aS5icm93bi5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5NWEzMTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5icm93bi5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMuYnJvd24uYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjYTU2NzNmIGluc2V0O1xuICBjb2xvcjogI2E1NjczZjtcbn1cbi51aS5iYXNpYy5icm93bi5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMuYnJvd24uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjOTc1YjMzIGluc2V0O1xuICBjb2xvcjogIzk3NWIzMztcbn1cbi51aS5iYXNpYy5icm93bi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMuYnJvd24uYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjOTA1MzJiIGluc2V0O1xuICBjb2xvcjogIzk3NWIzMztcbn1cbi51aS5iYXNpYy5icm93bi5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLmJyb3duLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM5OTVhMzEgaW5zZXQ7XG4gIGNvbG9yOiAjODA1MDMxO1xufVxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMuYnJvd24uYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjODA1MDMxIGluc2V0O1xuICBjb2xvcjogIzgwNTAzMTtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2Q2N2MxYyBpbnNldDtcbiAgY29sb3I6ICNkNjdjMWM7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IwNjIwZjtcbn1cbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MxNjgwODtcbn1cbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmJyb3duLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M2ZjBkO1xufVxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhOTYyMTY7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNiMDYyMGYgaW5zZXQ7XG4gIGNvbG9yOiAjZDY3YzFjO1xufVxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNjMTY4MDggaW5zZXQ7XG4gIGNvbG9yOiAjZDY3YzFjO1xufVxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNjYzZmMGQgaW5zZXQ7XG4gIGNvbG9yOiAjZDY3YzFjO1xufVxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNhOTYyMTYgaW5zZXQ7XG4gIGNvbG9yOiAjZDY3YzFjO1xufVxuLyogVGVydGlhcnkgKi9cbi51aS50ZXJ0aWFyeS5icm93bi5idXR0b25zIC5idXR0b24sXG4udWkudGVydGlhcnkuYnJvd24uYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmJyb3duLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2E1NjczZjtcbn1cbi51aS50ZXJ0aWFyeS5icm93bi5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkudGVydGlhcnkuYnJvd24uYnV0dG9ucyBidXR0b246aG92ZXIsXG4udWkudGVydGlhcnkuYnJvd24uYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjODM1ZjQ4O1xuICBjb2xvcjogIzgzNWY0ODtcbn1cbi51aS50ZXJ0aWFyeS5icm93bi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkudGVydGlhcnkuYnJvd24uYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LmJyb3duLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzdkNTczZTtcbiAgY29sb3I6ICM3ZDU3M2U7XG59XG4udWkudGVydGlhcnkuYnJvd24uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5icm93bi5idXR0b25zIC50ZXJ0aWFyeS5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmJyb3duLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS5icm93bi5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5LmJyb3duLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICNhZTU2MWQ7XG4gIGNvbG9yOiAjOTk1YTMxO1xufVxuLnVpLmdyZXkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmdyZXkuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLmdyZXkuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmdyZXkuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgzODM4MztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmdyZXkuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5ncmV5LmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA5MDkwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuZ3JleS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmdyZXkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkuZ3JleS5hY3RpdmUuYnV0dG9uLFxuLnVpLmdyZXkuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2OTY5Njk7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMuZ3JleS5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMuZ3JleS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM3Njc2NzYgaW5zZXQ7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLmJhc2ljLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLmdyZXkuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjODM4MzgzIGluc2V0O1xuICBjb2xvcjogIzgzODM4Mztcbn1cbi51aS5iYXNpYy5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5ncmV5LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzhhOGE4YSBpbnNldDtcbiAgY29sb3I6ICM4MzgzODM7XG59XG4udWkuYmFzaWMuZ3JleS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLmdyZXkuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzY5Njk2OSBpbnNldDtcbiAgY29sb3I6ICM5MDkwOTA7XG59XG4udWkuYmFzaWMuZ3JleS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLmdyZXkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjOTA5MDkwIGluc2V0O1xuICBjb2xvcjogIzkwOTA5MDtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNkNGQ0ZDUgaW5zZXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJjNGM1O1xufVxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M3YzljYjtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JleS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NmZDBkMjtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzRjNTtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2MyYzRjNSBpbnNldDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2M3YzljYiBpbnNldDtcbiAgY29sb3I6ICNkY2RkZGU7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2NmZDBkMiBpbnNldDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI2MyYzRjNSBpbnNldDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBUZXJ0aWFyeSAqL1xuLnVpLnRlcnRpYXJ5LmdyZXkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmdyZXkuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmdyZXkuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLnRlcnRpYXJ5LmdyZXkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5LmdyZXkuYnV0dG9ucyBidXR0b246aG92ZXIsXG4udWkudGVydGlhcnkuZ3JleS5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICM5MDkwOTA7XG4gIGNvbG9yOiAjOTA5MDkwO1xufVxuLnVpLnRlcnRpYXJ5LmdyZXkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LmdyZXkuYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LmdyZXkuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjOWY5ZjlmO1xuICBjb2xvcjogIzlmOWY5Zjtcbn1cbi51aS50ZXJ0aWFyeS5ncmV5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkuZ3JleS5idXR0b25zIC50ZXJ0aWFyeS5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmdyZXkuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkuZ3JleS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246YWN0aXZlLFxuLnVpLnRlcnRpYXJ5LmdyZXkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzVkNWQ1ZDtcbiAgY29sb3I6ICM2OTY5Njk7XG59XG4udWkuYmxhY2suYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJsYWNrLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS5ibGFjay5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJsYWNrLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNzI5MmE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5ibGFjay5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmxhY2suYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJmMzAzMjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmxhY2suYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDM2Mzc7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5ibGFjay5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJsYWNrLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLmJsYWNrLmFjdGl2ZS5idXR0b24sXG4udWkuYmxhY2suYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZjBmMTA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMuYmxhY2suYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLmJsYWNrLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzFiMWMxZCBpbnNldDtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4udWkuYmFzaWMuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLmJsYWNrLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzI3MjkyYSBpbnNldDtcbiAgY29sb3I6ICMyNzI5MmE7XG59XG4udWkuYmFzaWMuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLmJsYWNrLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzJmMzAzMiBpbnNldDtcbiAgY29sb3I6ICMyNzI5MmE7XG59XG4udWkuYmFzaWMuYmxhY2suYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5ibGFjay5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMGYwZjEwIGluc2V0O1xuICBjb2xvcjogIzM0MzYzNztcbn1cbi51aS5iYXNpYy5ibGFjay5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLmJsYWNrLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzM0MzYzNyBpbnNldDtcbiAgY29sb3I6ICMzNDM2Mzc7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNkNGQ0ZDUgaW5zZXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibGFjay5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjMDAwMDAwIGluc2V0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjMDAwMDAwIGluc2V0O1xuICBjb2xvcjogIzU0NTQ1NDtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjMDAwMDAwIGluc2V0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjMDAwMDAwIGluc2V0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFRlcnRpYXJ5ICovXG4udWkudGVydGlhcnkuYmxhY2suYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmJsYWNrLmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5ibGFjay5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4udWkudGVydGlhcnkuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5LmJsYWNrLmJ1dHRvbnMgYnV0dG9uOmhvdmVyLFxuLnVpLnRlcnRpYXJ5LmJsYWNrLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMmVtIDAgIzhiOGY5MztcbiAgY29sb3I6ICM4YjhmOTM7XG59XG4udWkudGVydGlhcnkuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnRlcnRpYXJ5LmJsYWNrLmJ1dHRvbnMgLnRlcnRpYXJ5LmJ1dHRvbjpmb2N1cyxcbi51aS50ZXJ0aWFyeS5ibGFjay5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0wLjJlbSAwICM5Mzk2OWE7XG4gIGNvbG9yOiAjOTM5NjlhO1xufVxuLnVpLnRlcnRpYXJ5LmJsYWNrLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkudGVydGlhcnkuYmxhY2suYnV0dG9ucyAudGVydGlhcnkuYWN0aXZlLmJ1dHRvbixcbi51aS50ZXJ0aWFyeS5ibGFjay5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlcnRpYXJ5LmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkudGVydGlhcnkuYmxhY2suYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uOmFjdGl2ZSxcbi51aS50ZXJ0aWFyeS5ibGFjay5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4yZW0gMCAjNDA0MjQ1O1xuICBjb2xvcjogIzBmMGYxMDtcbn1cbi8qIFN0YW5kYXJkICovXG4udWkucG9zaXRpdmUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnBvc2l0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMWJhNDU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS5wb3NpdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkucG9zaXRpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnBvc2l0aXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNmFiMzk7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5wb3NpdGl2ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkucG9zaXRpdmUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBlYTQzMjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnBvc2l0aXZlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkucG9zaXRpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOThmMzU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5wb3NpdGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnBvc2l0aXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLnBvc2l0aXZlLmFjdGl2ZS5idXR0b24sXG4udWkucG9zaXRpdmUuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxM2FlMzg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMucG9zaXRpdmUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLnBvc2l0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzIxYmE0NSBpbnNldDtcbiAgY29sb3I6ICMyMWJhNDU7XG59XG4udWkuYmFzaWMucG9zaXRpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLnBvc2l0aXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzE2YWIzOSBpbnNldDtcbiAgY29sb3I6ICMxNmFiMzk7XG59XG4udWkuYmFzaWMucG9zaXRpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLnBvc2l0aXZlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzBlYTQzMiBpbnNldDtcbiAgY29sb3I6ICMxNmFiMzk7XG59XG4udWkuYmFzaWMucG9zaXRpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5wb3NpdGl2ZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMTNhZTM4IGluc2V0O1xuICBjb2xvcjogIzE5OGYzNTtcbn1cbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLnBvc2l0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzE5OGYzNSBpbnNldDtcbiAgY29sb3I6ICMxOThmMzU7XG59XG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5wb3NpdGl2ZS5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cbi8qIFN0YW5kYXJkICovXG4udWkubmVnYXRpdmUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLm5lZ2F0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYjI4Mjg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS5uZWdhdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkubmVnYXRpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLm5lZ2F0aXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMDE5MTk7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5uZWdhdGl2ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkubmVnYXRpdmUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhMTAxMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLm5lZ2F0aXZlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkubmVnYXRpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMjFlMWU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5uZWdhdGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLm5lZ2F0aXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLm5lZ2F0aXZlLmFjdGl2ZS5idXR0b24sXG4udWkubmVnYXRpdmUuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNDE1MTU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLm5lZ2F0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2RiMjgyOCBpbnNldDtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLm5lZ2F0aXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2QwMTkxOSBpbnNldDtcbiAgY29sb3I6ICNkMDE5MTk7XG59XG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLm5lZ2F0aXZlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2NhMTAxMCBpbnNldDtcbiAgY29sb3I6ICNkMDE5MTk7XG59XG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5uZWdhdGl2ZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDQxNTE1IGluc2V0O1xuICBjb2xvcjogI2IyMWUxZTtcbn1cbi51aS5iYXNpYy5uZWdhdGl2ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLm5lZ2F0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2IyMWUxZSBpbnNldDtcbiAgY29sb3I6ICNiMjFlMWU7XG59XG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5uZWdhdGl2ZS5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgICAgR3JvdXBzXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5idXR0b25zIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZvbnQtc2l6ZTogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW46IDAgMC4yNWVtIDAgMDtcbn1cbi51aS5idXR0b25zOm5vdCguYmFzaWMpOm5vdCguaW52ZXJ0ZWQpIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIENsZWFyZml4ICovXG4udWkuYnV0dG9uczo6YWZ0ZXIge1xuICBjb250ZW50OiBcIi5cIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qIFN0YW5kYXJkIEdyb3VwICovXG4udWkuYnV0dG9ucyAuYnV0dG9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbjogMDtcbn1cbi51aS5idXR0b25zOm5vdCguYmFzaWMpOm5vdCguaW52ZXJ0ZWQpID4gLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLmludmVydGVkKSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudCBpbnNldCwgMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi8qIFZlcnRpY2FsIFN0eWxlICovXG4udWkudmVydGljYWwuYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnVpLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi51aS52ZXJ0aWNhbC5idXR0b25zIC5idXR0b246bm90KC5iYXNpYykge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uOm9ubHktY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLnZlcnRpY2FsLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4udWkud3JhcHBpbmcuYnV0dG9ucyB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi51aS53cmFwcGluZy5iYXNpYy5idXR0b25zIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbi51aS53cmFwcGluZy5iYXNpYy5idXR0b25zIC5idXR0b24ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS53cmFwcGluZy5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuLnVpLmNvbXBhY3Qud3JhcHBpbmcuYnV0dG9ucyAuYnV0dG9uIHtcbiAgZmxleDogbm9uZTtcbn1cbi51aS53cmFwcGVkLmJ1dHRvbnM6bm90KC5zcGFjZWQpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG4udWkud3JhcHBlZC5idXR0b25zOm5vdCguc3BhY2VkKSAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwIDAgMDtcbn1cbi51aS53cmFwcGVkLmJ1dHRvbnM6bm90KC5zcGFjZWQpIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDA7XG59XG4udWkud3JhcHBlZFtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0uYnV0dG9ucyB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMCAwIDA7XG59XG4udWkud3JhcHBlZFtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0uYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnVpLndyYXBwZWRbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmJ1dHRvbnMge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLndyYXBwZWRbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4udWkuc3BhY2VkLmJ1dHRvbnMgLnVpLmJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkuc3BhY2VkLmJhc2ljLmJ1dHRvbnMge1xuICBib3JkZXI6IG5vbmU7XG59XG4udWkuc3BhY2VkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc3BhY2VkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbi5iYXNpYyB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS5zcGFjZWQuYmFzaWMudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc3BhY2VkLmJhc2ljLndyYXBwaW5nLmJ1dHRvbnMgLmJ1dHRvbjpub3QoLmJhc2ljKSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnNwYWNlZC5iYXNpYy53cmFwcGluZy5idXR0b25zIC5idXR0b246bm90KC5iYXNpYyk6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc3BhY2VkLmJhc2ljLmludmVydGVkLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMWVtICsgMXB4KTtcbiAgbWFyZ2luLXRvcDogMXB4O1xufVxuLnVpLmJhc2ljLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkuaW52ZXJ0ZWQgLmJ1dHRvbixcbi51aS5iYXNpYy5idXR0b25zOm5vdCgudmVydGljYWwpIC5iYXNpYy5idXR0b24ge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuLnVpLmJhc2ljLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCk6bm90KC5zcGFjZWQpOm5vdCguaW52ZXJ0ZWQpIC5iYXNpYy5idXR0b24ge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLnVpLmludmVydGVkLmJhc2ljLmJ1dHRvbnM6bm90KC5zcGFjZWQpIC5idXR0b24sXG4udWkuYXR0YWNoZWQuYmFzaWMuYnV0dG9uczpub3QoLndyYXBwaW5nKTpub3QoLmludmVydGVkKSAuYmFzaWMuYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbn1cbi51aS5iYXNpYy5idXR0b25zOm5vdCgudmVydGljYWwpOm5vdCguYXR0YWNoZWQpOm5vdCguc3BhY2VkKTpub3QoLndyYXBwaW5nKTpub3QoLmludmVydGVkKSAuYmFzaWMuYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBDb250YWluZXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250YWluZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1pbmltdW0gR3V0dGVyIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBtYXhpbXVtIGNvbnRhaW5lciB3aWR0aCBmb3IgYSBnaXZlbiBkZXZpY2UgKi9cbi8qIERldmljZXMgKi9cbi8qIENvdXBsaW5nIChBZGQgTmVnYXRpdmUgTWFyZ2luIHRvIGNvbnRhaW5lciBzaXplKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGV4dCAqL1xuLyogUmVzaXphYmxlICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ29udGFpbmVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWxsIFNpemVzICovXG4udWkuY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkudWkudWkuY29udGFpbmVyOm5vdCguZmx1aWQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG4gIC51aS51aS51aS5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLnVpLnVpLnVpLnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC51aS51aS51aS52ZXJ5LnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4vKiBUYWJsZXQgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudWkudWkudWkuY29udGFpbmVyOm5vdCguZmx1aWQpIHtcbiAgICB3aWR0aDogNzIzcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC51aS51aS51aS5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoNzIzcHggKyAycmVtKTtcbiAgfVxuICAudWkudWkudWkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoNzIzcHggKyAzcmVtKTtcbiAgfVxuICAudWkudWkudWkudmVyeS5yZWxheGVkLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogY2FsYyg3MjNweCArIDVyZW0pO1xuICB9XG59XG4vKiBTbWFsbCBNb25pdG9yICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gIC51aS51aS51aS5jb250YWluZXI6bm90KC5mbHVpZCkge1xuICAgIHdpZHRoOiA5MzNweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnVpLnVpLnVpLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogY2FsYyg5MzNweCArIDJyZW0pO1xuICB9XG4gIC51aS51aS51aS5yZWxheGVkLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogY2FsYyg5MzNweCArIDNyZW0pO1xuICB9XG4gIC51aS51aS51aS52ZXJ5LnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKDkzM3B4ICsgNXJlbSk7XG4gIH1cbn1cbi8qIExhcmdlIE1vbml0b3IgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51aS51aS51aS5jb250YWluZXI6bm90KC5mbHVpZCkge1xuICAgIHdpZHRoOiAxMTI3cHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC51aS51aS51aS5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoMTEyN3B4ICsgMnJlbSk7XG4gIH1cbiAgLnVpLnVpLnVpLnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKDExMjdweCArIDNyZW0pO1xuICB9XG4gIC51aS51aS51aS52ZXJ5LnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKDExMjdweCArIDVyZW0pO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVGV4dCBDb250YWluZXIgKi9cbi51aS50ZXh0LmNvbnRhaW5lciB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4vKiBXaWRlIENvbnRhaW5lciAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC51aS51aS51aS53aWRlLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDg2Ny42cHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLnVpLnVpLnVpLndpZGUuY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTExOS42cHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51aS51aS51aS53aWRlLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEzNTIuNHB4O1xuICB9XG59XG4vKiBGbHVpZCAqL1xuLnVpLmZsdWlkLmNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aVtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi51aVtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi51aS5qdXN0aWZpZWQuY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgaHlwaGVuczogYXV0bztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBTY3JvbGxpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zY3JvbGxpbmcuY29udGFpbmVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLnNob3J0IHtcbiAgICBtYXgtaGVpZ2h0OiAxMS4yNWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLnNob3J0LnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAxMS4yNWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDcuNWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDcuNWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAxNWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLmxvbmcge1xuICAgIG1heC1oZWlnaHQ6IDMwZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXIubG9uZy5yZXNpemFibGUge1xuICAgIGhlaWdodDogMzBlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lcltjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDQ1ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBsb25nXCJdLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiA0NWVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLnNob3J0IHtcbiAgICBtYXgtaGVpZ2h0OiAxMy41ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXIuc2hvcnQucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDEzLjVlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lcltjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIHtcbiAgICBtYXgtaGVpZ2h0OiA5ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBzaG9ydFwiXS5yZXNpemFibGUge1xuICAgIGhlaWdodDogOWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAxOGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAxOGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLmxvbmcge1xuICAgIG1heC1oZWlnaHQ6IDM2ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXIubG9uZy5yZXNpemFibGUge1xuICAgIGhlaWdodDogMzZlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lcltjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDU0ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBsb25nXCJdLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiA1NGVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLnNob3J0IHtcbiAgICBtYXgtaGVpZ2h0OiAxOGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLnNob3J0LnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAxOGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDEyZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBzaG9ydFwiXS5yZXNpemFibGUge1xuICAgIGhlaWdodDogMTJlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMjRlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lci5yZXNpemFibGUge1xuICAgIGhlaWdodDogMjRlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lci5sb25nIHtcbiAgICBtYXgtaGVpZ2h0OiA0OGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLmxvbmcucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDQ4ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBsb25nXCJdIHtcbiAgICBtYXgtaGVpZ2h0OiA3MmVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyW2NsYXNzKj1cInZlcnkgbG9uZ1wiXS5yZXNpemFibGUge1xuICAgIGhlaWdodDogNzJlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXIuc2hvcnQge1xuICAgIG1heC1oZWlnaHQ6IDIyLjVlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lci5zaG9ydC5yZXNpemFibGUge1xuICAgIGhlaWdodDogMjIuNWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDE1ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBzaG9ydFwiXS5yZXNpemFibGUge1xuICAgIGhlaWdodDogMTVlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMzBlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lci5yZXNpemFibGUge1xuICAgIGhlaWdodDogMzBlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lci5sb25nIHtcbiAgICBtYXgtaGVpZ2h0OiA2MGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLmxvbmcucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDYwZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBsb25nXCJdIHtcbiAgICBtYXgtaGVpZ2h0OiA5MGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuY29udGFpbmVyW2NsYXNzKj1cInZlcnkgbG9uZ1wiXS5yZXNpemFibGUge1xuICAgIGhlaWdodDogOTBlbTtcbiAgfVxufVxuLnVpLnJlc2l6YWJsZS5zY3JvbGxpbmcuY29udGFpbmVyIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgbWF4LWhlaWdodDogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBEaXZpZGVyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRGl2aWRlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSWNvbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBIb3Jpem9udGFsIC8gVmVydGljYWwgKi9cbi8qIEludmVydGVkICovXG4vKiBTZWN0aW9uICovXG4vKiBTaXplcyAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIERpdmlkZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuZGl2aWRlciB7XG4gIG1hcmdpbjogMXJlbSAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgaGVpZ2h0OiAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzaWNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRpdmlkZXI6bm90KC52ZXJ0aWNhbCk6bm90KC5ob3Jpem9udGFsKSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBBbGxvdyBkaXZpZGVyIGJldHdlZW4gZWFjaCBjb2x1bW4gcm93ICovXG4udWkuZ3JpZCA+IC5jb2x1bW4gKyAuZGl2aWRlcjpub3QoLnZlcnRpY2FsKSxcbi51aS5ncmlkID4gLnJvdyA+IC5jb2x1bW4gKyAuZGl2aWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gIGxlZnQ6IGF1dG87XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIEhvcml6b250YWxcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5ob3Jpem9udGFsLmRpdmlkZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IFwiXCI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWkuaG9yaXpvbnRhbC5kaXZpZGVyOjpiZWZvcmUsXG4udWkuaG9yaXpvbnRhbC5kaXZpZGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4udWkuaG9yaXpvbnRhbC5kaXZpZGVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxZW0gdG9wIDUwJTtcbn1cbi51aS5ob3Jpem9udGFsLmRpdmlkZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAxZW0gdG9wIDUwJTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFZlcnRpY2FsXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkudmVydGljYWwuZGl2aWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA1MCU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cbi51aS52ZXJ0aWNhbC5kaXZpZGVyOjpiZWZvcmUsXG4udWkudmVydGljYWwuZGl2aWRlcjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgY29udGVudDogXCJcIjtcbiAgei1pbmRleDogMztcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xufVxuLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmJlZm9yZSB7XG4gIHRvcDogLTEwMCU7XG59XG4udWkudmVydGljYWwuZGl2aWRlcjo6YWZ0ZXIge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbn1cbi8qIEluc2lkZSBncmlkICovXG4udWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXIsXG4udWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlciB7XG4gIGZsZXg6IDE7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS5zdGFja2FibGUuZ3JpZCAuY29sdW1uICsgLnVpLnZlcnRpY2FsLmRpdmlkZXIsXG4gIC51aS5ncmlkIC5zdGFja2FibGUucm93IC5jb2x1bW4gKyAudWkudmVydGljYWwuZGl2aWRlciB7XG4gICAgbWFyZ2luOiAxcmVtO1xuICB9XG4gIC51aS5zdGFja2FibGUuZ3JpZCAudWkudmVydGljYWwuZGl2aWRlcixcbiAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogXCJcIjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmJlZm9yZSxcbiAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmJlZm9yZSxcbiAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyOjphZnRlcixcbiAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmFmdGVyIHtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxuICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmJlZm9yZSxcbiAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMWVtIHRvcCA1MCU7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyOjphZnRlcixcbiAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDFlbSB0b3AgNTAlO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEljb25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kaXZpZGVyID4gLmljb24ge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSGVhZGVyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaG9yaXpvbnRhbC5kaXZpZGVyW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5ob3Jpem9udGFsLmRpdmlkZXJbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdOjphZnRlciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLmhvcml6b250YWwuZGl2aWRlcltjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdOjpiZWZvcmUge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5ob3Jpem9udGFsLmRpdmlkZXJbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSGlkZGVuXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaGlkZGVuLmRpdmlkZXIge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4udWkuaGlkZGVuLmRpdmlkZXI6OmJlZm9yZSxcbi51aS5oaWRkZW4uZGl2aWRlcjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZGl2aWRlci5pbnZlcnRlZCxcbi51aS52ZXJ0aWNhbC5pbnZlcnRlZC5kaXZpZGVyLFxuLnVpLmhvcml6b250YWwuaW52ZXJ0ZWQuZGl2aWRlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmRpdmlkZXIuaW52ZXJ0ZWQsXG4udWkuZGl2aWRlci5pbnZlcnRlZDo6YWZ0ZXIsXG4udWkuZGl2aWRlci5pbnZlcnRlZDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpICFpbXBvcnRhbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIEZpdHRlZFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZml0dGVkLmRpdmlkZXIge1xuICBtYXJnaW46IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBDbGVhcmluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNsZWFyaW5nLmRpdmlkZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNlY3Rpb25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zZWN0aW9uLmRpdmlkZXIge1xuICBtYXJnaW4tdG9wOiAycmVtO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRpdmlkZXIge1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkubWluaS5kaXZpZGVyIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLnRpbnkuZGl2aWRlciB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS5zbWFsbC5kaXZpZGVyIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLmxhcmdlLmRpdmlkZXIge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkuYmlnLmRpdmlkZXIge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG4udWkuaHVnZS5kaXZpZGVyIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuLnVpLm1hc3NpdmUuZGl2aWRlciB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuaG9yaXpvbnRhbC5kaXZpZGVyOjpiZWZvcmUsXG4udWkuaG9yaXpvbnRhbC5kaXZpZGVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFCYUFBQUFBQ0NBWUFBQUN1VEh1S0FBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeUZwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOUzFqTURFMElEYzVMakUxTVRRNE1Td2dNakF4TXk4d015OHhNeTB4TWpvd09Ub3hOU0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESUNoWGFXNWtiM2R6S1NJZ2VHMXdUVTA2U1c1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRvMU9UaEJSRFk0T1VORE1UWXhNVVUwT1VFM05VVkdPRUpETXpNek1qRTJOeUlnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG8xT1RoQlJEWTRRVU5ETVRZeE1VVTBPVUUzTlVWR09FSkRNek16TWpFMk55SStJRHg0YlhCTlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPalU1T0VGRU5qZzNRME14TmpFeFJUUTVRVGMxUlVZNFFrTXpNek15TVRZM0lpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qVTVPRUZFTmpnNFEwTXhOakV4UlRRNVFUYzFSVVk0UWtNek16TXlNVFkzSWk4K0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4K1ZVNTEzZ0FBQURWSlJFRlVlTnJzMERFTkFDQVFCREJJV0xHQkpRYnkvbVVjSm41c0pYUW1PUU1BQUFBQUFKcXQrMnByQUFBQUFBQ2cyeGRnQU5rNkJFVnVKZ3lNQUFBQUFFbEZUa1N1UW1DQ1wiKTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyOjpiZWZvcmUsXG4gIC51aS5ncmlkIC5zdGFja2FibGUucm93IC51aS52ZXJ0aWNhbC5kaXZpZGVyOjpiZWZvcmUsXG4gIC51aS5zdGFja2FibGUuZ3JpZCAudWkudmVydGljYWwuZGl2aWRlcjo6YWZ0ZXIsXG4gIC51aS5ncmlkIC5zdGFja2FibGUucm93IC51aS52ZXJ0aWNhbC5kaXZpZGVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUJhQUFBQUFDQ0FZQUFBQ3VUSHVLQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5RnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5TMWpNREUwSURjNUxqRTFNVFE0TVN3Z01qQXhNeTh3TXk4eE15MHhNam93T1RveE5TQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJQ2hYYVc1a2IzZHpLU0lnZUcxd1RVMDZTVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG8xT1RoQlJEWTRPVU5ETVRZeE1VVTBPVUUzTlVWR09FSkRNek16TWpFMk55SWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEbzFPVGhCUkRZNFFVTkRNVFl4TVVVME9VRTNOVVZHT0VKRE16TXpNakUyTnlJK0lEeDRiWEJOVFRwRVpYSnBkbVZrUm5KdmJTQnpkRkpsWmpwcGJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qVTVPRUZFTmpnM1EwTXhOakV4UlRRNVFUYzFSVVk0UWtNek16TXlNVFkzSWlCemRGSmxaanBrYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pVNU9FRkVOamc0UTBNeE5qRXhSVFE1UVRjMVJVWTRRa016TXpNeU1UWTNJaTgrSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGlBOEwzSmtaanBTUkVZK0lEd3ZlRHA0YlhCdFpYUmhQaUE4UDNod1lXTnJaWFFnWlc1a1BTSnlJajgrVlU1MTNnQUFBRFZKUkVGVWVOcnMwREVOQUNBUUJEQklXTEdCSlFieS9tVWNKbjVzSlhRbU9RTUFBQUFBQUpxdCsycHJBQUFBQUFDZzJ4ZGdBTms2QkVWdUpneU1BQUFBQUVsRlRrU3VRbUNDXCIpO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBFbW9qaVxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLypcbiogVHdlbW9qaSB2MTUuMSBieSBAamRlY2tlZCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9qZGVja2VkL3R3ZW1vamlcbiogTGljZW5zZSAtIE1JVCwgQ0MtQlkgNC4wIC0gaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzQuMC9cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEVtb2ppXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBQYXRoXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBEZWZpbml0aW9uXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVtb2ppIFZhcmlhYmxlcyAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEVtb2ppXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuZW1bZGF0YS1lbW9qaV0ge1xuICBvcGFjaXR5OiAxO1xuICBzcGVhazogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuZW1bZGF0YS1lbW9qaV06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwwMEEwXFwwMEEwXFwwMEEwXFwwMEEwXFwwMEEwXFwwMEEwXFwwMEEwXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuZW1bZGF0YS1lbW9qaV0uZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjQ1O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmVtW2RhdGEtZW1vamldLmxvYWRpbmc6OmJlZm9yZSB7XG4gIGFuaW1hdGlvbjogbG9hZGVyIDJzIGxpbmVhciBpbmZpbml0ZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICBMaW5rXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmVtW2RhdGEtZW1vamldLmxpbms6bm90KC5kaXNhYmxlZCkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4vKiBydGw6YmVnaW46aWdub3JlICovXG5lbVtkYXRhLWVtb2ppXS5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5lbVtkYXRhLWVtb2ppXS5tZWRpdW0ge1xuICBmb250LXNpemU6IDNlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbmVtW2RhdGEtZW1vamldLmxhcmdlIHtcbiAgZm9udC1zaXplOiA2ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5lbVtkYXRhLWVtb2ppXS5iaWcge1xuICBmb250LXNpemU6IDcuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppbnRlcnJvYmFuZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJpbnRlcnJvYmFuZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yMDQ5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dG06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidG1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjEyMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmluZm9ybWF0aW9uX3NvdXJjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJpbmZvcm1hdGlvbl9zb3VyY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjEzOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxlZnRfcmlnaHRfYXJyb3c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGVmdF9yaWdodF9hcnJvd1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yMTk0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJyb3dfdXBfZG93bjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnJvd191cF9kb3duXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIxOTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnJvd191cHBlcl9sZWZ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFycm93X3VwcGVyX2xlZnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjE5Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFycm93X3VwcGVyX3JpZ2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFycm93X3VwcGVyX3JpZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIxOTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnJvd19sb3dlcl9yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnJvd19sb3dlcl9yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yMTk4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJyb3dfbG93ZXJfbGVmdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnJvd19sb3dlcl9sZWZ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIxOTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjprZXlib2FyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJrZXlib2FyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yMzI4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3Vubnk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3VubnlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjYwMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb3VkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb3VkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2MDEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp1bWJyZWxsYTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidW1icmVsbGEyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2MDIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbm93bWFuMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbm93bWFuMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjAzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29tZXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29tZXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjYwNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhbGxvdF9ib3hfd2l0aF9jaGVjazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYWxsb3RfYm94X3dpdGhfY2hlY2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjYxMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnVtYnJlbGxhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInVtYnJlbGxhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2MTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb2ZmZWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29mZmVlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2MTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaGFtcm9jazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzaGFtcm9ja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjE4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2t1bGxfY3Jvc3Nib25lczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJza3VsbF9jcm9zc2JvbmVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2MjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWRpb2FjdGl2ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWRpb2FjdGl2ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmlvaGF6YXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJpb2hhemFyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjIzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b3J0aG9kb3hfY3Jvc3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib3J0aG9kb3hfY3Jvc3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjYyNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndoZWVsX29mX2RoYXJtYTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3aGVlbF9vZl9kaGFybWFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjYzOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZyb3duaW5nMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmcm93bmluZzJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjYzOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZlbWFsZV9zaWduOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZlbWFsZV9zaWduXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2NDAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYWxlX3NpZ246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFsZV9zaWduXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2NDIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcmllczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcmllc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjQ4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGF1cnVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRhdXJ1c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjQ5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2FnaXR0YXJpdXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2FnaXR0YXJpdXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY1MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNhcHJpY29ybjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYXByaWNvcm5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY1MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFxdWFyaXVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFxdWFyaXVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2NTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaXNjZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGlzY2VzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2NTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzcGFkZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3BhZGVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2NjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbHViczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbHVic1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjYzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhcnRzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYXJ0c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjY1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGlhbW9uZHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGlhbW9uZHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY2Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvdHNwcmluZ3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaG90c3ByaW5nc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjY4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFtbWVyX3BpY2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFtbWVyX3BpY2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY5Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFuY2hvcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhbmNob3JcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY5My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNyb3NzZWRfc3dvcmRzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNyb3NzZWRfc3dvcmRzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2OTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZWRpY2FsX3N5bWJvbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZWRpY2FsX3N5bWJvbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjk1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2NhbGVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNjYWxlc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjk2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YWxlbWJpYzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhbGVtYmljXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2OTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnZWFyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdlYXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY5OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNjaXNzb3JzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNjaXNzb3JzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MDIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3aGl0ZV9jaGVja19tYXJrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndoaXRlX2NoZWNrX21hcmtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFpcnBsYW5lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFpcnBsYW5lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MDguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplbnZlbG9wZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlbnZlbG9wZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzA5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmxhY2tfbmliOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsYWNrX25pYlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzEyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhdnlfY2hlY2tfbWFyazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWF2eV9jaGVja19tYXJrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWF2eV9tdWx0aXBsaWNhdGlvbl94OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYXZ5X211bHRpcGxpY2F0aW9uX3hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcxNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0YXJfb2ZfZGF2aWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3Rhcl9vZl9kYXZpZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzIxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3BhcmtsZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3BhcmtsZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcyOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVpZ2h0X3Nwb2tlZF9hc3RlcmlzazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlaWdodF9zcG9rZWRfYXN0ZXJpc2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjczMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVpZ2h0X3BvaW50ZWRfYmxhY2tfc3RhcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlaWdodF9wb2ludGVkX2JsYWNrX3N0YXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjczNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNub3dmbGFrZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbm93Zmxha2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjc0NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNwYXJrbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3BhcmtsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzQ3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cXVlc3Rpb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicXVlc3Rpb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjc1My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdyZXlfcXVlc3Rpb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ3JleV9xdWVzdGlvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzU0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3JleV9leGNsYW1hdGlvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJncmV5X2V4Y2xhbWF0aW9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3NTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpleGNsYW1hdGlvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJleGNsYW1hdGlvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzU3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhcnRfZXhjbGFtYXRpb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhcnRfZXhjbGFtYXRpb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjc2My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3NjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWF2eV9wbHVzX3NpZ246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhdnlfcGx1c19zaWduXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3OTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWF2eV9taW51c19zaWduOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYXZ5X21pbnVzX3NpZ25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjc5Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYXZ5X2RpdmlzaW9uX3NpZ246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhdnlfZGl2aXNpb25fc2lnblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzk3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJyb3dfaGVhZGluZ191cDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnJvd19oZWFkaW5nX3VwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI5MzQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnJvd19oZWFkaW5nX2Rvd246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJyb3dfaGVhZGluZ19kb3duXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI5MzUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3YXZ5X2Rhc2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2F2eV9kYXNoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzMwMzAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb25ncmF0dWxhdGlvbnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29uZ3JhdHVsYXRpb25zXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzMyOTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzZWNyZXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2VjcmV0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzMyOTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpncmlubmluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJncmlubmluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYwMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNtaWxleTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbWlsZXlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MDMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbWlsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbWlsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYwNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdyaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ3JpblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYwMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxhdWdoaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxhdWdoaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjA2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFjZV9ob2xkaW5nX2JhY2tfdGVhcnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFjZV9ob2xkaW5nX2JhY2tfdGVhcnNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Nzkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzd2VhdF9zbWlsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzd2VhdF9zbWlsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYwNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmpveTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJqb3lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MDIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyb2ZsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJvZmxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbWlsaW5nX2ZhY2Vfd2l0aF90ZWFyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNtaWxpbmdfZmFjZV93aXRoX3RlYXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NzIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWxheGVkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlbGF4ZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjYzYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsdXNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsdXNoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjBhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aW5ub2NlbnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaW5ub2NlbnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MDcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbGlnaHRfc21pbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2xpZ2h0X3NtaWxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dXBzaWRlX2Rvd246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidXBzaWRlX2Rvd25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3aW5rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndpbmtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MDkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWxpZXZlZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWxpZXZlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYwYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYXJ0X2V5ZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhcnRfZXllc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYwZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNtaWxpbmdfZmFjZV93aXRoXzNfaGVhcnRzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNtaWxpbmdfZmFjZV93aXRoXzNfaGVhcnRzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTcwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc2luZ19oZWFydDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzaW5nX2hlYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjE4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjE3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc2luZ19zbWlsaW5nX2V5ZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc2luZ19zbWlsaW5nX2V5ZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzaW5nX2Nsb3NlZF9leWVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NpbmdfY2xvc2VkX2V5ZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp5dW06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwieXVtXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjBiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3R1Y2tfb3V0X3Rvbmd1ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdHVja19vdXRfdG9uZ3VlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjFiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3R1Y2tfb3V0X3Rvbmd1ZV9jbG9zZWRfZXllczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdHVja19vdXRfdG9uZ3VlX2Nsb3NlZF9leWVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjFkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3R1Y2tfb3V0X3Rvbmd1ZV93aW5raW5nX2V5ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdHVja19vdXRfdG9uZ3VlX3dpbmtpbmdfZXllXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjFjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6emFueV9mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInphbnlfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhY2Vfd2l0aF9yYWlzZWRfZXllYnJvdzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWNlX3dpdGhfcmFpc2VkX2V5ZWJyb3dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Mjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYWNlX3dpdGhfbW9ub2NsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWNlX3dpdGhfbW9ub2NsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5lcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmVyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN1bmdsYXNzZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3VuZ2xhc3Nlc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYwZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRpc2d1aXNlZF9mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRpc2d1aXNlZF9mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTc4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3Rhcl9zdHJ1Y2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3Rhcl9zdHJ1Y2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Mjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYXJ0eWluZ19mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhcnR5aW5nX2ZhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbWlyazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbWlya1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnVuYW11c2VkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInVuYW11c2VkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjEyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGlzYXBwb2ludGVkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRpc2FwcG9pbnRlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYxZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlbnNpdmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVuc2l2ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYxNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvcnJpZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29ycmllZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYxZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvbmZ1c2VkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvbmZ1c2VkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjE1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2xpZ2h0X2Zyb3duOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNsaWdodF9mcm93blwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNldmVyZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzZXZlcmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb25mb3VuZGVkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvbmZvdW5kZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aXJlZF9mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRpcmVkX2ZhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3ZWFyeTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3ZWFyeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYyOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBsZWFkaW5nX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGxlYWRpbmdfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk3YS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNyeTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjcnlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzb2I6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic29iXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHJpdW1waDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0cml1bXBoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjI0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YW5ncnk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYW5ncnlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWdlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYWNlX3dpdGhfc3ltYm9sc19vdmVyX21vdXRoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhY2Vfd2l0aF9zeW1ib2xzX292ZXJfbW91dGhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpleHBsb2RpbmdfaGVhZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJleHBsb2RpbmdfaGVhZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsdXNoZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmx1c2hlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYzMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvdF9mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhvdF9mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTc1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29sZF9mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvbGRfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk3Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhY2VfaW5fY2xvdWRzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhY2VfaW5fY2xvdWRzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjM2LTIwMGQtMWYzMmItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNjcmVhbTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzY3JlYW1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MzEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmZWFyZnVsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZlYXJmdWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2Mjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb2xkX3N3ZWF0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvbGRfc3dlYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MzAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkaXNhcHBvaW50ZWRfcmVsaWV2ZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGlzYXBwb2ludGVkX3JlbGlldmVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjI1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3dlYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3dlYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpodWdnaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImh1Z2dpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aGlua2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aGlua2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhY2Vfd2l0aF9wZWVraW5nX2V5ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWNlX3dpdGhfcGVla2luZ19leWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYWNlX3dpdGhfaGFuZF9vdmVyX21vdXRoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhY2Vfd2l0aF9oYW5kX292ZXJfbW91dGhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYWNlX3dpdGhfb3Blbl9leWVzX2FuZF9oYW5kX292ZXJfbW91dGg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFjZV93aXRoX29wZW5fZXllc19hbmRfaGFuZF9vdmVyX21vdXRoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWUyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2FsdXRpbmdfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYWx1dGluZ19mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWUxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2h1c2hpbmdfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzaHVzaGluZ19mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVsdGluZ19mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbHRpbmdfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFlMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmx5aW5nX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibHlpbmdfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5vX21vdXRoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5vX21vdXRoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjM2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZG90dGVkX2xpbmVfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkb3R0ZWRfbGluZV9mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWU1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmV1dHJhbF9mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5ldXRyYWxfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYxMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhY2Vfd2l0aF9kaWFnb25hbF9tb3V0aDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWNlX3dpdGhfZGlhZ29uYWxfbW91dGhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpleHByZXNzaW9ubGVzczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJleHByZXNzaW9ubGVzc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYxMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNoYWtpbmdfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzaGFraW5nX2ZhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFkX3NoYWtpbmdfaG9yaXpvbnRhbGx5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYWRfc2hha2luZ19ob3Jpem9udGFsbHlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDItMjAwZC0yMTk0LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFkX3NoYWtpbmdfdmVydGljYWxseTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFkX3NoYWtpbmdfdmVydGljYWxseVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Mi0yMDBkLTIxOTUtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdyaW1hY2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJncmltYWNpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyb2xsaW5nX2V5ZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicm9sbGluZ19leWVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aHVzaGVkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImh1c2hlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYyZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZyb3duaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZyb3duaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjI2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YW5ndWlzaGVkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFuZ3Vpc2hlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYyNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9wZW5fbW91dGg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib3Blbl9tb3V0aFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYyZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFzdG9uaXNoZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXN0b25pc2hlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYzMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnlhd25pbmdfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ5YXduaW5nX2ZhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NzEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbGVlcGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbGVlcGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYzNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRyb29saW5nX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZHJvb2xpbmdfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNsZWVweTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbGVlcHlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYWNlX2V4aGFsaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhY2VfZXhoYWxpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MmUtMjAwZC0xZjRhOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRpenp5X2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGl6enlfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYzNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhY2Vfd2l0aF9zcGlyYWxfZXllczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWNlX3dpdGhfc3BpcmFsX2V5ZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2MzUtMjAwZC0xZjRhYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnppcHBlcl9tb3V0aDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ6aXBwZXJfbW91dGhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b296eV9mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvb3p5X2ZhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NzQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuYXVzZWF0ZWRfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuYXVzZWF0ZWRfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhY2Vfdm9taXRpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFjZV92b21pdGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNuZWV6aW5nX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic25lZXppbmdfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hc2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFza1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYzNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRoZXJtb21ldGVyX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGhlcm1vbWV0ZXJfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYWRfYmFuZGFnZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFkX2JhbmRhZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptb25leV9tb3V0aDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtb25leV9tb3V0aFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvd2JveTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3dib3lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbWlsaW5nX2ltcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbWlsaW5nX2ltcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYwOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmltcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJpbXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0N2Yuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpqYXBhbmVzZV9vZ3JlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImphcGFuZXNlX29ncmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Nzkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpqYXBhbmVzZV9nb2JsaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiamFwYW5lc2VfZ29ibGluXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDdhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvd246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvd25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb29wOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvb3BcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnaG9zdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJnaG9zdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNrdWxsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNrdWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YWxpZW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYWxpZW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0N2Quc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzcGFjZV9pbnZhZGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNwYWNlX2ludmFkZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0N2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyb2JvdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyb2JvdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmphY2tfb19sYW50ZXJuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImphY2tfb19sYW50ZXJuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzgzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c21pbGV5X2NhdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbWlsZXlfY2F0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjNhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c21pbGVfY2F0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNtaWxlX2NhdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYzOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmpveV9jYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiam95X2NhdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYzOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYXJ0X2V5ZXNfY2F0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYXJ0X2V5ZXNfY2F0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjNiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c21pcmtfY2F0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNtaXJrX2NhdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYzYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NpbmdfY2F0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NpbmdfY2F0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjNkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2NyZWFtX2NhdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzY3JlYW1fY2F0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3J5aW5nX2NhdF9mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNyeWluZ19jYXRfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjYzZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvdXRpbmdfY2F0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvdXRpbmdfY2F0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhcnRfaGFuZHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhcnRfaGFuZHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFydF9oYW5kc190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFydF9oYW5kc190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmNi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYXJ0X2hhbmRzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYXJ0X2hhbmRzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY2LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhcnRfaGFuZHNfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhcnRfaGFuZHNfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjYtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFydF9oYW5kc190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFydF9oYW5kc190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmNi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYXJ0X2hhbmRzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYXJ0X2hhbmRzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY2LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFsbXNfdXBfdG9nZXRoZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFsbXNfdXBfdG9nZXRoZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYWxtc191cF90b2dldGhlcl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWxtc191cF90b2dldGhlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzMi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhbG1zX3VwX3RvZ2V0aGVyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhbG1zX3VwX3RvZ2V0aGVyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTMyLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFsbXNfdXBfdG9nZXRoZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFsbXNfdXBfdG9nZXRoZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzItMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYWxtc191cF90b2dldGhlcl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWxtc191cF90b2dldGhlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzMi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhbG1zX3VwX3RvZ2V0aGVyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhbG1zX3VwX3RvZ2V0aGVyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTMyLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b3Blbl9oYW5kczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvcGVuX2hhbmRzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDUwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b3Blbl9oYW5kc190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvcGVuX2hhbmRzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDUwLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b3Blbl9oYW5kc190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvcGVuX2hhbmRzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDUwLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b3Blbl9oYW5kc190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvcGVuX2hhbmRzX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDUwLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b3Blbl9oYW5kc190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvcGVuX2hhbmRzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDUwLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b3Blbl9oYW5kc190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvcGVuX2hhbmRzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDUwLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFpc2VkX2hhbmRzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhaXNlZF9oYW5kc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhaXNlZF9oYW5kc190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWlzZWRfaGFuZHNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGMtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWlzZWRfaGFuZHNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmFpc2VkX2hhbmRzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRjLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFpc2VkX2hhbmRzX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhaXNlZF9oYW5kc190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Yy0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhaXNlZF9oYW5kc190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWlzZWRfaGFuZHNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGMtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWlzZWRfaGFuZHNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmFpc2VkX2hhbmRzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRjLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xhcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbGFwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xhcF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbGFwX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRmLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xhcF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbGFwX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRmLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xhcF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbGFwX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRmLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xhcF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbGFwX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRmLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xhcF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbGFwX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRmLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZHNoYWtlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRzaGFrZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWQtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTFfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmUxX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZiLTIwMGQtMWZhZjItMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTFfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmUxX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZiLTIwMGQtMWZhZjItMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTFfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmUxX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZiLTIwMGQtMWZhZjItMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTFfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmUxX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZiLTIwMGQtMWZhZjItMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmUyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZjLTIwMGQtMWZhZjItMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFkLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZHNoYWtlX3RvbmUyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRzaGFrZV90b25lMl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMS0xZjNmYy0yMDBkLTFmYWYyLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZHNoYWtlX3RvbmUyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRzaGFrZV90b25lMl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMS0xZjNmYy0yMDBkLTFmYWYyLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZHNoYWtlX3RvbmUyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRzaGFrZV90b25lMl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMS0xZjNmYy0yMDBkLTFmYWYyLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZHNoYWtlX3RvbmUzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRzaGFrZV90b25lM190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMS0xZjNmZC0yMDBkLTFmYWYyLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZHNoYWtlX3RvbmUzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRzaGFrZV90b25lM190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMS0xZjNmZC0yMDBkLTFmYWYyLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZHNoYWtlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRzaGFrZV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxZC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lM190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmQtMjAwZC0xZmFmMi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lM190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmQtMjAwZC0xZmFmMi0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lNF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmUtMjAwZC0xZmFmMi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lNF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmUtMjAwZC0xZmFmMi0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lNF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmUtMjAwZC0xZmFmMi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRzaGFrZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kc2hha2VfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWQtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmU0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZlLTIwMGQtMWZhZjItMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmU1X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZmLTIwMGQtMWZhZjItMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTVfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmU1X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZmLTIwMGQtMWZhZjItMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmU1X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZmLTIwMGQtMWZhZjItMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmU1X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZmLTIwMGQtMWZhZjItMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kc2hha2VfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZHNoYWtlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFkLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGh1bWJzdXA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGh1bWJzdXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aHVtYnN1cF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aHVtYnN1cF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0ZC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRodW1ic3VwX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRodW1ic3VwX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRkLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGh1bWJzdXBfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGh1bWJzdXBfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGQtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aHVtYnN1cF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aHVtYnN1cF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0ZC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRodW1ic3VwX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRodW1ic3VwX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRkLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGh1bWJzZG93bjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aHVtYnNkb3duXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGh1bWJzZG93bl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aHVtYnNkb3duX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRlLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGh1bWJzZG93bl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aHVtYnNkb3duX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRlLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGh1bWJzZG93bl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aHVtYnNkb3duX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRlLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGh1bWJzZG93bl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aHVtYnNkb3duX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRlLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGh1bWJzZG93bl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aHVtYnNkb3duX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRlLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHVuY2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHVuY2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwdW5jaF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwdW5jaF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0YS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnB1bmNoX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInB1bmNoX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRhLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHVuY2hfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHVuY2hfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NGEtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwdW5jaF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwdW5jaF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0YS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnB1bmNoX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInB1bmNoX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRhLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmlzdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaXN0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaXN0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpc3RfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwYS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpc3RfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlzdF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzBhLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmlzdF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaXN0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGEtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaXN0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpc3RfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwYS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpc3RfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlzdF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzBhLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdF9mYWNpbmdfZmlzdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0X2ZhY2luZ19maXN0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdF9mYWNpbmdfZmlzdF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0X2ZhY2luZ19maXN0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFiLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdF9mYWNpbmdfZmlzdF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0X2ZhY2luZ19maXN0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFiLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdF9mYWNpbmdfZmlzdF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0X2ZhY2luZ19maXN0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFiLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdF9mYWNpbmdfZmlzdF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0X2ZhY2luZ19maXN0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFiLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdF9mYWNpbmdfZmlzdF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0X2ZhY2luZ19maXN0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFiLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmlnaHRfZmFjaW5nX2Zpc3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmlnaHRfZmFjaW5nX2Zpc3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyaWdodF9mYWNpbmdfZmlzdF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaWdodF9mYWNpbmdfZmlzdF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxYy0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpZ2h0X2ZhY2luZ19maXN0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJpZ2h0X2ZhY2luZ19maXN0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFjLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmlnaHRfZmFjaW5nX2Zpc3RfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmlnaHRfZmFjaW5nX2Zpc3RfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWMtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyaWdodF9mYWNpbmdfZmlzdF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaWdodF9mYWNpbmdfZmlzdF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxYy0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpZ2h0X2ZhY2luZ19maXN0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJpZ2h0X2ZhY2luZ19maXN0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFjLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdHdhcmRzX3B1c2hpbmdfaGFuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0d2FyZHNfcHVzaGluZ19oYW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdHdhcmRzX3B1c2hpbmdfaGFuZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY3LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdHdhcmRzX3B1c2hpbmdfaGFuZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY3LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdHdhcmRzX3B1c2hpbmdfaGFuZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY3LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdHdhcmRzX3B1c2hpbmdfaGFuZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY3LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdHdhcmRzX3B1c2hpbmdfaGFuZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY3LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmlnaHR3YXJkc19wdXNoaW5nX2hhbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmlnaHR3YXJkc19wdXNoaW5nX2hhbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyaWdodHdhcmRzX3B1c2hpbmdfaGFuZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaWdodHdhcmRzX3B1c2hpbmdfaGFuZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmOC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpZ2h0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJpZ2h0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmlnaHR3YXJkc19wdXNoaW5nX2hhbmRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmlnaHR3YXJkc19wdXNoaW5nX2hhbmRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyaWdodHdhcmRzX3B1c2hpbmdfaGFuZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaWdodHdhcmRzX3B1c2hpbmdfaGFuZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmOC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpZ2h0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJpZ2h0d2FyZHNfcHVzaGluZ19oYW5kX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmluZ2Vyc19jcm9zc2VkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpbmdlcnNfY3Jvc3NlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpbmdlcnNfY3Jvc3NlZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaW5nZXJzX2Nyb3NzZWRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWUtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaW5nZXJzX2Nyb3NzZWRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmluZ2Vyc19jcm9zc2VkX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFlLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmluZ2Vyc19jcm9zc2VkX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpbmdlcnNfY3Jvc3NlZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxZS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpbmdlcnNfY3Jvc3NlZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaW5nZXJzX2Nyb3NzZWRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MWUtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaW5nZXJzX2Nyb3NzZWRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmluZ2Vyc19jcm9zc2VkX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFlLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6djpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ2XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwYy0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzBjLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ2X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGMtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwYy0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzBjLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZF93aXRoX2luZGV4X2Zpbmdlcl9hbmRfdGh1bWJfY3Jvc3NlZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kX3dpdGhfaW5kZXhfZmluZ2VyX2FuZF90aHVtYl9jcm9zc2VkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZF93aXRoX2luZGV4X2Zpbmdlcl9hbmRfdGh1bWJfY3Jvc3NlZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kX3dpdGhfaW5kZXhfZmluZ2VyX2FuZF90aHVtYl9jcm9zc2VkX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYwLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZF93aXRoX2luZGV4X2Zpbmdlcl9hbmRfdGh1bWJfY3Jvc3NlZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kX3dpdGhfaW5kZXhfZmluZ2VyX2FuZF90aHVtYl9jcm9zc2VkX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYwLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZF93aXRoX2luZGV4X2Zpbmdlcl9hbmRfdGh1bWJfY3Jvc3NlZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kX3dpdGhfaW5kZXhfZmluZ2VyX2FuZF90aHVtYl9jcm9zc2VkX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYwLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZF93aXRoX2luZGV4X2Zpbmdlcl9hbmRfdGh1bWJfY3Jvc3NlZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kX3dpdGhfaW5kZXhfZmluZ2VyX2FuZF90aHVtYl9jcm9zc2VkX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYwLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZF93aXRoX2luZGV4X2Zpbmdlcl9hbmRfdGh1bWJfY3Jvc3NlZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kX3dpdGhfaW5kZXhfZmluZ2VyX2FuZF90aHVtYl9jcm9zc2VkX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYwLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bG92ZV95b3VfZ2VzdHVyZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsb3ZlX3lvdV9nZXN0dXJlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bG92ZV95b3VfZ2VzdHVyZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsb3ZlX3lvdV9nZXN0dXJlX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFmLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bG92ZV95b3VfZ2VzdHVyZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsb3ZlX3lvdV9nZXN0dXJlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFmLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bG92ZV95b3VfZ2VzdHVyZV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsb3ZlX3lvdV9nZXN0dXJlX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFmLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bG92ZV95b3VfZ2VzdHVyZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsb3ZlX3lvdV9nZXN0dXJlX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFmLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bG92ZV95b3VfZ2VzdHVyZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsb3ZlX3lvdV9nZXN0dXJlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFmLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWV0YWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWV0YWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXRhbF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXRhbF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxOC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1ldGFsX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1ldGFsX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTE4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWV0YWxfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWV0YWxfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MTgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXRhbF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXRhbF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkxOC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1ldGFsX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1ldGFsX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTE4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2tfaGFuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJva19oYW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2tfaGFuZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJva19oYW5kX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRjLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2tfaGFuZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJva19oYW5kX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRjLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2tfaGFuZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJva19oYW5kX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRjLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2tfaGFuZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJva19oYW5kX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRjLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2tfaGFuZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJva19oYW5kX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRjLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGluY2hlZF9maW5nZXJzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbmNoZWRfZmluZ2Vyc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkwYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpbmNoZWRfZmluZ2Vyc190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaW5jaGVkX2ZpbmdlcnNfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MGMtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaW5jaGVkX2ZpbmdlcnNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGluY2hlZF9maW5nZXJzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTBjLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGluY2hlZF9maW5nZXJzX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbmNoZWRfZmluZ2Vyc190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkwYy0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpbmNoZWRfZmluZ2Vyc190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaW5jaGVkX2ZpbmdlcnNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MGMtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaW5jaGVkX2ZpbmdlcnNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGluY2hlZF9maW5nZXJzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTBjLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGluY2hpbmdfaGFuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaW5jaGluZ19oYW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGluY2hpbmdfaGFuZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaW5jaGluZ19oYW5kX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTBmLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGluY2hpbmdfaGFuZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaW5jaGluZ19oYW5kX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTBmLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGluY2hpbmdfaGFuZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaW5jaGluZ19oYW5kX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTBmLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGluY2hpbmdfaGFuZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaW5jaGluZ19oYW5kX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTBmLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGluY2hpbmdfaGFuZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaW5jaGluZ19oYW5kX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTBmLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFsbV9kb3duX2hhbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFsbV9kb3duX2hhbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYWxtX2Rvd25faGFuZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWxtX2Rvd25faGFuZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMy0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhbG1fZG93bl9oYW5kX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhbG1fZG93bl9oYW5kX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYzLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFsbV9kb3duX2hhbmRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFsbV9kb3duX2hhbmRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjMtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYWxtX2Rvd25faGFuZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWxtX2Rvd25faGFuZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMy0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhbG1fZG93bl9oYW5kX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhbG1fZG93bl9oYW5kX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYzLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFsbV91cF9oYW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhbG1fdXBfaGFuZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhbG1fdXBfaGFuZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWxtX3VwX2hhbmRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjQtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYWxtX3VwX2hhbmRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFsbV91cF9oYW5kX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY0LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFsbV91cF9oYW5kX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhbG1fdXBfaGFuZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmNC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhbG1fdXBfaGFuZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWxtX3VwX2hhbmRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjQtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYWxtX3VwX2hhbmRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFsbV91cF9oYW5kX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWY0LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfbGVmdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF9sZWZ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfbGVmdF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF9sZWZ0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfbGVmdF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF9sZWZ0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfbGVmdF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF9sZWZ0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfbGVmdF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF9sZWZ0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfbGVmdF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF9sZWZ0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfcmlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG9pbnRfcmlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF9yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF9yaWdodF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0OS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvaW50X3JpZ2h0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X3JpZ2h0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ5LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfcmlnaHRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG9pbnRfcmlnaHRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDktMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF9yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF9yaWdodF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0OS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvaW50X3JpZ2h0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X3JpZ2h0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ5LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfdXBfMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF91cF8yXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfdXBfMl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF91cF8yX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ2LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfdXBfMl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF91cF8yX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ2LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfdXBfMl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF91cF8yX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ2LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfdXBfMl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF91cF8yX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ2LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfdXBfMl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF91cF8yX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ2LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfZG93bjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF9kb3duXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfZG93bl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF9kb3duX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ3LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfZG93bl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF9kb3duX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ3LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfZG93bl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF9kb3duX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ3LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfZG93bl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF9kb3duX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ3LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfZG93bl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF9kb3duX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ3LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfdXA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG9pbnRfdXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjYxZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvaW50X3VwX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X3VwX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2MWQtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF91cF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF91cF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjFkLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9pbnRfdXBfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG9pbnRfdXBfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjYxZC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvaW50X3VwX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvaW50X3VwX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2MWQtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2ludF91cF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2ludF91cF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjFkLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFpc2VkX2hhbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmFpc2VkX2hhbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhaXNlZF9oYW5kX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhaXNlZF9oYW5kX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGItMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWlzZWRfaGFuZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWlzZWRfaGFuZF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzBiLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFpc2VkX2hhbmRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmFpc2VkX2hhbmRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwYi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhaXNlZF9oYW5kX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhaXNlZF9oYW5kX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGItMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWlzZWRfaGFuZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWlzZWRfaGFuZF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzBiLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFpc2VkX2JhY2tfb2ZfaGFuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWlzZWRfYmFja19vZl9oYW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFpc2VkX2JhY2tfb2ZfaGFuZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWlzZWRfYmFja19vZl9oYW5kX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFhLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFpc2VkX2JhY2tfb2ZfaGFuZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWlzZWRfYmFja19vZl9oYW5kX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFhLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFpc2VkX2JhY2tfb2ZfaGFuZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWlzZWRfYmFja19vZl9oYW5kX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFhLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFpc2VkX2JhY2tfb2ZfaGFuZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWlzZWRfYmFja19vZl9oYW5kX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFhLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFpc2VkX2JhY2tfb2ZfaGFuZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWlzZWRfYmFja19vZl9oYW5kX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTFhLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZF9zcGxheWVkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRfc3BsYXllZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU5MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRfc3BsYXllZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kX3NwbGF5ZWRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1OTAtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kX3NwbGF5ZWRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZF9zcGxheWVkX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTkwLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZF9zcGxheWVkX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbmRfc3BsYXllZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU5MC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbmRfc3BsYXllZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kX3NwbGF5ZWRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1OTAtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW5kX3NwbGF5ZWRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFuZF9zcGxheWVkX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTkwLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dnVsY2FuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZ1bGNhblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU5Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZ1bGNhbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ2dWxjYW5fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1OTYtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2dWxjYW5fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidnVsY2FuX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTk2LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dnVsY2FuX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZ1bGNhbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU5Ni0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZ1bGNhbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ2dWxjYW5fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1OTYtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2dWxjYW5fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidnVsY2FuX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTk2LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2F2ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3YXZlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2F2ZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3YXZlX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRiLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2F2ZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3YXZlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRiLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2F2ZV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3YXZlX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRiLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2F2ZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3YXZlX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRiLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2F2ZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3YXZlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDRiLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FsbF9tZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYWxsX21lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTE5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FsbF9tZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYWxsX21lX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTE5LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FsbF9tZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYWxsX21lX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTE5LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FsbF9tZV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYWxsX21lX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTE5LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FsbF9tZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYWxsX21lX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTE5LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FsbF9tZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYWxsX21lX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTE5LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdHdhcmRzX2hhbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGVmdHdhcmRzX2hhbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWZ0d2FyZHNfaGFuZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0d2FyZHNfaGFuZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxlZnR3YXJkc19oYW5kX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnR3YXJkc19oYW5kX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYyLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVmdHdhcmRzX2hhbmRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGVmdHdhcmRzX2hhbmRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjItMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWZ0d2FyZHNfaGFuZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0d2FyZHNfaGFuZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxlZnR3YXJkc19oYW5kX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnR3YXJkc19oYW5kX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYyLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmlnaHR3YXJkc19oYW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJpZ2h0d2FyZHNfaGFuZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpZ2h0d2FyZHNfaGFuZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaWdodHdhcmRzX2hhbmRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyaWdodHdhcmRzX2hhbmRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmlnaHR3YXJkc19oYW5kX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmlnaHR3YXJkc19oYW5kX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJpZ2h0d2FyZHNfaGFuZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFmMS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpZ2h0d2FyZHNfaGFuZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaWdodHdhcmRzX2hhbmRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjEtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyaWdodHdhcmRzX2hhbmRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmlnaHR3YXJkc19oYW5kX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWYxLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bXVzY2xlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm11c2NsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRhYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm11c2NsZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtdXNjbGVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YWEtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptdXNjbGVfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibXVzY2xlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGFhLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bXVzY2xlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm11c2NsZV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRhYS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm11c2NsZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtdXNjbGVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YWEtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptdXNjbGVfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibXVzY2xlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGFhLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVjaGFuaWNhbF9hcm06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVjaGFuaWNhbF9hcm1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptaWRkbGVfZmluZ2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1pZGRsZV9maW5nZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1OTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptaWRkbGVfZmluZ2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1pZGRsZV9maW5nZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1OTUtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptaWRkbGVfZmluZ2VyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1pZGRsZV9maW5nZXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1OTUtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptaWRkbGVfZmluZ2VyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1pZGRsZV9maW5nZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1OTUtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptaWRkbGVfZmluZ2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1pZGRsZV9maW5nZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1OTUtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptaWRkbGVfZmluZ2VyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1pZGRsZV9maW5nZXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1OTUtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3cml0aW5nX2hhbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid3JpdGluZ19oYW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3cml0aW5nX2hhbmRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid3JpdGluZ19oYW5kX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGQtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3cml0aW5nX2hhbmRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid3JpdGluZ19oYW5kX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGQtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3cml0aW5nX2hhbmRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid3JpdGluZ19oYW5kX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGQtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3cml0aW5nX2hhbmRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid3JpdGluZ19oYW5kX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGQtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3cml0aW5nX2hhbmRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid3JpdGluZ19oYW5kX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MGQtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmF5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByYXlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmF5X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByYXlfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGYtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmF5X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByYXlfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGYtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmF5X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByYXlfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGYtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmF5X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByYXlfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGYtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmF5X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByYXlfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGYtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppbmRleF9wb2ludGluZ19hdF90aGVfdmlld2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImluZGV4X3BvaW50aW5nX2F0X3RoZV92aWV3ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppbmRleF9wb2ludGluZ19hdF90aGVfdmlld2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImluZGV4X3BvaW50aW5nX2F0X3RoZV92aWV3ZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjUtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppbmRleF9wb2ludGluZ19hdF90aGVfdmlld2VyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImluZGV4X3BvaW50aW5nX2F0X3RoZV92aWV3ZXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjUtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppbmRleF9wb2ludGluZ19hdF90aGVfdmlld2VyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImluZGV4X3BvaW50aW5nX2F0X3RoZV92aWV3ZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjUtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppbmRleF9wb2ludGluZ19hdF90aGVfdmlld2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImluZGV4X3BvaW50aW5nX2F0X3RoZV92aWV3ZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjUtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppbmRleF9wb2ludGluZ19hdF90aGVfdmlld2VyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImluZGV4X3BvaW50aW5nX2F0X3RoZV92aWV3ZXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZjUtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmb290OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZvb3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmb290X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZvb3RfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjYtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmb290X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZvb3RfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjYtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmb290X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZvb3RfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjYtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmb290X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZvb3RfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjYtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmb290X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZvb3RfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjYtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGVnXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVnX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliNS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxlZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjUtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGVnX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI1LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVnX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliNS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxlZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjUtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZWNoYW5pY2FsX2xlZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZWNoYW5pY2FsX2xlZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxpcHN0aWNrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxpcHN0aWNrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDhiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGlwczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsaXBzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Yml0aW5nX2xpcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiaXRpbmdfbGlwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWU2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dG9vdGg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidG9vdGhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Yjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0b25ndWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidG9uZ3VlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQ1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWFyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVhclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVhcl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlYXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDItMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplYXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWFyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQyLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWFyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVhcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0Mi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVhcl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlYXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NDItMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplYXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWFyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQyLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWFyX3dpdGhfaGVhcmluZ19haWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWFyX3dpdGhfaGVhcmluZ19haWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplYXJfd2l0aF9oZWFyaW5nX2FpZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlYXJfd2l0aF9oZWFyaW5nX2FpZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliYi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVhcl93aXRoX2hlYXJpbmdfYWlkX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVhcl93aXRoX2hlYXJpbmdfYWlkX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWJiLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWFyX3dpdGhfaGVhcmluZ19haWRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWFyX3dpdGhfaGVhcmluZ19haWRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YmItMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplYXJfd2l0aF9oZWFyaW5nX2FpZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlYXJfd2l0aF9oZWFyaW5nX2FpZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliYi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVhcl93aXRoX2hlYXJpbmdfYWlkX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVhcl93aXRoX2hlYXJpbmdfYWlkX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWJiLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bm9zZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJub3NlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bm9zZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJub3NlX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQzLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bm9zZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJub3NlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQzLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bm9zZV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJub3NlX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQzLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bm9zZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJub3NlX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQzLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bm9zZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJub3NlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQzLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zm9vdHByaW50czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmb290cHJpbnRzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDYzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZXllOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImV5ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmV5ZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZXllc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ0MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFuYXRvbWljYWxfaGVhcnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYW5hdG9taWNhbF9oZWFydFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFjMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmx1bmdzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImx1bmdzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWMxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnJhaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnJhaW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzcGVha2luZ19oZWFkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNwZWFraW5nX2hlYWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1ZTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpidXN0X2luX3NpbGhvdWV0dGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnVzdF9pbl9zaWxob3VldHRlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnVzdHNfaW5fc2lsaG91ZXR0ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJidXN0c19pbl9zaWxob3VldHRlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX2h1Z2dpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVvcGxlX2h1Z2dpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYzIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYWJ5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhYnlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYWJ5X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhYnlfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzYtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYWJ5X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhYnlfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzYtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYWJ5X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhYnlfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzYtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYWJ5X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhYnlfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzYtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYWJ5X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhYnlfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzYtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaGlsZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaGlsZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNoaWxkX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNoaWxkX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQyLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2hpbGRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2hpbGRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDItMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaGlsZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaGlsZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNoaWxkX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNoaWxkX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQyLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2hpbGRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2hpbGRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDItMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnaXJsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdpcmxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Njcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnaXJsX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdpcmxfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjctMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnaXJsX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdpcmxfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjctMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnaXJsX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdpcmxfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjctMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnaXJsX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdpcmxfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjctMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnaXJsX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdpcmxfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjctMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpib3k6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYm95XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ym95X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJveV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Ni0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJveV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJib3lfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjYtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpib3lfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYm95X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY2LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ym95X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJveV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Ni0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJveV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJib3lfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjYtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphZHVsdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhZHVsdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFkdWx0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFkdWx0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YWR1bHRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYWR1bHRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphZHVsdF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhZHVsdF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFkdWx0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFkdWx0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YWR1bHRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYWR1bHRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fY3VybHlfaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fY3VybHlfaGFpclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmOWIxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RvbmUxX2N1cmx5X2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3RvbmUxX2N1cmx5X2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjliMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl90b25lMl9jdXJseV9oYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl90b25lMl9jdXJseV9oYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWY5YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdG9uZTNfY3VybHlfaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdG9uZTNfY3VybHlfaGFpclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmOWIxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RvbmU0X2N1cmx5X2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3RvbmU0X2N1cmx5X2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjliMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl90b25lNV9jdXJseV9oYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl90b25lNV9jdXJseV9oYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWY5YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jdXJseV9oYWlyZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY3VybHlfaGFpcmVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWY5YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jdXJseV9oYWlyZWRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY3VybHlfaGFpcmVkX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY5YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jdXJseV9oYWlyZWRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY3VybHlfaGFpcmVkX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWY5YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jdXJseV9oYWlyZWRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY3VybHlfaGFpcmVkX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWY5YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jdXJseV9oYWlyZWRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY3VybHlfaGFpcmVkX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY5YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jdXJseV9oYWlyZWRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY3VybHlfaGFpcmVkX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWY5YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY3VybHlfaGFpcmVkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jdXJseV9oYWlyZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjliMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9jdXJseV9oYWlyZWRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2N1cmx5X2hhaXJlZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmOWIxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2N1cmx5X2hhaXJlZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY3VybHlfaGFpcmVkX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWY5YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY3VybHlfaGFpcmVkX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jdXJseV9oYWlyZWRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjliMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9jdXJseV9oYWlyZWRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2N1cmx5X2hhaXJlZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmOWIxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2N1cmx5X2hhaXJlZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY3VybHlfaGFpcmVkX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWY5YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcmVkX2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3JlZF9oYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWY5YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdG9uZTFfcmVkX2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3RvbmUxX3JlZF9oYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWY5YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdG9uZTJfcmVkX2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3RvbmUyX3JlZF9oYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWY5YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdG9uZTNfcmVkX2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3RvbmUzX3JlZF9oYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWY5YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdG9uZTRfcmVkX2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3RvbmU0X3JlZF9oYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWY5YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdG9uZTVfcmVkX2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3RvbmU1X3JlZF9oYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWY5YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9yZWRfaGFpcmVkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3JlZF9oYWlyZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjliMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3JlZF9oYWlyZWRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcmVkX2hhaXJlZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmOWIwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcmVkX2hhaXJlZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9yZWRfaGFpcmVkX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWY5YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9yZWRfaGFpcmVkX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3JlZF9oYWlyZWRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjliMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3JlZF9oYWlyZWRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcmVkX2hhaXJlZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmOWIwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcmVkX2hhaXJlZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9yZWRfaGFpcmVkX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWY5YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcmVkX2hhaXJlZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcmVkX2hhaXJlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmOWIwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3JlZF9oYWlyZWRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3JlZF9oYWlyZWRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjliMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9yZWRfaGFpcmVkX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9yZWRfaGFpcmVkX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWY5YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcmVkX2hhaXJlZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcmVkX2hhaXJlZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmOWIwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3JlZF9oYWlyZWRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3JlZF9oYWlyZWRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjliMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9yZWRfaGFpcmVkX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9yZWRfaGFpcmVkX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWY5YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG9uZF9oYWlyZWRfcGVyc29uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsb25kX2hhaXJlZF9wZXJzb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG9uZF9oYWlyZWRfcGVyc29uX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsb25kX2hhaXJlZF9wZXJzb25fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzEtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG9uZF9oYWlyZWRfcGVyc29uX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsb25kX2hhaXJlZF9wZXJzb25fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzEtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG9uZF9oYWlyZWRfcGVyc29uX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsb25kX2hhaXJlZF9wZXJzb25fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzEtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG9uZF9oYWlyZWRfcGVyc29uX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsb25kX2hhaXJlZF9wZXJzb25fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzEtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG9uZF9oYWlyZWRfcGVyc29uX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsb25kX2hhaXJlZF9wZXJzb25fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzEtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG9uZC1oYWlyZWRfd29tYW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxvbmQtaGFpcmVkX3dvbWFuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcxLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmxvbmQtaGFpcmVkX3dvbWFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsb25kLWhhaXJlZF93b21hbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MS0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsb25kLWhhaXJlZF93b21hbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJibG9uZC1oYWlyZWRfd29tYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzEtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG9uZC1oYWlyZWRfd29tYW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxvbmQtaGFpcmVkX3dvbWFuX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcxLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmxvbmQtaGFpcmVkX3dvbWFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsb25kLWhhaXJlZF93b21hbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MS0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsb25kLWhhaXJlZF93b21hbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJibG9uZC1oYWlyZWRfd29tYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzEtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG9uZC1oYWlyZWRfbWFuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsb25kLWhhaXJlZF9tYW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzEtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG9uZC1oYWlyZWRfbWFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsb25kLWhhaXJlZF9tYW5fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzEtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG9uZC1oYWlyZWRfbWFuX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsb25kLWhhaXJlZF9tYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzEtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG9uZC1oYWlyZWRfbWFuX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsb25kLWhhaXJlZF9tYW5fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzEtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG9uZC1oYWlyZWRfbWFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsb25kLWhhaXJlZF9tYW5fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzEtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibG9uZC1oYWlyZWRfbWFuX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsb25kLWhhaXJlZF9tYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzEtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2hpdGVfaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2hpdGVfaGFpclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmOWIzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RvbmUxX3doaXRlX2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3RvbmUxX3doaXRlX2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjliMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl90b25lMl93aGl0ZV9oYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl90b25lMl93aGl0ZV9oYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWY5YjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdG9uZTNfd2hpdGVfaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdG9uZTNfd2hpdGVfaGFpclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmOWIzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RvbmU0X3doaXRlX2hhaXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3RvbmU0X3doaXRlX2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjliMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl90b25lNV93aGl0ZV9oYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl90b25lNV93aGl0ZV9oYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWY5YjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aGl0ZV9oYWlyZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2hpdGVfaGFpcmVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWY5YjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aGl0ZV9oYWlyZWRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2hpdGVfaGFpcmVkX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY5YjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aGl0ZV9oYWlyZWRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2hpdGVfaGFpcmVkX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWY5YjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aGl0ZV9oYWlyZWRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2hpdGVfaGFpcmVkX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWY5YjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aGl0ZV9oYWlyZWRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2hpdGVfaGFpcmVkX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY5YjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aGl0ZV9oYWlyZWRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2hpdGVfaGFpcmVkX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWY5YjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2hpdGVfaGFpcmVkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aGl0ZV9oYWlyZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjliMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aGl0ZV9oYWlyZWRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3doaXRlX2hhaXJlZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmOWIzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3doaXRlX2hhaXJlZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2hpdGVfaGFpcmVkX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWY5YjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2hpdGVfaGFpcmVkX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aGl0ZV9oYWlyZWRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjliMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aGl0ZV9oYWlyZWRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3doaXRlX2hhaXJlZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmOWIzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3doaXRlX2hhaXJlZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2hpdGVfaGFpcmVkX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWY5YjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fYmFsZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fYmFsZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmOWIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RvbmUxX2JhbGQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3RvbmUxX2JhbGRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjliMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl90b25lMl9iYWxkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl90b25lMl9iYWxkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWY5YjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fdG9uZTNfYmFsZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdG9uZTNfYmFsZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmOWIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RvbmU0X2JhbGQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3RvbmU0X2JhbGRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjliMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl90b25lNV9iYWxkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl90b25lNV9iYWxkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWY5YjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9iYWxkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2JhbGRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjliMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2JhbGRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYmFsZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmOWIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYmFsZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9iYWxkX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWY5YjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9iYWxkX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2JhbGRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjliMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2JhbGRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYmFsZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmOWIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYmFsZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9iYWxkX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWY5YjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYmFsZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYmFsZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmOWIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2JhbGRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2JhbGRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjliMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9iYWxkX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9iYWxkX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWY5YjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYmFsZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYmFsZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmOWIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2JhbGRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2JhbGRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjliMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9iYWxkX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9iYWxkX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMWY5YjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiZWFyZGVkX3BlcnNvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiZWFyZGVkX3BlcnNvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJlYXJkZWRfcGVyc29uX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJlYXJkZWRfcGVyc29uX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ0LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmVhcmRlZF9wZXJzb25fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmVhcmRlZF9wZXJzb25fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDQtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiZWFyZGVkX3BlcnNvbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiZWFyZGVkX3BlcnNvbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJlYXJkZWRfcGVyc29uX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJlYXJkZWRfcGVyc29uX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ0LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmVhcmRlZF9wZXJzb25fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmVhcmRlZF9wZXJzb25fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDQtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9iZWFyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9iZWFyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3RvbmUxX2JlYXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RvbmUxX2JlYXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ0LTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdG9uZTJfYmVhcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdG9uZTJfYmVhcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDQtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90b25lM19iZWFyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl90b25lM19iZWFyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNC0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3RvbmU0X2JlYXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RvbmU0X2JlYXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ0LTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdG9uZTVfYmVhcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdG9uZTVfYmVhcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDQtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYmVhcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2JlYXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ0LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RvbmUxX2JlYXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90b25lMV9iZWFyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNC0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl90b25lMl9iZWFyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdG9uZTJfYmVhcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDQtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdG9uZTNfYmVhcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3RvbmUzX2JlYXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ0LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RvbmU0X2JlYXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90b25lNF9iZWFyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNC0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl90b25lNV9iZWFyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdG9uZTVfYmVhcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDQtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbGRlcl9hZHVsdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvbGRlcl9hZHVsdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9sZGVyX2FkdWx0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9sZGVyX2FkdWx0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQzLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2xkZXJfYWR1bHRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2xkZXJfYWR1bHRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDMtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbGRlcl9hZHVsdF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvbGRlcl9hZHVsdF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMy0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9sZGVyX2FkdWx0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9sZGVyX2FkdWx0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQzLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2xkZXJfYWR1bHRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2xkZXJfYWR1bHRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDMtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbGRlcl93b21hbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvbGRlcl93b21hblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9sZGVyX3dvbWFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9sZGVyX3dvbWFuX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDc1LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2xkZXJfd29tYW5fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2xkZXJfd29tYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzUtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbGRlcl93b21hbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvbGRlcl93b21hbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3NS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9sZGVyX3dvbWFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9sZGVyX3dvbWFuX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDc1LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2xkZXJfd29tYW5fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2xkZXJfd29tYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzUtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbGRlcl9tYW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2xkZXJfbWFuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDc0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2xkZXJfbWFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9sZGVyX21hbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3NC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9sZGVyX21hbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvbGRlcl9tYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzQtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbGRlcl9tYW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2xkZXJfbWFuX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDc0LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2xkZXJfbWFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9sZGVyX21hbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3NC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9sZGVyX21hbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvbGRlcl9tYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzQtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2l0aF9jaGluZXNlX2NhcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF9jaGluZXNlX2NhcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aXRoX2NoaW5lc2VfY2FwX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX2NoaW5lc2VfY2FwX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcyLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfY2hpbmVzZV9jYXBfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dpdGhfY2hpbmVzZV9jYXBfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzItMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2l0aF9jaGluZXNlX2NhcF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF9jaGluZXNlX2NhcF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Mi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aXRoX2NoaW5lc2VfY2FwX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX2NoaW5lc2VfY2FwX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcyLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfY2hpbmVzZV9jYXBfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dpdGhfY2hpbmVzZV9jYXBfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzItMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2VhcmluZ190dXJiYW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dlYXJpbmdfdHVyYmFuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDczLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dlYXJpbmdfdHVyYmFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93ZWFyaW5nX3R1cmJhbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3My0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93ZWFyaW5nX3R1cmJhbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2VhcmluZ190dXJiYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzMtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2VhcmluZ190dXJiYW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dlYXJpbmdfdHVyYmFuX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDczLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dlYXJpbmdfdHVyYmFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93ZWFyaW5nX3R1cmJhbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3My0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93ZWFyaW5nX3R1cmJhbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2VhcmluZ190dXJiYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzMtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93ZWFyaW5nX3R1cmJhbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93ZWFyaW5nX3R1cmJhblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3My0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dlYXJpbmdfdHVyYmFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dlYXJpbmdfdHVyYmFuX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDczLTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2VhcmluZ190dXJiYW5fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2VhcmluZ190dXJiYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzMtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93ZWFyaW5nX3R1cmJhbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93ZWFyaW5nX3R1cmJhbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3My0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dlYXJpbmdfdHVyYmFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dlYXJpbmdfdHVyYmFuX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDczLTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2VhcmluZ190dXJiYW5fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2VhcmluZ190dXJiYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzMtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2VhcmluZ190dXJiYW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dlYXJpbmdfdHVyYmFuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDczLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dlYXJpbmdfdHVyYmFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93ZWFyaW5nX3R1cmJhbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3My0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93ZWFyaW5nX3R1cmJhbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2VhcmluZ190dXJiYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzMtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2VhcmluZ190dXJiYW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dlYXJpbmdfdHVyYmFuX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDczLTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dlYXJpbmdfdHVyYmFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93ZWFyaW5nX3R1cmJhbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3My0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93ZWFyaW5nX3R1cmJhbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2VhcmluZ190dXJiYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzMtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aXRoX2hlYWRzY2FyZjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aXRoX2hlYWRzY2FyZlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dpdGhfaGVhZHNjYXJmX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dpdGhfaGVhZHNjYXJmX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ1LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2l0aF9oZWFkc2NhcmZfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2l0aF9oZWFkc2NhcmZfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDUtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aXRoX2hlYWRzY2FyZl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aXRoX2hlYWRzY2FyZl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dpdGhfaGVhZHNjYXJmX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dpdGhfaGVhZHNjYXJmX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ1LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2l0aF9oZWFkc2NhcmZfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2l0aF9oZWFkc2NhcmZfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDUtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2xpY2Vfb2ZmaWNlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2xpY2Vfb2ZmaWNlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvbGljZV9vZmZpY2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvbGljZV9vZmZpY2VyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZlLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9saWNlX29mZmljZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG9saWNlX29mZmljZXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmUtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb2xpY2Vfb2ZmaWNlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2xpY2Vfb2ZmaWNlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2ZS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvbGljZV9vZmZpY2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvbGljZV9vZmZpY2VyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZlLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9saWNlX29mZmljZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG9saWNlX29mZmljZXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmUtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wb2xpY2Vfb2ZmaWNlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wb2xpY2Vfb2ZmaWNlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2ZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3BvbGljZV9vZmZpY2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BvbGljZV9vZmZpY2VyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZlLTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcG9saWNlX29mZmljZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcG9saWNlX29mZmljZXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmUtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wb2xpY2Vfb2ZmaWNlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wb2xpY2Vfb2ZmaWNlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2ZS0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3BvbGljZV9vZmZpY2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BvbGljZV9vZmZpY2VyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZlLTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcG9saWNlX29mZmljZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcG9saWNlX29mZmljZXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmUtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcG9saWNlX29mZmljZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BvbGljZV9vZmZpY2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BvbGljZV9vZmZpY2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9wb2xpY2Vfb2ZmaWNlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2ZS0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wb2xpY2Vfb2ZmaWNlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcG9saWNlX29mZmljZXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmUtMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcG9saWNlX29mZmljZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BvbGljZV9vZmZpY2VyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZlLTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BvbGljZV9vZmZpY2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9wb2xpY2Vfb2ZmaWNlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2ZS0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wb2xpY2Vfb2ZmaWNlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcG9saWNlX29mZmljZXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmUtMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb25zdHJ1Y3Rpb25fd29ya2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvbnN0cnVjdGlvbl93b3JrZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Nzcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb25zdHJ1Y3Rpb25fd29ya2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzctMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb25zdHJ1Y3Rpb25fd29ya2VyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzctMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb25zdHJ1Y3Rpb25fd29ya2VyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzctMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb25zdHJ1Y3Rpb25fd29ya2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzctMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb25zdHJ1Y3Rpb25fd29ya2VyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzctMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jb25zdHJ1Y3Rpb25fd29ya2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2NvbnN0cnVjdGlvbl93b3JrZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzctMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jb25zdHJ1Y3Rpb25fd29ya2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzctMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jb25zdHJ1Y3Rpb25fd29ya2VyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzctMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jb25zdHJ1Y3Rpb25fd29ya2VyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzctMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jb25zdHJ1Y3Rpb25fd29ya2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzctMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jb25zdHJ1Y3Rpb25fd29ya2VyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzctMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY29uc3RydWN0aW9uX3dvcmtlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY29uc3RydWN0aW9uX3dvcmtlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ny0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9jb25zdHJ1Y3Rpb25fd29ya2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jb25zdHJ1Y3Rpb25fd29ya2VyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDc3LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzctMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY29uc3RydWN0aW9uX3dvcmtlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY29uc3RydWN0aW9uX3dvcmtlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Ny0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9jb25zdHJ1Y3Rpb25fd29ya2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jb25zdHJ1Y3Rpb25fd29ya2VyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDc3LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2NvbnN0cnVjdGlvbl93b3JrZXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzctMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpndWFyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJndWFyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmd1YXJkX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImd1YXJkX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgyLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3VhcmRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ3VhcmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODItMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpndWFyZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJndWFyZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Mi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmd1YXJkX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImd1YXJkX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgyLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3VhcmRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ3VhcmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODItMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9ndWFyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ndWFyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Mi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2d1YXJkX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2d1YXJkX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgyLTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ3VhcmRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ3VhcmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODItMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9ndWFyZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ndWFyZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Mi0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2d1YXJkX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2d1YXJkX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgyLTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ3VhcmRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ3VhcmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODItMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ3VhcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2d1YXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgyLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2d1YXJkX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ndWFyZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Mi0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9ndWFyZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ3VhcmRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODItMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ3VhcmRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2d1YXJkX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgyLTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2d1YXJkX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ndWFyZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Mi0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9ndWFyZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ3VhcmRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODItMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZXRlY3RpdmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGV0ZWN0aXZlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGV0ZWN0aXZlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRldGVjdGl2ZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3NS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRldGVjdGl2ZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZXRlY3RpdmVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzUtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZXRlY3RpdmVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGV0ZWN0aXZlX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc1LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGV0ZWN0aXZlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRldGVjdGl2ZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3NS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRldGVjdGl2ZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZXRlY3RpdmVfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzUtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9kZXRlY3RpdmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZGV0ZWN0aXZlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc1LWZlMGYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9kZXRlY3RpdmVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZGV0ZWN0aXZlX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc1LTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZGV0ZWN0aXZlX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2RldGVjdGl2ZV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3NS0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2RldGVjdGl2ZV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9kZXRlY3RpdmVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzUtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9kZXRlY3RpdmVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZGV0ZWN0aXZlX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc1LTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZGV0ZWN0aXZlX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2RldGVjdGl2ZV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3NS0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9kZXRlY3RpdmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2RldGVjdGl2ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3NS1mZTBmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2RldGVjdGl2ZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZGV0ZWN0aXZlX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc1LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2RldGVjdGl2ZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZGV0ZWN0aXZlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc1LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2RldGVjdGl2ZV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZGV0ZWN0aXZlX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc1LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2RldGVjdGl2ZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZGV0ZWN0aXZlX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc1LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2RldGVjdGl2ZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZGV0ZWN0aXZlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc1LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhbHRoX3dvcmtlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFsdGhfd29ya2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMjY5NS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhbHRoX3dvcmtlcl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFsdGhfd29ya2VyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMjY5NS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhbHRoX3dvcmtlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFsdGhfd29ya2VyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMjY5NS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhbHRoX3dvcmtlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFsdGhfd29ya2VyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMjY5NS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhbHRoX3dvcmtlcl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFsdGhfd29ya2VyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMjY5NS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhbHRoX3dvcmtlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFsdGhfd29ya2VyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMjY5NS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faGVhbHRoX3dvcmtlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9oZWFsdGhfd29ya2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMjY5NS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faGVhbHRoX3dvcmtlcl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9oZWFsdGhfd29ya2VyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjY5NS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faGVhbHRoX3dvcmtlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9oZWFsdGhfd29ya2VyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjY5NS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faGVhbHRoX3dvcmtlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9oZWFsdGhfd29ya2VyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjY5NS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faGVhbHRoX3dvcmtlcl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9oZWFsdGhfd29ya2VyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjY5NS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faGVhbHRoX3dvcmtlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9oZWFsdGhfd29ya2VyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjY5NS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2hlYWx0aF93b3JrZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2hlYWx0aF93b3JrZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0yNjk1LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faGVhbHRoX3dvcmtlcl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faGVhbHRoX3dvcmtlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTI2OTUtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9oZWFsdGhfd29ya2VyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9oZWFsdGhfd29ya2VyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMjY5NS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2hlYWx0aF93b3JrZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2hlYWx0aF93b3JrZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0yNjk1LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faGVhbHRoX3dvcmtlcl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faGVhbHRoX3dvcmtlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTI2OTUtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9oZWFsdGhfd29ya2VyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9oZWFsdGhfd29ya2VyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMjY5NS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFybWVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhcm1lclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmMzNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFybWVyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhcm1lcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmMzNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFybWVyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhcm1lcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmMzNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFybWVyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhcm1lcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmMzNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFybWVyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhcm1lcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmMzNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFybWVyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhcm1lcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmMzNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFybWVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Zhcm1lclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmMzNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFybWVyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Zhcm1lcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmMzNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFybWVyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Zhcm1lcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmMzNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFybWVyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Zhcm1lcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmMzNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFybWVyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Zhcm1lcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmMzNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFybWVyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Zhcm1lcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmMzNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Zhcm1lcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZmFybWVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWYzM2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFybWVyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYXJtZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjMzZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mYXJtZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Zhcm1lcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmMzNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Zhcm1lcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZmFybWVyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWYzM2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFybWVyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYXJtZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjMzZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mYXJtZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Zhcm1lcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmMzNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29vazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb29rXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWYzNzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb29rX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvb2tfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjM3My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvb2tfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29va190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmMzczLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29va190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb29rX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWYzNzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb29rX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvb2tfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjM3My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvb2tfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29va190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmMzczLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fY29vazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jb29rXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWYzNzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jb29rX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Nvb2tfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0xZjM3My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2Nvb2tfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY29va190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmMzczLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fY29va190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jb29rX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWYzNzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jb29rX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Nvb2tfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0xZjM3My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2Nvb2tfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY29va190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmMzczLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Nvb2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Nvb2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjM3My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9jb29rX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jb29rX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMWYzNzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY29va190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY29va190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmMzczLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Nvb2tfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Nvb2tfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjM3My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9jb29rX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jb29rX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMWYzNzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY29va190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY29va190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmMzczLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3R1ZGVudDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdHVkZW50XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWYzOTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdHVkZW50X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0dWRlbnRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjM5My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0dWRlbnRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3R1ZGVudF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmMzkzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3R1ZGVudF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdHVkZW50X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWYzOTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdHVkZW50X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0dWRlbnRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjM5My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0dWRlbnRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3R1ZGVudF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmMzkzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3R1ZGVudDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdHVkZW50XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWYzOTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zdHVkZW50X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N0dWRlbnRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0xZjM5My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N0dWRlbnRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3R1ZGVudF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmMzkzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3R1ZGVudF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdHVkZW50X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWYzOTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zdHVkZW50X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N0dWRlbnRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0xZjM5My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N0dWRlbnRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3R1ZGVudF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmMzkzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N0dWRlbnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3N0dWRlbnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjM5My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zdHVkZW50X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdHVkZW50X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMWYzOTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3R1ZGVudF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3R1ZGVudF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmMzkzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N0dWRlbnRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3N0dWRlbnRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjM5My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zdHVkZW50X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdHVkZW50X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMWYzOTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3R1ZGVudF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3R1ZGVudF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmMzkzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2luZ2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNpbmdlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmM2E0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2luZ2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNpbmdlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmM2E0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2luZ2VyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNpbmdlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmM2E0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2luZ2VyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNpbmdlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmM2E0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2luZ2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNpbmdlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmM2E0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2luZ2VyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNpbmdlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmM2E0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc2luZ2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3NpbmdlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmM2E0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc2luZ2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3Npbmdlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmM2E0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc2luZ2VyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3Npbmdlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmM2E0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc2luZ2VyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3Npbmdlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmM2E0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc2luZ2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3Npbmdlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmM2E0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc2luZ2VyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3Npbmdlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmM2E0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3NpbmdlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc2luZ2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWYzYTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc2luZ2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zaW5nZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjNhNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zaW5nZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3Npbmdlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmM2E0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3Npbmdlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc2luZ2VyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWYzYTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc2luZ2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zaW5nZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjNhNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zaW5nZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3Npbmdlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmM2E0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGVhY2hlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0ZWFjaGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWYzZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0ZWFjaGVyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRlYWNoZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjNlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRlYWNoZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGVhY2hlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmM2ViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGVhY2hlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0ZWFjaGVyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWYzZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0ZWFjaGVyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRlYWNoZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjNlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRlYWNoZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGVhY2hlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmM2ViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdGVhY2hlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl90ZWFjaGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWYzZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90ZWFjaGVyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RlYWNoZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0xZjNlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3RlYWNoZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdGVhY2hlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmM2ViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdGVhY2hlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl90ZWFjaGVyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWYzZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90ZWFjaGVyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RlYWNoZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0xZjNlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3RlYWNoZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdGVhY2hlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmM2ViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RlYWNoZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3RlYWNoZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjNlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl90ZWFjaGVyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90ZWFjaGVyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMWYzZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdGVhY2hlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdGVhY2hlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmM2ViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RlYWNoZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3RlYWNoZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjNlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl90ZWFjaGVyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90ZWFjaGVyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMWYzZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdGVhY2hlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdGVhY2hlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmM2ViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFjdG9yeV93b3JrZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFjdG9yeV93b3JrZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0xZjNlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhY3Rvcnlfd29ya2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhY3Rvcnlfd29ya2VyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWYzZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYWN0b3J5X3dvcmtlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWN0b3J5X3dvcmtlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmM2VkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFjdG9yeV93b3JrZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFjdG9yeV93b3JrZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjNlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhY3Rvcnlfd29ya2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhY3Rvcnlfd29ya2VyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWYzZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYWN0b3J5X3dvcmtlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWN0b3J5X3dvcmtlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmM2VkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFjdG9yeV93b3JrZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFjdG9yeV93b3JrZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjNlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWYzZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYWN0b3J5X3dvcmtlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9mYWN0b3J5X3dvcmtlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmM2VkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFjdG9yeV93b3JrZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFjdG9yeV93b3JrZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjNlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWYzZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYWN0b3J5X3dvcmtlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9mYWN0b3J5X3dvcmtlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmM2VkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZhY3Rvcnlfd29ya2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYWN0b3J5X3dvcmtlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmM2VkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYWN0b3J5X3dvcmtlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmM2VkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYWN0b3J5X3dvcmtlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmM2VkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYWN0b3J5X3dvcmtlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmM2VkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYWN0b3J5X3dvcmtlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmM2VkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZhY3Rvcnlfd29ya2VyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYWN0b3J5X3dvcmtlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmM2VkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGVjaG5vbG9naXN0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRlY2hub2xvZ2lzdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmNGJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGVjaG5vbG9naXN0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRlY2hub2xvZ2lzdF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmNGJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGVjaG5vbG9naXN0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRlY2hub2xvZ2lzdF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmNGJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGVjaG5vbG9naXN0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRlY2hub2xvZ2lzdF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmNGJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGVjaG5vbG9naXN0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRlY2hub2xvZ2lzdF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmNGJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGVjaG5vbG9naXN0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRlY2hub2xvZ2lzdF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmNGJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdGVjaG5vbG9naXN0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RlY2hub2xvZ2lzdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmNGJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdGVjaG5vbG9naXN0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RlY2hub2xvZ2lzdF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmNGJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdGVjaG5vbG9naXN0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RlY2hub2xvZ2lzdF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmNGJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdGVjaG5vbG9naXN0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RlY2hub2xvZ2lzdF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmNGJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdGVjaG5vbG9naXN0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RlY2hub2xvZ2lzdF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmNGJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdGVjaG5vbG9naXN0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RlY2hub2xvZ2lzdF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmNGJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RlY2hub2xvZ2lzdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdGVjaG5vbG9naXN0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY0YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdGVjaG5vbG9naXN0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90ZWNobm9sb2dpc3RfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjRiYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl90ZWNobm9sb2dpc3RfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3RlY2hub2xvZ2lzdF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmNGJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RlY2hub2xvZ2lzdF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdGVjaG5vbG9naXN0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWY0YmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdGVjaG5vbG9naXN0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl90ZWNobm9sb2dpc3RfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjRiYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl90ZWNobm9sb2dpc3RfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3RlY2hub2xvZ2lzdF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmNGJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2ZmaWNlX3dvcmtlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvZmZpY2Vfd29ya2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWY0YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvZmZpY2Vfd29ya2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9mZmljZV93b3JrZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjRiYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9mZmljZV93b3JrZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2ZmaWNlX3dvcmtlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmNGJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2ZmaWNlX3dvcmtlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvZmZpY2Vfd29ya2VyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWY0YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvZmZpY2Vfd29ya2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9mZmljZV93b3JrZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjRiYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9mZmljZV93b3JrZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2ZmaWNlX3dvcmtlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmNGJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fb2ZmaWNlX3dvcmtlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9vZmZpY2Vfd29ya2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWY0YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9vZmZpY2Vfd29ya2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX29mZmljZV93b3JrZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0xZjRiYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX29mZmljZV93b3JrZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fb2ZmaWNlX3dvcmtlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmNGJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fb2ZmaWNlX3dvcmtlcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9vZmZpY2Vfd29ya2VyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWY0YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9vZmZpY2Vfd29ya2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX29mZmljZV93b3JrZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0xZjRiYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX29mZmljZV93b3JrZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fb2ZmaWNlX3dvcmtlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmNGJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX29mZmljZV93b3JrZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX29mZmljZV93b3JrZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjRiYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9vZmZpY2Vfd29ya2VyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9vZmZpY2Vfd29ya2VyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMWY0YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fb2ZmaWNlX3dvcmtlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fb2ZmaWNlX3dvcmtlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmNGJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX29mZmljZV93b3JrZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX29mZmljZV93b3JrZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjRiYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9vZmZpY2Vfd29ya2VyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9vZmZpY2Vfd29ya2VyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMWY0YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fb2ZmaWNlX3dvcmtlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fb2ZmaWNlX3dvcmtlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmNGJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVjaGFuaWM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVjaGFuaWNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0xZjUyNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lY2hhbmljX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lY2hhbmljX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWY1Mjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZWNoYW5pY190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZWNoYW5pY190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmNTI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVjaGFuaWNfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVjaGFuaWNfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjUyNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lY2hhbmljX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lY2hhbmljX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWY1Mjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZWNoYW5pY190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZWNoYW5pY190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmNTI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbWVjaGFuaWM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fbWVjaGFuaWNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjUyNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX21lY2hhbmljX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX21lY2hhbmljX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY1Mjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9tZWNoYW5pY190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9tZWNoYW5pY190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmNTI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbWVjaGFuaWNfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fbWVjaGFuaWNfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjUyNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX21lY2hhbmljX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX21lY2hhbmljX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY1Mjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9tZWNoYW5pY190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9tZWNoYW5pY190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmNTI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX21lY2hhbmljOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9tZWNoYW5pY1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmNTI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX21lY2hhbmljX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9tZWNoYW5pY190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmNTI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX21lY2hhbmljX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9tZWNoYW5pY190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmNTI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX21lY2hhbmljX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9tZWNoYW5pY190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmNTI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX21lY2hhbmljX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9tZWNoYW5pY190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmNTI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX21lY2hhbmljX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9tZWNoYW5pY190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmNTI3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2NpZW50aXN0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNjaWVudGlzdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmNTJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2NpZW50aXN0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNjaWVudGlzdF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmNTJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2NpZW50aXN0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNjaWVudGlzdF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmNTJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2NpZW50aXN0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNjaWVudGlzdF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmNTJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2NpZW50aXN0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNjaWVudGlzdF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmNTJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2NpZW50aXN0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNjaWVudGlzdF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmNTJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc2NpZW50aXN0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3NjaWVudGlzdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmNTJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc2NpZW50aXN0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3NjaWVudGlzdF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmNTJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc2NpZW50aXN0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3NjaWVudGlzdF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmNTJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc2NpZW50aXN0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3NjaWVudGlzdF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmNTJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc2NpZW50aXN0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3NjaWVudGlzdF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmNTJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc2NpZW50aXN0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3NjaWVudGlzdF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmNTJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3NjaWVudGlzdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc2NpZW50aXN0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY1MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc2NpZW50aXN0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zY2llbnRpc3RfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjUyYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zY2llbnRpc3RfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3NjaWVudGlzdF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmNTJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3NjaWVudGlzdF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc2NpZW50aXN0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWY1MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc2NpZW50aXN0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zY2llbnRpc3RfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjUyYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zY2llbnRpc3RfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3NjaWVudGlzdF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmNTJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJ0aXN0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFydGlzdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmM2E4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJ0aXN0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFydGlzdF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmM2E4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJ0aXN0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFydGlzdF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmM2E4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJ0aXN0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFydGlzdF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmM2E4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJ0aXN0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFydGlzdF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmM2E4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJ0aXN0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFydGlzdF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmM2E4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYXJ0aXN0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FydGlzdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmM2E4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYXJ0aXN0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FydGlzdF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmM2E4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYXJ0aXN0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FydGlzdF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmM2E4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYXJ0aXN0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FydGlzdF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmM2E4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYXJ0aXN0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FydGlzdF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmM2E4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYXJ0aXN0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FydGlzdF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmM2E4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2FydGlzdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYXJ0aXN0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWYzYTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYXJ0aXN0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9hcnRpc3RfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjNhOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9hcnRpc3RfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2FydGlzdF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmM2E4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2FydGlzdF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYXJ0aXN0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWYzYTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYXJ0aXN0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9hcnRpc3RfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjNhOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9hcnRpc3RfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2FydGlzdF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmM2E4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmlyZWZpZ2h0ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlyZWZpZ2h0ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0xZjY5Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpcmVmaWdodGVyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpcmVmaWdodGVyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWY2OTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaXJlZmlnaHRlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaXJlZmlnaHRlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmNjkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmlyZWZpZ2h0ZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlyZWZpZ2h0ZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjY5Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpcmVmaWdodGVyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpcmVmaWdodGVyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWY2OTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaXJlZmlnaHRlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaXJlZmlnaHRlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmNjkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmlyZWZpZ2h0ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmlyZWZpZ2h0ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjY5Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2ZpcmVmaWdodGVyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZpcmVmaWdodGVyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY2OTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9maXJlZmlnaHRlcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9maXJlZmlnaHRlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmNjkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmlyZWZpZ2h0ZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmlyZWZpZ2h0ZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjY5Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2ZpcmVmaWdodGVyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZpcmVmaWdodGVyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY2OTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9maXJlZmlnaHRlcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9maXJlZmlnaHRlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmNjkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZpcmVmaWdodGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9maXJlZmlnaHRlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmNjkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZpcmVmaWdodGVyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9maXJlZmlnaHRlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmNjkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZpcmVmaWdodGVyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9maXJlZmlnaHRlcl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmNjkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZpcmVmaWdodGVyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9maXJlZmlnaHRlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmNjkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZpcmVmaWdodGVyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9maXJlZmlnaHRlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmNjkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZpcmVmaWdodGVyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9maXJlZmlnaHRlcl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmNjkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGlsb3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGlsb3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0yNzA4LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaWxvdF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaWxvdF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTI3MDgtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpbG90X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbG90X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMjcwOC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGlsb3RfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGlsb3RfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0yNzA4LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaWxvdF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaWxvdF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTI3MDgtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpbG90X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbG90X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMjcwOC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcGlsb3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcGlsb3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0yNzA4LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9waWxvdF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9waWxvdF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTI3MDgtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3BpbG90X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BpbG90X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjcwOC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcGlsb3RfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcGlsb3RfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0yNzA4LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9waWxvdF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9waWxvdF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTI3MDgtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3BpbG90X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BpbG90X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjcwOC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BpbG90OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9waWxvdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTI3MDgtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9waWxvdF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcGlsb3RfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0yNzA4LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcGlsb3RfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BpbG90X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMjcwOC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BpbG90X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9waWxvdF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTI3MDgtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9waWxvdF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcGlsb3RfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0yNzA4LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcGlsb3RfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BpbG90X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMjcwOC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXN0cm9uYXV0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFzdHJvbmF1dFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmNjgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXN0cm9uYXV0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFzdHJvbmF1dF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmNjgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXN0cm9uYXV0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFzdHJvbmF1dF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmNjgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXN0cm9uYXV0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFzdHJvbmF1dF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmNjgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXN0cm9uYXV0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFzdHJvbmF1dF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmNjgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXN0cm9uYXV0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFzdHJvbmF1dF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmNjgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYXN0cm9uYXV0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FzdHJvbmF1dFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmNjgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYXN0cm9uYXV0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FzdHJvbmF1dF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmNjgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYXN0cm9uYXV0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FzdHJvbmF1dF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmNjgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYXN0cm9uYXV0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FzdHJvbmF1dF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmNjgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYXN0cm9uYXV0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FzdHJvbmF1dF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmNjgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYXN0cm9uYXV0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FzdHJvbmF1dF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmNjgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2FzdHJvbmF1dDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYXN0cm9uYXV0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY2ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYXN0cm9uYXV0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9hc3Ryb25hdXRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjY4MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9hc3Ryb25hdXRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2FzdHJvbmF1dF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmNjgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2FzdHJvbmF1dF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYXN0cm9uYXV0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWY2ODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYXN0cm9uYXV0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9hc3Ryb25hdXRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjY4MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9hc3Ryb25hdXRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2FzdHJvbmF1dF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmNjgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6anVkZ2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwianVkZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0yNjk2LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpqdWRnZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJqdWRnZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTI2OTYtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmp1ZGdlX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImp1ZGdlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMjY5Ni1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6anVkZ2VfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwianVkZ2VfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0yNjk2LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpqdWRnZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJqdWRnZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTI2OTYtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmp1ZGdlX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImp1ZGdlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMjY5Ni1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fanVkZ2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fanVkZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0yNjk2LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9qdWRnZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9qdWRnZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTI2OTYtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2p1ZGdlX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2p1ZGdlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjY5Ni1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fanVkZ2VfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fanVkZ2VfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0yNjk2LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9qdWRnZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9qdWRnZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTI2OTYtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2p1ZGdlX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2p1ZGdlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjY5Ni1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2p1ZGdlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9qdWRnZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTI2OTYtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9qdWRnZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fanVkZ2VfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0yNjk2LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fanVkZ2VfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2p1ZGdlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMjY5Ni1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2p1ZGdlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9qdWRnZV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTI2OTYtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9qdWRnZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fanVkZ2VfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0yNjk2LWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fanVkZ2VfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2p1ZGdlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMjY5Ni1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfdmVpbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF92ZWlsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfdmVpbF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF92ZWlsX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcwLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfdmVpbF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF92ZWlsX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcwLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfdmVpbF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF92ZWlsX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcwLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfdmVpbF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF92ZWlsX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcwLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfdmVpbF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF92ZWlsX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcwLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2l0aF92ZWlsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dpdGhfdmVpbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dpdGhfdmVpbF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aXRoX3ZlaWxfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzAtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aXRoX3ZlaWxfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2l0aF92ZWlsX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcwLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2l0aF92ZWlsX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dpdGhfdmVpbF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3MC0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dpdGhfdmVpbF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aXRoX3ZlaWxfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzAtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aXRoX3ZlaWxfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2l0aF92ZWlsX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcwLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfdmVpbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF92ZWlsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcwLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfdmVpbF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF92ZWlsX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcwLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfdmVpbF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF92ZWlsX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcwLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfdmVpbF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF92ZWlsX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcwLTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfdmVpbF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF92ZWlsX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcwLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfdmVpbF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF92ZWlsX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDcwLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX3R1eGVkbzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fdHV4ZWRvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX3R1eGVkb190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fdHV4ZWRvX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM1LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX3R1eGVkb190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fdHV4ZWRvX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM1LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX3R1eGVkb190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fdHV4ZWRvX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM1LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX3R1eGVkb190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fdHV4ZWRvX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM1LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX3R1eGVkb190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fdHV4ZWRvX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM1LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fdHV4ZWRvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX3R1eGVkb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzNS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX3R1eGVkb190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl90dXhlZG9fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzUtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl90dXhlZG9fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fdHV4ZWRvX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM1LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fdHV4ZWRvX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX3R1eGVkb190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzNS0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX3R1eGVkb190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl90dXhlZG9fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzUtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl90dXhlZG9fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fdHV4ZWRvX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM1LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX3R1eGVkbzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fdHV4ZWRvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM1LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX3R1eGVkb190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fdHV4ZWRvX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM1LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX3R1eGVkb190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fdHV4ZWRvX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM1LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX3R1eGVkb190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fdHV4ZWRvX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM1LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX3R1eGVkb190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fdHV4ZWRvX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM1LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX3R1eGVkb190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fdHV4ZWRvX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM1LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfY3Jvd246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dpdGhfY3Jvd25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYzUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2l0aF9jcm93bl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF9jcm93bl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFjNS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93aXRoX2Nyb3duX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX2Nyb3duX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWM1LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfY3Jvd25fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dpdGhfY3Jvd25fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYzUtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2l0aF9jcm93bl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF9jcm93bl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFjNS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93aXRoX2Nyb3duX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX2Nyb3duX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWM1LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJpbmNlc3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJpbmNlc3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Nzguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmluY2Vzc190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmluY2Vzc190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByaW5jZXNzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByaW5jZXNzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDc4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJpbmNlc3NfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJpbmNlc3NfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NzgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmluY2Vzc190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmluY2Vzc190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3OC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByaW5jZXNzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByaW5jZXNzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDc4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJpbmNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByaW5jZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByaW5jZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmluY2VfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzQtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmluY2VfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJpbmNlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM0LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJpbmNlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByaW5jZV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzNC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByaW5jZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmluY2VfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzQtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmluY2VfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJpbmNlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM0LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3VwZXJoZXJvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN1cGVyaGVyb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN1cGVyaGVyb190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdXBlcmhlcm9fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdXBlcmhlcm9fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3VwZXJoZXJvX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3VwZXJoZXJvX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN1cGVyaGVyb190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliOC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN1cGVyaGVyb190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdXBlcmhlcm9fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdXBlcmhlcm9fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3VwZXJoZXJvX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3VwZXJoZXJvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N1cGVyaGVyb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliOC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N1cGVyaGVyb190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdXBlcmhlcm9fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjgtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zdXBlcmhlcm9fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3VwZXJoZXJvX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI4LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3VwZXJoZXJvX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N1cGVyaGVyb190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliOC0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N1cGVyaGVyb190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdXBlcmhlcm9fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjgtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zdXBlcmhlcm9fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3VwZXJoZXJvX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI4LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N1cGVyaGVybzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3VwZXJoZXJvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI4LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N1cGVyaGVyb190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3VwZXJoZXJvX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI4LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N1cGVyaGVyb190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3VwZXJoZXJvX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI4LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N1cGVyaGVyb190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3VwZXJoZXJvX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI4LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N1cGVyaGVyb190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3VwZXJoZXJvX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI4LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N1cGVyaGVyb190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3VwZXJoZXJvX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI4LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3VwZXJ2aWxsYWluOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN1cGVydmlsbGFpblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN1cGVydmlsbGFpbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdXBlcnZpbGxhaW5fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjktMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdXBlcnZpbGxhaW5fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3VwZXJ2aWxsYWluX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI5LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3VwZXJ2aWxsYWluX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN1cGVydmlsbGFpbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliOS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN1cGVydmlsbGFpbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdXBlcnZpbGxhaW5fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjktMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdXBlcnZpbGxhaW5fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3VwZXJ2aWxsYWluX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI5LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3VwZXJ2aWxsYWluOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N1cGVydmlsbGFpblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliOS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N1cGVydmlsbGFpbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdXBlcnZpbGxhaW5fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjktMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zdXBlcnZpbGxhaW5fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3VwZXJ2aWxsYWluX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI5LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3VwZXJ2aWxsYWluX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N1cGVydmlsbGFpbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliOS0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N1cGVydmlsbGFpbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdXBlcnZpbGxhaW5fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjktMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zdXBlcnZpbGxhaW5fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3VwZXJ2aWxsYWluX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI5LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N1cGVydmlsbGFpbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3VwZXJ2aWxsYWluXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI5LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N1cGVydmlsbGFpbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3VwZXJ2aWxsYWluX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI5LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N1cGVydmlsbGFpbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3VwZXJ2aWxsYWluX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI5LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N1cGVydmlsbGFpbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3VwZXJ2aWxsYWluX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI5LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N1cGVydmlsbGFpbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3VwZXJ2aWxsYWluX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI5LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N1cGVydmlsbGFpbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3VwZXJ2aWxsYWluX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWI5LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmluamE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmluamFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Nzcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuaW5qYV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuaW5qYV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk3Ny0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5pbmphX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5pbmphX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTc3LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmluamFfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmluamFfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NzctMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuaW5qYV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuaW5qYV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk3Ny0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5pbmphX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5pbmphX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTc3LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bXhfY2xhdXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibXhfY2xhdXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0xZjM4NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm14X2NsYXVzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm14X2NsYXVzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWYzODQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpteF9jbGF1c190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJteF9jbGF1c190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmMzg0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bXhfY2xhdXNfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibXhfY2xhdXNfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjM4NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm14X2NsYXVzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm14X2NsYXVzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWYzODQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpteF9jbGF1c190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJteF9jbGF1c190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmMzg0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bXJzX2NsYXVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1yc19jbGF1c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1yc19jbGF1c190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtcnNfY2xhdXNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzYtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptcnNfY2xhdXNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibXJzX2NsYXVzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM2LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bXJzX2NsYXVzX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1yc19jbGF1c190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzNi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1yc19jbGF1c190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtcnNfY2xhdXNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzYtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptcnNfY2xhdXNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibXJzX2NsYXVzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM2LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2FudGE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2FudGFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzODUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzYW50YV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYW50YV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM4NS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNhbnRhX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNhbnRhX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzg1LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2FudGFfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2FudGFfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzODUtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzYW50YV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYW50YV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM4NS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNhbnRhX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNhbnRhX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzg1LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFnZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYWdlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFnZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYWdlX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ5LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFnZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYWdlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ5LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFnZV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYWdlX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ5LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFnZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYWdlX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ5LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFnZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYWdlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ5LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbWFnZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9tYWdlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ5LTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbWFnZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9tYWdlX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ5LTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbWFnZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9tYWdlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ5LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbWFnZV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9tYWdlX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ5LTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbWFnZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9tYWdlX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ5LTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbWFnZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9tYWdlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ5LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX21hZ2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX21hZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDktMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fbWFnZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fbWFnZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkOS0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9tYWdlX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9tYWdlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ5LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX21hZ2VfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX21hZ2VfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDktMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fbWFnZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fbWFnZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkOS0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9tYWdlX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9tYWdlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ5LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWxmOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVsZlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVsZl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlbGZfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGQtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplbGZfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWxmX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRkLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWxmX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVsZl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkZC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVsZl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlbGZfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGQtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplbGZfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWxmX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRkLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZWxmOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2VsZlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2VsZl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9lbGZfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGQtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9lbGZfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZWxmX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRkLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZWxmX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2VsZl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkZC0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2VsZl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9lbGZfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGQtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9lbGZfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZWxmX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRkLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2VsZjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZWxmXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2VsZl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZWxmX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRkLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2VsZl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZWxmX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRkLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2VsZl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZWxmX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRkLTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2VsZl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZWxmX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRkLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2VsZl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZWxmX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRkLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHJvbGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJvbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2YW1waXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZhbXBpcmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2YW1waXJlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZhbXBpcmVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGItMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2YW1waXJlX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZhbXBpcmVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGItMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2YW1waXJlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZhbXBpcmVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGItMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2YW1waXJlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZhbXBpcmVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGItMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2YW1waXJlX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZhbXBpcmVfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGItMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl92YW1waXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3ZhbXBpcmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl92YW1waXJlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3ZhbXBpcmVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGItMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl92YW1waXJlX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3ZhbXBpcmVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGItMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl92YW1waXJlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3ZhbXBpcmVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGItMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl92YW1waXJlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3ZhbXBpcmVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGItMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl92YW1waXJlX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3ZhbXBpcmVfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGItMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdmFtcGlyZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdmFtcGlyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl92YW1waXJlX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl92YW1waXJlX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRiLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3ZhbXBpcmVfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3ZhbXBpcmVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGItMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fdmFtcGlyZV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdmFtcGlyZV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYi0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl92YW1waXJlX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl92YW1waXJlX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRiLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3ZhbXBpcmVfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3ZhbXBpcmVfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGItMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp6b21iaWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiem9tYmllXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fem9tYmllOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3pvbWJpZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl96b21iaWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3pvbWJpZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdlbmllOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdlbmllXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ2VuaWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ2VuaWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2VuaWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2dlbmllXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVycGVyc29uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lcnBlcnNvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lcnBlcnNvbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXJwZXJzb25fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGMtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXJwZXJzb25fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVycGVyc29uX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRjLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVycGVyc29uX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lcnBlcnNvbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYy0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lcnBlcnNvbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXJwZXJzb25fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGMtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXJwZXJzb25fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVycGVyc29uX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRjLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVybWFpZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXJtYWlkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVybWFpZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXJtYWlkX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRjLTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVybWFpZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXJtYWlkX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRjLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVybWFpZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXJtYWlkX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRjLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVybWFpZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXJtYWlkX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRjLTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVybWFpZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXJtYWlkX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRjLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVybWFuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lcm1hblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lcm1hbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXJtYW5fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGMtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXJtYW5fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVybWFuX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRjLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVybWFuX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lcm1hbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYy0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lcm1hbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXJtYW5fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGMtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXJtYW5fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVybWFuX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRjLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFpcnk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFpcnlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYWlyeV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWlyeV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhaXJ5X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhaXJ5X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRhLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFpcnlfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFpcnlfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGEtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYWlyeV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWlyeV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhaXJ5X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhaXJ5X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRhLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFpcnk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFpcnlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGEtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYWlyeV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9mYWlyeV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYS0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2ZhaXJ5X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZhaXJ5X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRhLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFpcnlfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFpcnlfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGEtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYWlyeV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9mYWlyeV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYS0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2ZhaXJ5X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZhaXJ5X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRhLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZhaXJ5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYWlyeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mYWlyeV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZmFpcnlfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGEtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFpcnlfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZhaXJ5X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRhLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZhaXJ5X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYWlyeV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkYS0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mYWlyeV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZmFpcnlfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZGEtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFpcnlfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZhaXJ5X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWRhLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YW5nZWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYW5nZWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0N2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphbmdlbF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhbmdlbF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Yy0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFuZ2VsX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFuZ2VsX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDdjLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YW5nZWxfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYW5nZWxfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0N2MtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphbmdlbF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhbmdlbF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ3Yy0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFuZ2VsX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFuZ2VsX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDdjLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJlZ25hbnRfcGVyc29uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByZWduYW50X3BlcnNvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFjNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByZWduYW50X3BlcnNvbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmVnbmFudF9wZXJzb25fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYzQtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmVnbmFudF9wZXJzb25fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJlZ25hbnRfcGVyc29uX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWM0LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJlZ25hbnRfcGVyc29uX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByZWduYW50X3BlcnNvbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFjNC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByZWduYW50X3BlcnNvbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmVnbmFudF9wZXJzb25fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYzQtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmVnbmFudF9wZXJzb25fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJlZ25hbnRfcGVyc29uX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWM0LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJlZ25hbnRfd29tYW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJlZ25hbnRfd29tYW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmVnbmFudF93b21hbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmVnbmFudF93b21hbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzMC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByZWduYW50X3dvbWFuX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByZWduYW50X3dvbWFuX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTMwLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJlZ25hbnRfd29tYW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJlZ25hbnRfd29tYW5fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzAtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmVnbmFudF93b21hbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmVnbmFudF93b21hbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzMC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByZWduYW50X3dvbWFuX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByZWduYW50X3dvbWFuX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTMwLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJlZ25hbnRfbWFuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByZWduYW50X21hblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFjMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByZWduYW50X21hbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmVnbmFudF9tYW5fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYzMtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmVnbmFudF9tYW5fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJlZ25hbnRfbWFuX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWMzLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHJlZ25hbnRfbWFuX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInByZWduYW50X21hbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFjMy0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByZWduYW50X21hbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcmVnbmFudF9tYW5fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYzMtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmVnbmFudF9tYW5fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJlZ25hbnRfbWFuX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWMzLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnJlYXN0X2ZlZWRpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnJlYXN0X2ZlZWRpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpicmVhc3RfZmVlZGluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJicmVhc3RfZmVlZGluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzMS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJyZWFzdF9mZWVkaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJyZWFzdF9mZWVkaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTMxLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnJlYXN0X2ZlZWRpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnJlYXN0X2ZlZWRpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzEtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpicmVhc3RfZmVlZGluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJicmVhc3RfZmVlZGluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzMS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJyZWFzdF9mZWVkaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJyZWFzdF9mZWVkaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTMxLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2ZlZWRpbmdfYmFieTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZmVlZGluZ19iYWJ5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWYzN2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZmVlZGluZ19iYWJ5X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9mZWVkaW5nX2JhYnlfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjM3Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9mZWVkaW5nX2JhYnlfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2ZlZWRpbmdfYmFieV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTFmMzdjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2ZlZWRpbmdfYmFieV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZmVlZGluZ19iYWJ5X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWYzN2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZmVlZGluZ19iYWJ5X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9mZWVkaW5nX2JhYnlfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjM3Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9mZWVkaW5nX2JhYnlfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2ZlZWRpbmdfYmFieV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTFmMzdjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmVlZGluZ19iYWJ5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZlZWRpbmdfYmFieVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmMzdjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmVlZGluZ19iYWJ5X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZlZWRpbmdfYmFieV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmMzdjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmVlZGluZ19iYWJ5X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZlZWRpbmdfYmFieV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmMzdjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmVlZGluZ19iYWJ5X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZlZWRpbmdfYmFieV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmMzdjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmVlZGluZ19iYWJ5X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZlZWRpbmdfYmFieV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmMzdjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmVlZGluZ19iYWJ5X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZlZWRpbmdfYmFieV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmMzdjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZlZWRpbmdfYmFieTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZmVlZGluZ19iYWJ5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWYzN2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmVlZGluZ19iYWJ5X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mZWVkaW5nX2JhYnlfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjM3Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mZWVkaW5nX2JhYnlfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZlZWRpbmdfYmFieV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmMzdjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZlZWRpbmdfYmFieV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZmVlZGluZ19iYWJ5X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWYzN2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmVlZGluZ19iYWJ5X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mZWVkaW5nX2JhYnlfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjM3Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mZWVkaW5nX2JhYnlfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZlZWRpbmdfYmFieV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTFmMzdjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2Jvd2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fYm93aW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2Jvd2luZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fYm93aW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ3LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2Jvd2luZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fYm93aW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ3LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2Jvd2luZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fYm93aW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ3LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2Jvd2luZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fYm93aW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ3LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2Jvd2luZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fYm93aW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ3LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYm93aW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Jvd2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Ny0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2Jvd2luZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ib3dpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDctMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9ib3dpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYm93aW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ3LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYm93aW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Jvd2luZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Ny0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2Jvd2luZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ib3dpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDctMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9ib3dpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYm93aW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ3LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Jvd2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYm93aW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ3LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Jvd2luZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYm93aW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ3LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Jvd2luZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYm93aW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ3LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Jvd2luZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYm93aW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ3LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Jvd2luZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYm93aW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ3LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Jvd2luZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYm93aW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ3LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RpcHBpbmdfaGFuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdGlwcGluZ19oYW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RpcHBpbmdfaGFuZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdGlwcGluZ19oYW5kX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgxLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RpcHBpbmdfaGFuZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdGlwcGluZ19oYW5kX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgxLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RpcHBpbmdfaGFuZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdGlwcGluZ19oYW5kX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgxLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RpcHBpbmdfaGFuZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdGlwcGluZ19oYW5kX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgxLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3RpcHBpbmdfaGFuZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fdGlwcGluZ19oYW5kX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgxLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdGlwcGluZ19oYW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RpcHBpbmdfaGFuZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4MS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3RpcHBpbmdfaGFuZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl90aXBwaW5nX2hhbmRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODEtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90aXBwaW5nX2hhbmRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdGlwcGluZ19oYW5kX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgxLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fdGlwcGluZ19oYW5kX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3RpcHBpbmdfaGFuZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4MS0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3RpcHBpbmdfaGFuZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl90aXBwaW5nX2hhbmRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODEtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl90aXBwaW5nX2hhbmRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fdGlwcGluZ19oYW5kX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgxLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RpcHBpbmdfaGFuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdGlwcGluZ19oYW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgxLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RpcHBpbmdfaGFuZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdGlwcGluZ19oYW5kX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgxLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RpcHBpbmdfaGFuZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdGlwcGluZ19oYW5kX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgxLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RpcHBpbmdfaGFuZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdGlwcGluZ19oYW5kX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgxLTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RpcHBpbmdfaGFuZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdGlwcGluZ19oYW5kX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgxLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3RpcHBpbmdfaGFuZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fdGlwcGluZ19oYW5kX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgxLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dlc3R1cmluZ19ubzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2VzdHVyaW5nX25vXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dlc3R1cmluZ19ub190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2VzdHVyaW5nX25vX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ1LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dlc3R1cmluZ19ub190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2VzdHVyaW5nX25vX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ1LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dlc3R1cmluZ19ub190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2VzdHVyaW5nX25vX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ1LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dlc3R1cmluZ19ub190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2VzdHVyaW5nX25vX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ1LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dlc3R1cmluZ19ub190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2VzdHVyaW5nX25vX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ1LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ2VzdHVyaW5nX25vOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dlc3R1cmluZ19ub1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0NS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dlc3R1cmluZ19ub190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nZXN0dXJpbmdfbm9fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDUtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nZXN0dXJpbmdfbm9fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ2VzdHVyaW5nX25vX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ1LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ2VzdHVyaW5nX25vX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dlc3R1cmluZ19ub190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0NS0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dlc3R1cmluZ19ub190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nZXN0dXJpbmdfbm9fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDUtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nZXN0dXJpbmdfbm9fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ2VzdHVyaW5nX25vX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ1LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dlc3R1cmluZ19ubzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2VzdHVyaW5nX25vXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ1LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dlc3R1cmluZ19ub190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2VzdHVyaW5nX25vX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ1LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dlc3R1cmluZ19ub190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2VzdHVyaW5nX25vX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ1LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dlc3R1cmluZ19ub190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2VzdHVyaW5nX25vX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ1LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dlc3R1cmluZ19ub190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2VzdHVyaW5nX25vX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ1LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dlc3R1cmluZ19ub190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2VzdHVyaW5nX25vX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ1LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dlc3R1cmluZ19vazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2VzdHVyaW5nX29rXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dlc3R1cmluZ19va190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2VzdHVyaW5nX29rX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ2LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dlc3R1cmluZ19va190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2VzdHVyaW5nX29rX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ2LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dlc3R1cmluZ19va190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2VzdHVyaW5nX29rX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ2LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dlc3R1cmluZ19va190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2VzdHVyaW5nX29rX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ2LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dlc3R1cmluZ19va190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2VzdHVyaW5nX29rX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ2LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ2VzdHVyaW5nX29rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dlc3R1cmluZ19va1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Ni0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dlc3R1cmluZ19va190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nZXN0dXJpbmdfb2tfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDYtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nZXN0dXJpbmdfb2tfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ2VzdHVyaW5nX29rX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ2LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ2VzdHVyaW5nX29rX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dlc3R1cmluZ19va190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Ni0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dlc3R1cmluZ19va190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nZXN0dXJpbmdfb2tfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDYtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nZXN0dXJpbmdfb2tfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ2VzdHVyaW5nX29rX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ2LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dlc3R1cmluZ19vazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2VzdHVyaW5nX29rXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ2LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dlc3R1cmluZ19va190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2VzdHVyaW5nX29rX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ2LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dlc3R1cmluZ19va190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2VzdHVyaW5nX29rX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ2LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dlc3R1cmluZ19va190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2VzdHVyaW5nX29rX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ2LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dlc3R1cmluZ19va190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2VzdHVyaW5nX29rX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ2LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dlc3R1cmluZ19va190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2VzdHVyaW5nX29rX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ2LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3JhaXNpbmdfaGFuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcmFpc2luZ19oYW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3JhaXNpbmdfaGFuZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcmFpc2luZ19oYW5kX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRiLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3JhaXNpbmdfaGFuZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcmFpc2luZ19oYW5kX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRiLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3JhaXNpbmdfaGFuZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcmFpc2luZ19oYW5kX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRiLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3JhaXNpbmdfaGFuZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcmFpc2luZ19oYW5kX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRiLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3JhaXNpbmdfaGFuZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcmFpc2luZ19oYW5kX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRiLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcmFpc2luZ19oYW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3JhaXNpbmdfaGFuZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Yi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3JhaXNpbmdfaGFuZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9yYWlzaW5nX2hhbmRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGItMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9yYWlzaW5nX2hhbmRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcmFpc2luZ19oYW5kX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRiLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcmFpc2luZ19oYW5kX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3JhaXNpbmdfaGFuZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0Yi0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3JhaXNpbmdfaGFuZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9yYWlzaW5nX2hhbmRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGItMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9yYWlzaW5nX2hhbmRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcmFpc2luZ19oYW5kX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRiLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3JhaXNpbmdfaGFuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcmFpc2luZ19oYW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3JhaXNpbmdfaGFuZF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcmFpc2luZ19oYW5kX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRiLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3JhaXNpbmdfaGFuZF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcmFpc2luZ19oYW5kX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRiLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3JhaXNpbmdfaGFuZF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcmFpc2luZ19oYW5kX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRiLTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3JhaXNpbmdfaGFuZF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcmFpc2luZ19oYW5kX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRiLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3JhaXNpbmdfaGFuZF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcmFpc2luZ19oYW5kX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRiLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVhZl9wZXJzb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGVhZl9wZXJzb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2Yuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZWFmX3BlcnNvbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZWFmX3BlcnNvbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRlYWZfcGVyc29uX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRlYWZfcGVyc29uX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNmLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVhZl9wZXJzb25fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGVhZl9wZXJzb25fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2YtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZWFmX3BlcnNvbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZWFmX3BlcnNvbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRlYWZfcGVyc29uX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRlYWZfcGVyc29uX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNmLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVhZl93b21hbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZWFmX3dvbWFuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVhZl93b21hbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZWFmX3dvbWFuX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNmLTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVhZl93b21hbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZWFmX3dvbWFuX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNmLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVhZl93b21hbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZWFmX3dvbWFuX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNmLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVhZl93b21hbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZWFmX3dvbWFuX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNmLTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVhZl93b21hbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZWFmX3dvbWFuX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNmLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVhZl9tYW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGVhZl9tYW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2YtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZWFmX21hbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZWFmX21hbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZi0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRlYWZfbWFuX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRlYWZfbWFuX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNmLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVhZl9tYW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGVhZl9tYW5fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2YtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkZWFmX21hbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZWFmX21hbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZi0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRlYWZfbWFuX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRlYWZfbWFuX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNmLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2ZhY2VwYWxtaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9mYWNlcGFsbWluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9mYWNlcGFsbWluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZmFjZXBhbG1pbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MjYtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZmFjZXBhbG1pbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2ZhY2VwYWxtaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTI2LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2ZhY2VwYWxtaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9mYWNlcGFsbWluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyNi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9mYWNlcGFsbWluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZmFjZXBhbG1pbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MjYtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZmFjZXBhbG1pbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2ZhY2VwYWxtaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTI2LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFjZXBhbG1pbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFjZXBhbG1pbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MjYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYWNlcGFsbWluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9mYWNlcGFsbWluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyNi0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2ZhY2VwYWxtaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZhY2VwYWxtaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTI2LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZmFjZXBhbG1pbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZmFjZXBhbG1pbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MjYtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mYWNlcGFsbWluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9mYWNlcGFsbWluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyNi0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2ZhY2VwYWxtaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2ZhY2VwYWxtaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTI2LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZhY2VwYWxtaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYWNlcGFsbWluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyNi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mYWNlcGFsbWluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZmFjZXBhbG1pbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MjYtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFjZXBhbG1pbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZhY2VwYWxtaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTI2LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2ZhY2VwYWxtaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mYWNlcGFsbWluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkyNi0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mYWNlcGFsbWluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZmFjZXBhbG1pbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MjYtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZmFjZXBhbG1pbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2ZhY2VwYWxtaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTI2LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3NocnVnZ2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc2hydWdnaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3NocnVnZ2luZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc2hydWdnaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM3LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3NocnVnZ2luZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc2hydWdnaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM3LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3NocnVnZ2luZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc2hydWdnaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM3LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3NocnVnZ2luZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc2hydWdnaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM3LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3NocnVnZ2luZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc2hydWdnaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM3LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc2hydWdnaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3NocnVnZ2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzNy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3NocnVnZ2luZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zaHJ1Z2dpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzctMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zaHJ1Z2dpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc2hydWdnaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM3LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc2hydWdnaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3NocnVnZ2luZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzNy0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3NocnVnZ2luZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zaHJ1Z2dpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzctMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zaHJ1Z2dpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc2hydWdnaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM3LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3NocnVnZ2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc2hydWdnaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM3LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3NocnVnZ2luZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc2hydWdnaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM3LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3NocnVnZ2luZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc2hydWdnaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM3LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3NocnVnZ2luZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc2hydWdnaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM3LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3NocnVnZ2luZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc2hydWdnaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM3LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3NocnVnZ2luZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc2hydWdnaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM3LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3BvdXRpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3BvdXRpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcG91dGluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcG91dGluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9wb3V0aW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9wb3V0aW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRlLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3BvdXRpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3BvdXRpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGUtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcG91dGluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcG91dGluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9wb3V0aW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9wb3V0aW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRlLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcG91dGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wb3V0aW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcG91dGluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wb3V0aW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRlLTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcG91dGluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wb3V0aW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRlLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcG91dGluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wb3V0aW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRlLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcG91dGluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wb3V0aW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRlLTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcG91dGluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wb3V0aW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRlLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BvdXRpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BvdXRpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcG91dGluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcG91dGluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZS0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wb3V0aW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9wb3V0aW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRlLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BvdXRpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BvdXRpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGUtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcG91dGluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcG91dGluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZS0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wb3V0aW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9wb3V0aW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRlLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2Zyb3duaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9mcm93bmluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9mcm93bmluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZnJvd25pbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGQtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZnJvd25pbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2Zyb3duaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRkLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2Zyb3duaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9mcm93bmluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9mcm93bmluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZnJvd25pbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGQtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZnJvd25pbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2Zyb3duaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRkLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZnJvd25pbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZnJvd25pbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mcm93bmluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9mcm93bmluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZC0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2Zyb3duaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Zyb3duaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRkLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZnJvd25pbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZnJvd25pbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGQtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9mcm93bmluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9mcm93bmluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZC0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2Zyb3duaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Zyb3duaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRkLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Zyb3duaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mcm93bmluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mcm93bmluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZnJvd25pbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGQtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZnJvd25pbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Zyb3duaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRkLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2Zyb3duaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9mcm93bmluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY0ZC0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9mcm93bmluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZnJvd25pbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NGQtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZnJvd25pbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Zyb3duaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRkLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dldHRpbmdfaGFpcmN1dDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2V0dGluZ19oYWlyY3V0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dldHRpbmdfaGFpcmN1dF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2V0dGluZ19oYWlyY3V0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg3LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dldHRpbmdfaGFpcmN1dF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2V0dGluZ19oYWlyY3V0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg3LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dldHRpbmdfaGFpcmN1dF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2V0dGluZ19oYWlyY3V0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg3LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dldHRpbmdfaGFpcmN1dF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2V0dGluZ19oYWlyY3V0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg3LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dldHRpbmdfaGFpcmN1dF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2V0dGluZ19oYWlyY3V0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg3LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ2V0dGluZ19oYWlyY3V0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dldHRpbmdfaGFpcmN1dFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Ny0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dldHRpbmdfaGFpcmN1dF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nZXR0aW5nX2hhaXJjdXRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODctMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nZXR0aW5nX2hhaXJjdXRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ2V0dGluZ19oYWlyY3V0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg3LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ2V0dGluZ19oYWlyY3V0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dldHRpbmdfaGFpcmN1dF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Ny0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dldHRpbmdfaGFpcmN1dF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nZXR0aW5nX2hhaXJjdXRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODctMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nZXR0aW5nX2hhaXJjdXRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ2V0dGluZ19oYWlyY3V0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg3LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dldHRpbmdfaGFpcmN1dDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2V0dGluZ19oYWlyY3V0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg3LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dldHRpbmdfaGFpcmN1dF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2V0dGluZ19oYWlyY3V0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg3LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dldHRpbmdfaGFpcmN1dF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2V0dGluZ19oYWlyY3V0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg3LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dldHRpbmdfaGFpcmN1dF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2V0dGluZ19oYWlyY3V0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg3LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dldHRpbmdfaGFpcmN1dF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2V0dGluZ19oYWlyY3V0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg3LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dldHRpbmdfaGFpcmN1dF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2V0dGluZ19oYWlyY3V0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg3LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dldHRpbmdfbWFzc2FnZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2V0dGluZ19tYXNzYWdlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dldHRpbmdfbWFzc2FnZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2V0dGluZ19tYXNzYWdlX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg2LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dldHRpbmdfbWFzc2FnZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2V0dGluZ19tYXNzYWdlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg2LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dldHRpbmdfbWFzc2FnZV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2V0dGluZ19tYXNzYWdlX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg2LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dldHRpbmdfbWFzc2FnZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2V0dGluZ19tYXNzYWdlX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg2LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dldHRpbmdfbWFzc2FnZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ2V0dGluZ19tYXNzYWdlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg2LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ2V0dGluZ19mYWNlX21hc3NhZ2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ2V0dGluZ19mYWNlX21hc3NhZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nZXR0aW5nX2ZhY2VfbWFzc2FnZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nZXR0aW5nX2ZhY2VfbWFzc2FnZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Ni0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dldHRpbmdfZmFjZV9tYXNzYWdlX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dldHRpbmdfZmFjZV9tYXNzYWdlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg2LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ2V0dGluZ19mYWNlX21hc3NhZ2VfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fZ2V0dGluZ19mYWNlX21hc3NhZ2VfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODYtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nZXR0aW5nX2ZhY2VfbWFzc2FnZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nZXR0aW5nX2ZhY2VfbWFzc2FnZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Ni0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2dldHRpbmdfZmFjZV9tYXNzYWdlX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dldHRpbmdfZmFjZV9tYXNzYWdlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg2LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dldHRpbmdfZmFjZV9tYXNzYWdlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXR0aW5nX2ZhY2VfbWFzc2FnZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Ni0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9nZXR0aW5nX2ZhY2VfbWFzc2FnZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2V0dGluZ19mYWNlX21hc3NhZ2VfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODYtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2V0dGluZ19mYWNlX21hc3NhZ2VfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2dldHRpbmdfZmFjZV9tYXNzYWdlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg2LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dldHRpbmdfZmFjZV9tYXNzYWdlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nZXR0aW5nX2ZhY2VfbWFzc2FnZV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Ni0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9nZXR0aW5nX2ZhY2VfbWFzc2FnZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ2V0dGluZ19mYWNlX21hc3NhZ2VfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODYtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ2V0dGluZ19mYWNlX21hc3NhZ2VfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2dldHRpbmdfZmFjZV9tYXNzYWdlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg2LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX3N0ZWFteV9yb29tOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9zdGVhbXlfcm9vbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9zdGVhbXlfcm9vbV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fc3RlYW15X3Jvb21fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDYtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fc3RlYW15X3Jvb21fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX3N0ZWFteV9yb29tX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ2LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX3N0ZWFteV9yb29tX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9zdGVhbXlfcm9vbV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9zdGVhbXlfcm9vbV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fc3RlYW15X3Jvb21fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDYtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fc3RlYW15X3Jvb21fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX3N0ZWFteV9yb29tX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ2LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fc3RlYW15X3Jvb206XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fc3RlYW15X3Jvb21cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl9zdGVhbXlfcm9vbV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9zdGVhbXlfcm9vbV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNi0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX3N0ZWFteV9yb29tX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX3N0ZWFteV9yb29tX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ2LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fc3RlYW15X3Jvb21fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fc3RlYW15X3Jvb21fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDYtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl9zdGVhbXlfcm9vbV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9zdGVhbXlfcm9vbV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNi0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX3N0ZWFteV9yb29tX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX3N0ZWFteV9yb29tX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ2LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX3N0ZWFteV9yb29tOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9zdGVhbXlfcm9vbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9zdGVhbXlfcm9vbV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fc3RlYW15X3Jvb21fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDYtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fc3RlYW15X3Jvb21fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2luX3N0ZWFteV9yb29tX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ2LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX3N0ZWFteV9yb29tX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9zdGVhbXlfcm9vbV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNi0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9zdGVhbXlfcm9vbV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fc3RlYW15X3Jvb21fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDYtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fc3RlYW15X3Jvb21fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2luX3N0ZWFteV9yb29tX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ2LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmFpbF9jYXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5haWxfY2FyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5haWxfY2FyZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuYWlsX2NhcmVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODUtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuYWlsX2NhcmVfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmFpbF9jYXJlX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg1LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmFpbF9jYXJlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5haWxfY2FyZV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4NS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5haWxfY2FyZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuYWlsX2NhcmVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODUtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuYWlsX2NhcmVfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmFpbF9jYXJlX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg1LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2VsZmllOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNlbGZpZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNlbGZpZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzZWxmaWVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzMtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzZWxmaWVfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2VsZmllX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTMzLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2VsZmllX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNlbGZpZV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzMy0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNlbGZpZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzZWxmaWVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzMtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzZWxmaWVfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2VsZmllX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTMzLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGFuY2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRhbmNlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRhbmNlcl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkYW5jZXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODMtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkYW5jZXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGFuY2VyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgzLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGFuY2VyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRhbmNlcl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4My0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRhbmNlcl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkYW5jZXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ODMtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkYW5jZXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGFuY2VyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDgzLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2RhbmNpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2RhbmNpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1N2Euc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZGFuY2luZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZGFuY2luZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3YS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9kYW5jaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9kYW5jaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTdhLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2RhbmNpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2RhbmNpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1N2EtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZGFuY2luZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZGFuY2luZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3YS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9kYW5jaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9kYW5jaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTdhLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVvcGxlX3dpdGhfYnVubnlfZWFyc19wYXJ0eWluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZW9wbGVfd2l0aF9idW5ueV9lYXJzX3BhcnR5aW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5fd2l0aF9idW5ueV9lYXJzX3BhcnR5aW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuX3dpdGhfYnVubnlfZWFyc19wYXJ0eWluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Zi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lbl93aXRoX2J1bm55X2VhcnNfcGFydHlpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX3dpdGhfYnVubnlfZWFyc19wYXJ0eWluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Zi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxldml0YXRlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxldml0YXRlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGV2aXRhdGVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGV2aXRhdGVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzQtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZXZpdGF0ZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZXZpdGF0ZV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3NC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxldml0YXRlX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxldml0YXRlX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTc0LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGV2aXRhdGVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGV2aXRhdGVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzQtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZXZpdGF0ZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZXZpdGF0ZV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3NC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbWFudWFsX3doZWVsY2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0xZjliZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbWFudWFsX3doZWVsY2hhaXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjliZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbWFudWFsX3doZWVsY2hhaXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0xZjliZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbWFudWFsX3doZWVsY2hhaXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjliZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbWFudWFsX3doZWVsY2hhaXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjliZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbWFudWFsX3doZWVsY2hhaXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0xZjliZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWY5YmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmOWJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbWFudWFsX3doZWVsY2hhaXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fbWFudWFsX3doZWVsY2hhaXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0xZjliZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWY5YmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmOWJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbWFudWFsX3doZWVsY2hhaXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fbWFudWFsX3doZWVsY2hhaXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0xZjliZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbWFudWFsX3doZWVsY2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjliZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbWFudWFsX3doZWVsY2hhaXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjliZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbWFudWFsX3doZWVsY2hhaXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0xZjliZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbWFudWFsX3doZWVsY2hhaXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjliZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbWFudWFsX3doZWVsY2hhaXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjliZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbWFudWFsX3doZWVsY2hhaXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0xZjliZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmOWJkLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWY5YmQtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0xZjliZC0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmOWJkLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWY5YmQtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0xZjliZC0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmOWJkLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMWY5YmQtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjliZC0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmOWJkLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMWY5YmQtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fbWFudWFsX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0xZjliZC0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjliZC0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0xZjliZC0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0xZjliZC0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjliZC0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0xZjliZC0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21hbnVhbF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tYW51YWxfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0xZjliZC0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbW90b3JpemVkX3doZWVsY2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0xZjliYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbW90b3JpemVkX3doZWVsY2hhaXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjliYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbW90b3JpemVkX3doZWVsY2hhaXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0xZjliYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbW90b3JpemVkX3doZWVsY2hhaXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjliYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbW90b3JpemVkX3doZWVsY2hhaXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjliYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbW90b3JpemVkX3doZWVsY2hhaXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0xZjliYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWY5YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmOWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0xZjliYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWY5YmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmOWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0xZjliYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjliYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjliYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0xZjliYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjliYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjliYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0xZjliYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmOWJjLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWY5YmMtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0xZjliYy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTFmOWJjLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWY5YmMtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0xZjliYy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmOWJjLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMWY5YmMtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0xZjliYy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmOWJjLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMWY5YmMtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fbW90b3JpemVkX3doZWVsY2hhaXJfZmFjaW5nX3JpZ2h0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0xZjliYy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjliYy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0xZjliYy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0xZjliYy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjliYy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0xZjliYy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX21vdG9yaXplZF93aGVlbGNoYWlyX2ZhY2luZ19yaWdodF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9tb3Rvcml6ZWRfd2hlZWxjaGFpcl9mYWNpbmdfcmlnaHRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0xZjliYy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93YWxraW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93YWxraW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dhbGtpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dhbGtpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2Fsa2luZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2Fsa2luZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93YWxraW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93YWxraW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dhbGtpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dhbGtpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2Fsa2luZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2Fsa2luZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dhbGtpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2Fsa2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dhbGtpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2Fsa2luZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dhbGtpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2Fsa2luZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dhbGtpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2Fsa2luZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dhbGtpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2Fsa2luZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dhbGtpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2Fsa2luZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93YWxraW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93YWxraW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dhbGtpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dhbGtpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2Fsa2luZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2Fsa2luZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93YWxraW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93YWxraW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dhbGtpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dhbGtpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2Fsa2luZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2Fsa2luZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93YWxraW5nX2ZhY2luZ19yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2Fsa2luZ19mYWNpbmdfcmlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZiLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmYy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMWYzZmQtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZlLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dhbGtpbmdfZmFjaW5nX3JpZ2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dhbGtpbmdfZmFjaW5nX3JpZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTIwMGQtMjY0MC1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMWYzZmItMjAwZC0yNjQwLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmYy0yMDBkLTI2NDAtZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZkLTIwMGQtMjY0MC1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMWYzZmUtMjAwZC0yNjQwLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmZi0yMDBkLTI2NDAtZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93YWxraW5nX2ZhY2luZ19yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2Fsa2luZ19mYWNpbmdfcmlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMjAwZC0yNjQyLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmYy0yMDBkLTI2NDItZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjYtMWYzZmQtMjAwZC0yNjQyLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2Fsa2luZ19mYWNpbmdfcmlnaHRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI2LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dhbGtpbmdfZmFjaW5nX3JpZ2h0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93YWxraW5nX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNi0xZjNmZi0yMDBkLTI2NDItZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93aXRoX3Byb2JpbmdfY2FuZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF9wcm9iaW5nX2NhbmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0xZjlhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93aXRoX3Byb2JpbmdfY2FuZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF9wcm9iaW5nX2NhbmVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0xZjlhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93aXRoX3Byb2JpbmdfY2FuZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF9wcm9iaW5nX2NhbmVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0xZjlhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93aXRoX3Byb2JpbmdfY2FuZV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF9wcm9iaW5nX2NhbmVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0xZjlhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93aXRoX3Byb2JpbmdfY2FuZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF9wcm9iaW5nX2NhbmVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0xZjlhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93aXRoX3Byb2JpbmdfY2FuZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF9wcm9iaW5nX2NhbmVfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0xZjlhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dpdGhfcHJvYmluZ19jYW5lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dpdGhfcHJvYmluZ19jYW5lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWY5YWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmOWFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2l0aF9wcm9iaW5nX2NhbmVfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2l0aF9wcm9iaW5nX2NhbmVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0xZjlhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dpdGhfcHJvYmluZ19jYW5lX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dpdGhfcHJvYmluZ19jYW5lX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWY5YWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmOWFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2l0aF9wcm9iaW5nX2NhbmVfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2l0aF9wcm9iaW5nX2NhbmVfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0xZjlhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aXRoX3Byb2JpbmdfY2FuZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF9wcm9iaW5nX2NhbmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjlhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF9wcm9iaW5nX2NhbmVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjlhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF9wcm9iaW5nX2NhbmVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0xZjlhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF9wcm9iaW5nX2NhbmVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0xZjlhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF9wcm9iaW5nX2NhbmVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjlhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aXRoX3Byb2JpbmdfY2FuZV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF9wcm9iaW5nX2NhbmVfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0xZjlhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWY5YWYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTFmOWFmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0xZjlhZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWY5YWYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTFmOWFmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0xZjlhZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY5YWYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTFmOWFmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0xZjlhZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWY5YWYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTFmOWFmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0xZjlhZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmOWFmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY5YWYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0xZjlhZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmOWFmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fd2l0aF93aGl0ZV9jYW5lX2ZhY2luZ19yaWdodF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY5YWYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl93aXRoX3doaXRlX2NhbmVfZmFjaW5nX3JpZ2h0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3dpdGhfd2hpdGVfY2FuZV9mYWNpbmdfcmlnaHRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0xZjlhZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9rbmVlbGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fa25lZWxpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fa25lZWxpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2tuZWVsaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2tuZWVsaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9rbmVlbGluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9rbmVlbGluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fa25lZWxpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2UtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fa25lZWxpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2tuZWVsaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2tuZWVsaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9rbmVlbGluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2tuZWVsaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2tuZWVsaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fa25lZWxpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fa25lZWxpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2UtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9rbmVlbGluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9rbmVlbGluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2tuZWVsaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2tuZWVsaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fa25lZWxpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fa25lZWxpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2UtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9rbmVlbGluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9rbmVlbGluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9rbmVlbGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fa25lZWxpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2UtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fa25lZWxpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2tuZWVsaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2tuZWVsaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9rbmVlbGluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9rbmVlbGluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fa25lZWxpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2UtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fa25lZWxpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2tuZWVsaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2tuZWVsaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9rbmVlbGluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9rbmVlbGluZ19mYWNpbmdfcmlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2tuZWVsaW5nX2ZhY2luZ19yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmYi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmYy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmZC0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmZS0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2UtMjAwZC0yNjQwLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fa25lZWxpbmdfZmFjaW5nX3JpZ2h0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZiLTIwMGQtMjY0MC1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fa25lZWxpbmdfZmFjaW5nX3JpZ2h0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmYy0yMDBkLTI2NDAtZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2UtMWYzZmQtMjAwZC0yNjQwLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fa25lZWxpbmdfZmFjaW5nX3JpZ2h0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNlLTFmM2ZlLTIwMGQtMjY0MC1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fa25lZWxpbmdfZmFjaW5nX3JpZ2h0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmZi0yMDBkLTI2NDAtZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9rbmVlbGluZ19mYWNpbmdfcmlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0yMDBkLTI2NDItZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmYi0yMDBkLTI2NDItZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmYy0yMDBkLTI2NDItZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmZC0yMDBkLTI2NDItZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmZS0yMDBkLTI2NDItZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9rbmVlbGluZ19mYWNpbmdfcmlnaHRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2tuZWVsaW5nX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZS0xZjNmZi0yMDBkLTI2NDItZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9ydW5uaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ydW5uaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3J1bm5pbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3J1bm5pbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcnVubmluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcnVubmluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9ydW5uaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ydW5uaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3J1bm5pbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3J1bm5pbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcnVubmluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcnVubmluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3J1bm5pbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcnVubmluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3J1bm5pbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcnVubmluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3J1bm5pbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcnVubmluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3J1bm5pbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcnVubmluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3J1bm5pbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcnVubmluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3J1bm5pbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcnVubmluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9ydW5uaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ydW5uaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3J1bm5pbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3J1bm5pbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcnVubmluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcnVubmluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9ydW5uaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ydW5uaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3J1bm5pbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3J1bm5pbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcnVubmluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcnVubmluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9ydW5uaW5nX2ZhY2luZ19yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcnVubmluZ19mYWNpbmdfcmlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZiLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmYy0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMWYzZmQtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZlLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3J1bm5pbmdfZmFjaW5nX3JpZ2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3J1bm5pbmdfZmFjaW5nX3JpZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTIwMGQtMjY0MC1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMWYzZmItMjAwZC0yNjQwLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmYy0yMDBkLTI2NDAtZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMWYzZmUtMjAwZC0yNjQwLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmZi0yMDBkLTI2NDAtZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9ydW5uaW5nX2ZhY2luZ19yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcnVubmluZ19mYWNpbmdfcmlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMjAwZC0yNjQyLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmYy0yMDBkLTI2NDItZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzMtMWYzZmQtMjAwZC0yNjQyLWZlMGYtMjAwZC0yN2ExLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcnVubmluZ19mYWNpbmdfcmlnaHRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MzLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLTIwMGQtMjdhMS1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3J1bm5pbmdfZmFjaW5nX3JpZ2h0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ydW5uaW5nX2ZhY2luZ19yaWdodF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMy0xZjNmZi0yMDBkLTI2NDItZmUwZi0yMDBkLTI3YTEtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9zdGFuZGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc3RhbmRpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2Quc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc3RhbmRpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3N0YW5kaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNkLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3N0YW5kaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zdGFuZGluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9zdGFuZGluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc3RhbmRpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2QtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc3RhbmRpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3N0YW5kaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNkLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3N0YW5kaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zdGFuZGluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N0YW5kaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N0YW5kaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3RhbmRpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3RhbmRpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2QtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zdGFuZGluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdGFuZGluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZC0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N0YW5kaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N0YW5kaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNkLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3RhbmRpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3RhbmRpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2QtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zdGFuZGluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zdGFuZGluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZC0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zdGFuZGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3RhbmRpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2QtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3RhbmRpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3N0YW5kaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNkLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N0YW5kaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdGFuZGluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZC0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zdGFuZGluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3RhbmRpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2QtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3RhbmRpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3N0YW5kaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNkLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N0YW5kaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdGFuZGluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljZC0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV9ob2xkaW5nX2hhbmRzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMWY5MWQtMjAwZC0xZjlkMS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZiLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lMV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lMV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lMV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmItMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lMl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lMl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lM190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Yi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lM190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lM190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lNF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lNF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZiLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lNF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lNV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lNV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYW5kX21hbl9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2FuZF9tYW5faG9sZGluZ19oYW5kc190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9hbmRfbWFuX2hvbGRpbmdfaGFuZHNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmItMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0d29fd29tZW5faG9sZGluZ19oYW5kczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0d29fd29tZW5faG9sZGluZ19oYW5kc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2ZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5faG9sZGluZ19oYW5kc190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2ZC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5faG9sZGluZ19oYW5kc190b25lMV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmOTFkLTIwMGQtMWY0NjktMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0xZjkxZC0yMDBkLTFmNDY5LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5faG9sZGluZ19oYW5kc190b25lMV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUxX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5faG9sZGluZ19oYW5kc190b25lMV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTFmOTFkLTIwMGQtMWY0NjktMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0xZjkxZC0yMDBkLTFmNDY5LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5faG9sZGluZ19oYW5kc190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZkLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5faG9sZGluZ19oYW5kc190b25lMl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5faG9sZGluZ19oYW5kc190b25lMl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTFmOTFkLTIwMGQtMWY0NjktMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0xZjkxZC0yMDBkLTFmNDY5LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5faG9sZGluZ19oYW5kc190b25lM190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5faG9sZGluZ19oYW5kc190b25lM190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTFmOTFkLTIwMGQtMWY0NjktMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmQtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0xZjkxZC0yMDBkLTFmNDY5LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5faG9sZGluZ19oYW5kc190b25lM190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5faG9sZGluZ19oYW5kc190b25lNF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmOTFkLTIwMGQtMWY0NjktMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0xZjkxZC0yMDBkLTFmNDY5LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5faG9sZGluZ19oYW5kc190b25lNF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5faG9sZGluZ19oYW5kc190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2ZC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5faG9sZGluZ19oYW5kc190b25lNF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTFmOTFkLTIwMGQtMWY0NjktMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0xZjkxZC0yMDBkLTFmNDY5LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5faG9sZGluZ19oYW5kc190b25lNV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5faG9sZGluZ19oYW5kc190b25lNV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTFmOTFkLTIwMGQtMWY0NjktMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmU1X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWVuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0xZjkxZC0yMDBkLTFmNDY5LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tZW5faG9sZGluZ19oYW5kc190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbl9ob2xkaW5nX2hhbmRzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZkLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHdvX21lbl9ob2xkaW5nX2hhbmRzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInR3b19tZW5faG9sZGluZ19oYW5kc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZjLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTFfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmMtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lMl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lMl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lMl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lMl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lMl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lMl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lM190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lM190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lM190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lM190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTFmOTFkLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5faG9sZGluZ19oYW5kc190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5faG9sZGluZ19oYW5kc190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2Yy0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbl9ob2xkaW5nX2hhbmRzX3RvbmUzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lbl9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbl9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lbl9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbl9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lbl9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbl9ob2xkaW5nX2hhbmRzX3RvbmU0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMWY5MWQtMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lbl9ob2xkaW5nX2hhbmRzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbl9ob2xkaW5nX2hhbmRzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZjLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTRfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0xZjkxZC0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX2hvbGRpbmdfaGFuZHNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuX2hvbGRpbmdfaGFuZHNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NmMtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ5MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDkxLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lMV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmUxX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY5ZDEtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmUxX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTFfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjlkMS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTFfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lMV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmOWQxLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lMV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmUxX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY5ZDEtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmUyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjlkMS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDkxLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lMl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmUyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY5ZDEtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmUyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjlkMS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lMl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmOWQxLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lM190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmUzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY5ZDEtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmUzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTNfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjlkMS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDkxLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lM190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmUzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY5ZDEtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmUzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjlkMS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lNF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmOWQxLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lNF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmU0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY5ZDEtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmU0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjlkMS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDkxLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lNF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmU0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY5ZDEtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmU1X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjlkMS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTVfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lNV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmOWQxLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfcGVyc29uX3BlcnNvbl90b25lNV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmU1X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY5ZDEtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9wZXJzb25fcGVyc29uX3RvbmU1X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3BlcnNvbl9wZXJzb25fdG9uZTVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjlkMS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDkxLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUxX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lMV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUxX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lMV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUxX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lMV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUxX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lMV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lMl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lMl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lMl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lMl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lM190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lM190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lM190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmUzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lM190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lNF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lNF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lNF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lNF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU1X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lNV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU1X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lNV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU1X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lNV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU1X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lNV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fbWFuX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX21hbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3d3OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93d1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUxX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUxX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjktMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lMV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lMV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTFfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTFfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUxX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUxX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjktMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lMl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lMl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjktMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lMl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lMl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjktMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lM190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lM190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmUzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjktMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lM190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lM190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmU0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmU0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjktMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lNF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lNF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmU0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmU0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjktMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lNV90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lNV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTVfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmU1X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X3dvbWFuX3dvbWFuX3RvbmU1X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjktMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lNV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF93b21hbl93b21hbl90b25lNV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY5LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfd29tYW5fd29tYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV9tbTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfbW1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lMV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUxX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUxX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTFfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTFfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lMV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lMV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUxX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTJfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lMl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTJfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lMl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lM190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTNfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lM190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmUzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lNF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lNF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmU0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmU0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lNF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmU0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmU1X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTVfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTVfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lNV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lNV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmU1X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0NjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3VwbGVfd2l0aF9oZWFydF9tYW5fbWFuX3RvbmU1X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTVfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ2OC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdXBsZV93aXRoX2hlYXJ0X21hbl9tYW5fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY291cGxlX3dpdGhfaGVhcnRfbWFuX21hbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y291cGxla2lzczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3VwbGVraXNzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDhmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDhmLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19wZXJzb25fcGVyc29uX3RvbmUxX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfcGVyc29uX3BlcnNvbl90b25lMV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY5ZDEtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3BlcnNvbl9wZXJzb25fdG9uZTFfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19wZXJzb25fcGVyc29uX3RvbmUxX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjlkMS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfcGVyc29uX3BlcnNvbl90b25lMV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3BlcnNvbl9wZXJzb25fdG9uZTFfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmOWQxLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19wZXJzb25fcGVyc29uX3RvbmUxX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfcGVyc29uX3BlcnNvbl90b25lMV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY5ZDEtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3BlcnNvbl9wZXJzb25fdG9uZTJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19wZXJzb25fcGVyc29uX3RvbmUyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjlkMS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Zi0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfcGVyc29uX3BlcnNvbl90b25lMl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3BlcnNvbl9wZXJzb25fdG9uZTJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmOWQxLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19wZXJzb25fcGVyc29uX3RvbmUyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfcGVyc29uX3BlcnNvbl90b25lMl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY5ZDEtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3BlcnNvbl9wZXJzb25fdG9uZTJfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19wZXJzb25fcGVyc29uX3RvbmUyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjlkMS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfcGVyc29uX3BlcnNvbl90b25lM190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3BlcnNvbl9wZXJzb25fdG9uZTNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmOWQxLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19wZXJzb25fcGVyc29uX3RvbmUzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfcGVyc29uX3BlcnNvbl90b25lM190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY5ZDEtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OGYtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3BlcnNvbl9wZXJzb25fdG9uZTNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19wZXJzb25fcGVyc29uX3RvbmUzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjlkMS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfcGVyc29uX3BlcnNvbl90b25lM190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3BlcnNvbl9wZXJzb25fdG9uZTNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmOWQxLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19wZXJzb25fcGVyc29uX3RvbmU0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfcGVyc29uX3BlcnNvbl90b25lNF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY5ZDEtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3BlcnNvbl9wZXJzb25fdG9uZTRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19wZXJzb25fcGVyc29uX3RvbmU0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjlkMS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfcGVyc29uX3BlcnNvbl90b25lNF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3BlcnNvbl9wZXJzb25fdG9uZTRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmOWQxLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDhmLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19wZXJzb25fcGVyc29uX3RvbmU0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfcGVyc29uX3BlcnNvbl90b25lNF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY5ZDEtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3BlcnNvbl9wZXJzb25fdG9uZTVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19wZXJzb25fcGVyc29uX3RvbmU1X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjlkMS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfcGVyc29uX3BlcnNvbl90b25lNV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3BlcnNvbl9wZXJzb25fdG9uZTVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmOWQxLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19wZXJzb25fcGVyc29uX3RvbmU1X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfcGVyc29uX3BlcnNvbl90b25lNV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY5ZDEtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3BlcnNvbl9wZXJzb25fdG9uZTVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19wZXJzb25fcGVyc29uX3RvbmU1X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjlkMS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4Zi0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmUxX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmUxX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmUxX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmUxX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmUxX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmUxX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmUxX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmUxX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmUyX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmUyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmUyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmUyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmUyX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmUyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmUyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmUyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmUzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmUzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmUzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmUzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmUzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmUzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmUzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmUzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmU0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmU0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmU0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmU0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmU0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmU0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmU0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmU0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmU1X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmU1X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmU1X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmU1X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmU1X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmU1X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmU1X3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmU1X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fbWFuX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fbWFuX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd3c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193d1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0Njkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3dvbWFuX3dvbWFuX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fd29tYW5fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY5LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl93b21hbl90b25lMV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3dvbWFuX3dvbWFuX3RvbmUxX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fd29tYW5fdG9uZTFfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl93b21hbl90b25lMV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjktMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3dvbWFuX3dvbWFuX3RvbmUxX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fd29tYW5fdG9uZTFfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY5LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl93b21hbl90b25lMV90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3dvbWFuX3dvbWFuX3RvbmUxX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fd29tYW5fdG9uZTJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl93b21hbl90b25lMl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjktMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3dvbWFuX3dvbWFuX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fd29tYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY5LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl93b21hbl90b25lMl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3dvbWFuX3dvbWFuX3RvbmUyX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fd29tYW5fdG9uZTJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl93b21hbl90b25lMl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjktMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3dvbWFuX3dvbWFuX3RvbmUyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fd29tYW5fdG9uZTJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY5LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl93b21hbl90b25lM190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3dvbWFuX3dvbWFuX3RvbmUzX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fd29tYW5fdG9uZTNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl93b21hbl90b25lM190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjktMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3dvbWFuX3dvbWFuX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fd29tYW5fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY5LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl93b21hbl90b25lM190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3dvbWFuX3dvbWFuX3RvbmUzX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fd29tYW5fdG9uZTNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl93b21hbl90b25lM190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjktMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3dvbWFuX3dvbWFuX3RvbmU0X3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fd29tYW5fdG9uZTRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY5LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl93b21hbl90b25lNF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3dvbWFuX3dvbWFuX3RvbmU0X3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fd29tYW5fdG9uZTRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl93b21hbl90b25lNF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjktMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3dvbWFuX3dvbWFuX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fd29tYW5fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY5LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl93b21hbl90b25lNF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3dvbWFuX3dvbWFuX3RvbmU0X3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fd29tYW5fdG9uZTVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl93b21hbl90b25lNV90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjktMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3dvbWFuX3dvbWFuX3RvbmU1X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fd29tYW5fdG9uZTVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY5LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc193b21hbl93b21hbl90b25lNV90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX3dvbWFuX3dvbWFuX3RvbmU1X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3Nfd29tYW5fd29tYW5fdG9uZTVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc193b21hbl93b21hbl90b25lNV90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjktMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX3dvbWFuX3dvbWFuX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3Nfd29tYW5fd29tYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY5LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tbTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21tXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfbWFuX21hbl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21hbl9tYW5fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tYW5fbWFuX3RvbmUxX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbWFuX21hbl90b25lMV90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX21hbl9tYW5fdG9uZTFfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19tYW5fbWFuX3RvbmUxX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZiLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfbWFuX21hbl90b25lMV90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21hbl9tYW5fdG9uZTFfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmItMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tYW5fbWFuX3RvbmUxX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbWFuX21hbl90b25lMV90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX21hbl9tYW5fdG9uZTJfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19tYW5fbWFuX3RvbmUyX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfbWFuX21hbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21hbl9tYW5fdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tYW5fbWFuX3RvbmUyX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbWFuX21hbl90b25lMl90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmYy0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX21hbl9tYW5fdG9uZTJfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19tYW5fbWFuX3RvbmUyX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZjLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfbWFuX21hbl90b25lMl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21hbl9tYW5fdG9uZTJfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmMtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tYW5fbWFuX3RvbmUzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbWFuX21hbl90b25lM190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjgtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX21hbl9tYW5fdG9uZTNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19tYW5fbWFuX3RvbmUzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfbWFuX21hbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21hbl9tYW5fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmQtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tYW5fbWFuX3RvbmUzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbWFuX21hbl90b25lM190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZC0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjgtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX21hbl9tYW5fdG9uZTNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19tYW5fbWFuX3RvbmUzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZkLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfbWFuX21hbl90b25lNF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21hbl9tYW5fdG9uZTRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tYW5fbWFuX3RvbmU0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbWFuX21hbl90b25lNF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjgtMWYzZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX21hbl9tYW5fdG9uZTRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19tYW5fbWFuX3RvbmU0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZlLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfbWFuX21hbl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21hbl9tYW5fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmUtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tYW5fbWFuX3RvbmU0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbWFuX21hbl90b25lNF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZS0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjgtMWYzZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX21hbl9tYW5fdG9uZTVfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19tYW5fbWFuX3RvbmU1X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfbWFuX21hbl90b25lNV90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21hbl9tYW5fdG9uZTVfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2lzc19tYW5fbWFuX3RvbmU1X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtpc3NfbWFuX21hbl90b25lNV90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0xZjNmZi0yMDBkLTI3NjQtZmUwZi0yMDBkLTFmNDhiLTIwMGQtMWY0NjgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraXNzX21hbl9tYW5fdG9uZTVfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2lzc19tYW5fbWFuX3RvbmU1X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTFmM2ZmLTIwMGQtMjc2NC1mZTBmLTIwMGQtMWY0OGItMjAwZC0xZjQ2OC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpc3NfbWFuX21hbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraXNzX21hbl9tYW5fdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMWYzZmYtMjAwZC0yNzY0LWZlMGYtMjAwZC0xZjQ4Yi0yMDBkLTFmNDY4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X2FkdWx0X2FkdWx0X2NoaWxkX2NoaWxkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV9hZHVsdF9hZHVsdF9jaGlsZF9jaGlsZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmOWQxLTIwMGQtMWY5ZDItMjAwZC0xZjlkMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV9hZHVsdF9hZHVsdF9jaGlsZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfYWR1bHRfYWR1bHRfY2hpbGRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDEtMjAwZC0xZjlkMS0yMDBkLTFmOWQyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X2FkdWx0X2NoaWxkX2NoaWxkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV9hZHVsdF9jaGlsZF9jaGlsZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkMS0yMDBkLTFmOWQyLTIwMGQtMWY5ZDIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfYWR1bHRfY2hpbGQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X2FkdWx0X2NoaWxkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQxLTIwMGQtMWY5ZDIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDZhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X21hbl93b21hbl9ib3k6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X21hbl93b21hbl9ib3lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjQ2OS0yMDBkLTFmNDY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X213ZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfbXdnXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY0NjktMjAwZC0xZjQ2Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV9td2diOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV9td2diXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY0NjktMjAwZC0xZjQ2Ny0yMDBkLTFmNDY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X213YmI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X213YmJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjQ2OS0yMDBkLTFmNDY2LTIwMGQtMWY0NjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfbXdnZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfbXdnZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmNDY5LTIwMGQtMWY0NjctMjAwZC0xZjQ2Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV93d2I6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X3d3YlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmNDY5LTIwMGQtMWY0NjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfd3dnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV93d2dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjQ2OS0yMDBkLTFmNDY3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X3d3Z2I6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X3d3Z2JcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjQ2OS0yMDBkLTFmNDY3LTIwMGQtMWY0NjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfd3diYjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfd3diYlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmNDY5LTIwMGQtMWY0NjYtMjAwZC0xZjQ2Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV93d2dnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV93d2dnXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWY0NjktMjAwZC0xZjQ2Ny0yMDBkLTFmNDY3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X21tYjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfbW1iXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY0NjgtMjAwZC0xZjQ2Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV9tbWc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X21tZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmNDY4LTIwMGQtMWY0Njcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfbW1nYjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfbW1nYlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmNDY4LTIwMGQtMWY0NjctMjAwZC0xZjQ2Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV9tbWJiOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV9tbWJiXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY0NjgtMjAwZC0xZjQ2Ni0yMDBkLTFmNDY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X21tZ2c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X21tZ2dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjQ2OC0yMDBkLTFmNDY3LTIwMGQtMWY0Njcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfd29tYW5fYm95OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV93b21hbl9ib3lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjktMjAwZC0xZjQ2Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV93b21hbl9naXJsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV93b21hbl9naXJsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWY0Njcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfd29tYW5fZ2lybF9ib3k6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X3dvbWFuX2dpcmxfYm95XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWY0NjctMjAwZC0xZjQ2Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV93b21hbl9ib3lfYm95OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV93b21hbl9ib3lfYm95XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY5LTIwMGQtMWY0NjYtMjAwZC0xZjQ2Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV93b21hbl9naXJsX2dpcmw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X3dvbWFuX2dpcmxfZ2lybFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OS0yMDBkLTFmNDY3LTIwMGQtMWY0Njcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYW1pbHlfbWFuX2JveTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfbWFuX2JveVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmNDY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X21hbl9naXJsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhbWlseV9tYW5fZ2lybFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ2OC0yMDBkLTFmNDY3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X21hbl9naXJsX2JveTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfbWFuX2dpcmxfYm95XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDY4LTIwMGQtMWY0NjctMjAwZC0xZjQ2Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbWlseV9tYW5fYm95X2JveTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYW1pbHlfbWFuX2JveV9ib3lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjQ2Ni0yMDBkLTFmNDY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmFtaWx5X21hbl9naXJsX2dpcmw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFtaWx5X21hbl9naXJsX2dpcmxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjgtMjAwZC0xZjQ2Ny0yMDBkLTFmNDY3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a25vdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJrbm90XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWEyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6eWFybjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ5YXJuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGhyZWFkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRocmVhZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlmNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNld2luZ19uZWVkbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2V3aW5nX25lZWRsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFhMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29hdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjllNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxhYl9jb2F0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxhYl9jb2F0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTdjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2FmZXR5X3Zlc3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2FmZXR5X3Zlc3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbnNfY2xvdGhlczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbnNfY2xvdGhlc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ1YS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNoaXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNoaXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDU1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6amVhbnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiamVhbnNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpicmllZnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnJpZWZzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTcyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2hvcnRzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNob3J0c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE3My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5lY2t0aWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmVja3RpZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ1NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRyZXNzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRyZXNzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDU3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmlraW5pOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJpa2luaVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ1OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9uZV9waWVjZV9zd2ltc3VpdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvbmVfcGllY2Vfc3dpbXN1aXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhNzEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpraW1vbm86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2ltb25vXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDU4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2FyaTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYXJpXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTdiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGhvbmdfc2FuZGFsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRob25nX3NhbmRhbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE3NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuc19mbGF0X3Nob2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5zX2ZsYXRfc2hvZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk3Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhpZ2hfaGVlbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoaWdoX2hlZWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzYW5kYWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2FuZGFsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDYxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ym9vdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJib290XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDYyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuc19zaG9lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbnNfc2hvZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ1ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmF0aGxldGljX3Nob2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXRobGV0aWNfc2hvZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ1Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhpa2luZ19ib290OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhpa2luZ19ib290XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTdlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c29ja3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic29ja3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnbG92ZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ2xvdmVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWU0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2NhcmY6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2NhcmZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0b3BoYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidG9waGF0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2E5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmlsbGVkX2NhcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiaWxsZWRfY2FwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWUyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5zX2hhdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbnNfaGF0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDUyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW9ydGFyX2JvYXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vcnRhcl9ib2FyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM5My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlbG1ldF93aXRoX2Nyb3NzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlbG1ldF93aXRoX2Nyb3NzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZDEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptaWxpdGFyeV9oZWxtZXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWlsaXRhcnlfaGVsbWV0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTk2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3Jvd246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3Jvd25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0NTEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OGQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb3VjaDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb3VjaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ1ZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnB1cnNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInB1cnNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFuZGJhZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW5kYmFnXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDVjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnJpZWZjYXNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJyaWVmY2FzZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRiYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNjaG9vbF9zYXRjaGVsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNjaG9vbF9zYXRjaGVsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bHVnZ2FnZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsdWdnYWdlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWYzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZXllZ2xhc3NlczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJleWVnbGFzc2VzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDUzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGFya19zdW5nbGFzc2VzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRhcmtfc3VuZ2xhc3Nlc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdvZ2dsZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ29nZ2xlc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk3ZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb3NlZF91bWJyZWxsYTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG9zZWRfdW1icmVsbGFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMDIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjdXJseV9oYWlyZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3VybHlfaGFpcmVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWIxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVkX2hhaXJlZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWRfaGFpcmVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWIwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2hpdGVfaGFpcmVkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndoaXRlX2hhaXJlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhbGQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFsZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRvZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkb2dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MzYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2F0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDMxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW91c2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW91c2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYW1zdGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbXN0ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Mzkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWJiaXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmFiYml0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDMwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zm94OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZveFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk4YS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJlYXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmVhclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQzYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhbmRhX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFuZGFfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQzYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBvbGFyX2JlYXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG9sYXJfYmVhclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQzYi0yMDBkLTI3NDQtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtvYWxhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtvYWxhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDI4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGlnZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGlnZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsaW9uX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGlvbl9mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTgxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y293OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvd1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQyZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaWdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Mzcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaWdfbm9zZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaWdfbm9zZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQzZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZyb2c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZnJvZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQzOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vbmtleV9mYWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vbmtleV9mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDM1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2VlX25vX2V2aWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2VlX25vX2V2aWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2NDguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFyX25vX2V2aWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhcl9ub19ldmlsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjQ5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3BlYWtfbm9fZXZpbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzcGVha19ub19ldmlsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjRhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW9ua2V5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vbmtleVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQxMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNoaWNrZW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2hpY2tlblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQxNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlbmd1aW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVuZ3VpblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQyNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJpcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmlyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQyNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhYnlfY2hpY2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFieV9jaGlja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQyNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhdGNoaW5nX2NoaWNrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhdGNoaW5nX2NoaWNrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDIzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGF0Y2hlZF9jaGljazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYXRjaGVkX2NoaWNrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDI1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z29vc2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ29vc2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkdWNrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImR1Y2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ODYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibGFja19iaXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsYWNrX2JpcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MjYtMjAwZC0yYjFiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWFnbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWFnbGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ODUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvd2w6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib3dsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTg5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmF0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk4Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbGY6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29sZlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQzYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJvYXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYm9hclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQxNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvcnNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhvcnNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDM0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dW5pY29ybjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ1bmljb3JuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTg0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW9vc2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW9vc2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhY2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiZWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmVlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDFkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29ybTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b3JtXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWIxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnVnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJ1Z1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQxYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJ1dHRlcmZseTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJidXR0ZXJmbHlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5OGIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbmFpbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbmFpbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQwYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxhZHlfYmVldGxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxhZHlfYmVldGxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDFlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YW50OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFudFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQxYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZseTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbHlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiZWV0bGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmVldGxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29ja3JvYWNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvY2tyb2FjaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFiMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vc3F1aXRvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vc3F1aXRvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTlmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3JpY2tldDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjcmlja2V0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTk3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3BpZGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNwaWRlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNwaWRlcl93ZWI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3BpZGVyX3dlYlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU3OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNjb3JwaW9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNjb3JwaW9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTgyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHVydGxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInR1cnRsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQyMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNuYWtlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNuYWtlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDBkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGl6YXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxpemFyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk4ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRfcmV4OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRfcmV4XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTk2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2F1cm9wb2Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2F1cm9wb2RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5OTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvY3RvcHVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9jdG9wdXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzcXVpZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzcXVpZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk5MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmplbGx5ZmlzaDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJqZWxseWZpc2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaHJpbXA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2hyaW1wXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTkwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bG9ic3RlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsb2JzdGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTllLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3JhYjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjcmFiXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ymxvd2Zpc2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxvd2Zpc2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0cm9waWNhbF9maXNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRyb3BpY2FsX2Zpc2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaXNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpc2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkb2xwaGluOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRvbHBoaW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3aGFsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3aGFsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQzMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndoYWxlMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3aGFsZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MGIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaGFyazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzaGFya1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk4OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNlYWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2VhbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlhZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNyb2NvZGlsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjcm9jb2RpbGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MGEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aWdlcjI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGlnZXIyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDA1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVvcGFyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZW9wYXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDA2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6emVicmE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiemVicmFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5OTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnb3JpbGxhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdvcmlsbGFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5OGQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvcmFuZ3V0YW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib3Jhbmd1dGFuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWE3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFtbW90aDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW1tb3RoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWEzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWxlcGhhbnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWxlcGhhbnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoaXBwb3BvdGFtdXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGlwcG9wb3RhbXVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTliLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmhpbm86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmhpbm9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5OGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkcm9tZWRhcnlfY2FtZWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZHJvbWVkYXJ5X2NhbWVsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDJhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FtZWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2FtZWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnaXJhZmZlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdpcmFmZmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5OTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjprYW5nYXJvbzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJrYW5nYXJvb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk5OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJpc29uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJpc29uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWFjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2F0ZXJfYnVmZmFsbzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3YXRlcl9idWZmYWxvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDAzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b3g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib3hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MDIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3cyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdzJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MDQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkb25rZXk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZG9ua2V5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWNmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFjZWhvcnNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhY2Vob3JzZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQwZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpZzI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGlnMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQxNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhbTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYW1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaGVlcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzaGVlcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQxMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxsYW1hOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxsYW1hXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTk5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z29hdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJnb2F0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDEwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZWVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOThjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZG9nMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkb2cyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDE1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9vZGxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvb2RsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQyOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmd1aWRlX2RvZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJndWlkZV9kb2dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzZXJ2aWNlX2RvZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzZXJ2aWNlX2RvZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQxNS0yMDBkLTFmOWJhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2F0MjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYXQyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDA4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmxhY2tfY2F0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsYWNrX2NhdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQwOC0yMDBkLTJiMWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmZWF0aGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZlYXRoZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3aW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyb29zdGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJvb3N0ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0dXJrZXk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHVya2V5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTgzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZG9kbzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkb2RvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWE0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVhY29jazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZWFjb2NrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTlhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFycm90OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhcnJvdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk5Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN3YW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3dhblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlhMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYW1pbmdvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYW1pbmdvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWE5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZG92ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkb3ZlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTRhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFiYml0MjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWJiaXQyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDA3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFjY29vbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWNjb29uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTlkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2t1bms6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2t1bmtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYWRnZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFkZ2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWExLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmVhdmVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJlYXZlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlhYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm90dGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm90dGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWE2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2xvdGg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2xvdGhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptb3VzZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW91c2UyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDAxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmF0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQwMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNoaXBtdW5rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNoaXBtdW5rXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDNmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVkZ2Vob2c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVkZ2Vob2dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5OTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmZWV0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZlZXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0M2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkcmFnb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZHJhZ29uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDA5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZHJhZ29uX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZHJhZ29uX2ZhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MzIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaG9lbml4OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBob2VuaXhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MjYtMjAwZC0xZjUyNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNhY3R1czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYWN0dXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMzUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaHJpc3RtYXNfdHJlZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaHJpc3RtYXNfdHJlZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM4NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmV2ZXJncmVlbl90cmVlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImV2ZXJncmVlbl90cmVlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzMyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVjaWR1b3VzX3RyZWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGVjaWR1b3VzX3RyZWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYWxtX3RyZWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFsbV90cmVlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzM0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29vZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b29kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWI1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2VlZGxpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2VlZGxpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMzEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZXJiOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlcmJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzM2Yuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmb3VyX2xlYWZfY2xvdmVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZvdXJfbGVhZl9jbG92ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNDAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYW1ib286XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFtYm9vXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzhkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG90dGVkX3BsYW50OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvdHRlZF9wbGFudFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFiNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRhbmFiYXRhX3RyZWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGFuYWJhdGFfdHJlZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM4Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxlYXZlczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWF2ZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNDMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYWxsZW5fbGVhZjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmYWxsZW5fbGVhZlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM0Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hcGxlX2xlYWY6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFwbGVfbGVhZlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM0MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5lc3Rfd2l0aF9lZ2dzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5lc3Rfd2l0aF9lZ2dzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWJhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZW1wdHlfbmVzdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlbXB0eV9uZXN0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWI5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bXVzaHJvb206XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibXVzaHJvb21cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNDQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpicm93bl9tdXNocm9vbTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJicm93bl9tdXNocm9vbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM0NC0yMDBkLTFmN2ViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2hlbGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2hlbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0MWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3JhbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3JhbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFiOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJvY2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicm9ja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFhOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVhcl9vZl9yaWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVhcl9vZl9yaWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ym91cXVldDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJib3VxdWV0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDkwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHVsaXA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHVsaXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMzcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyb3NlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJvc2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMzkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3aWx0ZWRfcm9zZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3aWx0ZWRfcm9zZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk0MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmh5YWNpbnRoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImh5YWNpbnRoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bG90dXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibG90dXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoaWJpc2N1czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoaWJpc2N1c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMzYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNoZXJyeV9ibG9zc29tOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNoZXJyeV9ibG9zc29tXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzM4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ymxvc3NvbTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJibG9zc29tXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzNjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3VuZmxvd2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN1bmZsb3dlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMzYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN1bl93aXRoX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3VuX3dpdGhfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMxZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZ1bGxfbW9vbl93aXRoX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZnVsbF9tb29uX3dpdGhfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMxZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpcnN0X3F1YXJ0ZXJfbW9vbl93aXRoX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlyc3RfcXVhcnRlcl9tb29uX3dpdGhfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMxYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxhc3RfcXVhcnRlcl9tb29uX3dpdGhfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsYXN0X3F1YXJ0ZXJfbW9vbl93aXRoX2ZhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuZXdfbW9vbl93aXRoX2ZhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmV3X21vb25fd2l0aF9mYWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzFhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZnVsbF9tb29uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZ1bGxfbW9vblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMxNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndhbmluZ19naWJib3VzX21vb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2FuaW5nX2dpYmJvdXNfbW9vblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMxNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxhc3RfcXVhcnRlcl9tb29uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxhc3RfcXVhcnRlcl9tb29uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzE3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2FuaW5nX2NyZXNjZW50X21vb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2FuaW5nX2NyZXNjZW50X21vb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuZXdfbW9vbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuZXdfbW9vblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMxMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndheGluZ19jcmVzY2VudF9tb29uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndheGluZ19jcmVzY2VudF9tb29uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzEyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zmlyc3RfcXVhcnRlcl9tb29uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpcnN0X3F1YXJ0ZXJfbW9vblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMxMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndheGluZ19naWJib3VzX21vb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2F4aW5nX2dpYmJvdXNfbW9vblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMxNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNyZXNjZW50X21vb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3Jlc2NlbnRfbW9vblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMxOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVhcnRoX2FtZXJpY2FzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVhcnRoX2FtZXJpY2FzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzBlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWFydGhfYWZyaWNhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVhcnRoX2FmcmljYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMwZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVhcnRoX2FzaWE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWFydGhfYXNpYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpbmdlZF9wbGFuZXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmluZ2VkX3BsYW5ldFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE5MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRpenp5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRpenp5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGFiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3RhcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdGFyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzJiNTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdGFyMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdGFyMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMxZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnphcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ6YXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZhMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJvb206XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYm9vbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRhNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpcmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUyNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb3VkX3Rvcm5hZG86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvdWRfdG9ybmFkb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMyYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhaW5ib3c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmFpbmJvd1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMwOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndoaXRlX3N1bl9zbWFsbF9jbG91ZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3aGl0ZV9zdW5fc21hbGxfY2xvdWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYXJ0bHlfc3Vubnk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFydGx5X3N1bm55XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2YzUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3aGl0ZV9zdW5fY2xvdWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2hpdGVfc3VuX2Nsb3VkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzI1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2hpdGVfc3VuX3JhaW5fY2xvdWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2hpdGVfc3VuX3JhaW5fY2xvdWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG91ZF9yYWluOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb3VkX3JhaW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aHVuZGVyX2Nsb3VkX3JhaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGh1bmRlcl9jbG91ZF9yYWluXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2Yzguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG91ZF9saWdodG5pbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvdWRfbGlnaHRuaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzI5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvdWRfc25vdzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG91ZF9zbm93XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzI4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c25vd21hbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbm93bWFuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2YzQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3aW5kX2Jsb3dpbmdfZmFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3aW5kX2Jsb3dpbmdfZmFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMyYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRhc2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGFzaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRhOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRyb3BsZXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZHJvcGxldFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRhNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN3ZWF0X2Ryb3BzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN3ZWF0X2Ryb3BzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGE2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnViYmxlczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJidWJibGVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWU3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2NlYW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2NlYW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMGEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmb2c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZm9nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3JlZW5fYXBwbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ3JlZW5fYXBwbGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcHBsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcHBsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM0ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlYXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVhclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM1MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRhbmdlcmluZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0YW5nZXJpbmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNGEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZW1vbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZW1vblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM0Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxpbWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGltZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM0Yi0yMDBkLTFmN2U5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmFuYW5hOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhbmFuYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM0Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndhdGVybWVsb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2F0ZXJtZWxvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM0OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdyYXBlczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJncmFwZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNDcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdHJhd2JlcnJ5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0cmF3YmVycnlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibHVlYmVycmllczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJibHVlYmVycmllc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFkMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lbG9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbG9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzQ4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2hlcnJpZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2hlcnJpZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZWFjaDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZWFjaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM1MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbmdvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbmdvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGluZWFwcGxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbmVhcHBsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM0ZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvY29udXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29jb251dFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk2NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpd2k6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2l3aVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk1ZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRvbWF0bzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0b21hdG9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNDUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplZ2dwbGFudDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlZ2dwbGFudFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM0Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmF2b2NhZG86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXZvY2Fkb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk1MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlYV9wb2Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVhX3BvZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFkYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJyb2Njb2xpOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJyb2Njb2xpXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVhZnlfZ3JlZW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGVhZnlfZ3JlZW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjdWN1bWJlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjdWN1bWJlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk1Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvdF9wZXBwZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaG90X3BlcHBlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMzNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJlbGxfcGVwcGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJlbGxfcGVwcGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWQxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29ybjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb3JuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzNkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2Fycm90OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhcnJvdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk1NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9saXZlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9saXZlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWQyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z2FybGljOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdhcmxpY1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9uaW9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9uaW9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWM1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG90YXRvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvdGF0b1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk1NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN3ZWV0X3BvdGF0bzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzd2VldF9wb3RhdG9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnaW5nZXJfcm9vdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJnaW5nZXJfcm9vdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFkYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNyb2lzc2FudDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjcm9pc3NhbnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYWdlbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYWdlbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk2Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJyZWFkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJyZWFkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzVlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZnJlbmNoX2JyZWFkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZyZW5jaF9icmVhZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk1Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByZXR6ZWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJldHplbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk2OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNoZWVzZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaGVlc2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YzAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplZ2c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWdnXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTVhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29va2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb29raW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzczLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnV0dGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJ1dHRlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhbmNha2VzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhbmNha2VzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTVlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2FmZmxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndhZmZsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhY29uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhY29uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTUzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3V0X29mX21lYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3V0X29mX21lYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Njkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb3VsdHJ5X2xlZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb3VsdHJ5X2xlZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM1Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lYXRfb25fYm9uZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZWF0X29uX2JvbmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpib25lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJvbmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpob3Rkb2c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaG90ZG9nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFtYnVyZ2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbWJ1cmdlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM1NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZyaWVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZyaWVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzVmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGl6emE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGl6emFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGF0YnJlYWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhdGJyZWFkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWQzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2FuZHdpY2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2FuZHdpY2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdHVmZmVkX2ZsYXRicmVhZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdHVmZmVkX2ZsYXRicmVhZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk1OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZhbGFmZWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFsYWZlbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRhY286XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGFjb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMyZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJ1cnJpdG86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnVycml0b1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMyZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRhbWFsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0YW1hbGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZDQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzYWxhZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYWxhZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk1Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNoYWxsb3dfcGFuX29mX2Zvb2Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2hhbGxvd19wYW5fb2ZfZm9vZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk1OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZvbmR1ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmb25kdWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZDUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYW5uZWRfZm9vZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYW5uZWRfZm9vZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk2Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmphcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJqYXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhZDkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzcGFnaGV0dGk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3BhZ2hldHRpXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzVkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmFtZW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmFtZW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdGV3OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0ZXdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNzIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjdXJyeTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjdXJyeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM1Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN1c2hpOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN1c2hpXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzYzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmVudG86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmVudG9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNzEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkdW1wbGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkdW1wbGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk1Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm95c3RlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJveXN0ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmcmllZF9zaHJpbXA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZnJpZWRfc2hyaW1wXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzY0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmljZV9iYWxsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJpY2VfYmFsbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM1OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmljZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM1YS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpY2VfY3JhY2tlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaWNlX2NyYWNrZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaXNoX2Nha2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlzaF9jYWtlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzY1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zm9ydHVuZV9jb29raWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZm9ydHVuZV9jb29raWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptb29uX2Nha2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW9vbl9jYWtlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2RlbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvZGVuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzYyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGFuZ286XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGFuZ29cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaGF2ZWRfaWNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNoYXZlZF9pY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppY2VfY3JlYW06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaWNlX2NyZWFtXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzY4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aWNlY3JlYW06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaWNlY3JlYW1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGllXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTY3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3VwY2FrZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjdXBjYWtlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWMxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FrZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYWtlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzcwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmlydGhkYXk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmlydGhkYXlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzODIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjdXN0YXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImN1c3RhcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb2xsaXBvcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsb2xsaXBvcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM2ZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNhbmR5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhbmR5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2hvY29sYXRlX2JhcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaG9jb2xhdGVfYmFyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9wY29ybjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb3Bjb3JuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzdmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZG91Z2hudXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZG91Z2hudXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb29raWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29va2llXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzZhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2hlc3RudXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2hlc3RudXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMzAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZWFudXRzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlYW51dHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiZWFuczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiZWFuc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFkOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvbmV5X3BvdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJob25leV9wb3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptaWxrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1pbGtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb3VyaW5nX2xpcXVpZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb3VyaW5nX2xpcXVpZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFkNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhYnlfYm90dGxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhYnlfYm90dGxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzdjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGVhcG90OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRlYXBvdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFkNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRlYTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0ZWFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNzUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYXRlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hdGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Yzkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiZXZlcmFnZV9ib3g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmV2ZXJhZ2VfYm94XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWMzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3VwX3dpdGhfc3RyYXc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3VwX3dpdGhfc3RyYXdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpidWJibGVfdGVhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJ1YmJsZV90ZWFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5Y2Iuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzYWtlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNha2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNzYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiZWVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJlZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzN2Euc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiZWVyczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiZWVyc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM3Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNoYW1wYWduZV9nbGFzczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaGFtcGFnbmVfZ2xhc3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NDIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3aW5lX2dsYXNzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndpbmVfZ2xhc3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzNzcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0dW1ibGVyX2dsYXNzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInR1bWJsZXJfZ2xhc3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NDMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb2NrdGFpbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb2NrdGFpbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM3OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRyb3BpY2FsX2RyaW5rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRyb3BpY2FsX2RyaW5rXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzc5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2hhbXBhZ25lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNoYW1wYWduZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM3ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmljZV9jdWJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImljZV9jdWJlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWNhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3Bvb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3Bvb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NDQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmb3JrX2FuZF9rbmlmZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmb3JrX2FuZF9rbmlmZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM3NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZvcmtfa25pZmVfcGxhdGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZm9ya19rbmlmZV9wbGF0ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM3ZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJvd2xfd2l0aF9zcG9vbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJib3dsX3dpdGhfc3Bvb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0YWtlb3V0X2JveDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0YWtlb3V0X2JveFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk2MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNob3BzdGlja3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2hvcHN0aWNrc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk2Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNhbHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2FsdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjljMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNvY2NlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzb2NjZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZiZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhc2tldGJhbGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFza2V0YmFsbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZvb3RiYWxsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZvb3RiYWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmFzZWJhbGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFzZWJhbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZiZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNvZnRiYWxsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNvZnRiYWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTRlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGVubmlzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRlbm5pc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNiZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZvbGxleWJhbGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidm9sbGV5YmFsbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNkMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJ1Z2J5X2Zvb3RiYWxsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJ1Z2J5X2Zvb3RiYWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zmx5aW5nX2Rpc2M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmx5aW5nX2Rpc2NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjo4YmFsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCI4YmFsbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNiMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnlvX3lvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInlvX3lvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGluZ19wb25nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbmdfcG9uZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNkMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhZG1pbnRvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYWRtaW50b25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpob2NrZXk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaG9ja2V5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2QyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmllbGRfaG9ja2V5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpZWxkX2hvY2tleVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNkMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxhY3Jvc3NlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxhY3Jvc3NlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTRkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3JpY2tldF9nYW1lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNyaWNrZXRfZ2FtZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJvb21lcmFuZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJib29tZXJhbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhODMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnb2FsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdvYWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NDUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnb2xmOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdvbGZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtpdGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2l0ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE4MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBsYXlncm91bmRfc2xpZGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGxheWdyb3VuZF9zbGlkZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZkZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJvd19hbmRfYXJyb3c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYm93X2FuZF9hcnJvd1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpc2hpbmdfcG9sZV9hbmRfZmlzaDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaXNoaW5nX3BvbGVfYW5kX2Zpc2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkaXZpbmdfbWFzazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkaXZpbmdfbWFza1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJveGluZ19nbG92ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJib3hpbmdfZ2xvdmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NGEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYXJ0aWFsX2FydHNfdW5pZm9ybTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYXJ0aWFsX2FydHNfdW5pZm9ybVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk0Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJ1bm5pbmdfc2hpcnRfd2l0aF9zYXNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJ1bm5pbmdfc2hpcnRfd2l0aF9zYXNoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2JkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2thdGVib2FyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJza2F0ZWJvYXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmY5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cm9sbGVyX3NrYXRlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJvbGxlcl9za2F0ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNsZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2xlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmljZV9za2F0ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJpY2Vfc2thdGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmN1cmxpbmdfc3RvbmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3VybGluZ19zdG9uZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk0Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNraTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJza2lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpza2llcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJza2llclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmY3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c25vd2JvYXJkZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic25vd2JvYXJkZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbm93Ym9hcmRlcl90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbm93Ym9hcmRlcl90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNub3dib2FyZGVyX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNub3dib2FyZGVyX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MyLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c25vd2JvYXJkZXJfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic25vd2JvYXJkZXJfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzItMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbm93Ym9hcmRlcl90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbm93Ym9hcmRlcl90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjMi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNub3dib2FyZGVyX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNub3dib2FyZGVyX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MyLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFyYWNodXRlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhcmFjaHV0ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE4Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9saWZ0aW5nX3dlaWdodHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2xpZnRpbmdfd2VpZ2h0c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9saWZ0aW5nX3dlaWdodHNfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2xpZnRpbmdfd2VpZ2h0c190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYi0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9saWZ0aW5nX3dlaWdodHNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2xpZnRpbmdfd2VpZ2h0c190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYi0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9saWZ0aW5nX3dlaWdodHNfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2xpZnRpbmdfd2VpZ2h0c190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYi0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9saWZ0aW5nX3dlaWdodHNfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2xpZnRpbmdfd2VpZ2h0c190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYi0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9saWZ0aW5nX3dlaWdodHNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2xpZnRpbmdfd2VpZ2h0c190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYi0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2xpZnRpbmdfd2VpZ2h0czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9saWZ0aW5nX3dlaWdodHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2ItZmUwZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2xpZnRpbmdfd2VpZ2h0c190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9saWZ0aW5nX3dlaWdodHNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2ItMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9saWZ0aW5nX3dlaWdodHNfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fbGlmdGluZ193ZWlnaHRzX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NiLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbGlmdGluZ193ZWlnaHRzX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2xpZnRpbmdfd2VpZ2h0c190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYi0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2xpZnRpbmdfd2VpZ2h0c190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9saWZ0aW5nX3dlaWdodHNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2ItMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9saWZ0aW5nX3dlaWdodHNfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fbGlmdGluZ193ZWlnaHRzX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NiLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2xpZnRpbmdfd2VpZ2h0czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fbGlmdGluZ193ZWlnaHRzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NiLWZlMGYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fbGlmdGluZ193ZWlnaHRzX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9saWZ0aW5nX3dlaWdodHNfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2ItMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fbGlmdGluZ193ZWlnaHRzX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9saWZ0aW5nX3dlaWdodHNfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2ItMWYzZmMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fbGlmdGluZ193ZWlnaHRzX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9saWZ0aW5nX3dlaWdodHNfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2ItMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fbGlmdGluZ193ZWlnaHRzX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9saWZ0aW5nX3dlaWdodHNfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2ItMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fbGlmdGluZ193ZWlnaHRzX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9saWZ0aW5nX3dlaWdodHNfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2ItMWYzZmYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZW9wbGVfd3Jlc3RsaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlb3BsZV93cmVzdGxpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21lbl93cmVzdGxpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tZW5fd3Jlc3RsaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuX3dyZXN0bGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5fd3Jlc3RsaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2RvaW5nX2NhcnR3aGVlbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZG9pbmdfY2FydHdoZWVsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2RvaW5nX2NhcnR3aGVlbF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZG9pbmdfY2FydHdoZWVsX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2RvaW5nX2NhcnR3aGVlbF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZG9pbmdfY2FydHdoZWVsX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM4LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2RvaW5nX2NhcnR3aGVlbF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZG9pbmdfY2FydHdoZWVsX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM4LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2RvaW5nX2NhcnR3aGVlbF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZG9pbmdfY2FydHdoZWVsX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2RvaW5nX2NhcnR3aGVlbF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZG9pbmdfY2FydHdoZWVsX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM4LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fY2FydHdoZWVsaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2NhcnR3aGVlbGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzOC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2NhcnR3aGVlbGluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jYXJ0d2hlZWxpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzgtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jYXJ0d2hlZWxpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY2FydHdoZWVsaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM4LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fY2FydHdoZWVsaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2NhcnR3aGVlbGluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzOC0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2NhcnR3aGVlbGluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jYXJ0d2hlZWxpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzgtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jYXJ0d2hlZWxpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY2FydHdoZWVsaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM4LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2NhcnR3aGVlbGluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY2FydHdoZWVsaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM4LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2NhcnR3aGVlbGluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY2FydHdoZWVsaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM4LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2NhcnR3aGVlbGluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY2FydHdoZWVsaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM4LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2NhcnR3aGVlbGluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY2FydHdoZWVsaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM4LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2NhcnR3aGVlbGluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY2FydHdoZWVsaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM4LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2NhcnR3aGVlbGluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY2FydHdoZWVsaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM4LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2JvdW5jaW5nX2JhbGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2JvdW5jaW5nX2JhbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9ib3VuY2luZ19iYWxsX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ib3VuY2luZ19iYWxsX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjktMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fYm91bmNpbmdfYmFsbF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fYm91bmNpbmdfYmFsbF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmY5LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2JvdW5jaW5nX2JhbGxfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2JvdW5jaW5nX2JhbGxfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmOS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9ib3VuY2luZ19iYWxsX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9ib3VuY2luZ19iYWxsX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjktMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fYm91bmNpbmdfYmFsbF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fYm91bmNpbmdfYmFsbF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmY5LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYm91bmNpbmdfYmFsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ib3VuY2luZ19iYWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjktZmUwZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2JvdW5jaW5nX2JhbGxfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYm91bmNpbmdfYmFsbF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmY5LTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYm91bmNpbmdfYmFsbF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ib3VuY2luZ19iYWxsX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjktMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9ib3VuY2luZ19iYWxsX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2JvdW5jaW5nX2JhbGxfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmOS0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2JvdW5jaW5nX2JhbGxfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYm91bmNpbmdfYmFsbF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmY5LTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYm91bmNpbmdfYmFsbF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9ib3VuY2luZ19iYWxsX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjktMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYm91bmNpbmdfYmFsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYm91bmNpbmdfYmFsbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmY5LWZlMGYtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYm91bmNpbmdfYmFsbF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYm91bmNpbmdfYmFsbF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmY5LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2JvdW5jaW5nX2JhbGxfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2JvdW5jaW5nX2JhbGxfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmOS0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9ib3VuY2luZ19iYWxsX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9ib3VuY2luZ19iYWxsX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjktMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fYm91bmNpbmdfYmFsbF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fYm91bmNpbmdfYmFsbF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmY5LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2JvdW5jaW5nX2JhbGxfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2JvdW5jaW5nX2JhbGxfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmOS0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9mZW5jaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9mZW5jaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3BsYXlpbmdfaGFuZGJhbGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3BsYXlpbmdfaGFuZGJhbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcGxheWluZ19oYW5kYmFsbF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcGxheWluZ19oYW5kYmFsbF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNlLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3BsYXlpbmdfaGFuZGJhbGxfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3BsYXlpbmdfaGFuZGJhbGxfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2UtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcGxheWluZ19oYW5kYmFsbF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcGxheWluZ19oYW5kYmFsbF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNlLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcGxheWluZ19oYW5kYmFsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wbGF5aW5nX2hhbmRiYWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcGxheWluZ19oYW5kYmFsbF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNlLTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcGxheWluZ19oYW5kYmFsbF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNlLTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcGxheWluZ19oYW5kYmFsbF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNlLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcGxheWluZ19oYW5kYmFsbF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNlLTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcGxheWluZ19oYW5kYmFsbF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNlLTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BsYXlpbmdfaGFuZGJhbGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BsYXlpbmdfaGFuZGJhbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2UtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcGxheWluZ19oYW5kYmFsbF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcGxheWluZ19oYW5kYmFsbF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZS0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNlLTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3BsYXlpbmdfaGFuZGJhbGxfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BsYXlpbmdfaGFuZGJhbGxfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2UtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcGxheWluZ19oYW5kYmFsbF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcGxheWluZ19oYW5kYmFsbF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZS0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9wbGF5aW5nX2hhbmRiYWxsX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNlLTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dvbGZpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2dvbGZpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ29sZmluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ29sZmluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYy0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9nb2xmaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nb2xmaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NjLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2dvbGZpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2dvbGZpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2MtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fZ29sZmluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fZ29sZmluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYy0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9nb2xmaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9nb2xmaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NjLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fZ29sZmluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9nb2xmaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NjLWZlMGYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nb2xmaW5nX3RvbmUxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dvbGZpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2MtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nb2xmaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dvbGZpbmdfdG9uZTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2MtMWYzZmMtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nb2xmaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dvbGZpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2MtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nb2xmaW5nX3RvbmU0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dvbGZpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2MtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9nb2xmaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2dvbGZpbmdfdG9uZTVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2MtMWYzZmYtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ29sZmluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ29sZmluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYy1mZTBmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dvbGZpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2dvbGZpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2MtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ29sZmluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ29sZmluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYy0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9nb2xmaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9nb2xmaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NjLTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2dvbGZpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2dvbGZpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2MtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fZ29sZmluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fZ29sZmluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYy0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvcnNlX3JhY2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJob3JzZV9yYWNpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpob3JzZV9yYWNpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaG9yc2VfcmFjaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M3LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aG9yc2VfcmFjaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhvcnNlX3JhY2luZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNy0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvcnNlX3JhY2luZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJob3JzZV9yYWNpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzctMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpob3JzZV9yYWNpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaG9yc2VfcmFjaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M3LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aG9yc2VfcmFjaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhvcnNlX3JhY2luZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNy0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9sb3R1c19wb3NpdGlvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbG90dXNfcG9zaXRpb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fbG90dXNfcG9zaXRpb25fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ4LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9sb3R1c19wb3NpdGlvbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkOC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9sb3R1c19wb3NpdGlvbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25faW5fbG90dXNfcG9zaXRpb25fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDgtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25faW5fbG90dXNfcG9zaXRpb25fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ4LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9pbl9sb3R1c19wb3NpdGlvbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkOC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX2xvdHVzX3Bvc2l0aW9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX2xvdHVzX3Bvc2l0aW9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ4LTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbG90dXNfcG9zaXRpb25fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fbG90dXNfcG9zaXRpb25fdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDgtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl9sb3R1c19wb3NpdGlvbl90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9sb3R1c19wb3NpdGlvbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkOC0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ4LTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5faW5fbG90dXNfcG9zaXRpb25fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5faW5fbG90dXNfcG9zaXRpb25fdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDgtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9pbl9sb3R1c19wb3NpdGlvbl90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9pbl9sb3R1c19wb3NpdGlvbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkOC0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9sb3R1c19wb3NpdGlvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbG90dXNfcG9zaXRpb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDgtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fbG90dXNfcG9zaXRpb25fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ4LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9sb3R1c19wb3NpdGlvbl90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkOC0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9pbl9sb3R1c19wb3NpdGlvbl90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5faW5fbG90dXNfcG9zaXRpb25fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDgtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5faW5fbG90dXNfcG9zaXRpb25fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ4LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2luX2xvdHVzX3Bvc2l0aW9uX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9pbl9sb3R1c19wb3NpdGlvbl90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkOC0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9zdXJmaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zdXJmaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3N1cmZpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3N1cmZpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzQtMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc3VyZmluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc3VyZmluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9zdXJmaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zdXJmaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M0LTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3N1cmZpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3N1cmZpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzQtMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc3VyZmluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc3VyZmluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N1cmZpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3VyZmluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N1cmZpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3VyZmluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNC0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N1cmZpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3VyZmluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNC0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N1cmZpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3VyZmluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNC0xZjNmZC0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N1cmZpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3VyZmluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNC0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N1cmZpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3VyZmluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNC0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zdXJmaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdXJmaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M0LTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N1cmZpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3N1cmZpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzQtMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3VyZmluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3VyZmluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNC0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zdXJmaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zdXJmaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M0LTFmM2ZkLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N1cmZpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3N1cmZpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzQtMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3VyZmluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3VyZmluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjNC0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9zd2ltbWluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc3dpbW1pbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2Euc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc3dpbW1pbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3N3aW1taW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NhLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3N3aW1taW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zd2ltbWluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9zd2ltbWluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fc3dpbW1pbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2EtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fc3dpbW1pbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3N3aW1taW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NhLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3N3aW1taW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9zd2ltbWluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N3aW1taW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N3aW1taW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NhLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3dpbW1pbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3dpbW1pbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2EtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zd2ltbWluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zd2ltbWluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYS0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3N3aW1taW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3N3aW1taW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NhLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fc3dpbW1pbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fc3dpbW1pbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2EtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9zd2ltbWluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9zd2ltbWluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYS0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zd2ltbWluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3dpbW1pbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2EtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3dpbW1pbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3N3aW1taW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NhLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N3aW1taW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zd2ltbWluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYS0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9zd2ltbWluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fc3dpbW1pbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzY2EtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fc3dpbW1pbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3N3aW1taW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NhLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3N3aW1taW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9zd2ltbWluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjYS0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9wbGF5aW5nX3dhdGVyX3BvbG86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3BsYXlpbmdfd2F0ZXJfcG9sb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9wbGF5aW5nX3dhdGVyX3BvbG9fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9wbGF5aW5nX3dhdGVyX3BvbG9fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9wbGF5aW5nX3dhdGVyX3BvbG9fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9wbGF5aW5nX3dhdGVyX3BvbG9fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9wbGF5aW5nX3dhdGVyX3BvbG9fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3BsYXlpbmdfd2F0ZXJfcG9sbzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wbGF5aW5nX3dhdGVyX3BvbG9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2QtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wbGF5aW5nX3dhdGVyX3BvbG9fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcGxheWluZ193YXRlcl9wb2xvX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNkLTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcGxheWluZ193YXRlcl9wb2xvX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZC0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9wbGF5aW5nX3dhdGVyX3BvbG9fdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5M2QtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9wbGF5aW5nX3dhdGVyX3BvbG9fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcGxheWluZ193YXRlcl9wb2xvX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTNkLTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcGxheWluZ193YXRlcl9wb2xvX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZC0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wbGF5aW5nX3dhdGVyX3BvbG86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BsYXlpbmdfd2F0ZXJfcG9sb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wbGF5aW5nX3dhdGVyX3BvbG9fdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZC0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wbGF5aW5nX3dhdGVyX3BvbG9fdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZC0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wbGF5aW5nX3dhdGVyX3BvbG9fdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZC0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wbGF5aW5nX3dhdGVyX3BvbG9fdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZC0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9wbGF5aW5nX3dhdGVyX3BvbG9fdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3BsYXlpbmdfd2F0ZXJfcG9sb190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzZC0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9yb3dpbmdfYm9hdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcm93aW5nX2JvYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcm93aW5nX2JvYXRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3Jvd2luZ19ib2F0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmEzLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3Jvd2luZ19ib2F0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9yb3dpbmdfYm9hdF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhMy0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9yb3dpbmdfYm9hdF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fcm93aW5nX2JvYXRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTMtMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fcm93aW5nX2JvYXRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX3Jvd2luZ19ib2F0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmEzLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX3Jvd2luZ19ib2F0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9yb3dpbmdfYm9hdF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhMy0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3Jvd2luZ19ib2F0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3Jvd2luZ19ib2F0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmEzLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcm93aW5nX2JvYXRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcm93aW5nX2JvYXRfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTMtMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9yb3dpbmdfYm9hdF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9yb3dpbmdfYm9hdF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhMy0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX3Jvd2luZ19ib2F0X3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX3Jvd2luZ19ib2F0X3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmEzLTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fcm93aW5nX2JvYXRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fcm93aW5nX2JvYXRfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTMtMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9yb3dpbmdfYm9hdF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9yb3dpbmdfYm9hdF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhMy0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9yb3dpbmdfYm9hdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcm93aW5nX2JvYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTMtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcm93aW5nX2JvYXRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3Jvd2luZ19ib2F0X3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmEzLTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3Jvd2luZ19ib2F0X3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9yb3dpbmdfYm9hdF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhMy0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9yb3dpbmdfYm9hdF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fcm93aW5nX2JvYXRfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTMtMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fcm93aW5nX2JvYXRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX3Jvd2luZ19ib2F0X3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmEzLTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX3Jvd2luZ19ib2F0X3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9yb3dpbmdfYm9hdF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhMy0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9jbGltYmluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fY2xpbWJpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fY2xpbWJpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2NsaW1iaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ3LTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2NsaW1iaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9jbGltYmluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNy0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9jbGltYmluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fY2xpbWJpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDctMWYzZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fY2xpbWJpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2NsaW1iaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ3LTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2NsaW1iaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9jbGltYmluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNy0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2NsaW1iaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2NsaW1iaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ3LTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fY2xpbWJpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY2xpbWJpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDctMWYzZmItMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jbGltYmluZ190b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jbGltYmluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNy0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2NsaW1iaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2NsaW1iaW5nX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ3LTFmM2ZkLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fY2xpbWJpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fY2xpbWJpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDctMWYzZmUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9jbGltYmluZ190b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9jbGltYmluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNy0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9jbGltYmluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY2xpbWJpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDctMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY2xpbWJpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2NsaW1iaW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ3LTFmM2ZiLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2NsaW1iaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jbGltYmluZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNy0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9jbGltYmluZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fY2xpbWJpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZDctMWYzZmQtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fY2xpbWJpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2NsaW1iaW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWQ3LTFmM2ZlLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2NsaW1iaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9jbGltYmluZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlkNy0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9tb3VudGFpbl9iaWtpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX21vdW50YWluX2Jpa2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9tb3VudGFpbl9iaWtpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX21vdW50YWluX2Jpa2luZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNS0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9tb3VudGFpbl9iaWtpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX21vdW50YWluX2Jpa2luZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNS0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9tb3VudGFpbl9iaWtpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX21vdW50YWluX2Jpa2luZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9tb3VudGFpbl9iaWtpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX21vdW50YWluX2Jpa2luZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNS0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9tb3VudGFpbl9iaWtpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX21vdW50YWluX2Jpa2luZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNS0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX21vdW50YWluX2Jpa2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9tb3VudGFpbl9iaWtpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjUtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9tb3VudGFpbl9iaWtpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fbW91bnRhaW5fYmlraW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI1LTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbW91bnRhaW5fYmlraW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX21vdW50YWluX2Jpa2luZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNS0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX21vdW50YWluX2Jpa2luZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9tb3VudGFpbl9iaWtpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjUtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9tb3VudGFpbl9iaWtpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fbW91bnRhaW5fYmlraW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI1LTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fbW91bnRhaW5fYmlraW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX21vdW50YWluX2Jpa2luZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNS0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9tb3VudGFpbl9iaWtpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX21vdW50YWluX2Jpa2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9tb3VudGFpbl9iaWtpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX21vdW50YWluX2Jpa2luZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNS0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9tb3VudGFpbl9iaWtpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX21vdW50YWluX2Jpa2luZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNS0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9tb3VudGFpbl9iaWtpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX21vdW50YWluX2Jpa2luZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNS0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9tb3VudGFpbl9iaWtpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX21vdW50YWluX2Jpa2luZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNS0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9tb3VudGFpbl9iaWtpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX21vdW50YWluX2Jpa2luZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNS0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9iaWtpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2Jpa2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9iaWtpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2Jpa2luZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNC0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9iaWtpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2Jpa2luZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNC0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9iaWtpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2Jpa2luZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNC0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9iaWtpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2Jpa2luZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNC0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9iaWtpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2Jpa2luZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNC0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2Jpa2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9iaWtpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9iaWtpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYmlraW5nX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI0LTFmM2ZiLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYmlraW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Jpa2luZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNC0xZjNmYy0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2Jpa2luZ190b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9iaWtpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjQtMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9iaWtpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fYmlraW5nX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmI0LTFmM2ZlLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fYmlraW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2Jpa2luZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNC0xZjNmZi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9iaWtpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Jpa2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9iaWtpbmdfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Jpa2luZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNC0xZjNmYi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9iaWtpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Jpa2luZ190b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNC0xZjNmYy0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9iaWtpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Jpa2luZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNC0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9iaWtpbmdfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Jpa2luZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNC0xZjNmZS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9iaWtpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2Jpa2luZ190b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiNC0xZjNmZi0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRyb3BoeTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0cm9waHlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYzYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaXJzdF9wbGFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaXJzdF9wbGFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk0Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNlY29uZF9wbGFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzZWNvbmRfcGxhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5NDguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aGlyZF9wbGFjZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aGlyZF9wbGFjZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjk0OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lZGFsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lZGFsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2M1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWlsaXRhcnlfbWVkYWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWlsaXRhcnlfbWVkYWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzOTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyb3NldHRlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJvc2V0dGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZW1pbmRlcl9yaWJib246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVtaW5kZXJfcmliYm9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzk3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGlja2V0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRpY2tldFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNhYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRpY2tldHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGlja2V0c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM5Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNpcmN1c190ZW50OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNpcmN1c190ZW50XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2FhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2p1Z2dsaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9qdWdnbGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9qdWdnbGluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fanVnZ2xpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzktMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fanVnZ2xpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2p1Z2dsaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM5LTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyc29uX2p1Z2dsaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcnNvbl9qdWdnbGluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzOS0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9qdWdnbGluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZXJzb25fanVnZ2xpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzktMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZXJzb25fanVnZ2xpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2p1Z2dsaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM5LTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fanVnZ2xpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fanVnZ2xpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzktMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9qdWdnbGluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9qdWdnbGluZ190b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzOS0xZjNmYi0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2p1Z2dsaW5nX3RvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2p1Z2dsaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM5LTFmM2ZjLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d29tYW5fanVnZ2xpbmdfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid29tYW5fanVnZ2xpbmdfdG9uZTNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzktMWYzZmQtMjAwZC0yNjQwLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3b21hbl9qdWdnbGluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21hbl9qdWdnbGluZ190b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzOS0xZjNmZS0yMDBkLTI2NDAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWFuX2p1Z2dsaW5nX3RvbmU1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndvbWFuX2p1Z2dsaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM5LTFmM2ZmLTIwMGQtMjY0MC1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2p1Z2dsaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9qdWdnbGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzOS0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9qdWdnbGluZ190b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fanVnZ2xpbmdfdG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzktMWYzZmItMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fanVnZ2xpbmdfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2p1Z2dsaW5nX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM5LTFmM2ZjLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFuX2p1Z2dsaW5nX3RvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hbl9qdWdnbGluZ190b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkzOS0xZjNmZC0yMDBkLTI2NDItZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hbl9qdWdnbGluZ190b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW5fanVnZ2xpbmdfdG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MzktMWYzZmUtMjAwZC0yNjQyLWZlMGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW5fanVnZ2xpbmdfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFuX2p1Z2dsaW5nX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTM5LTFmM2ZmLTIwMGQtMjY0Mi1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVyZm9ybWluZ19hcnRzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlcmZvcm1pbmdfYXJ0c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNhZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhbGxldF9zaG9lczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYWxsZXRfc2hvZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhNzAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2E4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xhcHBlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbGFwcGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2FjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWljcm9waG9uZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtaWNyb3Bob25lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2E0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhZHBob25lczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFkcGhvbmVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2E3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bXVzaWNhbF9zY29yZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtdXNpY2FsX3Njb3JlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2JjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bXVzaWNhbF9rZXlib2FyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtdXNpY2FsX2tleWJvYXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2I5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFyYWNhczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYXJhY2FzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTg3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZHJ1bTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkcnVtXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOTQxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bG9uZ19kcnVtOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxvbmdfZHJ1bVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE5OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNheG9waG9uZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYXhvcGhvbmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0cnVtcGV0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRydW1wZXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphY2NvcmRpb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYWNjb3JkaW9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTk3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3VpdGFyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImd1aXRhclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNiOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhbmpvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhbmpvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTk1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dmlvbGluOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZpb2xpblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNiYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsdXRlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsdXRlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTg4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z2FtZV9kaWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ2FtZV9kaWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaGVzc19wYXduOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNoZXNzX3Bhd25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY1Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRhcnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGFydFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJvd2xpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYm93bGluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNiMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZpZGVvX2dhbWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidmlkZW9fZ2FtZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNhZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNsb3RfbWFjaGluZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbG90X21hY2hpbmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpqaWdzYXc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiamlnc2F3XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWU5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVkX2NhcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWRfY2FyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjk3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGF4aTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0YXhpXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjk1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ymx1ZV9jYXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmx1ZV9jYXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2OTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaWNrdXBfdHJ1Y2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGlja3VwX3RydWNrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWluaWJ1czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtaW5pYnVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjkwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJ1c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY4Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRyb2xsZXlidXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJvbGxleWJ1c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY4ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhY2VfY2FyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJhY2VfY2FyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2NlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9saWNlX2NhcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb2xpY2VfY2FyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjkzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YW1idWxhbmNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFtYnVsYW5jZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY5MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpcmVfZW5naW5lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpcmVfZW5naW5lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHJ1Y2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJ1Y2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2OWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnRpY3VsYXRlZF9sb3JyeTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnRpY3VsYXRlZF9sb3JyeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY5Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRyYWN0b3I6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJhY3RvclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY5Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByb2JpbmdfY2FuZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwcm9iaW5nX2NhbmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5YWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYW51YWxfd2hlZWxjaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYW51YWxfd2hlZWxjaGFpclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjliZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vdG9yaXplZF93aGVlbGNoYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vdG9yaXplZF93aGVlbGNoYWlyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3J1dGNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNydXRjaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE3Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNjb290ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2Nvb3RlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJpa2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmlrZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vdG9yX3Njb290ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW90b3Jfc2Nvb3RlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZmNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vdG9yY3ljbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW90b3JjeWNsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNjZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmF1dG9fcmlja3NoYXc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXV0b19yaWNrc2hhd1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZmYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndoZWVsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndoZWVsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmRlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cm90YXRpbmdfbGlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicm90YXRpbmdfbGlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbmNvbWluZ19wb2xpY2VfY2FyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9uY29taW5nX3BvbGljZV9jYXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2OTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbmNvbWluZ19idXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib25jb21pbmdfYnVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjhkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b25jb21pbmdfYXV0b21vYmlsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvbmNvbWluZ19hdXRvbW9iaWxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjk4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b25jb21pbmdfdGF4aTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvbmNvbWluZ190YXhpXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjk2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YWVyaWFsX3RyYW13YXk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYWVyaWFsX3RyYW13YXlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptb3VudGFpbl9jYWJsZXdheTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtb3VudGFpbl9jYWJsZXdheVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN1c3BlbnNpb25fcmFpbHdheTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdXNwZW5zaW9uX3JhaWx3YXlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2OWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWlsd2F5X2NhcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWlsd2F5X2NhclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY4My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRyYWluOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRyYWluXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjhiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW91bnRhaW5fcmFpbHdheTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtb3VudGFpbl9yYWlsd2F5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjllLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW9ub3JhaWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW9ub3JhaWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2OWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpidWxsZXR0cmFpbl9zaWRlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJ1bGxldHRyYWluX3NpZGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ODQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpidWxsZXR0cmFpbl9mcm9udDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJidWxsZXR0cmFpbl9mcm9udFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY4NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxpZ2h0X3JhaWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibGlnaHRfcmFpbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY4OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0ZWFtX2xvY29tb3RpdmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3RlYW1fbG9jb21vdGl2ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY4Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRyYWluMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0cmFpbjJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ODYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZXRybzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZXRyb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY4Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRyYW06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJhbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY4YS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0YXRpb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3RhdGlvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjY4OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFpcnBsYW5lX2RlcGFydHVyZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhaXJwbGFuZV9kZXBhcnR1cmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphaXJwbGFuZV9hcnJpdmluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhaXJwbGFuZV9hcnJpdmluZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZlYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFpcnBsYW5lX3NtYWxsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFpcnBsYW5lX3NtYWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmU5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2VhdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzZWF0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGJhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2F0ZWxsaXRlX29yYml0YWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2F0ZWxsaXRlX29yYml0YWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ZjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyb2NrZXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicm9ja2V0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjgwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zmx5aW5nX3NhdWNlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbHlpbmdfc2F1Y2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmY4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVsaWNvcHRlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWxpY29wdGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNjgxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2Fub2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2Fub2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ZjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzYWlsYm9hdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYWlsYm9hdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmY1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3BlZWRib2F0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNwZWVkYm9hdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZhNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vdG9yYm9hdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtb3RvcmJvYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ZTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjcnVpc2Vfc2hpcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjcnVpc2Vfc2hpcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZlcnJ5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZlcnJ5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaGlwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNoaXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyaW5nX2J1b3k6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmluZ19idW95XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmRmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aG9vazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJob29rXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTlkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZnVlbHB1bXA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZnVlbHB1bXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvbnN0cnVjdGlvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb25zdHJ1Y3Rpb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2ZXJ0aWNhbF90cmFmZmljX2xpZ2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZlcnRpY2FsX3RyYWZmaWNfbGlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0cmFmZmljX2xpZ2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRyYWZmaWNfbGlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpidXNzdG9wOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJ1c3N0b3BcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2OGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYXA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNWZhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW95YWk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW95YWlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1ZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdGF0dWVfb2ZfbGliZXJ0eTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdGF0dWVfb2ZfbGliZXJ0eVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRva3lvX3Rvd2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRva3lvX3Rvd2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNWZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZXVyb3BlYW5fY2FzdGxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImV1cm9wZWFuX2Nhc3RsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmphcGFuZXNlX2Nhc3RsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJqYXBhbmVzZV9jYXN0bGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdGFkaXVtOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0YWRpdW1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmZXJyaXNfd2hlZWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmVycmlzX3doZWVsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2ExLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cm9sbGVyX2NvYXN0ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicm9sbGVyX2NvYXN0ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYXJvdXNlbF9ob3JzZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYXJvdXNlbF9ob3JzZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNhMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZvdW50YWluOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZvdW50YWluXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiZWFjaF91bWJyZWxsYTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiZWFjaF91bWJyZWxsYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmYxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmVhY2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmVhY2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZDYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppc2xhbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaXNsYW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2RkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVzZXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRlc2VydFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNkYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnZvbGNhbm86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidm9sY2Fub1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMwYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vdW50YWluOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vdW50YWluXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptb3VudGFpbl9zbm93OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vdW50YWluX3Nub3dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZDQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptb3VudF9mdWppOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vdW50X2Z1amlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1ZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYW1waW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhbXBpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZDUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0ZW50OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRlbnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZmYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvdXNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhvdXNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2UwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aG91c2Vfd2l0aF9nYXJkZW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaG91c2Vfd2l0aF9nYXJkZW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZTEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpob21lczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJob21lc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNkOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvdXNlX2FiYW5kb25lZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJob3VzZV9hYmFuZG9uZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZGEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpodXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaHV0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmQ2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29uc3RydWN0aW9uX3NpdGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29uc3RydWN0aW9uX3NpdGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZDcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYWN0b3J5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZhY3RvcnlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvZmZpY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2ZmaWNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2UyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGVwYXJ0bWVudF9zdG9yZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkZXBhcnRtZW50X3N0b3JlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2VjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9zdF9vZmZpY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG9zdF9vZmZpY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpldXJvcGVhbl9wb3N0X29mZmljZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJldXJvcGVhbl9wb3N0X29mZmljZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNlNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhvc3BpdGFsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhvc3BpdGFsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2U1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmFuazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYW5rXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2U2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aG90ZWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaG90ZWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb252ZW5pZW5jZV9zdG9yZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb252ZW5pZW5jZV9zdG9yZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNlYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNjaG9vbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzY2hvb2xcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb3ZlX2hvdGVsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxvdmVfaG90ZWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3ZWRkaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndlZGRpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbGFzc2ljYWxfYnVpbGRpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xhc3NpY2FsX2J1aWxkaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2RiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2h1cmNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNodXJjaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmVhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW9zcXVlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vc3F1ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU0Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN5bmFnb2d1ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzeW5hZ29ndWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NGQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoaW5kdV90ZW1wbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGluZHVfdGVtcGxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmQ1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2FhYmE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia2FhYmFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NGIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaGludG9fc2hyaW5lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNoaW50b19zaHJpbmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZlOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJhaWx3YXlfdHJhY2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmFpbHdheV90cmFja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZlNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vdG9yd2F5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vdG9yd2F5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmUzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6amFwYW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiamFwYW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1ZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyaWNlX3NjZW5lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJpY2Vfc2NlbmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzOTEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYXJrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhcmtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZGUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdW5yaXNlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN1bnJpc2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMDUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdW5yaXNlX292ZXJfbW91bnRhaW5zOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN1bnJpc2Vfb3Zlcl9tb3VudGFpbnNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMDQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdGFyczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdGFyc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMyMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNwYXJrbGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNwYXJrbGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzg3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmlyZXdvcmtzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpcmV3b3Jrc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM4Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNpdHlfc3Vuc2V0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNpdHlfc3Vuc2V0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzA3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2l0eV9kdXNrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNpdHlfZHVza1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMwNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNpdHlzY2FwZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaXR5c2NhcGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZDkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuaWdodF93aXRoX3N0YXJzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5pZ2h0X3dpdGhfc3RhcnNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMDMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptaWxreV93YXk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWlsa3lfd2F5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzBjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YnJpZGdlX2F0X25pZ2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJyaWRnZV9hdF9uaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMwOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZvZ2d5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZvZ2d5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzAxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2F0Y2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2F0Y2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjMxYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vYmlsZV9waG9uZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtb2JpbGVfcGhvbmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYWxsaW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhbGxpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb21wdXRlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb21wdXRlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRiYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRlc2t0b3A6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGVza3RvcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVhNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnByaW50ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJpbnRlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVhOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vdXNlX3RocmVlX2J1dHRvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtb3VzZV90aHJlZV9idXR0b25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0cmFja2JhbGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJhY2tiYWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNWIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6am95c3RpY2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiam95c3RpY2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1Nzkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb21wcmVzc2lvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb21wcmVzc2lvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVkYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1pbmlkaXNjOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1pbmlkaXNjXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGJkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxvcHB5X2Rpc2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxvcHB5X2Rpc2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRiZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmR2ZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkdmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YzAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2aHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidmhzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FtZXJhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhbWVyYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNhbWVyYV93aXRoX2ZsYXNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhbWVyYV93aXRoX2ZsYXNoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGY4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dmlkZW9fY2FtZXJhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInZpZGVvX2NhbWVyYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRmOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vdmllX2NhbWVyYTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtb3ZpZV9jYW1lcmFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcm9qZWN0b3I6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJvamVjdG9yXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmlsbV9mcmFtZXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlsbV9mcmFtZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzOWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0ZWxlcGhvbmVfcmVjZWl2ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGVsZXBob25lX3JlY2VpdmVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGRlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGVsZXBob25lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRlbGVwaG9uZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjBlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFnZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFnZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYXg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmF4XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGUwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHY6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWRpbzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyYWRpb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1pY3JvcGhvbmUyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1pY3JvcGhvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzk5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGV2ZWxfc2xpZGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxldmVsX3NsaWRlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM5YS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvbnRyb2xfa25vYnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29udHJvbF9rbm9ic1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM5Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvbXBhc3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29tcGFzc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjllZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0b3B3YXRjaDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdG9wd2F0Y2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjNmMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRpbWVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRpbWVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIzZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphbGFybV9jbG9jazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhbGFybV9jbG9ja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yM2YwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvY2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpob3VyZ2xhc3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaG91cmdsYXNzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIzMWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpob3VyZ2xhc3NfZmxvd2luZ19zYW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhvdXJnbGFzc19mbG93aW5nX3NhbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjNmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNhdGVsbGl0ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYXRlbGxpdGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZTEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYXR0ZXJ5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhdHRlcnlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MGIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb3dfYmF0dGVyeTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsb3dfYmF0dGVyeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFhYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVsZWN0cmljX3BsdWc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWxlY3RyaWNfcGx1Z1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUwYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJ1bGI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnVsYlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRhMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsYXNobGlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxhc2hsaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUyNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNhbmRsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYW5kbGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkaXlhX2xhbXA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGl5YV9sYW1wXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTk0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmlyZV9leHRpbmd1aXNoZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlyZV9leHRpbmd1aXNoZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvaWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2lsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmUyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bW9uZXlfd2l0aF93aW5nczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtb25leV93aXRoX3dpbmdzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGI4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZG9sbGFyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRvbGxhclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRiNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnllbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ5ZW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpldXJvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImV1cm9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb3VuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb3VuZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRiNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29pblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE5OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vbmV5YmFnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vbmV5YmFnXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGIwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3JlZGl0X2NhcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3JlZGl0X2NhcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppZGVudGlmaWNhdGlvbl9jYXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImlkZW50aWZpY2F0aW9uX2NhcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnZW06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ2VtXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDhlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGFkZGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxhZGRlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE5Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRvb2xib3g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidG9vbGJveFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlmMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNjcmV3ZHJpdmVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNjcmV3ZHJpdmVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTliLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d3JlbmNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndyZW5jaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUyNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbW1lcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYW1tZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1Mjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0b29sczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0b29sc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZlMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBpY2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGlja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmNmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FycGVudHJ5X3NhdzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYXJwZW50cnlfc2F3XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTlhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bnV0X2FuZF9ib2x0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm51dF9hbmRfYm9sdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUyOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1vdXNlX3RyYXA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibW91c2VfdHJhcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFhNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJyaWNrczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJicmlja3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaGFpbnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2hhaW5zXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZDMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsaW5rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxpbmtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpicm9rZW5fY2hhaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnJva2VuX2NoYWluXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2ZDMtZmUwZi0yMDBkLTFmNGE1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFnbmV0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hZ25ldFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlmMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmd1bjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJndW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpib21iOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJvbWJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaXJlY3JhY2tlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaXJlY3JhY2tlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjllOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmF4ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJheGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhOTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjprbmlmZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJrbmlmZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUyYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRhZ2dlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkYWdnZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1ZTEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaGllbGQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2hpZWxkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmUxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c21va2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbW9raW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmFjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29mZmluOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvZmZpblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmIwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhZHN0b25lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYWRzdG9uZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmFhNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnVybjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ1cm5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjZiMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFtcGhvcmE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYW1waG9yYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNyeXN0YWxfYmFsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjcnlzdGFsX2JhbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwcmF5ZXJfYmVhZHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHJheWVyX2JlYWRzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmF6YXJfYW11bGV0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5hemFyX2FtdWxldFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhhbXNhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhhbXNhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWFjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmFyYmVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhcmJlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ4OC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRlbGVzY29wZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0ZWxlc2NvcGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptaWNyb3Njb3BlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1pY3Jvc2NvcGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpob2xlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhvbGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp4X3JheTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ4X3JheVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE3Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFkaGVzaXZlX2JhbmRhZ2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYWRoZXNpdmVfYmFuZGFnZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE3OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN0ZXRob3Njb3BlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInN0ZXRob3Njb3BlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTdhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGlsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDhhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3lyaW5nZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzeXJpbmdlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDg5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZHJvcF9vZl9ibG9vZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJkcm9wX29mX2Jsb29kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTc4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZG5hOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRuYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjllYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1pY3JvYmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWljcm9iZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlhMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBldHJpX2Rpc2g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGV0cmlfZGlzaFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjllYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRlc3RfdHViZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0ZXN0X3R1YmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0aGVybW9tZXRlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aGVybW9tZXRlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMyMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJyb29tOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJyb29tXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWY5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGx1bmdlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwbHVuZ2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWEwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmFza2V0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhc2tldFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlmYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJvbGxfb2ZfcGFwZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicm9sbF9vZl9wYXBlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRvaWxldDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0b2lsZXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwb3RhYmxlX3dhdGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBvdGFibGVfd2F0ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaG93ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2hvd2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmJmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmF0aHR1YjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYXRodHViXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmMxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmF0aDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYXRoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmMwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmF0aF90b25lMTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYXRoX3RvbmUxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmMwLTFmM2ZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmF0aF90b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYXRoX3RvbmUyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmMwLTFmM2ZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmF0aF90b25lMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYXRoX3RvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmMwLTFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmF0aF90b25lNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYXRoX3RvbmU0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmMwLTFmM2ZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmF0aF90b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYXRoX3RvbmU1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmMwLTFmM2ZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c29hcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzb2FwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dG9vdGhicnVzaDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0b290aGJydXNoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWE1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmF6b3I6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmF6b3JcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhOTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoYWlyX3BpY2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGFpcl9waWNrXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWFlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3BvbmdlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNwb25nZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJ1Y2tldDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJidWNrZXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzcXVlZXplX2JvdHRsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzcXVlZXplX2JvdHRsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJlbGxob3A6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmVsbGhvcFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZjZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtleTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJrZXlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MTEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjprZXkyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImtleTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1ZGQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkb29yOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRvb3JcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaGFpcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaGFpclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE5MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNvdWNoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNvdWNoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmNiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmVkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJlZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZjZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNsZWVwaW5nX2FjY29tbW9kYXRpb246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2xlZXBpbmdfYWNjb21tb2RhdGlvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZjYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9iZWRfdG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX2JlZF90b25lMVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZjYy0xZjNmYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9iZWRfdG9uZTI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX2JlZF90b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZjYy0xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9iZWRfdG9uZTM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX2JlZF90b25lM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZjYy0xZjNmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9iZWRfdG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX2JlZF90b25lNFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZjYy0xZjNmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlcnNvbl9pbl9iZWRfdG9uZTU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVyc29uX2luX2JlZF90b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZjYy0xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRlZGR5X2JlYXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGVkZHlfYmVhclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlmOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5lc3RpbmdfZG9sbHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmVzdGluZ19kb2xsc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE4Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZyYW1lX3Bob3RvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZyYW1lX3Bob3RvXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNWJjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWlycm9yOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1pcnJvclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZmE5ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndpbmRvdzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3aW5kb3dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhOWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaG9wcGluZ19iYWdzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNob3BwaW5nX2JhZ3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2Y2Quc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaG9wcGluZ19jYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNob3BwaW5nX2NhcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ZDIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpnaWZ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdpZnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzODEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYWxsb29uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhbGxvb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzODguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjM4Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJpYmJvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyaWJib25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzODAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYWdpY193YW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1hZ2ljX3dhbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhODQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaW5hdGE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGluYXRhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTg1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29uZmV0dGlfYmFsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb25mZXR0aV9iYWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzhhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGFkYTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0YWRhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzg5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZG9sbHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZG9sbHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzOGUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmb2xkaW5nX2hhbmRfZmFuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZvbGRpbmdfaGFuZF9mYW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppemFrYXlhX2xhbnRlcm46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaXpha2F5YV9sYW50ZXJuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2VlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2luZF9jaGltZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3aW5kX2NoaW1lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMzkwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWlycm9yX2JhbGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWlycm9yX2JhbGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWRfZW52ZWxvcGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVkX2VudmVsb3BlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWU3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZW52ZWxvcGVfd2l0aF9hcnJvdzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlbnZlbG9wZV93aXRoX2Fycm93XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGU5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aW5jb21pbmdfZW52ZWxvcGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaW5jb21pbmdfZW52ZWxvcGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplLW1haWw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZS1tYWlsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGU3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bG92ZV9sZXR0ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibG92ZV9sZXR0ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OGMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppbmJveF90cmF5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImluYm94X3RyYXlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvdXRib3hfdHJheTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvdXRib3hfdHJheVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRlNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhY2thZ2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFja2FnZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRlNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxhYmVsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxhYmVsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2Y3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGxhY2FyZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwbGFjYXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYWE3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWFpbGJveF9jbG9zZWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFpbGJveF9jbG9zZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYWlsYm94OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1haWxib3hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYWlsYm94X3dpdGhfbWFpbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYWlsYm94X3dpdGhfbWFpbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRlYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1haWxib3hfd2l0aF9ub19tYWlsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1haWxib3hfd2l0aF9ub19tYWlsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGVkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9zdGJveDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwb3N0Ym94XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGVlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cG9zdGFsX2hvcm46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicG9zdGFsX2hvcm5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzY3JvbGw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2Nyb2xsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGRjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFnZV93aXRoX2N1cmw6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFnZV93aXRoX2N1cmxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYWdlX2ZhY2luZ191cDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWdlX2ZhY2luZ191cFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRjNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJvb2ttYXJrX3RhYnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYm9va21hcmtfdGFic1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRkMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlY2VpcHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVjZWlwdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlmZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhcl9jaGFydDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYXJfY2hhcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Y2Euc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaGFydF93aXRoX3Vwd2FyZHNfdHJlbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2hhcnRfd2l0aF91cHdhcmRzX3RyZW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGM4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2hhcnRfd2l0aF9kb3dud2FyZHNfdHJlbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2hhcnRfd2l0aF9kb3dud2FyZHNfdHJlbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Yzkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpub3RlcGFkX3NwaXJhbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJub3RlcGFkX3NwaXJhbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVkMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNhbGVuZGFyX3NwaXJhbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYWxlbmRhcl9zcGlyYWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1ZDMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYWxlbmRhcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYWxlbmRhclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRjNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmRhdGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGF0ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRjNS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndhc3RlYmFza2V0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndhc3RlYmFza2V0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNWQxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FyZF9pbmRleDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjYXJkX2luZGV4XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGM3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FyZF9ib3g6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2FyZF9ib3hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1YzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYWxsb3RfYm94OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhbGxvdF9ib3hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1ZjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmaWxlX2NhYmluZXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmlsZV9jYWJpbmV0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNWM0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xpcGJvYXJkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsaXBib2FyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRjYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZpbGVfZm9sZGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZpbGVfZm9sZGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGMxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b3Blbl9maWxlX2ZvbGRlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvcGVuX2ZpbGVfZm9sZGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGMyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZGl2aWRlcnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZGl2aWRlcnNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1YzIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuZXdzcGFwZXIyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5ld3NwYXBlcjJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1ZGUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpuZXdzcGFwZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmV3c3BhcGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGYwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bm90ZWJvb2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibm90ZWJvb2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZDMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpub3RlYm9va193aXRoX2RlY29yYXRpdmVfY292ZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibm90ZWJvb2tfd2l0aF9kZWNvcmF0aXZlX2NvdmVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGQ0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVkZ2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZGdlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRkMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb3NlZF9ib29rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb3NlZF9ib29rXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGQ1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3JlZW5fYm9vazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJncmVlbl9ib29rXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGQ3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ymx1ZV9ib29rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsdWVfYm9va1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRkOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9yYW5nZV9ib29rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9yYW5nZV9ib29rXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGQ5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ym9va3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYm9va3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZGEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpib29rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJvb2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZDYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpib29rbWFyazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJib29rbWFya1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUxNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNhZmV0eV9waW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2FmZXR5X3BpblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjlmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhcGVyY2xpcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYXBlcmNsaXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Y2Uuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwYXBlcmNsaXBzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhcGVyY2xpcHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1ODcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0cmlhbmd1bGFyX3J1bGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRyaWFuZ3VsYXJfcnVsZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZDAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdHJhaWdodF9ydWxlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdHJhaWdodF9ydWxlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRjZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFiYWN1czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhYmFjdXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5ZWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwdXNocGluOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInB1c2hwaW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Y2Muc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyb3VuZF9wdXNocGluOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJvdW5kX3B1c2hwaW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0Y2Quc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZW5fYmFsbHBvaW50OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlbl9iYWxscG9pbnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1OGEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZW5fZm91bnRhaW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVuX2ZvdW50YWluXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNThiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFpbnRicnVzaDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwYWludGJydXNoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNThjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3JheW9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNyYXlvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU4ZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBlbmNpbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwZW5jaWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZGQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwZW5jaWwyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBlbmNpbDJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjcwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1hZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtYWdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MGQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYWdfcmlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWFnX3JpZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTBlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bG9ja193aXRoX2lua19wZW46XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibG9ja193aXRoX2lua19wZW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MGYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9zZWRfbG9ja193aXRoX2tleTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG9zZWRfbG9ja193aXRoX2tleVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUxMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxvY2s6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibG9ja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUxMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnVubG9jazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ1bmxvY2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaW5rX2hlYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBpbmtfaGVhcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhNzcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvcmFuZ2VfaGVhcnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib3JhbmdlX2hlYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmOWUxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6eWVsbG93X2hlYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInllbGxvd19oZWFydFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ5Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmdyZWVuX2hlYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdyZWVuX2hlYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDlhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGlnaHRfYmx1ZV9oZWFydDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsaWdodF9ibHVlX2hlYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTc1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ymx1ZV9oZWFydDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJibHVlX2hlYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDk5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHVycGxlX2hlYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInB1cnBsZV9oZWFydFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ5Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsYWNrX2hlYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsYWNrX2hlYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNWE0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3JleV9oZWFydDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJncmV5X2hlYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmYTc2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2hpdGVfaGVhcnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2hpdGVfaGVhcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY5MGQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpicm93bl9oZWFydDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJicm93bl9oZWFydFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjkwZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJyb2tlbl9oZWFydDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJicm9rZW5faGVhcnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0d29faGVhcnRzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInR3b19oZWFydHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZXZvbHZpbmdfaGVhcnRzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJldm9sdmluZ19oZWFydHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0OWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoZWFydGJlYXQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGVhcnRiZWF0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDkzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhcnRwdWxzZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFydHB1bHNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDk3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c3BhcmtsaW5nX2hlYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNwYXJrbGluZ19oZWFydFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjQ5Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmN1cGlkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImN1cGlkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDk4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z2lmdF9oZWFydDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJnaWZ0X2hlYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDlkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVuZGluZ19oZWFydDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZW5kaW5nX2hlYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3NjQtZmUwZi0yMDBkLTFmYTc5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhcnRfb25fZmlyZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFydF9vbl9maXJlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3NjQtZmUwZi0yMDBkLTFmNTI1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGVhcnRfZGVjb3JhdGlvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoZWFydF9kZWNvcmF0aW9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDlmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGVhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGVhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjYyZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNyb3NzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNyb3NzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3MWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdGFyX2FuZF9jcmVzY2VudDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdGFyX2FuZF9jcmVzY2VudFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjJhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b21fc3ltYm9sOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9tX3N5bWJvbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU0OS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtoYW5kYTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJraGFuZGFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWZhYWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaXhfcG9pbnRlZF9zdGFyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNpeF9wb2ludGVkX3N0YXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptZW5vcmFoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1lbm9yYWhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NGUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp5aW5feWFuZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ5aW5feWFuZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjJmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGxhY2Vfb2Zfd29yc2hpcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwbGFjZV9vZl93b3JzaGlwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmQwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b3BoaXVjaHVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9waGl1Y2h1c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmNlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z2VtaW5pOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdlbWluaVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjRhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2FuY2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNhbmNlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjRiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGVvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjRjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dmlyZ286XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidmlyZ29cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY0ZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxpYnJhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxpYnJhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2NGUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzY29ycGl1czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzY29ycGl1c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNjRmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aWQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxOTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphdG9tOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImF0b21cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY5Yi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFjY2VwdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhY2NlcHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYyNTEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptb2JpbGVfcGhvbmVfb2ZmOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1vYmlsZV9waG9uZV9vZmZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2aWJyYXRpb25fbW9kZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ2aWJyYXRpb25fbW9kZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRmMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnU2NzA5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInU2NzA5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMjM2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dTcxMjE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidTcxMjFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYyMWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp1NzUzMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ1NzUzM1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjIzOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnU1NWI2OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInU1NWI2XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMjNhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dTY3MDg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidTY3MDhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYyMzcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp2czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ2c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjE5YS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndoaXRlX2Zsb3dlcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3aGl0ZV9mbG93ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjppZGVvZ3JhcGhfYWR2YW50YWdlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImlkZW9ncmFwaF9hZHZhbnRhZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYyNTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp1NTQwODpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ1NTQwOFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjIzNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnU2ZTgwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInU2ZTgwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMjM1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dTUyNzI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidTUyNzJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYyMzkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp1Nzk4MTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ1Nzk4MVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjIzMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjE3MC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjE3MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFiOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFiXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMThlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2w6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxOTEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjE3ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNvczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzb3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxOTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp4OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjc0Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yYjU1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b2N0YWdvbmFsX3NpZ246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib2N0YWdvbmFsX3NpZ25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2ZDEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpub19lbnRyeTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJub19lbnRyeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmQ0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmFtZV9iYWRnZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJuYW1lX2JhZGdlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGRiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bm9fZW50cnlfc2lnbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJub19lbnRyeV9zaWduXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmFiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6MTAwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIjEwMFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRhZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFuZ2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFuZ2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGEyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bm9fcGVkZXN0cmlhbnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibm9fcGVkZXN0cmlhbnNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2Yjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkb19ub3RfbGl0dGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRvX25vdF9saXR0ZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpub19iaWN5Y2xlczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJub19iaWN5Y2xlc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5vbi1wb3RhYmxlX3dhdGVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5vbi1wb3RhYmxlX3dhdGVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmIxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dW5kZXJhZ2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidW5kZXJhZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpub19tb2JpbGVfcGhvbmVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5vX21vYmlsZV9waG9uZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpub19zbW9raW5nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5vX3Ntb2tpbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYW5nYmFuZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYW5nYmFuZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yMDNjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bG93X2JyaWdodG5lc3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibG93X2JyaWdodG5lc3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MDUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpoaWdoX2JyaWdodG5lc3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaGlnaF9icmlnaHRuZXNzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTA2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGFydF9hbHRlcm5hdGlvbl9tYXJrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhcnRfYWx0ZXJuYXRpb25fbWFya1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8zMDNkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2FybmluZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3YXJuaW5nXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2YTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaGlsZHJlbl9jcm9zc2luZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjaGlsZHJlbl9jcm9zc2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRyaWRlbnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJpZGVudFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUzMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZsZXVyLWRlLWxpczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGV1ci1kZS1saXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY5Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJlZ2lubmVyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJlZ2lubmVyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTMwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVjeWNsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWN5Y2xlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2N2Iuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp1NjMwNzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ1NjMwN1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjIyZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNoYXJ0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNoYXJ0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGI5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmVnYXRpdmVfc3F1YXJlZF9jcm9zc19tYXJrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5lZ2F0aXZlX3NxdWFyZWRfY3Jvc3NfbWFya1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNzRlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z2xvYmVfd2l0aF9tZXJpZGlhbnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZ2xvYmVfd2l0aF9tZXJpZGlhbnNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzMTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpkaWFtb25kX3NoYXBlX3dpdGhfYV9kb3RfaW5zaWRlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImRpYW1vbmRfc2hhcGVfd2l0aF9hX2RvdF9pbnNpZGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YTAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjRjMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmN5Y2xvbmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3ljbG9uZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjMwMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnp6ejpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ6enpcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YTQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphdG06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXRtXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2U3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3aGVlbGNoYWlyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndoZWVsY2hhaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY3Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhcmtpbmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFya2luZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjE3Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVsZXZhdG9yOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVsZXZhdG9yXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmQ3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dTdhN2E6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidTdhN2FcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYyMzMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzYTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzYVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjIwMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnBhc3Nwb3J0X2NvbnRyb2w6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicGFzc3BvcnRfY29udHJvbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZjMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmN1c3RvbXM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3VzdG9tc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZjMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJhZ2dhZ2VfY2xhaW06XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmFnZ2FnZV9jbGFpbVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZjNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxlZnRfbHVnZ2FnZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsZWZ0X2x1Z2dhZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YzUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp3aXJlbGVzczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3aXJlbGVzc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZkYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm1lbnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibWVuc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndvbWVuczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3b21lbnNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYWJ5X3N5bWJvbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiYWJ5X3N5bWJvbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjZiYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlc3Ryb29tOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlc3Ryb29tXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNmJiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHV0X2xpdHRlcl9pbl9pdHNfcGxhY2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicHV0X2xpdHRlcl9pbl9pdHNfcGxhY2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjaW5lbWE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2luZW1hXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2E2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c2lnbmFsX3N0cmVuZ3RoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNpZ25hbF9zdHJlbmd0aFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRmNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmtva286XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwia29rb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjIwMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnN5bWJvbHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3ltYm9sc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUyMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFiYzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhYmNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphYmNkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFiY2RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjYXBpdGFsX2FiY2Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2FwaXRhbF9hYmNkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTIwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxOTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJva1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjE5Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnVwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInVwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMTk5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y29vbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjb29sXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMTkyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bmV3OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm5ld1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjE5NS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZyZWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZnJlZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjE5My5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnplcm86XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiemVyb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8zMC0yMGUzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b25lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm9uZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8zMS0yMGUzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHdvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInR3b1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8zMi0yMGUzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dGhyZWU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidGhyZWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMzMtMjBlMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmZvdXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZm91clwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8zNC0yMGUzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zml2ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmaXZlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzM1LTIwZTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzaXg6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic2l4XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzM2LTIwZTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzZXZlbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzZXZlblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8zNy0yMGUzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMzgtMjBlMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm5pbmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibmluZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8zOS0yMGUzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6a2V5Y2FwX3RlbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJrZXljYXBfdGVuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTFmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6MTIzNDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCIxMjM0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aGFzaDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJoYXNoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIzLTIwZTMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphc3RlcmlzazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhc3Rlcmlza1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yYS0yMGUzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZWplY3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZWplY3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjNjZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFycm93X2ZvcndhcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJyb3dfZm9yd2FyZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNWI2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGF1c2VfYnV0dG9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInBhdXNlX2J1dHRvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yM2Y4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cGxheV9wYXVzZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwbGF5X3BhdXNlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIzZWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzdG9wX2J1dHRvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzdG9wX2J1dHRvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yM2Y5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVjb3JkX2J1dHRvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWNvcmRfYnV0dG9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIzZmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0cmFja19uZXh0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRyYWNrX25leHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjNlZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRyYWNrX3ByZXZpb3VzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRyYWNrX3ByZXZpb3VzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIzZWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmYXN0X2ZvcndhcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmFzdF9mb3J3YXJkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIzZTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZXdpbmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmV3aW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIzZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnJvd19kb3VibGVfdXA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJyb3dfZG91YmxlX3VwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIzZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnJvd19kb3VibGVfZG93bjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnJvd19kb3VibGVfZG93blwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yM2VjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJyb3dfYmFja3dhcmQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJyb3dfYmFja3dhcmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjVjMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFycm93X3VwX3NtYWxsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImFycm93X3VwX3NtYWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTNjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJyb3dfZG93bl9zbWFsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnJvd19kb3duX3NtYWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTNkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJyb3dfcmlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJyb3dfcmlnaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjdhMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFycm93X2xlZnQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJyb3dfbGVmdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yYjA1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJyb3dfdXA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJyb3dfdXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMmIwNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFycm93X2Rvd246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJyb3dfZG93blwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yYjA3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YXJyb3dfcmlnaHRfaG9vazpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnJvd19yaWdodF9ob29rXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzIxYWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsZWZ0d2FyZHNfYXJyb3dfd2l0aF9ob29rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxlZnR3YXJkc19hcnJvd193aXRoX2hvb2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjFhOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnR3aXN0ZWRfcmlnaHR3YXJkc19hcnJvd3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHdpc3RlZF9yaWdodHdhcmRzX2Fycm93c1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUwMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlcGVhdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZXBlYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MDEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZXBlYXRfb25lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlcGVhdF9vbmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MDIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphcnJvd3NfY291bnRlcmNsb2Nrd2lzZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhcnJvd3NfY291bnRlcmNsb2Nrd2lzZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUwNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmFycm93c19jbG9ja3dpc2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYXJyb3dzX2Nsb2Nrd2lzZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUwMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm11c2ljYWxfbm90ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtdXNpY2FsX25vdGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpub3RlczpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJub3Rlc1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNiNi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYXZ5X2VxdWFsc19zaWduOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYXZ5X2VxdWFsc19zaWduXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmN2YwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6aW5maW5pdHk6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiaW5maW5pdHlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjY3ZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmhlYXZ5X2RvbGxhcl9zaWduOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImhlYXZ5X2RvbGxhcl9zaWduXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGIyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3VycmVuY3lfZXhjaGFuZ2U6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY3VycmVuY3lfZXhjaGFuZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjb3B5cmlnaHQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY29weXJpZ2h0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnL2E5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaXN0ZXJlZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpc3RlcmVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnL2FlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y3VybHlfbG9vcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjdXJseV9sb29wXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI3YjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpsb29wOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxvb3BcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjdiZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmVuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJlbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpiYWNrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJhY2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpvbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUxYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRvcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0b3BcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzb29uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNvb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWRpb19idXR0b246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmFkaW9fYnV0dG9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTE4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2hpdGVfY2lyY2xlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndoaXRlX2NpcmNsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmFhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmxhY2tfY2lyY2xlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsYWNrX2NpcmNsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNmFiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVkX2NpcmNsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWRfY2lyY2xlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTM0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ymx1ZV9jaXJjbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmx1ZV9jaXJjbGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1MzUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpicm93bl9jaXJjbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnJvd25fY2lyY2xlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmN2U0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHVycGxlX2NpcmNsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwdXJwbGVfY2lyY2xlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmN2UzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3JlZW5fY2lyY2xlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdyZWVuX2NpcmNsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjdlMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnllbGxvd19jaXJjbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwieWVsbG93X2NpcmNsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjdlMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm9yYW5nZV9jaXJjbGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwib3JhbmdlX2NpcmNsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjdlMC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNtYWxsX3JlZF90cmlhbmdsZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbWFsbF9yZWRfdHJpYW5nbGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1M2Euc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzbWFsbF9yZWRfdHJpYW5nbGVfZG93bjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzbWFsbF9yZWRfdHJpYW5nbGVfZG93blwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUzYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNtYWxsX29yYW5nZV9kaWFtb25kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNtYWxsX29yYW5nZV9kaWFtb25kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTM4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6c21hbGxfYmx1ZV9kaWFtb25kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNtYWxsX2JsdWVfZGlhbW9uZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUzOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmxhcmdlX29yYW5nZV9kaWFtb25kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxhcmdlX29yYW5nZV9kaWFtb25kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTM2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bGFyZ2VfYmx1ZV9kaWFtb25kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImxhcmdlX2JsdWVfZGlhbW9uZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUzNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndoaXRlX3NxdWFyZV9idXR0b246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2hpdGVfc3F1YXJlX2J1dHRvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUzMy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsYWNrX3NxdWFyZV9idXR0b246XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxhY2tfc3F1YXJlX2J1dHRvblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUzMi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsYWNrX3NtYWxsX3NxdWFyZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJibGFja19zbWFsbF9zcXVhcmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjVhYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndoaXRlX3NtYWxsX3NxdWFyZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3aGl0ZV9zbWFsbF9zcXVhcmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjVhYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsYWNrX21lZGl1bV9zbWFsbF9zcXVhcmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmxhY2tfbWVkaXVtX3NtYWxsX3NxdWFyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNWZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2hpdGVfbWVkaXVtX3NtYWxsX3NxdWFyZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ3aGl0ZV9tZWRpdW1fc21hbGxfc3F1YXJlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI1ZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpibGFja19tZWRpdW1fc3F1YXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsYWNrX21lZGl1bV9zcXVhcmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMjVmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndoaXRlX21lZGl1bV9zcXVhcmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwid2hpdGVfbWVkaXVtX3NxdWFyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yNWZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmxhY2tfbGFyZ2Vfc3F1YXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsYWNrX2xhcmdlX3NxdWFyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yYjFiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6d2hpdGVfbGFyZ2Vfc3F1YXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndoaXRlX2xhcmdlX3NxdWFyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8yYjFjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6b3JhbmdlX3NxdWFyZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJvcmFuZ2Vfc3F1YXJlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmN2U3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Ymx1ZV9zcXVhcmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYmx1ZV9zcXVhcmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY3ZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWRfc3F1YXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZF9zcXVhcmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY3ZTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpicm93bl9zcXVhcmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiYnJvd25fc3F1YXJlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmN2ViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cHVycGxlX3NxdWFyZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwdXJwbGVfc3F1YXJlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmN2VhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Z3JlZW5fc3F1YXJlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImdyZWVuX3NxdWFyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjdlOS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnllbGxvd19zcXVhcmU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwieWVsbG93X3NxdWFyZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjdlOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNwZWFrZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwic3BlYWtlclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUwOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOm11dGU6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibXV0ZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjUwNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnNvdW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInNvdW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTA5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bG91ZF9zb3VuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJsb3VkX3NvdW5kXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTBhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6YmVsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJiZWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTE0LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bm9fYmVsbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJub19iZWxsXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTE1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bWVnYTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJtZWdhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNGUzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6bG91ZHNwZWFrZXI6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwibG91ZHNwZWFrZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0ZTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzcGVlY2hfbGVmdDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzcGVlY2hfbGVmdFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVlOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmV5ZV9pbl9zcGVlY2hfYnViYmxlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImV5ZV9pbl9zcGVlY2hfYnViYmxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNDQxLTIwMGQtMWY1ZTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzcGVlY2hfYmFsbG9vbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzcGVlY2hfYmFsbG9vblwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjRhYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRob3VnaHRfYmFsbG9vbjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0aG91Z2h0X2JhbGxvb25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY0YWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjphbmdlcl9yaWdodDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJhbmdlcl9yaWdodFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjVlZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmJsYWNrX2pva2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImJsYWNrX2pva2VyXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMGNmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Zmxvd2VyX3BsYXlpbmdfY2FyZHM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiZmxvd2VyX3BsYXlpbmdfY2FyZHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzYjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjptYWhqb25nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIm1haGpvbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYwMDQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2sxXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTUwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvY2syOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb2NrMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU1MS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb2NrMzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG9jazNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NTIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2s0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTUzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvY2s1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb2NrNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU1NC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb2NrNjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG9jazZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NTUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2s3XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTU2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvY2s4OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb2NrOFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU1Ny5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb2NrOTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG9jazlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazEwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb2NrMTBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazExOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb2NrMTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazEyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb2NrMTJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazEzMDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG9jazEzMFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU1Yy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb2NrMjMwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb2NrMjMwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTVkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvY2szMzA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2szMzBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazQzMDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG9jazQzMFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU1Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb2NrNTMwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb2NrNTMwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTYwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvY2s2MzA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2s2MzBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazczMDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG9jazczMFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU2Mi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb2NrODMwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb2NrODMwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTYzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvY2s5MzA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2s5MzBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1NjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjbG9jazEwMzA6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwiY2xvY2sxMDMwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmNTY1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6Y2xvY2sxMTMwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNsb2NrMTEzMFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjU2Ni5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNsb2NrMTIzMDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJjbG9jazEyMzBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY1Njcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0cmFuc2dlbmRlcl9zeW1ib2w6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJhbnNnZW5kZXJfc3ltYm9sXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzI2YTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3doaXRlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfd2hpdGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2JsYWNrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYmxhY2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpwaXJhdGVfZmxhZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJwaXJhdGVfZmxhZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmNC0yMDBkLTI2MjAtZmUwZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOmNoZWNrZXJlZF9mbGFnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNoZWNrZXJlZF9mbGFnXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2MxLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dHJpYW5ndWxhcl9mbGFnX29uX3Bvc3Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJpYW5ndWxhcl9mbGFnX29uX3Bvc3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWY2YTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyYWluYm93X2ZsYWc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmFpbmJvd19mbGFnXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2YzLWZlMGYtMjAwZC0xZjMwOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRyYW5zZ2VuZGVyX2ZsYWc6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidHJhbnNnZW5kZXJfZmxhZ1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmMy1mZTBmLTIwMGQtMjZhNy1mZTBmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dW5pdGVkX25hdGlvbnM6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidW5pdGVkX25hdGlvbnNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmEtMWYxZjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2FmOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYWZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2F4OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYXhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2FsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2R6OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZHpcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTktMWYxZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2FzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2FkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2FvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYW9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2FpOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYWlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2FxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYXFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2FnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYWdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2FyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2FtOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYW1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2F3OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYXdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2F1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYXVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2F0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2F6OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYXpcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2JzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYnNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2JoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYmhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2JkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2JiOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYmJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2J5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYnlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2JlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2J6OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYnpcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2JqOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYmpcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2JtOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYm1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2J0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYnRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2JvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYm9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2JhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYmFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2J3OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYndcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2JyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYnJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2lvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfaW9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3ZnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmItMWYxZWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2JuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYm5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2JnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2JmOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYmZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2JpOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYmlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2toOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfa2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2NtOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY21cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2NhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY2FcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2ljOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfaWNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2N2OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY3ZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2JxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYnFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2t5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfa3lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2NmOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY2ZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3RkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdGRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2NsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY2xcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2NuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2N4OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY3hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2NjOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY2NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2NvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY29cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2ttOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfa21cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2NnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY2dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2NkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY2RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2NrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2NyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY3JcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2NpOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY2lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2hyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfaHJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWQtMWYxZjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2N1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY3VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2N3OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY3dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2N5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY3lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2N6OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY3pcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2RrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZGtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTktMWYxZjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2RqOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZGpcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTktMWYxZWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2RtOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZG1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTktMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2RvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZG9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTktMWYxZjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2VjOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZWNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWEtMWYxZTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2VnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZWdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWEtMWYxZWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3N2OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc3ZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2dxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ3FcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2VyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWEtMWYxZjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2VlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWEtMWYxZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2V0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWEtMWYxZjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2V1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZXVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWEtMWYxZmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2ZrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZmtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWItMWYxZjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2ZvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZm9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWItMWYxZjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2ZqOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZmpcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWItMWYxZWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2ZpOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZmlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWItMWYxZWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2ZyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZnJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWItMWYxZjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2dmOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ2ZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3BmOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcGZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3RmOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdGZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2dhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ2FcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2dtOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ21cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2dlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2RlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTktMWYxZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2doOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2dpOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ2lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2dyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ3JcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2dsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ2xcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2dkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ2RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2dwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ3BcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2d1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ3VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2d0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2dnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ2dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2duOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2d3OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ3dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2d5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ3lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2h0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfaHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWQtMWYxZjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2huOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfaG5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWQtMWYxZjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2hrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfaGtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWQtMWYxZjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2h1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfaHVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWQtMWYxZmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2lzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfaXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2luOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfaW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2lkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfaWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2lyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfaXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2lxOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfaXFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2llOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfaWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2ltOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfaW1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2lsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfaWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2l0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfaXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2ptOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfam1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWYtMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2pwOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfanBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWYtMWYxZjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpjcm9zc2VkX2ZsYWdzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImNyb3NzZWRfZmxhZ3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzOGMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2plOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfamVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWYtMWYxZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2pvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfam9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWYtMWYxZjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2t6OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfa3pcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2tlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfa2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2tpOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfa2lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3hrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfeGtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmQtMWYxZjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2t3OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfa3dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2tnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfa2dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2xhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbGFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjEtMWYxZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2x2OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbHZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjEtMWYxZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2xiOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbGJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjEtMWYxZTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2xzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjEtMWYxZjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2xyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbHJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjEtMWYxZjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2x5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbHlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjEtMWYxZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2xpOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbGlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjEtMWYxZWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2x0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjEtMWYxZjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2x1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbHVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjEtMWYxZmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX21vOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbW9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX21rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbWtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX21nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbWdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX213OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbXdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX215OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbXlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX212OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbXZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX21sOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX210OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX21oOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbWhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX21xOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbXFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX21yOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbXJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX211OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbXVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3l0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfeXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmUtMWYxZjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX214OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbXhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2ZtOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZm1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWItMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX21kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX21jOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbWNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX21uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX21lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX21zOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX21hOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbWFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX216OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbXpcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX21tOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbW1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX25hOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbmFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMtMWYxZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX25yOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbnJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMtMWYxZjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX25wOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbnBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMtMWYxZjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX25sOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbmxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMtMWYxZjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX25jOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbmNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMtMWYxZTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX256OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbnpcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMtMWYxZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX25pOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbmlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMtMWYxZWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX25lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMtMWYxZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX25nOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbmdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMtMWYxZWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX251OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbnVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMtMWYxZmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX25mOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbmZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMtMWYxZWIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2twOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfa3BcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX21wOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbXBcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX25vOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbm9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMtMWYxZjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX29tOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfb21cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjQtMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3BrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcGtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3B3OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcHdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3BzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcHNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3BhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcGFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3BnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcGdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3B5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcHlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3BlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcGVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3BoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcGhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3BuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcG5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3BsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3B0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3ByOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcHJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3FhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcWFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjYtMWYxZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3JlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjctMWYxZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3JvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcm9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjctMWYxZjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3J1OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcnVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjctMWYxZmEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3J3OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcndcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjctMWYxZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3dzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfd3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmMtMWYxZjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3NtOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc21cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3N0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc3RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3NhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc2FcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3NuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3JzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcnNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjctMWYxZjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3NjOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc2NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3NsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc2xcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3NnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc2dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3N4OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc3hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZmQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3NrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc2tcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3NpOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc2lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2dzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3NiOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc2JcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3NvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc29cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3phOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfemFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmYtMWYxZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2tyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfa3JcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3NzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2VzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWEtMWYxZjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2xrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbGtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjEtMWYxZjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2JsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYmxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3NoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2tuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfa25cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2xjOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfbGNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjEtMWYxZTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3BtOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfcG1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3ZjOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdmNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmItMWYxZTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3NkOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc2RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3NyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc3JcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3N6OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc3pcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3NlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2NoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfY2hcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3N5OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfc3lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3R3OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdHdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZmMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3RqOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdGpcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3R6OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdHpcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZmYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3RoOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdGhcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZWQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3RsOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdGxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZjEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3RnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdGdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3RrOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdGtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZjAuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3RvOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdG9cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZjQuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3R0OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdHRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZjkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3RuOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdG5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZjMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3RyOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdHJcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZjcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3RtOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdG1cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3RjOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdGNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZTguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3ZpOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdmlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmItMWYxZWUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3R2OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdHZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3VnOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdWdcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmEtMWYxZWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX3VhOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfdWFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmEtMWYxZTYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2FlOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfYWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZWEuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpmbGFnX2diOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImZsYWdfZ2JcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZTcuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjplbmdsYW5kOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cImVuZ2xhbmRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZjQtZTAwNjctZTAwNjItZTAwNjUtZTAwNmUtZTAwNjctZTAwN2Yuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpzY290bGFuZDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJzY290bGFuZFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmNC1lMDA2Ny1lMDA2Mi1lMDA3My1lMDA2My1lMDA3NC1lMDA3Zi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOndhbGVzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cIndhbGVzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2Y0LWUwMDY3LWUwMDYyLWUwMDc3LWUwMDZjLWUwMDczLWUwMDdmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ191czpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX3VzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZhLTFmMWY4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ191eTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX3V5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZhLTFmMWZlLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ191ejpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX3V6XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZhLTFmMWZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ192dTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX3Z1XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZiLTFmMWZhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ192YTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX3ZhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZiLTFmMWU2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ192ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX3ZlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZiLTFmMWVhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ192bjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX3ZuXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZiLTFmMWYzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ193ZjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX3dmXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZjLTFmMWViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ19laDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX2VoXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVhLTFmMWVkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ195ZTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX3llXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZlLTFmMWVhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ196bTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX3ptXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZmLTFmMWYyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ196dzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX3p3XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZmLTFmMWZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ19hYzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX2FjXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU2LTFmMWU4LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ19idjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX2J2XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU3LTFmMWZiLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ19jcDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX2NwXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU4LTFmMWY1LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ19lYTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX2VhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVhLTFmMWU2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ19kZzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX2RnXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU5LTFmMWVjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ19obTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX2htXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVkLTFmMWYyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ19tZjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX21mXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYyLTFmMWViLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ19zajpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX3NqXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY4LTFmMWVmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ190YTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX3RhXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY5LTFmMWU2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6ZmxhZ191bTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJmbGFnX3VtXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZhLTFmMWYyLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dG9uZTE6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidG9uZTFcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0b25lMjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0b25lMlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmYy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnRvbmUzOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInRvbmUzXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2ZkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6dG9uZTQ6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwidG9uZTRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjp0b25lNTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJ0b25lNVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmZi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZ2lvbmFsX2luZGljYXRvcl96OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lvbmFsX2luZGljYXRvcl96XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZmLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX3k6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX3lcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpb25hbF9pbmRpY2F0b3JfeDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpb25hbF9pbmRpY2F0b3JfeFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmZC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZ2lvbmFsX2luZGljYXRvcl93OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lvbmFsX2luZGljYXRvcl93XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZjLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX3Y6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX3ZcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpb25hbF9pbmRpY2F0b3JfdTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpb25hbF9pbmRpY2F0b3JfdVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZ2lvbmFsX2luZGljYXRvcl90OlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lvbmFsX2luZGljYXRvcl90XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY5LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX3M6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX3NcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjguc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpb25hbF9pbmRpY2F0b3JfcjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpb25hbF9pbmRpY2F0b3JfclwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNy5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZ2lvbmFsX2luZGljYXRvcl9xOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lvbmFsX2luZGljYXRvcl9xXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY2LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX3A6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX3BcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpb25hbF9pbmRpY2F0b3JfbzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpb25hbF9pbmRpY2F0b3Jfb1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZ2lvbmFsX2luZGljYXRvcl9uOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lvbmFsX2luZGljYXRvcl9uXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYzLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX206XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX21cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjIuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpb25hbF9pbmRpY2F0b3JfbDpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpb25hbF9pbmRpY2F0b3JfbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZ2lvbmFsX2luZGljYXRvcl9rOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lvbmFsX2luZGljYXRvcl9rXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYwLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX2o6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX2pcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWYuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpb25hbF9pbmRpY2F0b3JfaTpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpb25hbF9pbmRpY2F0b3JfaVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZ2lvbmFsX2luZGljYXRvcl9oOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lvbmFsX2luZGljYXRvcl9oXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVkLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX2c6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX2dcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpb25hbF9pbmRpY2F0b3JfZjpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpb25hbF9pbmRpY2F0b3JfZlwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYi5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZ2lvbmFsX2luZGljYXRvcl9lOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lvbmFsX2luZGljYXRvcl9lXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVhLnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX2Q6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX2RcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTkuc3ZnXCIpO1xufVxuZW1bZGF0YS1lbW9qaT1cIjpyZWdpb25hbF9pbmRpY2F0b3JfYzpcIl06OmJlZm9yZSxcbmVtW2RhdGEtZW1vamk9XCJyZWdpb25hbF9pbmRpY2F0b3JfY1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC5zdmdcIik7XG59XG5lbVtkYXRhLWVtb2ppPVwiOnJlZ2lvbmFsX2luZGljYXRvcl9iOlwiXTo6YmVmb3JlLFxuZW1bZGF0YS1lbW9qaT1cInJlZ2lvbmFsX2luZGljYXRvcl9iXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU3LnN2Z1wiKTtcbn1cbmVtW2RhdGEtZW1vamk9XCI6cmVnaW9uYWxfaW5kaWNhdG9yX2E6XCJdOjpiZWZvcmUsXG5lbVtkYXRhLWVtb2ppPVwicmVnaW9uYWxfaW5kaWNhdG9yX2FcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYuc3ZnXCIpO1xufVxuLyogcnRsOmVuZDppZ25vcmUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgRW1vamlzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gRmxhZ1xuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZsYWdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIFBhdGhcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBGbGFnIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgRmxhZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmkuZmxhZzpub3QoLmljb24pIHtcbiAgc3BlYWs6IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbmkuZmxhZzpub3QoLmljb24pOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMDBBMFxcMDBBMFxcMDBBMFxcMDBBMFxcMDBBMFxcMDBBMFxcMDBBMFwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG59XG5pLmZsYWcuc21hbGwge1xuICBmb250LXNpemU6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuaS5mbGFnLm1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogM2VtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuaS5mbGFnLmxhcmdlIHtcbiAgZm9udC1zaXplOiA2ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5pLmZsYWcuYmlnIHtcbiAgZm9udC1zaXplOiA3LjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbmkuZmxhZy5odWdlIHtcbiAgZm9udC1zaXplOiA5ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5pLmZsYWcubWFzc2l2ZSB7XG4gIGZvbnQtc2l6ZTogMTJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbmkuZmxhZy50cmFuc2dlbmRlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmMy1mZTBmLTIwMGQtMjZhNy1mZTBmLnN2Z1wiKTtcbn1cbmkuZmxhZy5yYWluYm93OjpiZWZvcmUsXG5pLmZsYWcucHJpZGU6OmJlZm9yZSxcbmkuZmxhZy5sZ2J0OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2YzLWZlMGYtMjAwZC0xZjMwOC5zdmdcIik7XG59XG5pLmZsYWcucGlyYXRlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2Y0LTIwMGQtMjYyMC1mZTBmLnN2Z1wiKTtcbn1cbmkuZmxhZy5hZjo6YmVmb3JlLFxuaS5mbGFnLmFmZ2hhbmlzdGFuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU2LTFmMWViLnN2Z1wiKTtcbn1cbmkuZmxhZy5heDo6YmVmb3JlLFxuaS5mbGFnLmFsYW5kLmlzbGFuZHM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZmQuc3ZnXCIpO1xufVxuaS5mbGFnLmFsOjpiZWZvcmUsXG5pLmZsYWcuYWxiYW5pYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmMS5zdmdcIik7XG59XG5pLmZsYWcuZHo6OmJlZm9yZSxcbmkuZmxhZy5hbGdlcmlhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU5LTFmMWZmLnN2Z1wiKTtcbn1cbmkuZmxhZy5hczo6YmVmb3JlLFxuaS5mbGFnLmFtZXJpY2FuLnNhbW9hOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU2LTFmMWY4LnN2Z1wiKTtcbn1cbmkuZmxhZy5hZDo6YmVmb3JlLFxuaS5mbGFnLmFuZG9ycmE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZTkuc3ZnXCIpO1xufVxuaS5mbGFnLmFvOjpiZWZvcmUsXG5pLmZsYWcuYW5nb2xhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU2LTFmMWY0LnN2Z1wiKTtcbn1cbmkuZmxhZy5haTo6YmVmb3JlLFxuaS5mbGFnLmFuZ3VpbGxhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU2LTFmMWVlLnN2Z1wiKTtcbn1cbmkuZmxhZy5hcTo6YmVmb3JlLFxuaS5mbGFnLmFudGFyY3RpY2E6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZjYuc3ZnXCIpO1xufVxuaS5mbGFnLmFnOjpiZWZvcmUsXG5pLmZsYWcuYW50aWd1YS5hbmQuYmFyYnVkYTo6YmVmb3JlLFxuaS5mbGFnLmFudGlndWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZWMuc3ZnXCIpO1xufVxuaS5mbGFnLmFyOjpiZWZvcmUsXG5pLmZsYWcuYXJnZW50aW5hOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU2LTFmMWY3LnN2Z1wiKTtcbn1cbmkuZmxhZy5hbTo6YmVmb3JlLFxuaS5mbGFnLmFybWVuaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZjIuc3ZnXCIpO1xufVxuaS5mbGFnLmF3OjpiZWZvcmUsXG5pLmZsYWcuYXJ1YmE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZmMuc3ZnXCIpO1xufVxuaS5mbGFnLmF1OjpiZWZvcmUsXG5pLmZsYWcuYXVzdHJhbGlhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU2LTFmMWZhLnN2Z1wiKTtcbn1cbmkuZmxhZy5hdDo6YmVmb3JlLFxuaS5mbGFnLmF1c3RyaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZjkuc3ZnXCIpO1xufVxuaS5mbGFnLmF6OjpiZWZvcmUsXG5pLmZsYWcuYXplcmJhaWphbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFmZi5zdmdcIik7XG59XG5pLmZsYWcuYnM6OmJlZm9yZSxcbmkuZmxhZy5iYWhhbWFzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU3LTFmMWY4LnN2Z1wiKTtcbn1cbmkuZmxhZy5iaDo6YmVmb3JlLFxuaS5mbGFnLmJhaHJhaW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZWQuc3ZnXCIpO1xufVxuaS5mbGFnLmJkOjpiZWZvcmUsXG5pLmZsYWcuYmFuZ2xhZGVzaDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFlOS5zdmdcIik7XG59XG5pLmZsYWcuYmI6OmJlZm9yZSxcbmkuZmxhZy5iYXJiYWRvczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFlNy5zdmdcIik7XG59XG5pLmZsYWcuYnk6OmJlZm9yZSxcbmkuZmxhZy5iZWxhcnVzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU3LTFmMWZlLnN2Z1wiKTtcbn1cbmkuZmxhZy5iZTo6YmVmb3JlLFxuaS5mbGFnLmJlbGdpdW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZWEuc3ZnXCIpO1xufVxuaS5mbGFnLmJ6OjpiZWZvcmUsXG5pLmZsYWcuYmVsaXplOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU3LTFmMWZmLnN2Z1wiKTtcbn1cbmkuZmxhZy5iajo6YmVmb3JlLFxuaS5mbGFnLmJlbmluOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU3LTFmMWVmLnN2Z1wiKTtcbn1cbmkuZmxhZy5ibTo6YmVmb3JlLFxuaS5mbGFnLmJlcm11ZGE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZjIuc3ZnXCIpO1xufVxuaS5mbGFnLmJ0OjpiZWZvcmUsXG5pLmZsYWcuYmh1dGFuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU3LTFmMWY5LnN2Z1wiKTtcbn1cbmkuZmxhZy5ibzo6YmVmb3JlLFxuaS5mbGFnLmJvbGl2aWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZjQuc3ZnXCIpO1xufVxuaS5mbGFnLmJhOjpiZWZvcmUsXG5pLmZsYWcuYm9zbmlhLmFuZC5oZXJ6ZWdvdmluYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFlNi5zdmdcIik7XG59XG5pLmZsYWcuYnc6OmJlZm9yZSxcbmkuZmxhZy5ib3Rzd2FuYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFmYy5zdmdcIik7XG59XG5pLmZsYWcuYnI6OmJlZm9yZSxcbmkuZmxhZy5icmF6aWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZjcuc3ZnXCIpO1xufVxuaS5mbGFnLmlvOjpiZWZvcmUsXG5pLmZsYWcuYnJpdGlzaC5pbmRpYW4ub2NlYW4udGVycml0b3J5OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVlLTFmMWY0LnN2Z1wiKTtcbn1cbmkuZmxhZy52Zzo6YmVmb3JlLFxuaS5mbGFnLmJyaXRpc2gudmlyZ2luLmlzbGFuZHM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmItMWYxZWMuc3ZnXCIpO1xufVxuaS5mbGFnLmJuOjpiZWZvcmUsXG5pLmZsYWcuYnJ1bmVpOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU3LTFmMWYzLnN2Z1wiKTtcbn1cbmkuZmxhZy5iZzo6YmVmb3JlLFxuaS5mbGFnLmJ1bGdhcmlhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU3LTFmMWVjLnN2Z1wiKTtcbn1cbmkuZmxhZy5iZjo6YmVmb3JlLFxuaS5mbGFnLmJ1cmtpbmEuZmFzbzo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNy0xZjFlYi5zdmdcIik7XG59XG5pLmZsYWcuYmk6OmJlZm9yZSxcbmkuZmxhZy5idXJ1bmRpOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU3LTFmMWVlLnN2Z1wiKTtcbn1cbmkuZmxhZy5raDo6YmVmb3JlLFxuaS5mbGFnLmNhbWJvZGlhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYwLTFmMWVkLnN2Z1wiKTtcbn1cbmkuZmxhZy5jbTo6YmVmb3JlLFxuaS5mbGFnLmNhbWVyb29uOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU4LTFmMWYyLnN2Z1wiKTtcbn1cbmkuZmxhZy5jYTo6YmVmb3JlLFxuaS5mbGFnLmNhbmFkYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFlNi5zdmdcIik7XG59XG5pLmZsYWcuaWM6OmJlZm9yZSxcbmkuZmxhZy5jYW5hcnkuaXNsYW5kczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFlOC5zdmdcIik7XG59XG5pLmZsYWcuY3Y6OmJlZm9yZSxcbmkuZmxhZy5jYXBlLnZlcmRlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU4LTFmMWZiLnN2Z1wiKTtcbn1cbmkuZmxhZy5icTo6YmVmb3JlLFxuaS5mbGFnLmNhcmliYmVhbi5uZXRoZXJsYW5kczo6YmVmb3JlLFxuaS5mbGFnLmFuOjpiZWZvcmUsXG5pLmZsYWcubmV0aGVybGFuZHMuYW50aWxsZXM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZjYuc3ZnXCIpO1xufVxuaS5mbGFnLmt5OjpiZWZvcmUsXG5pLmZsYWcuY2F5bWFuLmlzbGFuZHM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZmUuc3ZnXCIpO1xufVxuaS5mbGFnLmNmOjpiZWZvcmUsXG5pLmZsYWcuY2VudHJhbC5hZnJpY2FuLnJlcHVibGljOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU4LTFmMWViLnN2Z1wiKTtcbn1cbmkuZmxhZy50ZDo6YmVmb3JlLFxuaS5mbGFnLmNoYWQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZTkuc3ZnXCIpO1xufVxuaS5mbGFnLmNsOjpiZWZvcmUsXG5pLmZsYWcuY2hpbGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZjEuc3ZnXCIpO1xufVxuaS5mbGFnLmNuOjpiZWZvcmUsXG5pLmZsYWcuY2hpbmE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZjMuc3ZnXCIpO1xufVxuaS5mbGFnLmN4OjpiZWZvcmUsXG5pLmZsYWcuY2hyaXN0bWFzLmlzbGFuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmZC5zdmdcIik7XG59XG5pLmZsYWcuY2M6OmJlZm9yZSxcbmkuZmxhZy5jb2Nvcy5pc2xhbmRzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU4LTFmMWU4LnN2Z1wiKTtcbn1cbmkuZmxhZy5jbzo6YmVmb3JlLFxuaS5mbGFnLmNvbG9tYmlhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU4LTFmMWY0LnN2Z1wiKTtcbn1cbmkuZmxhZy5rbTo6YmVmb3JlLFxuaS5mbGFnLmNvbW9yb3M6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZjIuc3ZnXCIpO1xufVxuaS5mbGFnLmNnOjpiZWZvcmUsXG5pLmZsYWcuY29uZ28uYnJhenphdmlsbGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZWMuc3ZnXCIpO1xufVxuaS5mbGFnLmNkOjpiZWZvcmUsXG5pLmZsYWcuY29uZ28ua2luc2hhc2E6OmJlZm9yZSxcbmkuZmxhZy5jb25nbzo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFlOS5zdmdcIik7XG59XG5pLmZsYWcuY2s6OmJlZm9yZSxcbmkuZmxhZy5jb29rLmlzbGFuZHM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZjAuc3ZnXCIpO1xufVxuaS5mbGFnLmNyOjpiZWZvcmUsXG5pLmZsYWcuY29zdGEucmljYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmNy5zdmdcIik7XG59XG5pLmZsYWcuY2k6OmJlZm9yZSxcbmkuZmxhZy5jw7R0ZS5k4oCZaXZvaXJlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU4LTFmMWVlLnN2Z1wiKTtcbn1cbmkuZmxhZy5ocjo6YmVmb3JlLFxuaS5mbGFnLmNyb2F0aWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWQtMWYxZjcuc3ZnXCIpO1xufVxuaS5mbGFnLmN1OjpiZWZvcmUsXG5pLmZsYWcuY3ViYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmYS5zdmdcIik7XG59XG5pLmZsYWcuY3c6OmJlZm9yZSxcbmkuZmxhZy5jdXJhY2FvOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU4LTFmMWZjLnN2Z1wiKTtcbn1cbmkuZmxhZy5jeTo6YmVmb3JlLFxuaS5mbGFnLmN5cHJ1czo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOC0xZjFmZS5zdmdcIik7XG59XG5pLmZsYWcuY3o6OmJlZm9yZSxcbmkuZmxhZy5jemVjaGlhOjpiZWZvcmUsXG5pLmZsYWcuY3plY2gucmVwdWJsaWM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZmYuc3ZnXCIpO1xufVxuaS5mbGFnLmRrOjpiZWZvcmUsXG5pLmZsYWcuZGVubWFyazo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOS0xZjFmMC5zdmdcIik7XG59XG5pLmZsYWcuZGo6OmJlZm9yZSxcbmkuZmxhZy5kamlib3V0aTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOS0xZjFlZi5zdmdcIik7XG59XG5pLmZsYWcuZG06OmJlZm9yZSxcbmkuZmxhZy5kb21pbmljYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOS0xZjFmMi5zdmdcIik7XG59XG5pLmZsYWcuZG86OmJlZm9yZSxcbmkuZmxhZy5kb21pbmljYW4ucmVwdWJsaWM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTktMWYxZjQuc3ZnXCIpO1xufVxuaS5mbGFnLmVjOjpiZWZvcmUsXG5pLmZsYWcuZWN1YWRvcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYS0xZjFlOC5zdmdcIik7XG59XG5pLmZsYWcuZWc6OmJlZm9yZSxcbmkuZmxhZy5lZ3lwdDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYS0xZjFlYy5zdmdcIik7XG59XG5pLmZsYWcuc3Y6OmJlZm9yZSxcbmkuZmxhZy5lbC5zYWx2YWRvcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmYi5zdmdcIik7XG59XG5pLmZsYWcuZ3E6OmJlZm9yZSxcbmkuZmxhZy5lcXVhdG9yaWFsLmd1aW5lYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmNi5zdmdcIik7XG59XG5pLmZsYWcuZXI6OmJlZm9yZSxcbmkuZmxhZy5lcml0cmVhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVhLTFmMWY3LnN2Z1wiKTtcbn1cbmkuZmxhZy5lZTo6YmVmb3JlLFxuaS5mbGFnLmVzdG9uaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWEtMWYxZWEuc3ZnXCIpO1xufVxuaS5mbGFnLmV0OjpiZWZvcmUsXG5pLmZsYWcuZXRoaW9waWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWEtMWYxZjkuc3ZnXCIpO1xufVxuaS5mbGFnLmV1OjpiZWZvcmUsXG5pLmZsYWcuZXVyb3BlYW4udW5pb246OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWEtMWYxZmEuc3ZnXCIpO1xufVxuaS5mbGFnLmZrOjpiZWZvcmUsXG5pLmZsYWcuZmFsa2xhbmQuaXNsYW5kczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYi0xZjFmMC5zdmdcIik7XG59XG5pLmZsYWcuZm86OmJlZm9yZSxcbmkuZmxhZy5mYXJvZS5pc2xhbmRzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWViLTFmMWY0LnN2Z1wiKTtcbn1cbmkuZmxhZy5majo6YmVmb3JlLFxuaS5mbGFnLmZpamk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWItMWYxZWYuc3ZnXCIpO1xufVxuaS5mbGFnLmZpOjpiZWZvcmUsXG5pLmZsYWcuZmlubGFuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYi0xZjFlZS5zdmdcIik7XG59XG5pLmZsYWcuZnI6OmJlZm9yZSxcbmkuZmxhZy5mcmFuY2U6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWItMWYxZjcuc3ZnXCIpO1xufVxuaS5mbGFnLmdmOjpiZWZvcmUsXG5pLmZsYWcuZnJlbmNoLmd1aWFuYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFlYi5zdmdcIik7XG59XG5pLmZsYWcucGY6OmJlZm9yZSxcbmkuZmxhZy5mcmVuY2gucG9seW5lc2lhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY1LTFmMWViLnN2Z1wiKTtcbn1cbmkuZmxhZy50Zjo6YmVmb3JlLFxuaS5mbGFnLmZyZW5jaC5zb3V0aGVybi50ZXJyaXRvcmllczo6YmVmb3JlLFxuaS5mbGFnLmZyZW5jaC50ZXJyaXRvcmllczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFlYi5zdmdcIik7XG59XG5pLmZsYWcuZ2E6OmJlZm9yZSxcbmkuZmxhZy5nYWJvbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFlNi5zdmdcIik7XG59XG5pLmZsYWcuZ206OmJlZm9yZSxcbmkuZmxhZy5nYW1iaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZjIuc3ZnXCIpO1xufVxuaS5mbGFnLmdlOjpiZWZvcmUsXG5pLmZsYWcuZ2VvcmdpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFlYS5zdmdcIik7XG59XG5pLmZsYWcuZGU6OmJlZm9yZSxcbmkuZmxhZy5nZXJtYW55OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU5LTFmMWVhLnN2Z1wiKTtcbn1cbmkuZmxhZy5naDo6YmVmb3JlLFxuaS5mbGFnLmdoYW5hOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVjLTFmMWVkLnN2Z1wiKTtcbn1cbmkuZmxhZy5naTo6YmVmb3JlLFxuaS5mbGFnLmdpYnJhbHRhcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFlZS5zdmdcIik7XG59XG5pLmZsYWcuZ3I6OmJlZm9yZSxcbmkuZmxhZy5ncmVlY2U6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZjcuc3ZnXCIpO1xufVxuaS5mbGFnLmdsOjpiZWZvcmUsXG5pLmZsYWcuZ3JlZW5sYW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVjLTFmMWYxLnN2Z1wiKTtcbn1cbmkuZmxhZy5nZDo6YmVmb3JlLFxuaS5mbGFnLmdyZW5hZGE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZTkuc3ZnXCIpO1xufVxuaS5mbGFnLmdwOjpiZWZvcmUsXG5pLmZsYWcuZ3VhZGVsb3VwZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmNS5zdmdcIik7XG59XG5pLmZsYWcuZ3U6OmJlZm9yZSxcbmkuZmxhZy5ndWFtOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVjLTFmMWZhLnN2Z1wiKTtcbn1cbmkuZmxhZy5ndDo6YmVmb3JlLFxuaS5mbGFnLmd1YXRlbWFsYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmOS5zdmdcIik7XG59XG5pLmZsYWcuZ2c6OmJlZm9yZSxcbmkuZmxhZy5ndWVybnNleTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFlYy5zdmdcIik7XG59XG5pLmZsYWcuZ246OmJlZm9yZSxcbmkuZmxhZy5ndWluZWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZjMuc3ZnXCIpO1xufVxuaS5mbGFnLmd3OjpiZWZvcmUsXG5pLmZsYWcuZ3VpbmVhLWJpc3NhdTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFmYy5zdmdcIik7XG59XG5pLmZsYWcuZ3k6OmJlZm9yZSxcbmkuZmxhZy5ndXlhbmE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZmUuc3ZnXCIpO1xufVxuaS5mbGFnLmh0OjpiZWZvcmUsXG5pLmZsYWcuaGFpdGk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWQtMWYxZjkuc3ZnXCIpO1xufVxuaS5mbGFnLmhuOjpiZWZvcmUsXG5pLmZsYWcuaG9uZHVyYXM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWQtMWYxZjMuc3ZnXCIpO1xufVxuaS5mbGFnLmhrOjpiZWZvcmUsXG5pLmZsYWcuaG9uZy5rb25nLnNhci5jaGluYTo6YmVmb3JlLFxuaS5mbGFnLmhvbmcua29uZzo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZC0xZjFmMC5zdmdcIik7XG59XG5pLmZsYWcuaHU6OmJlZm9yZSxcbmkuZmxhZy5odW5nYXJ5OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVkLTFmMWZhLnN2Z1wiKTtcbn1cbmkuZmxhZy5pczo6YmVmb3JlLFxuaS5mbGFnLmljZWxhbmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZjguc3ZnXCIpO1xufVxuaS5mbGFnLmluOjpiZWZvcmUsXG5pLmZsYWcuaW5kaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZjMuc3ZnXCIpO1xufVxuaS5mbGFnLmlkOjpiZWZvcmUsXG5pLmZsYWcuaW5kb25lc2lhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVlLTFmMWU5LnN2Z1wiKTtcbn1cbmkuZmxhZy5pcjo6YmVmb3JlLFxuaS5mbGFnLmlyYW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWUtMWYxZjcuc3ZnXCIpO1xufVxuaS5mbGFnLmlxOjpiZWZvcmUsXG5pLmZsYWcuaXJhcTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFmNi5zdmdcIik7XG59XG5pLmZsYWcuaWU6OmJlZm9yZSxcbmkuZmxhZy5pcmVsYW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVlLTFmMWVhLnN2Z1wiKTtcbn1cbmkuZmxhZy5pbTo6YmVmb3JlLFxuaS5mbGFnLmlzbGUub2YubWFuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVlLTFmMWYyLnN2Z1wiKTtcbn1cbmkuZmxhZy5pbDo6YmVmb3JlLFxuaS5mbGFnLmlzcmFlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFmMS5zdmdcIik7XG59XG5pLmZsYWcuaXQ6OmJlZm9yZSxcbmkuZmxhZy5pdGFseTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZS0xZjFmOS5zdmdcIik7XG59XG5pLmZsYWcuam06OmJlZm9yZSxcbmkuZmxhZy5qYW1haWNhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVmLTFmMWYyLnN2Z1wiKTtcbn1cbmkuZmxhZy5qcDo6YmVmb3JlLFxuaS5mbGFnLmphcGFuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVmLTFmMWY1LnN2Z1wiKTtcbn1cbmkuZmxhZy5qZTo6YmVmb3JlLFxuaS5mbGFnLmplcnNleTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZi0xZjFlYS5zdmdcIik7XG59XG5pLmZsYWcuam86OmJlZm9yZSxcbmkuZmxhZy5qb3JkYW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWYtMWYxZjQuc3ZnXCIpO1xufVxuaS5mbGFnLmt6OjpiZWZvcmUsXG5pLmZsYWcua2F6YWtoc3Rhbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFmZi5zdmdcIik7XG59XG5pLmZsYWcua2U6OmJlZm9yZSxcbmkuZmxhZy5rZW55YTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFlYS5zdmdcIik7XG59XG5pLmZsYWcua2k6OmJlZm9yZSxcbmkuZmxhZy5raXJpYmF0aTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFlZS5zdmdcIik7XG59XG5pLmZsYWcueGs6OmJlZm9yZSxcbmkuZmxhZy5rb3Nvdm86OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmQtMWYxZjAuc3ZnXCIpO1xufVxuaS5mbGFnLmt3OjpiZWZvcmUsXG5pLmZsYWcua3V3YWl0OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYwLTFmMWZjLnN2Z1wiKTtcbn1cbmkuZmxhZy5rZzo6YmVmb3JlLFxuaS5mbGFnLmt5cmd5enN0YW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZWMuc3ZnXCIpO1xufVxuaS5mbGFnLmxhOjpiZWZvcmUsXG5pLmZsYWcubGFvczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFlNi5zdmdcIik7XG59XG5pLmZsYWcubHY6OmJlZm9yZSxcbmkuZmxhZy5sYXR2aWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjEtMWYxZmIuc3ZnXCIpO1xufVxuaS5mbGFnLmxiOjpiZWZvcmUsXG5pLmZsYWcubGViYW5vbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFlNy5zdmdcIik7XG59XG5pLmZsYWcubHM6OmJlZm9yZSxcbmkuZmxhZy5sZXNvdGhvOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYxLTFmMWY4LnN2Z1wiKTtcbn1cbmkuZmxhZy5scjo6YmVmb3JlLFxuaS5mbGFnLmxpYmVyaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjEtMWYxZjcuc3ZnXCIpO1xufVxuaS5mbGFnLmx5OjpiZWZvcmUsXG5pLmZsYWcubGlieWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjEtMWYxZmUuc3ZnXCIpO1xufVxuaS5mbGFnLmxpOjpiZWZvcmUsXG5pLmZsYWcubGllY2h0ZW5zdGVpbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFlZS5zdmdcIik7XG59XG5pLmZsYWcubHQ6OmJlZm9yZSxcbmkuZmxhZy5saXRodWFuaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjEtMWYxZjkuc3ZnXCIpO1xufVxuaS5mbGFnLmx1OjpiZWZvcmUsXG5pLmZsYWcubHV4ZW1ib3VyZzo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFmYS5zdmdcIik7XG59XG5pLmZsYWcubW86OmJlZm9yZSxcbmkuZmxhZy5tYWNhby5zYXIuY2hpbmE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjQuc3ZnXCIpO1xufVxuaS5mbGFnLm1rOjpiZWZvcmUsXG5pLmZsYWcucmVwdWJsaWMub2Yubm9ydGgubWFjZWRvbmlhOjpiZWZvcmUsXG5pLmZsYWcubm9ydGgubWFjZWRvbmlhOjpiZWZvcmUsXG5pLmZsYWcubWFjZWRvbmlhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYyLTFmMWYwLnN2Z1wiKTtcbn1cbmkuZmxhZy5tZzo6YmVmb3JlLFxuaS5mbGFnLm1hZGFnYXNjYXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZWMuc3ZnXCIpO1xufVxuaS5mbGFnLm13OjpiZWZvcmUsXG5pLmZsYWcubWFsYXdpOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYyLTFmMWZjLnN2Z1wiKTtcbn1cbmkuZmxhZy5teTo6YmVmb3JlLFxuaS5mbGFnLm1hbGF5c2lhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYyLTFmMWZlLnN2Z1wiKTtcbn1cbmkuZmxhZy5tdjo6YmVmb3JlLFxuaS5mbGFnLm1hbGRpdmVzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYyLTFmMWZiLnN2Z1wiKTtcbn1cbmkuZmxhZy5tbDo6YmVmb3JlLFxuaS5mbGFnLm1hbGk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjEuc3ZnXCIpO1xufVxuaS5mbGFnLm10OjpiZWZvcmUsXG5pLmZsYWcubWFsdGE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjkuc3ZnXCIpO1xufVxuaS5mbGFnLm1oOjpiZWZvcmUsXG5pLmZsYWcubWFyc2hhbGwuaXNsYW5kczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFlZC5zdmdcIik7XG59XG5pLmZsYWcubXE6OmJlZm9yZSxcbmkuZmxhZy5tYXJ0aW5pcXVlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYyLTFmMWY2LnN2Z1wiKTtcbn1cbmkuZmxhZy5tcjo6YmVmb3JlLFxuaS5mbGFnLm1hdXJpdGFuaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjcuc3ZnXCIpO1xufVxuaS5mbGFnLm11OjpiZWZvcmUsXG5pLmZsYWcubWF1cml0aXVzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYyLTFmMWZhLnN2Z1wiKTtcbn1cbmkuZmxhZy55dDo6YmVmb3JlLFxuaS5mbGFnLm1heW90dGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmUtMWYxZjkuc3ZnXCIpO1xufVxuaS5mbGFnLm14OjpiZWZvcmUsXG5pLmZsYWcubWV4aWNvOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYyLTFmMWZkLnN2Z1wiKTtcbn1cbmkuZmxhZy5mbTo6YmVmb3JlLFxuaS5mbGFnLm1pY3JvbmVzaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWItMWYxZjIuc3ZnXCIpO1xufVxuaS5mbGFnLm1kOjpiZWZvcmUsXG5pLmZsYWcubW9sZG92YTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFlOS5zdmdcIik7XG59XG5pLmZsYWcubWM6OmJlZm9yZSxcbmkuZmxhZy5tb25hY286OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZTguc3ZnXCIpO1xufVxuaS5mbGFnLm1uOjpiZWZvcmUsXG5pLmZsYWcubW9uZ29saWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjMuc3ZnXCIpO1xufVxuaS5mbGFnLm1lOjpiZWZvcmUsXG5pLmZsYWcubW9udGVuZWdybzo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFlYS5zdmdcIik7XG59XG5pLmZsYWcubXM6OmJlZm9yZSxcbmkuZmxhZy5tb250c2VycmF0OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYyLTFmMWY4LnN2Z1wiKTtcbn1cbmkuZmxhZy5tYTo6YmVmb3JlLFxuaS5mbGFnLm1vcm9jY286OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZTYuc3ZnXCIpO1xufVxuaS5mbGFnLm16OjpiZWZvcmUsXG5pLmZsYWcubW96YW1iaXF1ZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMi0xZjFmZi5zdmdcIik7XG59XG5pLmZsYWcubW06OmJlZm9yZSxcbmkuZmxhZy5teWFubWFyOjpiZWZvcmUsXG5pLmZsYWcuYnVybWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZjIuc3ZnXCIpO1xufVxuaS5mbGFnLm5hOjpiZWZvcmUsXG5pLmZsYWcubmFtaWJpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFlNi5zdmdcIik7XG59XG5pLmZsYWcubnI6OmJlZm9yZSxcbmkuZmxhZy5uYXVydTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFmNy5zdmdcIik7XG59XG5pLmZsYWcubnA6OmJlZm9yZSxcbmkuZmxhZy5uZXBhbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFmNS5zdmdcIik7XG59XG5pLmZsYWcubmw6OmJlZm9yZSxcbmkuZmxhZy5uZXRoZXJsYW5kczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFmMS5zdmdcIik7XG59XG5pLmZsYWcubmM6OmJlZm9yZSxcbmkuZmxhZy5uZXcuY2FsZWRvbmlhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYzLTFmMWU4LnN2Z1wiKTtcbn1cbmkuZmxhZy5uejo6YmVmb3JlLFxuaS5mbGFnLm5ldy56ZWFsYW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYzLTFmMWZmLnN2Z1wiKTtcbn1cbmkuZmxhZy5uaTo6YmVmb3JlLFxuaS5mbGFnLm5pY2FyYWd1YTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFlZS5zdmdcIik7XG59XG5pLmZsYWcubmU6OmJlZm9yZSxcbmkuZmxhZy5uaWdlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFlYS5zdmdcIik7XG59XG5pLmZsYWcubmc6OmJlZm9yZSxcbmkuZmxhZy5uaWdlcmlhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYzLTFmMWVjLnN2Z1wiKTtcbn1cbmkuZmxhZy5udTo6YmVmb3JlLFxuaS5mbGFnLm5pdWU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMtMWYxZmEuc3ZnXCIpO1xufVxuaS5mbGFnLm5mOjpiZWZvcmUsXG5pLmZsYWcubm9yZm9say5pc2xhbmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjMtMWYxZWIuc3ZnXCIpO1xufVxuaS5mbGFnLmtwOjpiZWZvcmUsXG5pLmZsYWcubm9ydGgua29yZWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjAtMWYxZjUuc3ZnXCIpO1xufVxuaS5mbGFnLm1wOjpiZWZvcmUsXG5pLmZsYWcubm9ydGhlcm4ubWFyaWFuYS5pc2xhbmRzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYyLTFmMWY1LnN2Z1wiKTtcbn1cbmkuZmxhZy5ubzo6YmVmb3JlLFxuaS5mbGFnLm5vcndheTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMy0xZjFmNC5zdmdcIik7XG59XG5pLmZsYWcub206OmJlZm9yZSxcbmkuZmxhZy5vbWFuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY0LTFmMWYyLnN2Z1wiKTtcbn1cbmkuZmxhZy5wazo6YmVmb3JlLFxuaS5mbGFnLnBha2lzdGFuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY1LTFmMWYwLnN2Z1wiKTtcbn1cbmkuZmxhZy5wdzo6YmVmb3JlLFxuaS5mbGFnLnBhbGF1OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY1LTFmMWZjLnN2Z1wiKTtcbn1cbmkuZmxhZy5wczo6YmVmb3JlLFxuaS5mbGFnLnBhbGVzdGluaWFuLnRlcnJpdG9yaWVzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY1LTFmMWY4LnN2Z1wiKTtcbn1cbmkuZmxhZy5wYTo6YmVmb3JlLFxuaS5mbGFnLnBhbmFtYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFlNi5zdmdcIik7XG59XG5pLmZsYWcucGc6OmJlZm9yZSxcbmkuZmxhZy5wYXB1YS5uZXcuZ3VpbmVhOjpiZWZvcmUsXG5pLmZsYWcubmV3Lmd1aW5lYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFlYy5zdmdcIik7XG59XG5pLmZsYWcucHk6OmJlZm9yZSxcbmkuZmxhZy5wYXJhZ3VheTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNS0xZjFmZS5zdmdcIik7XG59XG5pLmZsYWcucGU6OmJlZm9yZSxcbmkuZmxhZy5wZXJ1OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY1LTFmMWVhLnN2Z1wiKTtcbn1cbmkuZmxhZy5waDo6YmVmb3JlLFxuaS5mbGFnLnBoaWxpcHBpbmVzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY1LTFmMWVkLnN2Z1wiKTtcbn1cbmkuZmxhZy5wbjo6YmVmb3JlLFxuaS5mbGFnLnBpdGNhaXJuLmlzbGFuZHM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZjMuc3ZnXCIpO1xufVxuaS5mbGFnLnBsOjpiZWZvcmUsXG5pLmZsYWcucG9sYW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY1LTFmMWYxLnN2Z1wiKTtcbn1cbmkuZmxhZy5wdDo6YmVmb3JlLFxuaS5mbGFnLnBvcnR1Z2FsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY1LTFmMWY5LnN2Z1wiKTtcbn1cbmkuZmxhZy5wcjo6YmVmb3JlLFxuaS5mbGFnLnB1ZXJ0by5yaWNvOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY1LTFmMWY3LnN2Z1wiKTtcbn1cbmkuZmxhZy5xYTo6YmVmb3JlLFxuaS5mbGFnLnFhdGFyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY2LTFmMWU2LnN2Z1wiKTtcbn1cbmkuZmxhZy5yZTo6YmVmb3JlLFxuaS5mbGFnLnLDqXVuaW9uOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY3LTFmMWVhLnN2Z1wiKTtcbn1cbmkuZmxhZy5ybzo6YmVmb3JlLFxuaS5mbGFnLnJvbWFuaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjctMWYxZjQuc3ZnXCIpO1xufVxuaS5mbGFnLnJ1OjpiZWZvcmUsXG5pLmZsYWcucnVzc2lhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY3LTFmMWZhLnN2Z1wiKTtcbn1cbmkuZmxhZy5ydzo6YmVmb3JlLFxuaS5mbGFnLnJ3YW5kYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmNy0xZjFmYy5zdmdcIik7XG59XG5pLmZsYWcud3M6OmJlZm9yZSxcbmkuZmxhZy5zYW1vYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYy0xZjFmOC5zdmdcIik7XG59XG5pLmZsYWcuc206OmJlZm9yZSxcbmkuZmxhZy5zYW4ubWFyaW5vOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY4LTFmMWYyLnN2Z1wiKTtcbn1cbmkuZmxhZy5zdDo6YmVmb3JlLFxuaS5mbGFnLnNhby50b21lLmFuZC5wcmluY2lwZTo6YmVmb3JlLFxuaS5mbGFnLnNhbW8udG9tZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmOS5zdmdcIik7XG59XG5pLmZsYWcuc2E6OmJlZm9yZSxcbmkuZmxhZy5zYXVkaS5hcmFiaWE6OmJlZm9yZSxcbmkuZmxhZy5zYXVkaWFyYWJpYTo6YmVmb3JlLFxuaS5mbGFnLnNhdWRpOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY4LTFmMWU2LnN2Z1wiKTtcbn1cbmkuZmxhZy5zbjo6YmVmb3JlLFxuaS5mbGFnLnNlbmVnYWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZjMuc3ZnXCIpO1xufVxuaS5mbGFnLnJzOjpiZWZvcmUsXG5pLmZsYWcuc2VyYmlhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY3LTFmMWY4LnN2Z1wiKTtcbn1cbmkuZmxhZy5zYzo6YmVmb3JlLFxuaS5mbGFnLnNleWNoZWxsZXM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZTguc3ZnXCIpO1xufVxuaS5mbGFnLnNsOjpiZWZvcmUsXG5pLmZsYWcuc2llcnJhLmxlb25lOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY4LTFmMWYxLnN2Z1wiKTtcbn1cbmkuZmxhZy5zZzo6YmVmb3JlLFxuaS5mbGFnLnNpbmdhcG9yZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFlYy5zdmdcIik7XG59XG5pLmZsYWcuc3g6OmJlZm9yZSxcbmkuZmxhZy5zaW50Lm1hYXJ0ZW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZmQuc3ZnXCIpO1xufVxuaS5mbGFnLnNrOjpiZWZvcmUsXG5pLmZsYWcuc2xvdmFraWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZjAuc3ZnXCIpO1xufVxuaS5mbGFnLnNpOjpiZWZvcmUsXG5pLmZsYWcuc2xvdmVuaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZWUuc3ZnXCIpO1xufVxuaS5mbGFnLmdzOjpiZWZvcmUsXG5pLmZsYWcuc291dGguZ2VvcmdpYS5hbmQuc291dGguc2FuZHdpY2guaXNsYW5kczo6YmVmb3JlLFxuaS5mbGFnLnNhbmR3aWNoLmlzbGFuZHM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZWMtMWYxZjguc3ZnXCIpO1xufVxuaS5mbGFnLnNiOjpiZWZvcmUsXG5pLmZsYWcuc29sb21vbi5pc2xhbmRzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY4LTFmMWU3LnN2Z1wiKTtcbn1cbmkuZmxhZy5zbzo6YmVmb3JlLFxuaS5mbGFnLnNvbWFsaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZjQuc3ZnXCIpO1xufVxuaS5mbGFnLnphOjpiZWZvcmUsXG5pLmZsYWcuc291dGguYWZyaWNhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZmLTFmMWU2LnN2Z1wiKTtcbn1cbmkuZmxhZy5rcjo6YmVmb3JlLFxuaS5mbGFnLnNvdXRoLmtvcmVhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYwLTFmMWY3LnN2Z1wiKTtcbn1cbmkuZmxhZy5zczo6YmVmb3JlLFxuaS5mbGFnLnNvdXRoLnN1ZGFuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY4LTFmMWY4LnN2Z1wiKTtcbn1cbmkuZmxhZy5lczo6YmVmb3JlLFxuaS5mbGFnLnNwYWluOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVhLTFmMWY4LnN2Z1wiKTtcbn1cbmkuZmxhZy5sazo6YmVmb3JlLFxuaS5mbGFnLnNyaS5sYW5rYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMS0xZjFmMC5zdmdcIik7XG59XG5pLmZsYWcuYmw6OmJlZm9yZSxcbmkuZmxhZy5zdC5iYXJ0aGVsZW15OjpiZWZvcmUsXG5pLmZsYWcuc2FpbnQuYmFydGg6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTctMWYxZjEuc3ZnXCIpO1xufVxuaS5mbGFnLnNoOjpiZWZvcmUsXG5pLmZsYWcuc3QuaGVsZW5hOjpiZWZvcmUsXG5pLmZsYWcuc2FpbnQuaGVsZW5hOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY4LTFmMWVkLnN2Z1wiKTtcbn1cbmkuZmxhZy5rbjo6YmVmb3JlLFxuaS5mbGFnLnN0LmtpdHRzLmFuZC5uZXZpczo6YmVmb3JlLFxuaS5mbGFnLnNhaW50LmtpdHRzLmFuZC5uYXZpczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmMC0xZjFmMy5zdmdcIik7XG59XG5pLmZsYWcubGM6OmJlZm9yZSxcbmkuZmxhZy5zdC5sdWNpYTo6YmVmb3JlLFxuaS5mbGFnLnNhaW50Lmx1Y2lhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWYxLTFmMWU4LnN2Z1wiKTtcbn1cbmkuZmxhZy5wbTo6YmVmb3JlLFxuaS5mbGFnLnN0LnBpZXJyZS5hbmQubWlxdWVsb246OmJlZm9yZSxcbmkuZmxhZy5zYWludC5waWVycmU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjUtMWYxZjIuc3ZnXCIpO1xufVxuaS5mbGFnLnZjOjpiZWZvcmUsXG5pLmZsYWcuc3QudmluY2VudC5hbmQuZ3JlbmFkaW5lczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYi0xZjFlOC5zdmdcIik7XG59XG5pLmZsYWcuc2Q6OmJlZm9yZSxcbmkuZmxhZy5zdWRhbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFlOS5zdmdcIik7XG59XG5pLmZsYWcuc3I6OmJlZm9yZSxcbmkuZmxhZy5zdXJpbmFtZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmNy5zdmdcIik7XG59XG5pLmZsYWcuc3o6OmJlZm9yZSxcbmkuZmxhZy5lc3dhdGluaTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOC0xZjFmZi5zdmdcIik7XG59XG5pLmZsYWcuc2U6OmJlZm9yZSxcbmkuZmxhZy5zd2VkZW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZWEuc3ZnXCIpO1xufVxuaS5mbGFnLmNoOjpiZWZvcmUsXG5pLmZsYWcuc3dpdHplcmxhbmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTgtMWYxZWQuc3ZnXCIpO1xufVxuaS5mbGFnLnN5OjpiZWZvcmUsXG5pLmZsYWcuc3lyaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjgtMWYxZmUuc3ZnXCIpO1xufVxuaS5mbGFnLnR3OjpiZWZvcmUsXG5pLmZsYWcudGFpd2FuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY5LTFmMWZjLnN2Z1wiKTtcbn1cbmkuZmxhZy50ajo6YmVmb3JlLFxuaS5mbGFnLnRhamlraXN0YW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZWYuc3ZnXCIpO1xufVxuaS5mbGFnLnR6OjpiZWZvcmUsXG5pLmZsYWcudGFuemFuaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZmYuc3ZnXCIpO1xufVxuaS5mbGFnLnRoOjpiZWZvcmUsXG5pLmZsYWcudGhhaWxhbmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZWQuc3ZnXCIpO1xufVxuaS5mbGFnLnRsOjpiZWZvcmUsXG5pLmZsYWcudGltb3ItbGVzdGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZjEuc3ZnXCIpO1xufVxuaS5mbGFnLnRnOjpiZWZvcmUsXG5pLmZsYWcudG9nbzo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFlYy5zdmdcIik7XG59XG5pLmZsYWcudGs6OmJlZm9yZSxcbmkuZmxhZy50b2tlbGF1OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY5LTFmMWYwLnN2Z1wiKTtcbn1cbmkuZmxhZy50bzo6YmVmb3JlLFxuaS5mbGFnLnRvbmdhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY5LTFmMWY0LnN2Z1wiKTtcbn1cbmkuZmxhZy50dDo6YmVmb3JlLFxuaS5mbGFnLnRyaW5pZGFkLmFuZC50b2JhZ286OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZjkuc3ZnXCIpO1xufVxuaS5mbGFnLnRuOjpiZWZvcmUsXG5pLmZsYWcudHVuaXNpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFmMy5zdmdcIik7XG59XG5pLmZsYWcudHI6OmJlZm9yZSxcbmkuZmxhZy50dXJrZXk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZjcuc3ZnXCIpO1xufVxuaS5mbGFnLnRtOjpiZWZvcmUsXG5pLmZsYWcudHVya21lbmlzdGFuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY5LTFmMWYyLnN2Z1wiKTtcbn1cbmkuZmxhZy50Yzo6YmVmb3JlLFxuaS5mbGFnLnR1cmtzLmFuZC5jYWljb3MuaXNsYW5kczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmOS0xZjFlOC5zdmdcIik7XG59XG5pLmZsYWcudmk6OmJlZm9yZSxcbmkuZmxhZy51cy52aXJnaW4uaXNsYW5kczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYi0xZjFlZS5zdmdcIik7XG59XG5pLmZsYWcudHY6OmJlZm9yZSxcbmkuZmxhZy50dXZhbHU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZmIuc3ZnXCIpO1xufVxuaS5mbGFnLnVnOjpiZWZvcmUsXG5pLmZsYWcudWdhbmRhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZhLTFmMWVjLnN2Z1wiKTtcbn1cbmkuZmxhZy51YTo6YmVmb3JlLFxuaS5mbGFnLnVrcmFpbmU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmEtMWYxZTYuc3ZnXCIpO1xufVxuaS5mbGFnLmFlOjpiZWZvcmUsXG5pLmZsYWcudW5pdGVkLmFyYWIuZW1pcmF0ZXM6OmJlZm9yZSxcbmkuZmxhZy51YWU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZTYtMWYxZWEuc3ZnXCIpO1xufVxuaS5mbGFnLmdiOjpiZWZvcmUsXG5pLmZsYWcudW5pdGVkLmtpbmdkb206OmJlZm9yZSxcbmkuZmxhZy51azo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYy0xZjFlNy5zdmdcIik7XG59XG5pLmZsYWcuZ2IuZW5nOjpiZWZvcmUsXG5pLmZsYWcuZW5nbGFuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjNmNC1lMDA2Ny1lMDA2Mi1lMDA2NS1lMDA2ZS1lMDA2Ny1lMDA3Zi5zdmdcIik7XG59XG5pLmZsYWcuZ2Iuc2N0OjpiZWZvcmUsXG5pLmZsYWcuc2NvdGxhbmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYzZjQtZTAwNjctZTAwNjItZTAwNzMtZTAwNjMtZTAwNzQtZTAwN2Yuc3ZnXCIpO1xufVxuaS5mbGFnLmdiLndsczo6YmVmb3JlLFxuaS5mbGFnLndhbGVzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmM2Y0LWUwMDY3LWUwMDYyLWUwMDc3LWUwMDZjLWUwMDczLWUwMDdmLnN2Z1wiKTtcbn1cbmkuZmxhZy51czo6YmVmb3JlLFxuaS5mbGFnLnVuaXRlZC5zdGF0ZXM6OmJlZm9yZSxcbmkuZmxhZy5hbWVyaWNhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZhLTFmMWY4LnN2Z1wiKTtcbn1cbmkuZmxhZy51eTo6YmVmb3JlLFxuaS5mbGFnLnVydWd1YXk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmEtMWYxZmUuc3ZnXCIpO1xufVxuaS5mbGFnLnV6OjpiZWZvcmUsXG5pLmZsYWcudXpiZWtpc3Rhbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYS0xZjFmZi5zdmdcIik7XG59XG5pLmZsYWcudnU6OmJlZm9yZSxcbmkuZmxhZy52YW51YXR1OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWZiLTFmMWZhLnN2Z1wiKTtcbn1cbmkuZmxhZy52YTo6YmVmb3JlLFxuaS5mbGFnLnZhdGljYW4uY2l0eTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYi0xZjFlNi5zdmdcIik7XG59XG5pLmZsYWcudmU6OmJlZm9yZSxcbmkuZmxhZy52ZW5lenVlbGE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmItMWYxZWEuc3ZnXCIpO1xufVxuaS5mbGFnLnZuOjpiZWZvcmUsXG5pLmZsYWcudmlldG5hbTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYi0xZjFmMy5zdmdcIik7XG59XG5pLmZsYWcud2Y6OmJlZm9yZSxcbmkuZmxhZy53YWxsaXMuYW5kLmZ1dHVuYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYy0xZjFlYi5zdmdcIik7XG59XG5pLmZsYWcuZWg6OmJlZm9yZSxcbmkuZmxhZy53ZXN0ZXJuLnNhaGFyYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlYS0xZjFlZC5zdmdcIik7XG59XG5pLmZsYWcueWU6OmJlZm9yZSxcbmkuZmxhZy55ZW1lbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmZS0xZjFlYS5zdmdcIik7XG59XG5pLmZsYWcuem06OmJlZm9yZSxcbmkuZmxhZy56YW1iaWE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmYtMWYxZjIuc3ZnXCIpO1xufVxuaS5mbGFnLnp3OjpiZWZvcmUsXG5pLmZsYWcuemltYmFid2U6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmYtMWYxZmMuc3ZnXCIpO1xufVxuaS5mbGFnLmFjOjpiZWZvcmUsXG5pLmZsYWcuYXNjZW5zaW9uLmlzbGFuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlNi0xZjFlOC5zdmdcIik7XG59XG5pLmZsYWcuYnY6OmJlZm9yZSxcbmkuZmxhZy5ib3V2ZXQuaXNsYW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU3LTFmMWZiLnN2Z1wiKTtcbn1cbmkuZmxhZy5jcDo6YmVmb3JlLFxuaS5mbGFnLmNsaXBwZXJ0b24uaXNsYW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWU4LTFmMWY1LnN2Z1wiKTtcbn1cbmkuZmxhZy5lYTo6YmVmb3JlLFxuaS5mbGFnLmNldXRhLmFuZC5tZWxpbGxhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWVhLTFmMWU2LnN2Z1wiKTtcbn1cbmkuZmxhZy5kZzo6YmVmb3JlLFxuaS5mbGFnLmRpZWdvLmdhcmNpYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlOS0xZjFlYy5zdmdcIik7XG59XG5pLmZsYWcuaG06OmJlZm9yZSxcbmkuZmxhZy5oZWFyZC5hbmQubWNkb25hbGQuaXNsYW5kczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFlZC0xZjFmMi5zdmdcIik7XG59XG5pLmZsYWcubWY6OmJlZm9yZSxcbmkuZmxhZy5zdC5tYXJ0aW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjItMWYxZWIuc3ZnXCIpO1xufVxuaS5mbGFnLnNqOjpiZWZvcmUsXG5pLmZsYWcuc3ZhbGJhcmQuYW5kLmphbi5tYXllbjo6YmVmb3JlLFxuaS5mbGFnLnN2YWxiYXJkOjpiZWZvcmUsXG5pLmZsYWcuamFuLm1heWVuOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQGxhdGVzdC9hc3NldHMvc3ZnLzFmMWY4LTFmMWVmLnN2Z1wiKTtcbn1cbmkuZmxhZy50YTo6YmVmb3JlLFxuaS5mbGFnLnRyaXN0YW4uZGEuY3VuaGE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZjktMWYxZTYuc3ZnXCIpO1xufVxuaS5mbGFnLnVtOjpiZWZvcmUsXG5pLmZsYWcudXMub3V0bHlpbmcuaXNsYW5kczo6YmVmb3JlLFxuaS5mbGFnLm1pbm9yLmlzbGFuZHM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZGVja2VkL3R3ZW1vamlAbGF0ZXN0L2Fzc2V0cy9zdmcvMWYxZmEtMWYxZjIuc3ZnXCIpO1xufVxuaS5mbGFnLnVuOjpiZWZvcmUsXG5pLmZsYWcudW5pdGVkLm5hdGlvbnM6OmJlZm9yZSxcbmkuZmxhZy51bml0ZWQubmF0aW9uczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2pkZWNrZWQvdHdlbW9qaUBsYXRlc3QvYXNzZXRzL3N2Zy8xZjFmYS0xZjFmMy5zdmdcIik7XG59XG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEhlYWRlclxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEhlYWRlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU3ViIEhlYWRpbmcgKi9cbi8qIFN1YiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEltYWdlICovXG4vKiBMYWJlbCAqL1xuLyogQ29udGVudCAqL1xuLyogUGFyYWdyYXBoIGFmdGVyIEhlYWRlciAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNpemluZyAqL1xuLyogU3ViIEhlYWRlciAqL1xuLyogSWNvbiBIZWFkZXIgKi9cbi8qIE5vIExpbmUgSGVpZ2h0IE9mZnNldCAqL1xuLyogRGl2aWRlZCAqL1xuLyogQmxvY2sgKi9cbi8qIEF0dGFjaGVkICovXG4vKiBJbnZlcnRlZCAqL1xuLyogRmxvYXRlZCAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEhlYWRlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFN0YW5kYXJkICovXG4udWkuaGVhZGVyIHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IGNhbGMoMnJlbSAtIDAuMTQyODU3MTQyODU3MTQyOWVtKSAwIDFyZW07XG4gIHBhZGRpbmc6IDAgMDtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS4yODU3MTQyOWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuaGVhZGVyOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogLTAuMTQyODU3MTRlbTtcbn1cbi51aS5oZWFkZXI6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIFN1YiBIZWFkZXJcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBJY29uXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5oZWFkZXIgPiAuaWNvbnMsXG4udWkuaGVhZGVyID4gaS5pY29uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgb3BhY2l0eTogMTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4vKiBXaXRoIFRleHQgTm9kZSAqL1xuLnVpLmhlYWRlcjpub3QoLmljb24pID4gLmljb25zOm9ubHktY2hpbGQsXG4udWkuaGVhZGVyOm5vdCguaWNvbikgPiBpLmljb246b25seS1jaGlsZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbWFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5oZWFkZXIgPiAuaW1hZ2U6bm90KC5pY29uKSxcbi51aS5oZWFkZXIgPiBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDAuMTQyODU3MTRlbTtcbiAgd2lkdGg6IDIuNWVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4udWkuaGVhZGVyID4gLmltYWdlOm5vdCguaWNvbik6b25seS1jaGlsZCxcbi51aS5oZWFkZXIgPiBpbWc6b25seS1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmhlYWRlciAuY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi8qIEFmdGVyIEltYWdlICovXG4udWkuaGVhZGVyID4gaW1nICsgLmNvbnRlbnQsXG4udWkuaGVhZGVyID4gLmltYWdlICsgLmNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4vKiBBZnRlciBJY29uICovXG4udWkuaGVhZGVyOm5vdCguaWNvbik6bm90KC5jZW50ZXJlZCk6bm90KC5hbGlnbmVkKSA+IC5pY29ucyArIC5jb250ZW50LFxuLnVpLmhlYWRlcjpub3QoLmljb24pOm5vdCguY2VudGVyZWQpOm5vdCguYWxpZ25lZCkgPiBpLmljb24gKyAuY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gTG9vc2UgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmhlYWRlciAudWkubGFiZWwge1xuICBmb250LXNpemU6IFwiXCI7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4vKiBQb3NpdGlvbmluZyAqL1xuLnVpLmhlYWRlciArIHAge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tICovXG5oMS51aS5oZWFkZXIge1xuICBmb250LXNpemU6IDJyZW07XG59XG5oMS51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG5oMi51aS5oZWFkZXIge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG5oMi51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG5oMy51aS5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG5oMy51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDFyZW07XG59XG5oNC51aS5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMDcxNDI4NTdyZW07XG59XG5oNC51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDFyZW07XG59XG5oNS51aS5oZWFkZXIge1xuICBmb250LXNpemU6IDFyZW07XG59XG5oNS51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG5oNi51aS5oZWFkZXIge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG5oNi51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuIENvbnRlbnQgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWluaS5oZWFkZXIge1xuICBmb250LXNpemU6IDAuODU3MTQyODZlbTtcbn1cbi51aS5taW5pLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbi51aS5taW5pLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjllbTtcbn1cbi51aS50aW55LmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLnRpbnkuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLnRpbnkuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOWVtO1xufVxuLnVpLnNtYWxsLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4wNzE0Mjg1N2VtO1xufVxuLnVpLnNtYWxsLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5zbWFsbC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5ZW07XG59XG4udWkubGFyZ2UuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxZW07XG59XG4udWkubGFyZ2UuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmxhcmdlLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbn1cbi51aS5iaWcuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjg1NzE0Mjg2ZW07XG59XG4udWkuYmlnLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5iaWcuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLmh1Z2UuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbn1cbi51aS5odWdlLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5odWdlLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDFlbTtcbn1cbi51aS5tYXNzaXZlLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMi4yODU3MTQyOWVtO1xuICBtaW4taGVpZ2h0OiAxZW07XG59XG4udWkubWFzc2l2ZS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIFN1YiBIZWFkaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc3ViLmhlYWRlciB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuMTQyODU3MTRyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuODU3MTQyODZlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IFwiXCI7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBJY29uXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pY29uLmhlYWRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDJyZW0gMCAxcmVtO1xufVxuLnVpLmljb24uaGVhZGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIGNsZWFyOiBib3RoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkuaWNvbi5oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLmljb24uaGVhZGVyID4gLmltYWdlLmljb24sXG4udWkuaWNvbi5oZWFkZXIgPiAuaWNvbnMsXG4udWkuaWNvbi5oZWFkZXIgPiBpLmljb24ge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDNlbTtcbiAgbWFyZ2luOiAwIGF1dG8gMC41cmVtO1xuICBvcGFjaXR5OiAxO1xufVxuLnVpLmljb24uaGVhZGVyIC5jb3JuZXIuaWNvbiB7XG4gIGZvbnQtc2l6ZTogY2FsYygzZW0gKiAwLjQ1KTtcbn1cbi51aS5pY29uLmhlYWRlciAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xufVxuLnVpLmljb24uaGVhZGVyID4gaS5jaXJjdWxhciB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuLnVpLmljb24uaGVhZGVyID4gaS5zcXVhcmUge1xuICBmb250LXNpemU6IDJlbTtcbn1cbi51aS5ibG9jay5pY29uLmhlYWRlciA+IC5pbWFnZS5pY29uLFxuLnVpLmJsb2NrLmljb24uaGVhZGVyID4gLmljb25zLFxuLnVpLmJsb2NrLmljb24uaGVhZGVyID4gaS5pY29uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi51aS5pY29uLmhlYWRlci5hbGlnbmVkIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmRpc2FibGVkLmhlYWRlciB7XG4gIG9wYWNpdHk6IDAuNDU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbnZlcnRlZC5oZWFkZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xufVxuLnVpLmludmVydGVkLmF0dGFjaGVkLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4udWkuaW52ZXJ0ZWQuYmxvY2suaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogIzU0NTQ1NCBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC4wNSkpO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5wcmltYXJ5LmhlYWRlciB7XG4gIGNvbG9yOiAjNkMzNjY3O1xufVxuYS51aS5wcmltYXJ5LmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjNWQyYjU5O1xufVxuLnVpLnByaW1hcnkuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM2QzM2Njc7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5oZWFkZXIuaGVhZGVyLmhlYWRlciB7XG4gIGNvbG9yOiAjNTRjOGZmO1xufVxuYS51aS5pbnZlcnRlZC5wcmltYXJ5LmhlYWRlci5oZWFkZXIuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICMyMWI4ZmY7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzU0YzhmZjtcbn1cbi51aS5zZWNvbmRhcnkuaGVhZGVyIHtcbiAgY29sb3I6ICM4OGQzMTc7XG59XG5hLnVpLnNlY29uZGFyeS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzk4ZjAxMztcbn1cbi51aS5zZWNvbmRhcnkuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM4OGQzMTc7XG59XG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmhlYWRlci5oZWFkZXIuaGVhZGVyIHtcbiAgY29sb3I6ICM1NDU0NTQ7XG59XG5hLnVpLmludmVydGVkLnNlY29uZGFyeS5oZWFkZXIuaGVhZGVyLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjNmU2ZTZlO1xufVxuLnVpLmludmVydGVkLnNlY29uZGFyeS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzU0NTQ1NDtcbn1cbi51aS5yZWQuaGVhZGVyIHtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG5hLnVpLnJlZC5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2QwMTkxOTtcbn1cbi51aS5yZWQuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkYjI4Mjg7XG59XG4udWkuaW52ZXJ0ZWQucmVkLmhlYWRlci5oZWFkZXIuaGVhZGVyIHtcbiAgY29sb3I6ICNmZjY5NWU7XG59XG5hLnVpLmludmVydGVkLnJlZC5oZWFkZXIuaGVhZGVyLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjZmYzOTJiO1xufVxuLnVpLmludmVydGVkLnJlZC5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmNjk1ZTtcbn1cbi51aS5vcmFuZ2UuaGVhZGVyIHtcbiAgY29sb3I6ICNmMjcxMWM7XG59XG5hLnVpLm9yYW5nZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2YyNjIwMjtcbn1cbi51aS5vcmFuZ2UuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmMjcxMWM7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLmhlYWRlci5oZWFkZXIuaGVhZGVyIHtcbiAgY29sb3I6ICNmZjg1MWI7XG59XG5hLnVpLmludmVydGVkLm9yYW5nZS5oZWFkZXIuaGVhZGVyLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjZTc2YjAwO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmODUxYjtcbn1cbi51aS55ZWxsb3cuaGVhZGVyIHtcbiAgY29sb3I6ICNmYmJkMDg7XG59XG5hLnVpLnllbGxvdy5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2VhYWUwMDtcbn1cbi51aS55ZWxsb3cuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmYmJkMDg7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmhlYWRlci5oZWFkZXIuaGVhZGVyIHtcbiAgY29sb3I6ICNmZmUyMWY7XG59XG5hLnVpLmludmVydGVkLnllbGxvdy5oZWFkZXIuaGVhZGVyLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjZWJjZDAwO1xufVxuLnVpLmludmVydGVkLnllbGxvdy5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZTIxZjtcbn1cbi51aS5vbGl2ZS5oZWFkZXIge1xuICBjb2xvcjogI2I1Y2MxODtcbn1cbmEudWkub2xpdmUuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICNhN2JkMGQ7XG59XG4udWkub2xpdmUuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNiNWNjMTg7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuaGVhZGVyLmhlYWRlci5oZWFkZXIge1xuICBjb2xvcjogI2Q5ZTc3ODtcbn1cbmEudWkuaW52ZXJ0ZWQub2xpdmUuaGVhZGVyLmhlYWRlci5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2QyZTc0NTtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Q5ZTc3ODtcbn1cbi51aS5ncmVlbi5oZWFkZXIge1xuICBjb2xvcjogIzIxYmE0NTtcbn1cbmEudWkuZ3JlZW4uaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICMxNmFiMzk7XG59XG4udWkuZ3JlZW4uZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyMWJhNDU7XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4uaGVhZGVyLmhlYWRlci5oZWFkZXIge1xuICBjb2xvcjogIzJlY2M0MDtcbn1cbmEudWkuaW52ZXJ0ZWQuZ3JlZW4uaGVhZGVyLmhlYWRlci5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzFlYTkyZTtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzJlY2M0MDtcbn1cbi51aS50ZWFsLmhlYWRlciB7XG4gIGNvbG9yOiAjMDBiNWFkO1xufVxuYS51aS50ZWFsLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjMDA5Yzk1O1xufVxuLnVpLnRlYWwuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMGI1YWQ7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5oZWFkZXIuaGVhZGVyLmhlYWRlciB7XG4gIGNvbG9yOiAjNmRmZmZmO1xufVxuYS51aS5pbnZlcnRlZC50ZWFsLmhlYWRlci5oZWFkZXIuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICMzYWZmZmY7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzZkZmZmZjtcbn1cbi51aS5ibHVlLmhlYWRlciB7XG4gIGNvbG9yOiAjMjE4NWQwO1xufVxuYS51aS5ibHVlLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjMTY3OGMyO1xufVxuLnVpLmJsdWUuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyMTg1ZDA7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5oZWFkZXIuaGVhZGVyLmhlYWRlciB7XG4gIGNvbG9yOiAjNTRjOGZmO1xufVxuYS51aS5pbnZlcnRlZC5ibHVlLmhlYWRlci5oZWFkZXIuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICMyMWI4ZmY7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzU0YzhmZjtcbn1cbi51aS52aW9sZXQuaGVhZGVyIHtcbiAgY29sb3I6ICM2NDM1Yzk7XG59XG5hLnVpLnZpb2xldC5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzU4MjliYjtcbn1cbi51aS52aW9sZXQuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM2NDM1Yzk7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0LmhlYWRlci5oZWFkZXIuaGVhZGVyIHtcbiAgY29sb3I6ICNhMjkxZmI7XG59XG5hLnVpLmludmVydGVkLnZpb2xldC5oZWFkZXIuaGVhZGVyLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjNzQ1YWZmO1xufVxuLnVpLmludmVydGVkLnZpb2xldC5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2EyOTFmYjtcbn1cbi51aS5wdXJwbGUuaGVhZGVyIHtcbiAgY29sb3I6ICNhMzMzYzg7XG59XG5hLnVpLnB1cnBsZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzk2MjdiYTtcbn1cbi51aS5wdXJwbGUuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhMzMzYzg7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLmhlYWRlci5oZWFkZXIuaGVhZGVyIHtcbiAgY29sb3I6ICNkYzczZmY7XG59XG5hLnVpLmludmVydGVkLnB1cnBsZS5oZWFkZXIuaGVhZGVyLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjY2Y0MGZmO1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RjNzNmZjtcbn1cbi51aS5waW5rLmhlYWRlciB7XG4gIGNvbG9yOiAjZTAzOTk3O1xufVxuYS51aS5waW5rLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjZTYxYThkO1xufVxuLnVpLnBpbmsuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlMDM5OTc7XG59XG4udWkuaW52ZXJ0ZWQucGluay5oZWFkZXIuaGVhZGVyLmhlYWRlciB7XG4gIGNvbG9yOiAjZmY4ZWRmO1xufVxuYS51aS5pbnZlcnRlZC5waW5rLmhlYWRlci5oZWFkZXIuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICNmZjViZDE7XG59XG4udWkuaW52ZXJ0ZWQucGluay5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmOGVkZjtcbn1cbi51aS5icm93bi5oZWFkZXIge1xuICBjb2xvcjogI2E1NjczZjtcbn1cbmEudWkuYnJvd24uaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICM5NzViMzM7XG59XG4udWkuYnJvd24uZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhNTY3M2Y7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uaGVhZGVyLmhlYWRlci5oZWFkZXIge1xuICBjb2xvcjogI2Q2N2MxYztcbn1cbmEudWkuaW52ZXJ0ZWQuYnJvd24uaGVhZGVyLmhlYWRlci5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2IwNjIwZjtcbn1cbi51aS5pbnZlcnRlZC5icm93bi5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Q2N2MxYztcbn1cbi51aS5ncmV5LmhlYWRlciB7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuYS51aS5ncmV5LmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjODM4MzgzO1xufVxuLnVpLmdyZXkuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM3Njc2NzY7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5oZWFkZXIuaGVhZGVyLmhlYWRlciB7XG4gIGNvbG9yOiAjZGNkZGRlO1xufVxuYS51aS5pbnZlcnRlZC5ncmV5LmhlYWRlci5oZWFkZXIuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICNjMmM0YzU7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RjZGRkZTtcbn1cbi51aS5ibGFjay5oZWFkZXIge1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbmEudWkuYmxhY2suaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICMyNzI5MmE7XG59XG4udWkuYmxhY2suZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMxYjFjMWQ7XG59XG4udWkuaW52ZXJ0ZWQuYmxhY2suaGVhZGVyLmhlYWRlci5oZWFkZXIge1xuICBjb2xvcjogIzU0NTQ1NDtcbn1cbmEudWkuaW52ZXJ0ZWQuYmxhY2suaGVhZGVyLmhlYWRlci5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzU0NTQ1NDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQWxpZ25lZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubGVmdC5hbGlnbmVkLmhlYWRlciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udWkucmlnaHQuYWxpZ25lZC5oZWFkZXIge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi51aS5jZW50ZXJlZC5oZWFkZXIsXG4udWkuY2VudGVyLmFsaWduZWQuaGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnVpLmp1c3RpZmllZC5oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuLnVpLmp1c3RpZmllZC5oZWFkZXI6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgRmxvYXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmxvYXRlZC5oZWFkZXIsXG4udWlbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLmhlYWRlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0uaGVhZGVyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEZpdHRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZml0dGVkLmhlYWRlciB7XG4gIHBhZGRpbmc6IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRGl2aWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRpdmlkaW5nLmhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjIxNDI4NTcxcmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5kaXZpZGluZy5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMC4yMTQyODU3MXJlbTtcbn1cbi51aS5kaXZpZGluZy5oZWFkZXIgaS5pY29uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi51aS5pbnZlcnRlZC5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBCbG9ja1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYmxvY2suaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogI2YzZjRmNTtcbiAgcGFkZGluZzogMC43ODU3MTQyOXJlbSAxcmVtO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDRkNGQ1O1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLmJsb2NrLmhlYWRlcjpub3QoaDEpOm5vdChoMik6bm90KGgzKTpub3QoaDQpOm5vdChoNSk6bm90KGg2KSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5taW5pLmJsb2NrLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS50aW55LmJsb2NrLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS5zbWFsbC5ibG9jay5oZWFkZXIge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkubGFyZ2UuYmxvY2suaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy5ibG9jay5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG4udWkuaHVnZS5ibG9jay5oZWFkZXIge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5ibG9jay5oZWFkZXIge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEF0dGFjaGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5hdHRhY2hlZC5oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5cmVtIDFyZW07XG4gIG1hcmdpbjogMCAtMXB4O1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDRkNGQ1O1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnVpLmF0dGFjaGVkLmJsb2NrLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICNmM2Y0ZjU7XG59XG4udWkuYXR0YWNoZWQ6bm90KC50b3ApLmhlYWRlciB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4udWkudG9wLmF0dGFjaGVkLmhlYWRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWkuYm90dG9tLmF0dGFjaGVkLmhlYWRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4udWkuc2VhbWxlc3MuYXR0YWNoZWQ6bm90KC5ib3R0b20pLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4vKiBBdHRhY2hlZCBTaXplcyAqL1xuLnVpLmF0dGFjaGVkLmhlYWRlcjpub3QoaDEpOm5vdChoMik6bm90KGgzKTpub3QoaDQpOm5vdChoNSk6bm90KGg2KSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLm1pbmkuYXR0YWNoZWQuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5ZW07XG59XG4udWkudGlueS5hdHRhY2hlZC5oZWFkZXIge1xuICBmb250LXNpemU6IDAuODU3MTQyODZlbTtcbn1cbi51aS5zbWFsbC5hdHRhY2hlZC5oZWFkZXIge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbn1cbi51aS5sYXJnZS5hdHRhY2hlZC5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRlbTtcbn1cbi51aS5iaWcuYXR0YWNoZWQuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5ZW07XG59XG4udWkuaHVnZS5hdHRhY2hlZC5oZWFkZXIge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNlbTtcbn1cbi51aS5tYXNzaXZlLmF0dGFjaGVkLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXppbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaGVhZGVyOm5vdChoMSk6bm90KGgyKTpub3QoaDMpOm5vdChoNCk6bm90KGg1KTpub3QoaDYpIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5ZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gSWNvblxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLypcbiogRm9udCBBd2Vzb21lIDUuMTUuNCBieSBAZm9udGF3ZXNvbWUgW2h0dHBzOi8vZm9udGF3ZXNvbWUuY29tXVxuKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZSAoSWNvbnM6IENDIEJZIDQuMCBMaWNlbnNlLCBGb250czogU0lMIE9GTCAxLjEgTGljZW5zZSwgQ1NTOiBNSVQgTGljZW5zZSlcbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5Gb21hbnRpYy1VSSBpbnRlZ3JhdGlvbiBvZiBGb250QXdlc29tZTpcblxuLy8gY2xhc3MgbmFtZXMgYXJlIHNlcGFyYXRlZFxuaS5pY29uLmFuZ2xlLWxlZnQgID0+ICBpLmljb24uYW5nbGUubGVmdFxuXG4vLyB2YXJpYXRpb25zIGFyZSBleHRyYWN0ZWRcbmkuaWNvbi5jaXJjbGUgICAgICA9PiAgaS5pY29uLmNpcmNsZVxuaS5pY29uLmNpcmNsZS1vICAgID0+ICBpLmljb24uY2lyY2xlLm91dGxpbmVcblxuLy8gYWJicmV2aWF0aW9uIGFyZSByZXBsYWNlZCBieSBmdWxsIHdvcmRzXG5pLmljb24uKi1oICAgICAgICAgPT4gIGkuaWNvbi4qLmhvcml6b250YWxcbmkuaWNvbi4qLXYgICAgICAgICA9PiAgaS5pY29uLioudmVydGljYWxcbmkuaWNvbi5hbHBoYSAgICAgICA9PiAgaS5pY29uLmFscGhhYmV0XG5pLmljb24uYXNjICAgICAgICAgPT4gIGkuaWNvbi5hc2NlbmRpbmdcbmkuaWNvbi5kZXNjICAgICAgICA9PiAgaS5pY29uLmRlc2NlbmRpbmdcbmkuaWNvbi5hbHQgICAgICAgICA9PiAgaS5pY29uLmFsdGVybmF0ZVxuXG5JY29ucyBhcmUgb3JkZXIgQS1aIGluIHRoZWlyIGdyb3VwLCBTb2xpZCwgT3V0bGluZSwgVGhpbiAoUHJvIG9ubHkpIGFuZCBCcmFuZFxuXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBJY29uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvbnQgRmlsZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU29saWQgSWNvbnMgKi9cbi8qIERlcHJlY2F0ZWQgKEluL091dCBOYW1pbmcgQ29uZmxpY3QpICovXG4vKiBJY29ucyAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIERlZmluaXRpb25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSWNvbiBWYXJpYWJsZXMgKi9cbi8qIFZhcmlhdGlvbnMgKi9cbi8qIER1b3RvbmUgc3BlY2lmaWNzICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEljb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiaWNvbnNcIjtcbiAgc3JjOiB1cmwoXCIuL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9pY29ucy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSAsIHVybChcIi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL2ljb25zLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJvdXRsaW5lLWljb25zXCI7XG4gIHNyYzogdXJsKFwiLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvb3V0bGluZS1pY29ucy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSAsIHVybChcIi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL291dGxpbmUtaWNvbnMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG4gIHNyYzogdXJsKFwiLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvYnJhbmQtaWNvbnMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIikgLCB1cmwoXCIuL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9icmFuZC1pY29ucy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5pLmljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG4gIG1hcmdpbjogMCAwLjI1cmVtIDAgMDtcbiAgd2lkdGg6IDEuMThlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIGZvbnQtZmFtaWx5OiBcImljb25zXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHNwZWFrOiBub25lO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuaS5pY29uOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExvYWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbmkubG9hZGluZy5pY29uIHtcbiAgaGVpZ2h0OiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuaS5sb2FkaW5nLmljb24sXG5pLmxvYWRpbmcuaWNvbnMge1xuICBhbmltYXRpb246IGxvYWRlciAycyBsaW5lYXIgaW5maW5pdGU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmkuaWNvbjpob3ZlcixcbmkuaWNvbnM6aG92ZXIsXG5pLmljb246YWN0aXZlLFxuaS5pY29uczphY3RpdmUsXG5pLmVtcGhhc2l6ZWQuaWNvbjpub3QoLmRpc2FibGVkKSxcbmkuZW1waGFzaXplZC5pY29uczpub3QoLmRpc2FibGVkKSB7XG4gIG9wYWNpdHk6IDE7XG59XG5pLmRpc2FibGVkLmljb24sXG5pLmRpc2FibGVkLmljb25zIHtcbiAgb3BhY2l0eTogMC40NTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBGaXR0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaS5maXR0ZWQuaWNvbnMsXG5pLmZpdHRlZC5pY29uIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgIExpbmtcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaS5saW5rLmljb246bm90KC5kaXNhYmxlZCksXG5pLmxpbmsuaWNvbnM6bm90KC5kaXNhYmxlZCkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDAuODtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG59XG5pLmxpbmsuaWNvbjpob3ZlcixcbmkubGluay5pY29uczpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgQ2lyY3VsYXJcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaS5jaXJjdWxhci5pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogNTAwZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMC41ZW0gMCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjFlbSByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQ7XG4gIHdpZHRoOiAyZW0gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAyZW0gIWltcG9ydGFudDtcbn1cbmkuY2lyY3VsYXIuaWNvbi5jb2xvcmVkIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4xZW0gY3VycmVudENvbG9yIGluc2V0O1xufVxuaS5jaXJjdWxhci5pbnZlcnRlZC5pY29uIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEZsaXBwZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaS5mbGlwcGVkLmljb24sXG5pLmhvcml6b250YWxseS5mbGlwcGVkLmljb24ge1xuICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbn1cbmkudmVydGljYWxseS5mbGlwcGVkLmljb24ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbn1cbi5pY29ucyBpLmZsaXBwZWQuaWNvbjpub3QoLmNvcm5lcik6bm90KDpmaXJzdC1jaGlsZCksXG4uaWNvbnMgaS5ob3Jpem9udGFsbHkuZmxpcHBlZC5pY29uOm5vdCguY29ybmVyKTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKC0xLCAxKTtcbn1cbi5pY29ucyBpLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uOm5vdCguY29ybmVyKTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEsIC0xKTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBSb3RhdGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmkucm90YXRlZC5pY29uLFxuaS5yaWdodC5yb3RhdGVkLmljb24sXG5pLmNsb2Nrd2lzZS5yb3RhdGVkLmljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5pLmxlZnQucm90YXRlZC5pY29uLFxuaS5jb3VudGVyY2xvY2t3aXNlLnJvdGF0ZWQuaWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG5pLmhhbGZ3YXkucm90YXRlZC5pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbi5pY29ucyBpLnJvdGF0ZWQucm90YXRlZC5pY29uOm5vdCguY29ybmVyKTpub3QoOmZpcnN0LWNoaWxkKSxcbi5pY29ucyBpLnJpZ2h0LnJvdGF0ZWQuaWNvbjpub3QoLmNvcm5lcik6bm90KDpmaXJzdC1jaGlsZCksXG4uaWNvbnMgaS5jbG9ja3dpc2Uucm90YXRlZC5pY29uOm5vdCguY29ybmVyKTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg5MGRlZyk7XG59XG4uaWNvbnMgaS5sZWZ0LnJvdGF0ZWQuaWNvbjpub3QoLmNvcm5lcik6bm90KDpmaXJzdC1jaGlsZCksXG4uaWNvbnMgaS5jb3VudGVyY2xvY2t3aXNlLnJvdGF0ZWQuaWNvbjpub3QoLmNvcm5lcik6bm90KDpmaXJzdC1jaGlsZCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTkwZGVnKTtcbn1cbi5pY29ucyBpLmhhbGZ3YXkucm90YXRlZC5pY29uOm5vdCguY29ybmVyKTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBGbGlwcGVkICYgUm90YXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaS5yb3RhdGVkLmZsaXBwZWQuaWNvbixcbmkucmlnaHQucm90YXRlZC5mbGlwcGVkLmljb24sXG5pLmNsb2Nrd2lzZS5yb3RhdGVkLmZsaXBwZWQuaWNvbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpIHJvdGF0ZSg5MGRlZyk7XG59XG5pLmxlZnQucm90YXRlZC5mbGlwcGVkLmljb24sXG5pLmNvdW50ZXJjbG9ja3dpc2Uucm90YXRlZC5mbGlwcGVkLmljb24ge1xuICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKSByb3RhdGUoLTkwZGVnKTtcbn1cbmkuaGFsZndheS5yb3RhdGVkLmZsaXBwZWQuaWNvbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpIHJvdGF0ZSgxODBkZWcpO1xufVxuaS5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uLFxuaS5yaWdodC5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uLFxuaS5jbG9ja3dpc2Uucm90YXRlZC52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpIHJvdGF0ZSg5MGRlZyk7XG59XG5pLmxlZnQucm90YXRlZC52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbixcbmkuY291bnRlcmNsb2Nrd2lzZS5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSkgcm90YXRlKC05MGRlZyk7XG59XG5pLmhhbGZ3YXkucm90YXRlZC52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpIHJvdGF0ZSgxODBkZWcpO1xufVxuLmljb25zIGkucm90YXRlZC5mbGlwcGVkLmljb246bm90KC5jb3JuZXIpOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmljb25zIGkucmlnaHQucm90YXRlZC5mbGlwcGVkLmljb246bm90KC5jb3JuZXIpOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmljb25zIGkuY2xvY2t3aXNlLnJvdGF0ZWQuZmxpcHBlZC5pY29uOm5vdCguY29ybmVyKTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKC0xLCAxKSByb3RhdGUoOTBkZWcpO1xufVxuLmljb25zIGkubGVmdC5yb3RhdGVkLmZsaXBwZWQuaWNvbjpub3QoLmNvcm5lcik6bm90KDpmaXJzdC1jaGlsZCksXG4uaWNvbnMgaS5jb3VudGVyY2xvY2t3aXNlLnJvdGF0ZWQuZmxpcHBlZC5pY29uOm5vdCguY29ybmVyKTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKC0xLCAxKSByb3RhdGUoLTkwZGVnKTtcbn1cbi5pY29ucyBpLmhhbGZ3YXkucm90YXRlZC5mbGlwcGVkLmljb246bm90KC5jb3JuZXIpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoLTEsIDEpIHJvdGF0ZSgxODBkZWcpO1xufVxuLmljb25zIGkucm90YXRlZC52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbjpub3QoLmNvcm5lcik6bm90KDpmaXJzdC1jaGlsZCksXG4uaWNvbnMgaS5yaWdodC5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uOm5vdCguY29ybmVyKTpub3QoOmZpcnN0LWNoaWxkKSxcbi5pY29ucyBpLmNsb2Nrd2lzZS5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uOm5vdCguY29ybmVyKTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEsIC0xKSByb3RhdGUoOTBkZWcpO1xufVxuLmljb25zIGkubGVmdC5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uOm5vdCguY29ybmVyKTpub3QoOmZpcnN0LWNoaWxkKSxcbi5pY29ucyBpLmNvdW50ZXJjbG9ja3dpc2Uucm90YXRlZC52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbjpub3QoLmNvcm5lcik6bm90KDpmaXJzdC1jaGlsZCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLCAtMSkgcm90YXRlKC05MGRlZyk7XG59XG4uaWNvbnMgaS5oYWxmd2F5LnJvdGF0ZWQudmVydGljYWxseS5mbGlwcGVkLmljb246bm90KC5jb3JuZXIpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSwgLTEpIHJvdGF0ZSgxODBkZWcpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEJvcmRlcmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmkuYm9yZGVyZWQuaWNvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIHdpZHRoOiAyZW07XG4gIGhlaWdodDogMmVtO1xuICBwYWRkaW5nOiAwLjVlbSAwICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMWVtIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldDtcbn1cbmkuYm9yZGVyZWQuaWNvbi5jb2xvcmVkIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4xZW0gY3VycmVudENvbG9yIGluc2V0O1xufVxuaS5ib3JkZXJlZC5pbnZlcnRlZC5pY29uIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkIFNoYXBlcyAqL1xuaS5pbnZlcnRlZC5ib3JkZXJlZC5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pLmludmVydGVkLmljb24ge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5pLnByaW1hcnkuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogIzZDMzY2Nztcbn1cbmkuaW52ZXJ0ZWQucHJpbWFyeS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjNTRjOGZmO1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC5wcmltYXJ5Lmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5wcmltYXJ5Lmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5ib3JkZXJlZC5wcmltYXJ5Lmljb25zLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5wcmltYXJ5Lmljb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZDMzY2NztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pLnNlY29uZGFyeS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjODhkMzE3O1xufVxuaS5pbnZlcnRlZC5zZWNvbmRhcnkuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogIzU0NTQ1NDtcbn1cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQuc2Vjb25kYXJ5Lmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5zZWNvbmRhcnkuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmJvcmRlcmVkLnNlY29uZGFyeS5pY29ucyxcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIuc2Vjb25kYXJ5Lmljb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4ZDMxNztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pLnJlZC5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjZGIyODI4O1xufVxuaS5pbnZlcnRlZC5yZWQuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogI2ZmNjk1ZTtcbn1cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQucmVkLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5yZWQuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmJvcmRlcmVkLnJlZC5pY29ucyxcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIucmVkLmljb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiMjgyODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pLm9yYW5nZS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjZjI3MTFjO1xufVxuaS5pbnZlcnRlZC5vcmFuZ2UuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogI2ZmODUxYjtcbn1cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQub3JhbmdlLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5vcmFuZ2UuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmJvcmRlcmVkLm9yYW5nZS5pY29ucyxcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIub3JhbmdlLmljb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNzExYztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pLnllbGxvdy5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjZmJiZDA4O1xufVxuaS5pbnZlcnRlZC55ZWxsb3cuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogI2ZmZTIxZjtcbn1cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQueWVsbG93Lmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci55ZWxsb3cuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmJvcmRlcmVkLnllbGxvdy5pY29ucyxcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIueWVsbG93Lmljb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiYmQwODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pLm9saXZlLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICNiNWNjMTg7XG59XG5pLmludmVydGVkLm9saXZlLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICNkOWU3Nzg7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLm9saXZlLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5vbGl2ZS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbixcbmkuaW52ZXJ0ZWQuYm9yZGVyZWQub2xpdmUuaWNvbnMsXG5pLmludmVydGVkLmNpcmN1bGFyLm9saXZlLmljb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I1Y2MxODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pLmdyZWVuLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICMyMWJhNDU7XG59XG5pLmludmVydGVkLmdyZWVuLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICMyZWNjNDA7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLmdyZWVuLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5ncmVlbi5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbixcbmkuaW52ZXJ0ZWQuYm9yZGVyZWQuZ3JlZW4uaWNvbnMsXG5pLmludmVydGVkLmNpcmN1bGFyLmdyZWVuLmljb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYmE0NTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pLnRlYWwuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogIzAwYjVhZDtcbn1cbmkuaW52ZXJ0ZWQudGVhbC5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjNmRmZmZmO1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC50ZWFsLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci50ZWFsLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5ib3JkZXJlZC50ZWFsLmljb25zLFxuaS5pbnZlcnRlZC5jaXJjdWxhci50ZWFsLmljb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjVhZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pLmJsdWUuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogIzIxODVkMDtcbn1cbmkuaW52ZXJ0ZWQuYmx1ZS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjNTRjOGZmO1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC5ibHVlLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5ibHVlLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5ib3JkZXJlZC5ibHVlLmljb25zLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5ibHVlLmljb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVkMDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pLnZpb2xldC5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjNjQzNWM5O1xufVxuaS5pbnZlcnRlZC52aW9sZXQuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogI2EyOTFmYjtcbn1cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQudmlvbGV0Lmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci52aW9sZXQuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmJvcmRlcmVkLnZpb2xldC5pY29ucyxcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIudmlvbGV0Lmljb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVjOTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pLnB1cnBsZS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjYTMzM2M4O1xufVxuaS5pbnZlcnRlZC5wdXJwbGUuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogI2RjNzNmZjtcbn1cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQucHVycGxlLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5wdXJwbGUuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG5pLmludmVydGVkLmJvcmRlcmVkLnB1cnBsZS5pY29ucyxcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIucHVycGxlLmljb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzMzNjODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pLnBpbmsuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogI2UwMzk5Nztcbn1cbmkuaW52ZXJ0ZWQucGluay5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjZmY4ZWRmO1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC5waW5rLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5waW5rLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5ib3JkZXJlZC5waW5rLmljb25zLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5waW5rLmljb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMzk5NztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pLmJyb3duLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICNhNTY3M2Y7XG59XG5pLmludmVydGVkLmJyb3duLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICNkNjdjMWM7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLmJyb3duLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5icm93bi5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbixcbmkuaW52ZXJ0ZWQuYm9yZGVyZWQuYnJvd24uaWNvbnMsXG5pLmludmVydGVkLmNpcmN1bGFyLmJyb3duLmljb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1NjczZjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pLmdyZXkuaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICBjb2xvcjogIzc2NzY3Njtcbn1cbmkuaW52ZXJ0ZWQuZ3JleS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gIGNvbG9yOiAjZGNkZGRlO1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC5ncmV5Lmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5ncmV5Lmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5ib3JkZXJlZC5ncmV5Lmljb25zLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5ncmV5Lmljb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pLmJsYWNrLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG5pLmludmVydGVkLmJsYWNrLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uIHtcbiAgY29sb3I6ICM1NDU0NTQ7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLmJsYWNrLmljb24uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5ibGFjay5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbixcbmkuaW52ZXJ0ZWQuYm9yZGVyZWQuYmxhY2suaWNvbnMsXG5pLmludmVydGVkLmNpcmN1bGFyLmJsYWNrLmljb25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaS5pY29uLFxuaS5pY29ucyB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuaS5taW5pLm1pbmkubWluaS5pY29uLFxuaS5taW5pLm1pbmkubWluaS5pY29ucyB7XG4gIGZvbnQtc2l6ZTogMC40ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5pLnRpbnkudGlueS50aW55Lmljb24sXG5pLnRpbnkudGlueS50aW55Lmljb25zIHtcbiAgZm9udC1zaXplOiAwLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbmkuc21hbGwuc21hbGwuc21hbGwuaWNvbixcbmkuc21hbGwuc21hbGwuc21hbGwuaWNvbnMge1xuICBmb250LXNpemU6IDAuNzVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbmkubGFyZ2UubGFyZ2UubGFyZ2UuaWNvbixcbmkubGFyZ2UubGFyZ2UubGFyZ2UuaWNvbnMge1xuICBmb250LXNpemU6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuaS5iaWcuYmlnLmJpZy5pY29uLFxuaS5iaWcuYmlnLmJpZy5pY29ucyB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuaS5odWdlLmh1Z2UuaHVnZS5pY29uLFxuaS5odWdlLmh1Z2UuaHVnZS5pY29ucyB7XG4gIGZvbnQtc2l6ZTogNGVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuaS5tYXNzaXZlLm1hc3NpdmUubWFzc2l2ZS5pY29uLFxuaS5tYXNzaXZlLm1hc3NpdmUubWFzc2l2ZS5pY29ucyB7XG4gIGZvbnQtc2l6ZTogOGVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgICBHcm91cHNcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuaS5pY29ucyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWluLXdpZHRoOiAxLjE4ZW07XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgbWFyZ2luOiAwIDAuMjVyZW0gMCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5pLmljb25zIC5pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IDA7XG59XG5pLmljb25zIC5pY29uOm5vdCguY29ybmVyKTpub3QoLnJvdGF0ZWQpOm5vdCguZmxpcHBlZCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbn1cbmkuaWNvbnMgLmljb246Zmlyc3QtY2hpbGQge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuaS5pY29uczpub3QoLmJvcmRlcmVkKTpub3QoLmNpcmN1bGFyKSAuaWNvbjpmaXJzdC1jaGlsZDpub3QoLnJvdGF0ZWQpOm5vdCguZmxpcHBlZCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG4vKiBDb3JuZXIgSWNvbiAqL1xuaS5pY29ucyAuY29ybmVyLmljb24ge1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC40NWVtO1xuICB0ZXh0LXNoYWRvdzogLTFweCAtMXB4IDAgI0ZGRkZGRiwgMXB4IC0xcHggMCAjRkZGRkZGLCAtMXB4IDFweCAwICNGRkZGRkYsIDFweCAxcHggMCAjRkZGRkZGO1xufVxuaS5pY29ucyAuY29ybmVyLmljb246bm90KC5yb3RhdGVkKTpub3QoLmZsaXBwZWQpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuaS5pY29ucyAuaWNvbi5jb3JuZXJbY2xhc3MqPVwidG9wIHJpZ2h0XCJdIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgYm90dG9tOiBhdXRvO1xufVxuaS5pY29ucyAuaWNvbi5jb3JuZXJbY2xhc3MqPVwidG9wIGxlZnRcIl0ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG59XG5pLmljb25zIC5pY29uLmNvcm5lcltjbGFzcyo9XCJib3R0b20gbGVmdFwiXSB7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogMDtcbn1cbmkuaWNvbnMgLmljb24uY29ybmVyW2NsYXNzKj1cImJvdHRvbSByaWdodFwiXSB7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbn1cbmkuaWNvbnMgLmludmVydGVkLmNvcm5lci5pY29uIHtcbiAgdGV4dC1zaGFkb3c6IC0xcHggLTFweCAwICMxYjFjMWQsIDFweCAtMXB4IDAgIzFiMWMxZCwgLTFweCAxcHggMCAjMWIxYzFkLCAxcHggMXB4IDAgIzFiMWMxZDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgQm9yZGVyZWQvY2lyY3VsYXIgd2l0aCBjb3JuZXIgb3IgZ3JvdXAgaWNvbnNcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuaS5ib3JkZXJlZC5pY29ucyxcbmkuY2lyY3VsYXIuaWNvbnMge1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4xZW0gcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuaS5ib3JkZXJlZC5pY29ucy5jb2xvcmVkLFxuaS5jaXJjdWxhci5pY29ucy5jb2xvcmVkIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4xZW0gY3VycmVudENvbG9yIGluc2V0O1xufVxuaS5jaXJjdWxhci5pY29ucyB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMGVtO1xufVxuaS5ib3JkZXJlZC5pY29ucyBpLmljb246Zmlyc3QtY2hpbGQsXG5pLmNpcmN1bGFyLmljb25zIGkuaWNvbjpmaXJzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4vKiBJbnZlcnRlZCBJY29uICovXG5pLmJvcmRlcmVkLmludmVydGVkLmljb25zLFxuaS5jaXJjdWxhci5pbnZlcnRlZC5pY29ucyB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBDb3JuZXIgSWNvbiAqL1xuaS5ib3JkZXJlZC5pY29ucyAuaWNvbi5jb3JuZXIsXG5pLmNpcmN1bGFyLmljb25zIC5pY29uLmNvcm5lcixcbmkuYm9yZGVyZWQuaWNvbnMgLmljb24uY29ybmVyW2NsYXNzKj1cImJvdHRvbSByaWdodFwiXSxcbmkuY2lyY3VsYXIuaWNvbnMgLmljb24uY29ybmVyW2NsYXNzKj1cImJvdHRvbSByaWdodFwiXSB7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEuMTVlbTtcbiAgYm90dG9tOiAxLjE1ZW07XG59XG5pLmJvcmRlcmVkLmljb25zIC5pY29uLmNvcm5lcltjbGFzcyo9XCJ0b3AgcmlnaHRcIl0sXG5pLmNpcmN1bGFyLmljb25zIC5pY29uLmNvcm5lcltjbGFzcyo9XCJ0b3AgcmlnaHRcIl0ge1xuICB0b3A6IDEuMTVlbTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEuMTVlbTtcbiAgYm90dG9tOiBhdXRvO1xufVxuaS5ib3JkZXJlZC5pY29ucyAuaWNvbi5jb3JuZXJbY2xhc3MqPVwidG9wIGxlZnRcIl0sXG5pLmNpcmN1bGFyLmljb25zIC5pY29uLmNvcm5lcltjbGFzcyo9XCJ0b3AgbGVmdFwiXSB7XG4gIHRvcDogMS4xNWVtO1xuICBsZWZ0OiAxLjE1ZW07XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG59XG5pLmJvcmRlcmVkLmljb25zIC5pY29uLmNvcm5lcltjbGFzcyo9XCJib3R0b20gbGVmdFwiXSxcbmkuY2lyY3VsYXIuaWNvbnMgLmljb24uY29ybmVyW2NsYXNzKj1cImJvdHRvbSBsZWZ0XCJdIHtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiAxLjE1ZW07XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IDEuMTVlbTtcbn1cbi8qIERlcHJlY2F0ZWQgKkluL091dCBOYW1pbmcgQ29uZmxpY3QpICovXG5pLmljb24ubGlua2VkaW4uaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUxXCI7XG59XG5pLmljb24uem9vbS5pbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGVcIjtcbn1cbmkuaWNvbi56b29tLm91dDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTBcIjtcbn1cbmkuaWNvbi5zaWduLmluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmNlwiO1xufVxuaS5pY29uLmluLmNhcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE4XCI7XG59XG5pLmljb24ubG9nLm91dDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjVcIjtcbn1cbmkuaWNvbi5zaWduLm91dDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjVcIjtcbn1cbmkuaWNvbi5zaWduLmluLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjZcIjtcbn1cbmkuaWNvbi5zaWduLm91dC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmY1XCI7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU29saWQgSWNvbnNcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogSWNvbnMgKi9cbmkuaWNvbi5hZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NDFcIjtcbn1cbmkuaWNvbi5hZGRyZXNzLmJvb2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI5XCI7XG59XG5pLmljb24uYWRkcmVzcy5jYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiYlwiO1xufVxuaS5pY29uLmFkanVzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDJcIjtcbn1cbmkuaWNvbi5haXIuZnJlc2hlbmVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVkMFwiO1xufVxuaS5pY29uLmFsaWduLmNlbnRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzdcIjtcbn1cbmkuaWNvbi5hbGlnbi5qdXN0aWZ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzOVwiO1xufVxuaS5pY29uLmFsaWduLmxlZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM2XCI7XG59XG5pLmljb24uYWxpZ24ucmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM4XCI7XG59XG5pLmljb24uYWxsZXJnaWVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2MVwiO1xufVxuaS5pY29uLmFtYnVsYW5jZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjlcIjtcbn1cbmkuaWNvbi5hbWVyaWNhbi5zaWduLmxhbmd1YWdlLmludGVycHJldGluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTNcIjtcbn1cbmkuaWNvbi5hbmNob3I6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNkXCI7XG59XG5pLmljb24uYW5nbGUuZG91YmxlLmRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAzXCI7XG59XG5pLmljb24uYW5nbGUuZG91YmxlLmxlZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAwXCI7XG59XG5pLmljb24uYW5nbGUuZG91YmxlLnJpZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwMVwiO1xufVxuaS5pY29uLmFuZ2xlLmRvdWJsZS51cDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDJcIjtcbn1cbmkuaWNvbi5hbmdsZS5sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNFwiO1xufVxuaS5pY29uLmFuZ2xlLnJpZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNVwiO1xufVxuaS5pY29uLmFuZ2xlLnVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNlwiO1xufVxuaS5pY29uLmFuZ2xlLmRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA3XCI7XG59XG5pLmljb24uYW5ncnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTU2XCI7XG59XG5pLmljb24uYW5raDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NDRcIjtcbn1cbmkuaWNvbi5hcmNoaXZlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4N1wiO1xufVxuaS5pY29uLmFyY2h3YXk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTU3XCI7XG59XG5pLmljb24uYXJyb3cuYWx0ZXJuYXRlLmNpcmNsZS5kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1OFwiO1xufVxuaS5pY29uLmFycm93LmFsdGVybmF0ZS5jaXJjbGUubGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNTlcIjtcbn1cbmkuaWNvbi5hcnJvdy5hbHRlcm5hdGUuY2lyY2xlLnJpZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1YVwiO1xufVxuaS5pY29uLmFycm93LmFsdGVybmF0ZS5jaXJjbGUudXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzViXCI7XG59XG5pLmljb24uYXJyb3cuY2lyY2xlLmRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFiXCI7XG59XG5pLmljb24uYXJyb3cuY2lyY2xlLmxlZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE4XCI7XG59XG5pLmljb24uYXJyb3cuY2lyY2xlLnJpZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhOVwiO1xufVxuaS5pY29uLmFycm93LmNpcmNsZS51cDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWFcIjtcbn1cbmkuaWNvbi5hcnJvdy5kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2M1wiO1xufVxuaS5pY29uLmFycm93LmxlZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYwXCI7XG59XG5pLmljb24uYXJyb3cucmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYxXCI7XG59XG5pLmljb24uYXJyb3cudXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYyXCI7XG59XG5pLmljb24uYXJyb3dzLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYjJcIjtcbn1cbmkuaWNvbi5hcnJvd3MuYWx0ZXJuYXRlLmhvcml6b250YWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzM3XCI7XG59XG5pLmljb24uYXJyb3dzLmFsdGVybmF0ZS52ZXJ0aWNhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMzhcIjtcbn1cbmkuaWNvbi5hc3Npc3RpdmUubGlzdGVuaW5nLnN5c3RlbXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmEyXCI7XG59XG5pLmljb24uYXN0ZXJpc2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY5XCI7XG59XG5pLmljb24uYXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZhXCI7XG59XG5pLmljb24uYXRsYXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTU4XCI7XG59XG5pLmljb24uYXRvbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZDJcIjtcbn1cbmkuaWNvbi5hdWRpby5kZXNjcmlwdGlvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOWVcIjtcbn1cbmkuaWNvbi5hd2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NTlcIjtcbn1cbmkuaWNvbi5iYWJ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3Y1wiO1xufVxuaS5pY29uLmJhYnkuY2FycmlhZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzdkXCI7XG59XG5pLmljb24uYmFja3NwYWNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1YVwiO1xufVxuaS5pY29uLmJhY2t3YXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0YVwiO1xufVxuaS5pY29uLmJhY29uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlNVwiO1xufVxuaS5pY29uLmJhY3RlcmlhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1OVwiO1xufVxuaS5pY29uLmJhY3Rlcml1bTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNWFcIjtcbn1cbmkuaWNvbi5iYWhhaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NjZcIjtcbn1cbmkuaWNvbi5iYWxhbmNlLnNjYWxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0ZVwiO1xufVxuaS5pY29uLmJhbGFuY2Uuc2NhbGUubGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTVcIjtcbn1cbmkuaWNvbi5iYWxhbmNlLnNjYWxlLnJpZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxNlwiO1xufVxuaS5pY29uLmJhbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWVcIjtcbn1cbmkuaWNvbi5iYW5kLmFpZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NjJcIjtcbn1cbmkuaWNvbi5iYXJjb2RlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyYVwiO1xufVxuaS5pY29uLmJhcnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM5XCI7XG59XG5pLmljb24uYmFzZWJhbGwuYmFsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzNcIjtcbn1cbmkuaWNvbi5iYXNrZXRiYWxsLmJhbGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDM0XCI7XG59XG5pLmljb24uYmF0aDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2RcIjtcbn1cbmkuaWNvbi5iYXR0ZXJ5LmVtcHR5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0NFwiO1xufVxuaS5pY29uLmJhdHRlcnkuZnVsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDBcIjtcbn1cbmkuaWNvbi5iYXR0ZXJ5LmhhbGY6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQyXCI7XG59XG5pLmljb24uYmF0dGVyeS5xdWFydGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0M1wiO1xufVxuaS5pY29uLmJhdHRlcnkudGhyZWUucXVhcnRlcnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQxXCI7XG59XG5pLmljb24uYmVkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNlwiO1xufVxuaS5pY29uLmJlZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZjXCI7XG59XG5pLmljb24uYmVsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjNcIjtcbn1cbmkuaWNvbi5iZWxsLnNsYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNlwiO1xufVxuaS5pY29uLmJlemllci5jdXJ2ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NWJcIjtcbn1cbmkuaWNvbi5iaWJsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NDdcIjtcbn1cbmkuaWNvbi5iaWN5Y2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwNlwiO1xufVxuaS5pY29uLmJpa2luZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NGFcIjtcbn1cbmkuaWNvbi5iaW5vY3VsYXJzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNVwiO1xufVxuaS5pY29uLmJpb2hhemFyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODBcIjtcbn1cbmkuaWNvbi5iaXJ0aGRheS5jYWtlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZFwiO1xufVxuaS5pY29uLmJsZW5kZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTE3XCI7XG59XG5pLmljb24uYmxlbmRlci5waG9uZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YjZcIjtcbn1cbmkuaWNvbi5ibGluZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOWRcIjtcbn1cbmkuaWNvbi5ibG9nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4MVwiO1xufVxuaS5pY29uLmJvbGQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMyXCI7XG59XG5pLmljb24uYm9sdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTdcIjtcbn1cbmkuaWNvbi5ib21iOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlMlwiO1xufVxuaS5pY29uLmJvbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWQ3XCI7XG59XG5pLmljb24uYm9uZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NWNcIjtcbn1cbmkuaWNvbi5ib29rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZFwiO1xufVxuaS5pY29uLmJvb2suZGVhZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YjdcIjtcbn1cbmkuaWNvbi5ib29rLm1lZGljYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2U2XCI7XG59XG5pLmljb24uYm9vay5vcGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxOFwiO1xufVxuaS5pY29uLmJvb2sucmVhZGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVkYVwiO1xufVxuaS5pY29uLmJvb2ttYXJrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZVwiO1xufVxuaS5pY29uLmJvcmRlci5hbGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODRjXCI7XG59XG5pLmljb24uYm9yZGVyLm5vbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODUwXCI7XG59XG5pLmljb24uYm9yZGVyLnN0eWxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg1M1wiO1xufVxuaS5pY29uLmJvd2xpbmcuYmFsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzZcIjtcbn1cbmkuaWNvbi5ib3g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDY2XCI7XG59XG5pLmljb24uYm94Lm9wZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDllXCI7XG59XG5pLmljb24uYm94LnRpc3N1ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNWJcIjtcbn1cbmkuaWNvbi5ib3hlczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NjhcIjtcbn1cbmkuaWNvbi5icmFpbGxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMVwiO1xufVxuaS5pY29uLmJyYWluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVkY1wiO1xufVxuaS5pY29uLmJyZWFkLnNsaWNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlY1wiO1xufVxuaS5pY29uLmJyaWVmY2FzZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYjFcIjtcbn1cbmkuaWNvbi5icmllZmNhc2UubWVkaWNhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NjlcIjtcbn1cbmkuaWNvbi5icm9hZGNhc3QudG93ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTE5XCI7XG59XG5pLmljb24uYnJvb206OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTFhXCI7XG59XG5pLmljb24uYnJ1c2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTVkXCI7XG59XG5pLmljb24uYnVnOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4OFwiO1xufVxuaS5pY29uLmJ1aWxkaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhZFwiO1xufVxuaS5pY29uLmJ1bGxob3JuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhMVwiO1xufVxuaS5pY29uLmJ1bGxzZXllOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MFwiO1xufVxuaS5pY29uLmJ1cm46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDZhXCI7XG59XG5pLmljb24uYnVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwN1wiO1xufVxuaS5pY29uLmJ1cy5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTVlXCI7XG59XG5pLmljb24uYnVzaW5lc3MudGltZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NGFcIjtcbn1cbmkuaWNvbi5jYWxjdWxhdG9yOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlY1wiO1xufVxuaS5pY29uLmNhbGVuZGFyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzM1wiO1xufVxuaS5pY29uLmNhbGVuZGFyLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzNcIjtcbn1cbmkuaWNvbi5jYWxlbmRhci5jaGVjazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzRcIjtcbn1cbmkuaWNvbi5jYWxlbmRhci5kYXk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzgzXCI7XG59XG5pLmljb24uY2FsZW5kYXIubWludXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjcyXCI7XG59XG5pLmljb24uY2FsZW5kYXIucGx1czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzFcIjtcbn1cbmkuaWNvbi5jYWxlbmRhci50aW1lczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzNcIjtcbn1cbmkuaWNvbi5jYWxlbmRhci53ZWVrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4NFwiO1xufVxuaS5pY29uLmNhbWVyYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzBcIjtcbn1cbmkuaWNvbi5jYW1lcmEucmV0cm86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgzXCI7XG59XG5pLmljb24uY2FtcGdyb3VuZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YmJcIjtcbn1cbmkuaWNvbi5jYW5keS5jYW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4NlwiO1xufVxuaS5pY29uLmNhbm5hYmlzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1ZlwiO1xufVxuaS5pY29uLmNhcHN1bGVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2YlwiO1xufVxuaS5pY29uLmNhcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjlcIjtcbn1cbmkuaWNvbi5jYXIuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVkZVwiO1xufVxuaS5pY29uLmNhci5iYXR0ZXJ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVkZlwiO1xufVxuaS5pY29uLmNhci5jcmFzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZTFcIjtcbn1cbmkuaWNvbi5jYXIuc2lkZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZTRcIjtcbn1cbmkuaWNvbi5jYXJhdmFuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhmZlwiO1xufVxuaS5pY29uLmNhcmV0LmRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG59XG5pLmljb24uY2FyZXQubGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDlcIjtcbn1cbmkuaWNvbi5jYXJldC5yaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGFcIjtcbn1cbmkuaWNvbi5jYXJldC5zcXVhcmUuZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTBcIjtcbn1cbmkuaWNvbi5jYXJldC5zcXVhcmUubGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTFcIjtcbn1cbmkuaWNvbi5jYXJldC5zcXVhcmUucmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUyXCI7XG59XG5pLmljb24uY2FyZXQuc3F1YXJlLnVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MVwiO1xufVxuaS5pY29uLmNhcmV0LnVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkOFwiO1xufVxuaS5pY29uLmNhcnJvdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODdcIjtcbn1cbmkuaWNvbi5jYXJ0LmFycm93LmRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE4XCI7XG59XG5pLmljb24uY2FydC5wbHVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxN1wiO1xufVxuaS5pY29uLmNhc2gucmVnaXN0ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzg4XCI7XG59XG5pLmljb24uY2F0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZiZVwiO1xufVxuaS5pY29uLmNlcnRpZmljYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhM1wiO1xufVxuaS5pY29uLmNoYWlyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjMFwiO1xufVxuaS5pY29uLmNoYWxrYm9hcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTFiXCI7XG59XG5pLmljb24uY2hhbGtib2FyZC50ZWFjaGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxY1wiO1xufVxuaS5pY29uLmNoYXJnaW5nLnN0YXRpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWU3XCI7XG59XG5pLmljb24uY2hhcnQuYXJlYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmVcIjtcbn1cbmkuaWNvbi5jaGFydC5iYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgwXCI7XG59XG5pLmljb24uY2hhcnQucGllOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMFwiO1xufVxuaS5pY29uLmNoYXJ0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDFcIjtcbn1cbmkuaWNvbi5jaGVjazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGNcIjtcbn1cbmkuaWNvbi5jaGVjay5jaXJjbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU4XCI7XG59XG5pLmljb24uY2hlY2suZG91YmxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2MFwiO1xufVxuaS5pY29uLmNoZWNrLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGFcIjtcbn1cbmkuaWNvbi5jaGVlc2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2VmXCI7XG59XG5pLmljb24uY2hlc3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDM5XCI7XG59XG5pLmljb24uY2hlc3MuYmlzaG9wOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzYVwiO1xufVxuaS5pY29uLmNoZXNzLmJvYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzY1wiO1xufVxuaS5pY29uLmNoZXNzLmtpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDNmXCI7XG59XG5pLmljb24uY2hlc3Mua25pZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0MVwiO1xufVxuaS5pY29uLmNoZXNzLnBhd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDQzXCI7XG59XG5pLmljb24uY2hlc3MucXVlZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDQ1XCI7XG59XG5pLmljb24uY2hlc3Mucm9vazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NDdcIjtcbn1cbmkuaWNvbi5jaGV2cm9uLmNpcmNsZS5kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYVwiO1xufVxuaS5pY29uLmNoZXZyb24uY2lyY2xlLmxlZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM3XCI7XG59XG5pLmljb24uY2hldnJvbi5jaXJjbGUucmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM4XCI7XG59XG5pLmljb24uY2hldnJvbi5jaXJjbGUudXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM5XCI7XG59XG5pLmljb24uY2hldnJvbi5kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3OFwiO1xufVxuaS5pY29uLmNoZXZyb24ubGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTNcIjtcbn1cbmkuaWNvbi5jaGV2cm9uLnJpZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1NFwiO1xufVxuaS5pY29uLmNoZXZyb24udXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc3XCI7XG59XG5pLmljb24uY2hpbGQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFlXCI7XG59XG5pLmljb24uY2h1cmNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxZFwiO1xufVxuaS5pY29uLmNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTFcIjtcbn1cbmkuaWNvbi5jaXJjbGUubm90Y2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNlXCI7XG59XG5pLmljb24uY2l0eTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NGZcIjtcbn1cbmkuaWNvbi5jbGluaWMubWVkaWNhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZjJcIjtcbn1cbmkuaWNvbi5jbGlwYm9hcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzI4XCI7XG59XG5pLmljb24uY2xpcGJvYXJkLmNoZWNrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2Y1wiO1xufVxuaS5pY29uLmNsaXBib2FyZC5saXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2ZFwiO1xufVxuaS5pY29uLmNsb2NrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxN1wiO1xufVxuaS5pY29uLmNsb25lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0ZFwiO1xufVxuaS5pY29uLmNsb3NlZC5jYXB0aW9uaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYVwiO1xufVxuaS5pY29uLmNsb3VkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMlwiO1xufVxuaS5pY29uLmNsb3VkLmRvd25sb2FkLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODFcIjtcbn1cbmkuaWNvbi5jbG91ZC5tZWF0YmFsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3M2JcIjtcbn1cbmkuaWNvbi5jbG91ZC5tb29uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjM1wiO1xufVxuaS5pY29uLmNsb3VkLm1vb24ucmFpbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3M2NcIjtcbn1cbmkuaWNvbi5jbG91ZC5yYWluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjczZFwiO1xufVxuaS5pY29uLmNsb3VkLnNob3dlcnMuaGVhdnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzQwXCI7XG59XG5pLmljb24uY2xvdWQuc3VuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjNFwiO1xufVxuaS5pY29uLmNsb3VkLnN1bi5yYWluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc0M1wiO1xufVxuaS5pY29uLmNsb3VkLnVwbG9hZC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzgyXCI7XG59XG5pLmljb24uY29ja3RhaWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTYxXCI7XG59XG5pLmljb24uY29kZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjFcIjtcbn1cbmkuaWNvbi5jb2RlLmJyYW5jaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjZcIjtcbn1cbmkuaWNvbi5jb2ZmZWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY0XCI7XG59XG5pLmljb24uY29nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxM1wiO1xufVxuaS5pY29uLmNvZ3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg1XCI7XG59XG5pLmljb24uY29pbnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTFlXCI7XG59XG5pLmljb24uY29sdW1uczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGJcIjtcbn1cbmkuaWNvbi5jb21tZW50OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NVwiO1xufVxuaS5pY29uLmNvbW1lbnQuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3YVwiO1xufVxuaS5pY29uLmNvbW1lbnQuZG9sbGFyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY1MVwiO1xufVxuaS5pY29uLmNvbW1lbnQuZG90czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YWRcIjtcbn1cbmkuaWNvbi5jb21tZW50Lm1lZGljYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2Y1XCI7XG59XG5pLmljb24uY29tbWVudC5zbGFzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YjNcIjtcbn1cbmkuaWNvbi5jb21tZW50czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODZcIjtcbn1cbmkuaWNvbi5jb21tZW50cy5kb2xsYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjUzXCI7XG59XG5pLmljb24uY29tcGFjdC5kaXNjOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxZlwiO1xufVxuaS5pY29uLmNvbXBhc3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRlXCI7XG59XG5pLmljb24uY29tcHJlc3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY2XCI7XG59XG5pLmljb24uY29tcHJlc3MuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyMlwiO1xufVxuaS5pY29uLmNvbXByZXNzLmFycm93cy5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzhjXCI7XG59XG5pLmljb24uY29uY2llcmdlLmJlbGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTYyXCI7XG59XG5pLmljb24uY29va2llOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2M1wiO1xufVxuaS5pY29uLmNvb2tpZS5iaXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2NFwiO1xufVxuaS5pY29uLmNvcHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM1XCI7XG59XG5pLmljb24uY29weXJpZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmOVwiO1xufVxuaS5pY29uLmNvdWNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRiOFwiO1xufVxuaS5pY29uLmNyZWRpdC5jYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5ZFwiO1xufVxuaS5pY29uLmNyb3A6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI1XCI7XG59XG5pLmljb24uY3JvcC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTY1XCI7XG59XG5pLmljb24uY3Jvc3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjU0XCI7XG59XG5pLmljb24uY3Jvc3NoYWlyczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWJcIjtcbn1cbmkuaWNvbi5jcm93OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyMFwiO1xufVxuaS5pY29uLmNyb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyMVwiO1xufVxuaS5pY29uLmNydXRjaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZjdcIjtcbn1cbmkuaWNvbi5jdWJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiMlwiO1xufVxuaS5pY29uLmN1YmVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiM1wiO1xufVxuaS5pY29uLmN1dDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzRcIjtcbn1cbmkuaWNvbi5kYXRhYmFzZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzBcIjtcbn1cbmkuaWNvbi5kZWFmOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNFwiO1xufVxuaS5pY29uLmRlbW9jcmF0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc0N1wiO1xufVxuaS5pY29uLmRlc2t0b3A6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA4XCI7XG59XG5pLmljb24uZGhhcm1hY2hha3JhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY1NVwiO1xufVxuaS5pY29uLmRpYWdub3Nlczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NzBcIjtcbn1cbmkuaWNvbi5kaWNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyMlwiO1xufVxuaS5pY29uLmRpY2UuZDIwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjZlwiO1xufVxuaS5pY29uLmRpY2UuZDY6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmQxXCI7XG59XG5pLmljb24uZGljZS5maXZlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyM1wiO1xufVxuaS5pY29uLmRpY2UuZm91cjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MjRcIjtcbn1cbmkuaWNvbi5kaWNlLm9uZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MjVcIjtcbn1cbmkuaWNvbi5kaWNlLnNpeDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MjZcIjtcbn1cbmkuaWNvbi5kaWNlLnRocmVlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyN1wiO1xufVxuaS5pY29uLmRpY2UudHdvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyOFwiO1xufVxuaS5pY29uLmRpZ2l0YWwudGFjaG9ncmFwaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NjZcIjtcbn1cbmkuaWNvbi5kaXJlY3Rpb25zOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVlYlwiO1xufVxuaS5pY29uLmRpc2Vhc2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2ZhXCI7XG59XG5pLmljb24uZGl2aWRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyOVwiO1xufVxuaS5pY29uLmRpenp5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2N1wiO1xufVxuaS5pY29uLmRuYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NzFcIjtcbn1cbmkuaWNvbi5kb2c6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmQzXCI7XG59XG5pLmljb24uZG9sbGFyLnNpZ246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU1XCI7XG59XG5pLmljb24uZG9sbHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDcyXCI7XG59XG5pLmljb24uZG9sbHkuZmxhdGJlZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NzRcIjtcbn1cbmkuaWNvbi5kb25hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGI5XCI7XG59XG5pLmljb24uZG9vci5jbG9zZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTJhXCI7XG59XG5pLmljb24uZG9vci5vcGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyYlwiO1xufVxuaS5pY29uLmRvdC5jaXJjbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkyXCI7XG59XG5pLmljb24uZG92ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YmFcIjtcbn1cbmkuaWNvbi5kb3dubG9hZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTlcIjtcbn1cbmkuaWNvbi5kcmFmdGluZy5jb21wYXNzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2OFwiO1xufVxuaS5pY29uLmRyYWdvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZDVcIjtcbn1cbmkuaWNvbi5kcmF3LnBvbHlnb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWVlXCI7XG59XG5pLmljb24uZHJ1bTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NjlcIjtcbn1cbmkuaWNvbi5kcnVtLnN0ZWVscGFuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2YVwiO1xufVxuaS5pY29uLmRydW1zdGljay5iaXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkN1wiO1xufVxuaS5pY29uLmR1bWJiZWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0YlwiO1xufVxuaS5pY29uLmR1bXBzdGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5M1wiO1xufVxuaS5pY29uLmR1bXBzdGVyLmZpcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk0XCI7XG59XG5pLmljb24uZHVuZ2Vvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZDlcIjtcbn1cbmkuaWNvbi5lZGl0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0NFwiO1xufVxuaS5pY29uLmVnZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZmJcIjtcbn1cbmkuaWNvbi5lamVjdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTJcIjtcbn1cbmkuaWNvbi5lbGxpcHNpcy5ob3Jpem9udGFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MVwiO1xufVxuaS5pY29uLmVsbGlwc2lzLnZlcnRpY2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MlwiO1xufVxuaS5pY29uLmVudmVsb3BlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMFwiO1xufVxuaS5pY29uLmVudmVsb3BlLm9wZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI2XCI7XG59XG5pLmljb24uZW52ZWxvcGUub3Blbi50ZXh0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY1OFwiO1xufVxuaS5pY29uLmVudmVsb3BlLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTlcIjtcbn1cbmkuaWNvbi5lcXVhbHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTJjXCI7XG59XG5pLmljb24uZXJhc2VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyZFwiO1xufVxuaS5pY29uLmV0aGVybmV0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5NlwiO1xufVxuaS5pY29uLmV1cm8uc2lnbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTNcIjtcbn1cbmkuaWNvbi5leGNoYW5nZS5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzYyXCI7XG59XG5pLmljb24uZXhjbGFtYXRpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJhXCI7XG59XG5pLmljb24uZXhjbGFtYXRpb24uY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2YVwiO1xufVxuaS5pY29uLmV4Y2xhbWF0aW9uLnRyaWFuZ2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MVwiO1xufVxuaS5pY29uLmV4cGFuZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjVcIjtcbn1cbmkuaWNvbi5leHBhbmQuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyNFwiO1xufVxuaS5pY29uLmV4cGFuZC5hcnJvd3MuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMxZVwiO1xufVxuaS5pY29uLmV4dGVybmFsLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWRcIjtcbn1cbmkuaWNvbi5leHRlcm5hbC5saW5rLnNxdWFyZS5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzYwXCI7XG59XG5pLmljb24uZXllOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2ZVwiO1xufVxuaS5pY29uLmV5ZS5kcm9wcGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmYlwiO1xufVxuaS5pY29uLmV5ZS5zbGFzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzBcIjtcbn1cbmkuaWNvbi5mYW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODYzXCI7XG59XG5pLmljb24uZmFzdC5iYWNrd2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDlcIjtcbn1cbmkuaWNvbi5mYXN0LmZvcndhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUwXCI7XG59XG5pLmljb24uZmF1Y2V0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwNVwiO1xufVxuaS5pY29uLmZheDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWNcIjtcbn1cbmkuaWNvbi5mZWF0aGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyZFwiO1xufVxuaS5pY29uLmZlYXRoZXIuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2YlwiO1xufVxuaS5pY29uLmZlbWFsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODJcIjtcbn1cbmkuaWNvbi5maWdodGVyLmpldDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmJcIjtcbn1cbmkuaWNvbi5maWxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1YlwiO1xufVxuaS5pY29uLmZpbGUuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1Y1wiO1xufVxuaS5pY29uLmZpbGUuYXJjaGl2ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzZcIjtcbn1cbmkuaWNvbi5maWxlLmF1ZGlvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjN1wiO1xufVxuaS5pY29uLmZpbGUuY29kZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzlcIjtcbn1cbmkuaWNvbi5maWxlLmNvbnRyYWN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2Y1wiO1xufVxuaS5pY29uLmZpbGUuY3N2OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkZFwiO1xufVxuaS5pY29uLmZpbGUuZG93bmxvYWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTZkXCI7XG59XG5pLmljb24uZmlsZS5leGNlbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzNcIjtcbn1cbmkuaWNvbi5maWxlLmV4cG9ydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NmVcIjtcbn1cbmkuaWNvbi5maWxlLmltYWdlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNVwiO1xufVxuaS5pY29uLmZpbGUuaW1wb3J0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2ZlwiO1xufVxuaS5pY29uLmZpbGUuaW52b2ljZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzBcIjtcbn1cbmkuaWNvbi5maWxlLmludm9pY2UuZG9sbGFyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3MVwiO1xufVxuaS5pY29uLmZpbGUubWVkaWNhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NzdcIjtcbn1cbmkuaWNvbi5maWxlLm1lZGljYWwuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3OFwiO1xufVxuaS5pY29uLmZpbGUucGRmOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjMVwiO1xufVxuaS5pY29uLmZpbGUucG93ZXJwb2ludDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzRcIjtcbn1cbmkuaWNvbi5maWxlLnByZXNjcmlwdGlvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzJcIjtcbn1cbmkuaWNvbi5maWxlLnNpZ25hdHVyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzNcIjtcbn1cbmkuaWNvbi5maWxlLnVwbG9hZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzRcIjtcbn1cbmkuaWNvbi5maWxlLnZpZGVvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOFwiO1xufVxuaS5pY29uLmZpbGUud29yZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzJcIjtcbn1cbmkuaWNvbi5maWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3NVwiO1xufVxuaS5pY29uLmZpbGwuZHJpcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzZcIjtcbn1cbmkuaWNvbi5maWxtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwOFwiO1xufVxuaS5pY29uLmZpbHRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYjBcIjtcbn1cbmkuaWNvbi5maW5nZXJwcmludDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzdcIjtcbn1cbmkuaWNvbi5maXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2ZFwiO1xufVxuaS5pY29uLmZpcmUuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlNFwiO1xufVxuaS5pY29uLmZpcmUuZXh0aW5ndWlzaGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzNFwiO1xufVxuaS5pY29uLmZpcnN0LmFpZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NzlcIjtcbn1cbmkuaWNvbi5maXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3OFwiO1xufVxuaS5pY29uLmZpc3QucmFpc2VkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkZVwiO1xufVxuaS5pY29uLmZsYWc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI0XCI7XG59XG5pLmljb24uZmxhZy5jaGVja2VyZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFlXCI7XG59XG5pLmljb24uZmxhZy51c2E6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzRkXCI7XG59XG5pLmljb24uZmxhc2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMzXCI7XG59XG5pLmljb24uZmx1c2hlZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NzlcIjtcbn1cbmkuaWNvbi5mb2xkZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdiXCI7XG59XG5pLmljb24uZm9sZGVyLm1pbnVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY1ZFwiO1xufVxuaS5pY29uLmZvbGRlci5vcGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3Y1wiO1xufVxuaS5pY29uLmZvbGRlci5wbHVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY1ZVwiO1xufVxuaS5pY29uLmZvbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMxXCI7XG59XG5pLmljb24uZm9vdGJhbGwuYmFsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NGVcIjtcbn1cbmkuaWNvbi5mb3J3YXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0ZVwiO1xufVxuaS5pY29uLmZyb2c6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTJlXCI7XG59XG5pLmljb24uZnJvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE5XCI7XG59XG5pLmljb24uZnJvd24ub3Blbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1N2FcIjtcbn1cbmkuaWNvbi5mcnVpdC1hcHBsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZDFcIjtcbn1cbmkuaWNvbi5mdW5uZWwuZG9sbGFyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2MlwiO1xufVxuaS5pY29uLmZ1dGJvbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTNcIjtcbn1cbmkuaWNvbi5nYW1lcGFkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExYlwiO1xufVxuaS5pY29uLmdhcy5wdW1wOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyZlwiO1xufVxuaS5pY29uLmdhdmVsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlM1wiO1xufVxuaS5pY29uLmdlbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTVcIjtcbn1cbmkuaWNvbi5nZW5kZXJsZXNzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyZFwiO1xufVxuaS5pY29uLmdob3N0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZlMlwiO1xufVxuaS5pY29uLmdpZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZiXCI7XG59XG5pLmljb24uZ2lmdHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzljXCI7XG59XG5pLmljb24uZ2xhc3MuY2hlZXJzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5ZlwiO1xufVxuaS5pY29uLmdsYXNzLm1hcnRpbmk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAwXCI7XG59XG5pLmljb24uZ2xhc3MubWFydGluaS5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTdiXCI7XG59XG5pLmljb24uZ2xhc3Mud2hpc2tleTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YTBcIjtcbn1cbmkuaWNvbi5nbGFzc2VzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzMFwiO1xufVxuaS5pY29uLmdsb2JlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhY1wiO1xufVxuaS5pY29uLmdsb2JlLmFmcmljYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1N2NcIjtcbn1cbmkuaWNvbi5nbG9iZS5hbWVyaWNhczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1N2RcIjtcbn1cbmkuaWNvbi5nbG9iZS5hc2lhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3ZVwiO1xufVxuaS5pY29uLmdsb2JlLmV1cm9wZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YTJcIjtcbn1cbmkuaWNvbi5nb2xmLmJhbGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDUwXCI7XG59XG5pLmljb24uZ29wdXJhbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NjRcIjtcbn1cbmkuaWNvbi5ncmFkdWF0aW9uLmNhcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWRcIjtcbn1cbmkuaWNvbi5ncmVhdGVyLnRoYW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTMxXCI7XG59XG5pLmljb24uZ3JlYXRlci50aGFuLmVxdWFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzMlwiO1xufVxuaS5pY29uLmdyaW1hY2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTdmXCI7XG59XG5pLmljb24uZ3Jpbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODBcIjtcbn1cbmkuaWNvbi5ncmluLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODFcIjtcbn1cbmkuaWNvbi5ncmluLmJlYW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTgyXCI7XG59XG5pLmljb24uZ3Jpbi5iZWFtLnN3ZWF0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4M1wiO1xufVxuaS5pY29uLmdyaW4uaGVhcnRzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4NFwiO1xufVxuaS5pY29uLmdyaW4uc3F1aW50OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4NVwiO1xufVxuaS5pY29uLmdyaW4uc3F1aW50LnRlYXJzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4NlwiO1xufVxuaS5pY29uLmdyaW4uc3RhcnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTg3XCI7XG59XG5pLmljb24uZ3Jpbi50ZWFyczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODhcIjtcbn1cbmkuaWNvbi5ncmluLnRvbmd1ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODlcIjtcbn1cbmkuaWNvbi5ncmluLnRvbmd1ZS5zcXVpbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNThhXCI7XG59XG5pLmljb24uZ3Jpbi50b25ndWUud2luazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OGJcIjtcbn1cbmkuaWNvbi5ncmluLndpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNThjXCI7XG59XG5pLmljb24uZ3JpcC5ob3Jpem9udGFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4ZFwiO1xufVxuaS5pY29uLmdyaXAubGluZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2E0XCI7XG59XG5pLmljb24uZ3JpcC5saW5lcy52ZXJ0aWNhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YTVcIjtcbn1cbmkuaWNvbi5ncmlwLnZlcnRpY2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4ZVwiO1xufVxuaS5pY29uLmd1aXRhcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YTZcIjtcbn1cbmkuaWNvbi5oLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmRcIjtcbn1cbmkuaWNvbi5oYW1idXJnZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODA1XCI7XG59XG5pLmljb24uaGFtbWVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZlM1wiO1xufVxuaS5pY29uLmhhbXNhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2NVwiO1xufVxuaS5pY29uLmhhbmQuaG9sZGluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YmRcIjtcbn1cbmkuaWNvbi5oYW5kLmhvbGRpbmcuaGVhcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGJlXCI7XG59XG5pLmljb24uaGFuZC5ob2xkaW5nLm1lZGljYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDVjXCI7XG59XG5pLmljb24uaGFuZC5ob2xkaW5nLnVzZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YzBcIjtcbn1cbmkuaWNvbi5oYW5kLmhvbGRpbmcud2F0ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGMxXCI7XG59XG5pLmljb24uaGFuZC5saXphcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU4XCI7XG59XG5pLmljb24uaGFuZC5taWRkbGUuZmluZ2VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgwNlwiO1xufVxuaS5pY29uLmhhbmQucGFwZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU2XCI7XG59XG5pLmljb24uaGFuZC5wZWFjZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWJcIjtcbn1cbmkuaWNvbi5oYW5kLnBvaW50LmRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE3XCI7XG59XG5pLmljb24uaGFuZC5wb2ludC5sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNVwiO1xufVxuaS5pY29uLmhhbmQucG9pbnQucmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE0XCI7XG59XG5pLmljb24uaGFuZC5wb2ludC51cDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTZcIjtcbn1cbmkuaWNvbi5oYW5kLnBvaW50ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjVhXCI7XG59XG5pLmljb24uaGFuZC5yb2NrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NVwiO1xufVxuaS5pY29uLmhhbmQuc2Npc3NvcnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU3XCI7XG59XG5pLmljb24uaGFuZC5zcGFya2xlczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNWRcIjtcbn1cbmkuaWNvbi5oYW5kLnNwb2NrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1OVwiO1xufVxuaS5pY29uLmhhbmRzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRjMlwiO1xufVxuaS5pY29uLmhhbmRzLmhlbHBpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGM0XCI7XG59XG5pLmljb24uaGFuZHMud2FzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNWVcIjtcbn1cbmkuaWNvbi5oYW5kc2hha2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI1XCI7XG59XG5pLmljb24uaGFuZHNoYWtlLmFsdGVybmF0ZS5zbGFzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNWZcIjtcbn1cbmkuaWNvbi5oYW5kc2hha2Uuc2xhc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDYwXCI7XG59XG5pLmljb24uaGFudWtpYWg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmU2XCI7XG59XG5pLmljb24uaGFyZC5oYXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODA3XCI7XG59XG5pLmljb24uaGFzaHRhZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTJcIjtcbn1cbmkuaWNvbi5oYXQuY293Ym95OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhjMFwiO1xufVxuaS5pY29uLmhhdC5jb3dib3kuc2lkZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4YzFcIjtcbn1cbmkuaWNvbi5oYXQud2l6YXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZlOFwiO1xufVxuaS5pY29uLmhkZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTBcIjtcbn1cbmkuaWNvbi5oZWFkLnNpZGUuY291Z2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDYxXCI7XG59XG5pLmljb24uaGVhZC5zaWRlLmNvdWdoLnNsYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2MlwiO1xufVxuaS5pY29uLmhlYWQuc2lkZS5tYXNrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2M1wiO1xufVxuaS5pY29uLmhlYWQuc2lkZS52aXJ1czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjRcIjtcbn1cbmkuaWNvbi5oZWFkaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkY1wiO1xufVxuaS5pY29uLmhlYWRwaG9uZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI1XCI7XG59XG5pLmljb24uaGVhZHBob25lcy5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNThmXCI7XG59XG5pLmljb24uaGVhZHNldDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTBcIjtcbn1cbmkuaWNvbi5oZWFydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDRcIjtcbn1cbmkuaWNvbi5oZWFydC5icm9rZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2E5XCI7XG59XG5pLmljb24uaGVhcnRiZWF0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxZVwiO1xufVxuaS5pY29uLmhlbGljb3B0ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTMzXCI7XG59XG5pLmljb24uaGlnaGxpZ2h0ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTkxXCI7XG59XG5pLmljb24uaGlraW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZlY1wiO1xufVxuaS5pY29uLmhpcHBvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZlZFwiO1xufVxuaS5pY29uLmhpc3Rvcnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRhXCI7XG59XG5pLmljb24uaG9ja2V5LnB1Y2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDUzXCI7XG59XG5pLmljb24uaG9sbHkuYmVycnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2FhXCI7XG59XG5pLmljb24uaG9tZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTVcIjtcbn1cbmkuaWNvbi5ob3JzZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZjBcIjtcbn1cbmkuaWNvbi5ob3JzZS5oZWFkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhYlwiO1xufVxuaS5pY29uLmhvc3BpdGFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmOFwiO1xufVxuaS5pY29uLmhvc3BpdGFsLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0N2RcIjtcbn1cbmkuaWNvbi5ob3NwaXRhbC5zeW1ib2w6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDdlXCI7XG59XG5pLmljb24uaG9zcGl0YWwudXNlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MGRcIjtcbn1cbmkuaWNvbi5ob3QudHViOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5M1wiO1xufVxuaS5pY29uLmhvdGRvZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MGZcIjtcbn1cbmkuaWNvbi5ob3RlbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTRcIjtcbn1cbmkuaWNvbi5ob3VyZ2xhc3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU0XCI7XG59XG5pLmljb24uaG91cmdsYXNzLmVuZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTNcIjtcbn1cbmkuaWNvbi5ob3VyZ2xhc3MuaGFsZjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTJcIjtcbn1cbmkuaWNvbi5ob3VyZ2xhc3Muc3RhcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjUxXCI7XG59XG5pLmljb24uaG91c2UuZGFtYWdlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZmMVwiO1xufVxuaS5pY29uLmhvdXNlLnVzZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY1XCI7XG59XG5pLmljb24uaHJ5dm5pYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZjJcIjtcbn1cbmkuaWNvbi5pLmN1cnNvcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDZcIjtcbn1cbmkuaWNvbi5pY2UuY3JlYW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODEwXCI7XG59XG5pLmljb24uaWNpY2xlczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YWRcIjtcbn1cbmkuaWNvbi5pY29uczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NmRcIjtcbn1cbmkuaWNvbi5pZC5iYWRnZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzFcIjtcbn1cbmkuaWNvbi5pZC5jYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjMlwiO1xufVxuaS5pY29uLmlkLmNhcmQuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3ZlwiO1xufVxuaS5pY29uLmlnbG9vOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhZVwiO1xufVxuaS5pY29uLmltYWdlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZVwiO1xufVxuaS5pY29uLmltYWdlczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDJcIjtcbn1cbmkuaWNvbi5pbmJveDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWNcIjtcbn1cbmkuaWNvbi5pbmRlbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNjXCI7XG59XG5pLmljb24uaW5kdXN0cnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc1XCI7XG59XG5pLmljb24uaW5maW5pdHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTM0XCI7XG59XG5pLmljb24uaW5mbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjlcIjtcbn1cbmkuaWNvbi5pbmZvLmNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWFcIjtcbn1cbmkuaWNvbi5pdGFsaWM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMzXCI7XG59XG5pLmljb24uamVkaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NjlcIjtcbn1cbmkuaWNvbi5qb2ludDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTVcIjtcbn1cbmkuaWNvbi5qb3VybmFsLndoaWxsczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NmFcIjtcbn1cbmkuaWNvbi5rYWFiYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NmJcIjtcbn1cbmkuaWNvbi5rZXk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg0XCI7XG59XG5pLmljb24ua2V5Ym9hcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFjXCI7XG59XG5pLmljb24ua2hhbmRhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2ZFwiO1xufVxuaS5pY29uLmtpc3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTk2XCI7XG59XG5pLmljb24ua2lzcy5iZWFtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5N1wiO1xufVxuaS5pY29uLmtpc3Mud2luay5oZWFydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OThcIjtcbn1cbmkuaWNvbi5raXdpLmJpcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTM1XCI7XG59XG5pLmljb24ubGFuZG1hcms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjZmXCI7XG59XG5pLmljb24ubGFuZ3VhZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFiXCI7XG59XG5pLmljb24ubGFwdG9wOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwOVwiO1xufVxuaS5pY29uLmxhcHRvcC5jb2RlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmY1wiO1xufVxuaS5pY29uLmxhcHRvcC5ob3VzZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjZcIjtcbn1cbmkuaWNvbi5sYXB0b3AubWVkaWNhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MTJcIjtcbn1cbmkuaWNvbi5sYXVnaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTlcIjtcbn1cbmkuaWNvbi5sYXVnaC5iZWFtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5YVwiO1xufVxuaS5pY29uLmxhdWdoLnNxdWludDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OWJcIjtcbn1cbmkuaWNvbi5sYXVnaC53aW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5Y1wiO1xufVxuaS5pY29uLmxheWVyLmdyb3VwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmZFwiO1xufVxuaS5pY29uLmxlYWY6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZjXCI7XG59XG5pLmljb24ubGVtb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk0XCI7XG59XG5pLmljb24ubGVzcy50aGFuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzNlwiO1xufVxuaS5pY29uLmxlc3MudGhhbi5lcXVhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzdcIjtcbn1cbmkuaWNvbi5sZXZlbC5kb3duLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmVcIjtcbn1cbmkuaWNvbi5sZXZlbC51cC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JmXCI7XG59XG5pLmljb24ubGlmZS5yaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjZFwiO1xufVxuaS5pY29uLmxpZ2h0YnVsYjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWJcIjtcbn1cbmkuaWNvbi5saW5raWZ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMVwiO1xufVxuaS5pY29uLmxpcmEuc2lnbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTVcIjtcbn1cbmkuaWNvbi5saXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzYVwiO1xufVxuaS5pY29uLmxpc3QuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyMlwiO1xufVxuaS5pY29uLmxpc3Qub2w6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNiXCI7XG59XG5pLmljb24ubGlzdC51bDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2FcIjtcbn1cbmkuaWNvbi5sb2NhdGlvbi5hcnJvdzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjRcIjtcbn1cbmkuaWNvbi5sb2NrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyM1wiO1xufVxuaS5pY29uLmxvY2sub3Blbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzFcIjtcbn1cbmkuaWNvbi5sb25nLmFycm93LmFsdGVybmF0ZS5kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwOVwiO1xufVxuaS5pY29uLmxvbmcuYXJyb3cuYWx0ZXJuYXRlLmxlZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzBhXCI7XG59XG5pLmljb24ubG9uZy5hcnJvdy5hbHRlcm5hdGUucmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzBiXCI7XG59XG5pLmljb24ubG9uZy5hcnJvdy5hbHRlcm5hdGUudXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzBjXCI7XG59XG5pLmljb24ubG93LnZpc2lvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYThcIjtcbn1cbmkuaWNvbi5sdWdnYWdlLmNhcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTlkXCI7XG59XG5pLmljb24ubHVuZ3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjA0XCI7XG59XG5pLmljb24ubHVuZ3MudmlydXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY3XCI7XG59XG5pLmljb24ubWFnaWM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQwXCI7XG59XG5pLmljb24ubWFnbmV0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NlwiO1xufVxuaS5pY29uLm1haWwuYnVsazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NzRcIjtcbn1cbmkuaWNvbi5tYWxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4M1wiO1xufVxuaS5pY29uLm1hcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzlcIjtcbn1cbmkuaWNvbi5tYXAubWFya2VkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5ZlwiO1xufVxuaS5pY29uLm1hcC5tYXJrZWQuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhMFwiO1xufVxuaS5pY29uLm1hcC5tYXJrZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQxXCI7XG59XG5pLmljb24ubWFwLm1hcmtlci5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M1XCI7XG59XG5pLmljb24ubWFwLnBpbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzZcIjtcbn1cbmkuaWNvbi5tYXAuc2lnbnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc3XCI7XG59XG5pLmljb24ubWFya2VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhMVwiO1xufVxuaS5pY29uLm1hcnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIyXCI7XG59XG5pLmljb24ubWFycy5kb3VibGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI3XCI7XG59XG5pLmljb24ubWFycy5zdHJva2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI5XCI7XG59XG5pLmljb24ubWFycy5zdHJva2UuaG9yaXpvbnRhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmJcIjtcbn1cbmkuaWNvbi5tYXJzLnN0cm9rZS52ZXJ0aWNhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmFcIjtcbn1cbmkuaWNvbi5tYXNrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZmYVwiO1xufVxuaS5pY29uLm1lZGFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhMlwiO1xufVxuaS5pY29uLm1lZGtpdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmFcIjtcbn1cbmkuaWNvbi5tZWg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFhXCI7XG59XG5pLmljb24ubWVoLmJsYW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhNFwiO1xufVxuaS5pY29uLm1laC5yb2xsaW5nLmV5ZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWE1XCI7XG59XG5pLmljb24ubWVtb3J5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzOFwiO1xufVxuaS5pY29uLm1lbm9yYWg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjc2XCI7XG59XG5pLmljb24ubWVyY3VyeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjNcIjtcbn1cbmkuaWNvbi5tZXRlb3I6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzUzXCI7XG59XG5pLmljb24ubWljcm9jaGlwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkYlwiO1xufVxuaS5pY29uLm1pY3JvcGhvbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMwXCI7XG59XG5pLmljb24ubWljcm9waG9uZS5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M5XCI7XG59XG5pLmljb24ubWljcm9waG9uZS5hbHRlcm5hdGUuc2xhc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTM5XCI7XG59XG5pLmljb24ubWljcm9waG9uZS5zbGFzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzFcIjtcbn1cbmkuaWNvbi5taWNyb3Njb3BlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYxMFwiO1xufVxuaS5pY29uLm1pbnVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2OFwiO1xufVxuaS5pY29uLm1pbnVzLmNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTZcIjtcbn1cbmkuaWNvbi5taW51cy5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ2XCI7XG59XG5pLmljb24ubWl0dGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiNVwiO1xufVxuaS5pY29uLm1vYmlsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGJcIjtcbn1cbmkuaWNvbi5tb2JpbGUuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjZFwiO1xufVxuaS5pY29uLm1vbmV5LmJpbGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ2XCI7XG59XG5pLmljb24ubW9uZXkuYmlsbC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QxXCI7XG59XG5pLmljb24ubW9uZXkuYmlsbC53YXZlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzYVwiO1xufVxuaS5pY29uLm1vbmV5LmJpbGwud2F2ZS5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTNiXCI7XG59XG5pLmljb24ubW9uZXkuY2hlY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTNjXCI7XG59XG5pLmljb24ubW9uZXkuY2hlY2suYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzZFwiO1xufVxuaS5pY29uLm1vbnVtZW50OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhNlwiO1xufVxuaS5pY29uLm1vb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg2XCI7XG59XG5pLmljb24ubW9ydGFyLnBlc3RsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YTdcIjtcbn1cbmkuaWNvbi5tb3NxdWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjc4XCI7XG59XG5pLmljb24ubW90b3JjeWNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWNcIjtcbn1cbmkuaWNvbi5tb3VudGFpbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZmNcIjtcbn1cbmkuaWNvbi5tb3VzZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4Y2NcIjtcbn1cbmkuaWNvbi5tb3VzZS5wb2ludGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0NVwiO1xufVxuaS5pY29uLm11Zy5ob3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2I2XCI7XG59XG5pLmljb24ubXVzaWM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAxXCI7XG59XG5pLmljb24ubmV0d29yay53aXJlZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZmZcIjtcbn1cbmkuaWNvbi5uZXV0ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJjXCI7XG59XG5pLmljb24ubmV3c3BhcGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlYVwiO1xufVxuaS5pY29uLm5vdC5lcXVhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1M2VcIjtcbn1cbmkuaWNvbi5ub3Rlcy5tZWRpY2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4MVwiO1xufVxuaS5pY29uLm9iamVjdC5ncm91cDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDdcIjtcbn1cbmkuaWNvbi5vYmplY3QudW5ncm91cDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDhcIjtcbn1cbmkuaWNvbi5vaWwuY2FuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYxM1wiO1xufVxuaS5pY29uLm9tOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY3OVwiO1xufVxuaS5pY29uLm90dGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcwMFwiO1xufVxuaS5pY29uLm91dGRlbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNiXCI7XG59XG5pLmljb24ucGFnZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODE1XCI7XG59XG5pLmljb24ucGFpbnQuYnJ1c2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZjXCI7XG59XG5pLmljb24ucGFpbnQucm9sbGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhYVwiO1xufVxuaS5pY29uLnBhbGV0dGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTNmXCI7XG59XG5pLmljb24ucGFsbGV0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4MlwiO1xufVxuaS5pY29uLnBhcGVyLnBsYW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkOFwiO1xufVxuaS5pY29uLnBhcGVyY2xpcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzZcIjtcbn1cbmkuaWNvbi5wYXJhY2h1dGUuYm94OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRjZFwiO1xufVxuaS5pY29uLnBhcmFncmFwaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGRcIjtcbn1cbmkuaWNvbi5wYXJraW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0MFwiO1xufVxuaS5pY29uLnBhc3Nwb3J0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhYlwiO1xufVxuaS5pY29uLnBhc3RhZmFyaWFuaXNtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY3YlwiO1xufVxuaS5pY29uLnBhc3RlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlYVwiO1xufVxuaS5pY29uLnBhdXNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0Y1wiO1xufVxuaS5pY29uLnBhdXNlLmNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOGJcIjtcbn1cbmkuaWNvbi5wYXc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIwXCI7XG59XG5pLmljb24ucGVhY2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjdjXCI7XG59XG5pLmljb24ucGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwNFwiO1xufVxuaS5pY29uLnBlbi5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzA1XCI7XG59XG5pLmljb24ucGVuLmZhbmN5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhY1wiO1xufVxuaS5pY29uLnBlbi5uaWI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWFkXCI7XG59XG5pLmljb24ucGVuLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGJcIjtcbn1cbmkuaWNvbi5wZW5jaWwuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwM1wiO1xufVxuaS5pY29uLnBlbmNpbC5ydWxlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YWVcIjtcbn1cbmkuaWNvbi5wZW9wbGUuYXJyb3dzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2OFwiO1xufVxuaS5pY29uLnBlb3BsZS5jYXJyeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0Y2VcIjtcbn1cbmkuaWNvbi5wZXBwZXIuaG90OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgxNlwiO1xufVxuaS5pY29uLnBlcmNlbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk1XCI7XG59XG5pLmljb24ucGVyY2VudGFnZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDFcIjtcbn1cbmkuaWNvbi5wZXJzb24uYm9vdGg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzU2XCI7XG59XG5pLmljb24ucGhvbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk1XCI7XG59XG5pLmljb24ucGhvbmUuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg3OVwiO1xufVxuaS5pY29uLnBob25lLnNsYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkZFwiO1xufVxuaS5pY29uLnBob25lLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOThcIjtcbn1cbmkuaWNvbi5waG9uZS5zcXVhcmUuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg3YlwiO1xufVxuaS5pY29uLnBob25lLnZvbHVtZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTBcIjtcbn1cbmkuaWNvbi5waG90by52aWRlbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4N2NcIjtcbn1cbmkuaWNvbi5waWdneS5iYW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkM1wiO1xufVxuaS5pY29uLnBpbGxzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4NFwiO1xufVxuaS5pY29uLnBpenphLnNsaWNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgxOFwiO1xufVxuaS5pY29uLnBsYWNlLm9mLndvcnNoaXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjdmXCI7XG59XG5pLmljb24ucGxhbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcyXCI7XG59XG5pLmljb24ucGxhbmUuYXJyaXZhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YWZcIjtcbn1cbmkuaWNvbi5wbGFuZS5kZXBhcnR1cmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWIwXCI7XG59XG5pLmljb24ucGxhbmUuc2xhc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY5XCI7XG59XG5pLmljb24ucGxheTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGJcIjtcbn1cbmkuaWNvbi5wbGF5LmNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDRcIjtcbn1cbmkuaWNvbi5wbHVnOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNlwiO1xufVxuaS5pY29uLnBsdXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY3XCI7XG59XG5pLmljb24ucGx1cy5jaXJjbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU1XCI7XG59XG5pLmljb24ucGx1cy5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZlXCI7XG59XG5pLmljb24ucG9kY2FzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2VcIjtcbn1cbmkuaWNvbi5wb2xsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY4MVwiO1xufVxuaS5pY29uLnBvbGwuaG9yaXpvbnRhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ODJcIjtcbn1cbmkuaWNvbi5wb286OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmZlXCI7XG59XG5pLmljb24ucG9vLnN0b3JtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc1YVwiO1xufVxuaS5pY29uLnBvb3A6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjE5XCI7XG59XG5pLmljb24ucG9ydHJhaXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UwXCI7XG59XG5pLmljb24ucG91bmQuc2lnbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTRcIjtcbn1cbmkuaWNvbi5wb3dlci5vZmY6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDExXCI7XG59XG5pLmljb24ucHJheTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ODNcIjtcbn1cbmkuaWNvbi5wcmF5aW5nLmhhbmRzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY4NFwiO1xufVxuaS5pY29uLnByZXNjcmlwdGlvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjFcIjtcbn1cbmkuaWNvbi5wcmVzY3JpcHRpb24uYm90dGxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4NVwiO1xufVxuaS5pY29uLnByZXNjcmlwdGlvbi5ib3R0bGUuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4NlwiO1xufVxuaS5pY29uLnByaW50OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZlwiO1xufVxuaS5pY29uLnByb2NlZHVyZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDg3XCI7XG59XG5pLmljb24ucHJvamVjdC5kaWFncmFtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0MlwiO1xufVxuaS5pY29uLnB1bXAubWVkaWNhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNmFcIjtcbn1cbmkuaWNvbi5wdW1wLnNvYXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDZiXCI7XG59XG5pLmljb24ucHV6emxlLnBpZWNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyZVwiO1xufVxuaS5pY29uLnFyY29kZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjlcIjtcbn1cbmkuaWNvbi5xdWVzdGlvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjhcIjtcbn1cbmkuaWNvbi5xdWVzdGlvbi5jaXJjbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU5XCI7XG59XG5pLmljb24ucXVpZGRpdGNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1OFwiO1xufVxuaS5pY29uLnF1b3RlLmxlZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBkXCI7XG59XG5pLmljb24ucXVvdGUucmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBlXCI7XG59XG5pLmljb24ucXVyYW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjg3XCI7XG59XG5pLmljb24ucmFkaWF0aW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiOVwiO1xufVxuaS5pY29uLnJhZGlhdGlvbi5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2JhXCI7XG59XG5pLmljb24ucmFpbmJvdzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NWJcIjtcbn1cbmkuaWNvbi5yYW5kb206OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc0XCI7XG59XG5pLmljb24ucmVjZWlwdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDNcIjtcbn1cbmkuaWNvbi5yZWNvcmQudmlueWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGQ5XCI7XG59XG5pLmljb24ucmVjeWNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjhcIjtcbn1cbmkuaWNvbi5yZWRvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxZVwiO1xufVxuaS5pY29uLnJlZG8uYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmOVwiO1xufVxuaS5pY29uLnJlZ2lzdGVyZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjVkXCI7XG59XG5pLmljb24ucmVtb3ZlLmZvcm1hdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4N2RcIjtcbn1cbmkuaWNvbi5yZXBseTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTVcIjtcbn1cbmkuaWNvbi5yZXBseS5hbGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIyXCI7XG59XG5pLmljb24ucmVwdWJsaWNhbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NWVcIjtcbn1cbmkuaWNvbi5yZXN0cm9vbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YmRcIjtcbn1cbmkuaWNvbi5yZXR3ZWV0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3OVwiO1xufVxuaS5pY29uLnJpYmJvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZDZcIjtcbn1cbmkuaWNvbi5yaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcwYlwiO1xufVxuaS5pY29uLnJvYWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE4XCI7XG59XG5pLmljb24ucm9ib3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQ0XCI7XG59XG5pLmljb24ucm9ja2V0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzNVwiO1xufVxuaS5pY29uLnJvdXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkN1wiO1xufVxuaS5pY29uLnJzczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWVcIjtcbn1cbmkuaWNvbi5yc3Muc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0M1wiO1xufVxuaS5pY29uLnJ1YmxlLnNpZ246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU4XCI7XG59XG5pLmljb24ucnVsZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQ1XCI7XG59XG5pLmljb24ucnVsZXIuY29tYmluZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQ2XCI7XG59XG5pLmljb24ucnVsZXIuaG9yaXpvbnRhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDdcIjtcbn1cbmkuaWNvbi5ydWxlci52ZXJ0aWNhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDhcIjtcbn1cbmkuaWNvbi5ydW5uaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcwY1wiO1xufVxuaS5pY29uLnJ1cGVlLnNpZ246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU2XCI7XG59XG5pLmljb24uc2FkLmNyeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjNcIjtcbn1cbmkuaWNvbi5zYWQudGVhcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjRcIjtcbn1cbmkuaWNvbi5zYXRlbGxpdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2JmXCI7XG59XG5pLmljb24uc2F0ZWxsaXRlLmRpc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2MwXCI7XG59XG5pLmljb24uc2F2ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzdcIjtcbn1cbmkuaWNvbi5zY2hvb2w6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQ5XCI7XG59XG5pLmljb24uc2NyZXdkcml2ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTRhXCI7XG59XG5pLmljb24uc2Nyb2xsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcwZVwiO1xufVxuaS5pY29uLnNkLmNhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2MyXCI7XG59XG5pLmljb24uc2VhcmNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwMlwiO1xufVxuaS5pY29uLnNlYXJjaC5kb2xsYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjg4XCI7XG59XG5pLmljb24uc2VhcmNoLmxvY2F0aW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY4OVwiO1xufVxuaS5pY29uLnNlYXJjaC5taW51czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTBcIjtcbn1cbmkuaWNvbi5zZWFyY2gucGx1czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGVcIjtcbn1cbmkuaWNvbi5zZWVkbGluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZDhcIjtcbn1cbmkuaWNvbi5zZXJ2ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjMzXCI7XG59XG5pLmljb24uc2hhcGVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYxZlwiO1xufVxuaS5pY29uLnNoYXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2NFwiO1xufVxuaS5pY29uLnNoYXJlLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTBcIjtcbn1cbmkuaWNvbi5zaGFyZS5hbHRlcm5hdGUuc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlMVwiO1xufVxuaS5pY29uLnNoYXJlLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGRcIjtcbn1cbmkuaWNvbi5zaGVrZWwuc2lnbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGJcIjtcbn1cbmkuaWNvbi5zaGllbGQuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlZFwiO1xufVxuaS5pY29uLnNoaWVsZC52aXJ1czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNmNcIjtcbn1cbmkuaWNvbi5zaGlwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxYVwiO1xufVxuaS5pY29uLnNoaXBwaW5nLmZhc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDhiXCI7XG59XG5pLmljb24uc2hvZS5wcmludHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTRiXCI7XG59XG5pLmljb24uc2hvcHBpbmcuYmFnOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5MFwiO1xufVxuaS5pY29uLnNob3BwaW5nLmJhc2tldDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTFcIjtcbn1cbmkuaWNvbi5zaG9wcGluZy5jYXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YVwiO1xufVxuaS5pY29uLnNob3dlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2NcIjtcbn1cbmkuaWNvbi5zaHV0dGxlLnZhbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjZcIjtcbn1cbmkuaWNvbi5zaWduOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkOVwiO1xufVxuaS5pY29uLnNpZ24ubGFuZ3VhZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE3XCI7XG59XG5pLmljb24uc2lnbmFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMlwiO1xufVxuaS5pY29uLnNpZ25hdHVyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjdcIjtcbn1cbmkuaWNvbi5zaW0uY2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzRcIjtcbn1cbmkuaWNvbi5zaW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2ZFwiO1xufVxuaS5pY29uLnNpdGVtYXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU4XCI7XG59XG5pLmljb24uc2thdGluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzVcIjtcbn1cbmkuaWNvbi5za2lpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2M5XCI7XG59XG5pLmljb24uc2tpaW5nLm5vcmRpYzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3Y2FcIjtcbn1cbmkuaWNvbi5za3VsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NGNcIjtcbn1cbmkuaWNvbi5za3VsbC5jcm9zc2JvbmVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcxNFwiO1xufVxuaS5pY29uLnNsYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcxNVwiO1xufVxuaS5pY29uLnNsZWlnaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3Y2NcIjtcbn1cbmkuaWNvbi5zbGlkZXJzLmhvcml6b250YWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRlXCI7XG59XG5pLmljb24uc21pbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE4XCI7XG59XG5pLmljb24uc21pbGUuYmVhbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjhcIjtcbn1cbmkuaWNvbi5zbWlsZS53aW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkYVwiO1xufVxuaS5pY29uLnNtb2c6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzVmXCI7XG59XG5pLmljb24uc21va2luZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OGRcIjtcbn1cbmkuaWNvbi5zbW9raW5nLmJhbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NGRcIjtcbn1cbmkuaWNvbi5zbXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2NkXCI7XG59XG5pLmljb24uc25vd2JvYXJkaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjZVwiO1xufVxuaS5pY29uLnNub3dmbGFrZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGNcIjtcbn1cbmkuaWNvbi5zbm93bWFuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkMFwiO1xufVxuaS5pY29uLnNub3dwbG93OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkMlwiO1xufVxuaS5pY29uLnNvYXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDZlXCI7XG59XG5pLmljb24uc29ja3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjk2XCI7XG59XG5pLmljb24uc29sYXIucGFuZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJhXCI7XG59XG5pLmljb24uc29ydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGNcIjtcbn1cbmkuaWNvbi5zb3J0LmFscGhhYmV0LmRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVkXCI7XG59XG5pLmljb24uc29ydC5hbHBoYWJldC5kb3duLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ODFcIjtcbn1cbmkuaWNvbi5zb3J0LmFscGhhYmV0LnVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZVwiO1xufVxuaS5pY29uLnNvcnQuYWxwaGFiZXQudXAuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg4MlwiO1xufVxuaS5pY29uLnNvcnQuYW1vdW50LmRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYwXCI7XG59XG5pLmljb24uc29ydC5hbW91bnQuZG93bi5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODg0XCI7XG59XG5pLmljb24uc29ydC5hbW91bnQudXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYxXCI7XG59XG5pLmljb24uc29ydC5hbW91bnQudXAuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg4NVwiO1xufVxuaS5pY29uLnNvcnQuZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGRcIjtcbn1cbmkuaWNvbi5zb3J0Lm51bWVyaWMuZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjJcIjtcbn1cbmkuaWNvbi5zb3J0Lm51bWVyaWMuZG93bi5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODg2XCI7XG59XG5pLmljb24uc29ydC5udW1lcmljLnVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2M1wiO1xufVxuaS5pY29uLnNvcnQubnVtZXJpYy51cC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODg3XCI7XG59XG5pLmljb24uc29ydC51cDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGVcIjtcbn1cbmkuaWNvbi5zcGE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJiXCI7XG59XG5pLmljb24uc3BhY2Uuc2h1dHRsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTdcIjtcbn1cbmkuaWNvbi5zcGVsbC5jaGVjazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4OTFcIjtcbn1cbmkuaWNvbi5zcGlkZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzE3XCI7XG59XG5pLmljb24uc3Bpbm5lcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTBcIjtcbn1cbmkuaWNvbi5zcGxvdGNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViY1wiO1xufVxuaS5pY29uLnNwcmF5LmNhbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YmRcIjtcbn1cbmkuaWNvbi5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM4XCI7XG59XG5pLmljb24uc3F1YXJlLmZ1bGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDVjXCI7XG59XG5pLmljb24uc3F1YXJlLnJvb3QuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY5OFwiO1xufVxuaS5pY29uLnN0YW1wOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViZlwiO1xufVxuaS5pY29uLnN0YXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XCI7XG59XG5pLmljb24uc3Rhci5hbmQuY3Jlc2NlbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjk5XCI7XG59XG5pLmljb24uc3Rhci5oYWxmOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4OVwiO1xufVxuaS5pY29uLnN0YXIuaGFsZi5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWMwXCI7XG59XG5pLmljb24uc3Rhci5vZi5kYXZpZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2OWFcIjtcbn1cbmkuaWNvbi5zdGFyLm9mLmxpZmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjIxXCI7XG59XG5pLmljb24uc3RlcC5iYWNrd2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDhcIjtcbn1cbmkuaWNvbi5zdGVwLmZvcndhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUxXCI7XG59XG5pLmljb24uc3RldGhvc2NvcGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYxXCI7XG59XG5pLmljb24uc3RpY2t5Lm5vdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ5XCI7XG59XG5pLmljb24uc3RvcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGRcIjtcbn1cbmkuaWNvbi5zdG9wLmNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOGRcIjtcbn1cbmkuaWNvbi5zdG9wd2F0Y2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmYyXCI7XG59XG5pLmljb24uc3RvcHdhdGNoLnR3ZW50eTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNmZcIjtcbn1cbmkuaWNvbi5zdG9yZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NGVcIjtcbn1cbmkuaWNvbi5zdG9yZS5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTRmXCI7XG59XG5pLmljb24uc3RvcmUuYWx0ZXJuYXRlLnNsYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3MFwiO1xufVxuaS5pY29uLnN0b3JlLnNsYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3MVwiO1xufVxuaS5pY29uLnN0cmVhbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NTBcIjtcbn1cbmkuaWNvbi5zdHJlZXQudmlldzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWRcIjtcbn1cbmkuaWNvbi5zdHJpa2V0aHJvdWdoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjY1wiO1xufVxuaS5pY29uLnN0cm9vcHdhZmVsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1MVwiO1xufVxuaS5pY29uLnN1YnNjcmlwdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmNcIjtcbn1cbmkuaWNvbi5zdWJ3YXk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM5XCI7XG59XG5pLmljb24uc3VpdGNhc2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYyXCI7XG59XG5pLmljb24uc3VpdGNhc2Uucm9sbGluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzFcIjtcbn1cbmkuaWNvbi5zdW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg1XCI7XG59XG5pLmljb24uc3VwZXJzY3JpcHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJiXCI7XG59XG5pLmljb24uc3VycHJpc2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWMyXCI7XG59XG5pLmljb24uc3dhdGNoYm9vazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzNcIjtcbn1cbmkuaWNvbi5zd2ltbWVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjNFwiO1xufVxuaS5pY29uLnN3aW1taW5nLnBvb2w6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWM1XCI7XG59XG5pLmljb24uc3luYWdvZ3VlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY5YlwiO1xufVxuaS5pY29uLnN5bmM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIxXCI7XG59XG5pLmljb24uc3luYy5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmYxXCI7XG59XG5pLmljb24uc3lyaW5nZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OGVcIjtcbn1cbmkuaWNvbi50YWJsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2VcIjtcbn1cbmkuaWNvbi50YWJsZS50ZW5uaXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDVkXCI7XG59XG5pLmljb24udGFibGV0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwYVwiO1xufVxuaS5pY29uLnRhYmxldC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ZhXCI7XG59XG5pLmljb24udGFibGV0czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTBcIjtcbn1cbmkuaWNvbi50YWNob21ldGVyLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZmRcIjtcbn1cbmkuaWNvbi50YWc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJiXCI7XG59XG5pLmljb24udGFnczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmNcIjtcbn1cbmkuaWNvbi50YXBlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkYlwiO1xufVxuaS5pY29uLnRhc2tzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhZVwiO1xufVxuaS5pY29uLnRheGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJhXCI7XG59XG5pLmljb24udGVldGg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjJlXCI7XG59XG5pLmljb24udGVldGgub3Blbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MmZcIjtcbn1cbmkuaWNvbi50ZW1wZXJhdHVyZS5oaWdoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc2OVwiO1xufVxuaS5pY29uLnRlbXBlcmF0dXJlLmxvdzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NmJcIjtcbn1cbmkuaWNvbi50ZW5nZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDdcIjtcbn1cbmkuaWNvbi50ZXJtaW5hbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjBcIjtcbn1cbmkuaWNvbi50ZXh0LmhlaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzRcIjtcbn1cbmkuaWNvbi50ZXh0LndpZHRoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzNVwiO1xufVxuaS5pY29uLnRoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwYVwiO1xufVxuaS5pY29uLnRoLmxhcmdlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwOVwiO1xufVxuaS5pY29uLnRoLmxpc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBiXCI7XG59XG5pLmljb24udGhlYXRlci5tYXNrczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MzBcIjtcbn1cbmkuaWNvbi50aGVybW9tZXRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTFcIjtcbn1cbmkuaWNvbi50aGVybW9tZXRlci5lbXB0eTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2JcIjtcbn1cbmkuaWNvbi50aGVybW9tZXRlci5mdWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjN1wiO1xufVxuaS5pY29uLnRoZXJtb21ldGVyLmhhbGY6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM5XCI7XG59XG5pLmljb24udGhlcm1vbWV0ZXIucXVhcnRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2FcIjtcbn1cbmkuaWNvbi50aGVybW9tZXRlci50aHJlZS5xdWFydGVyczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzhcIjtcbn1cbmkuaWNvbi50aHVtYnMuZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjVcIjtcbn1cbmkuaWNvbi50aHVtYnMudXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY0XCI7XG59XG5pLmljb24udGh1bWJ0YWNrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4ZFwiO1xufVxuaS5pY29uLnRpY2tldC5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ZmXCI7XG59XG5pLmljb24udGltZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG59XG5pLmljb24udGltZXMuY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1N1wiO1xufVxuaS5pY29uLnRpbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQzXCI7XG59XG5pLmljb24udGludC5zbGFzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzdcIjtcbn1cbmkuaWNvbi50aXJlZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzhcIjtcbn1cbmkuaWNvbi50b2dnbGUub2ZmOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwNFwiO1xufVxuaS5pY29uLnRvZ2dsZS5vbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDVcIjtcbn1cbmkuaWNvbi50b2lsZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2Q4XCI7XG59XG5pLmljb24udG9pbGV0LnBhcGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcxZVwiO1xufVxuaS5pY29uLnRvaWxldC5wYXBlci5zbGFzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzJcIjtcbn1cbmkuaWNvbi50b29sYm94OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1MlwiO1xufVxuaS5pY29uLnRvb2xzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkOVwiO1xufVxuaS5pY29uLnRvb3RoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjOVwiO1xufVxuaS5pY29uLnRvcmFoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZhMFwiO1xufVxuaS5pY29uLnRvcmlpLmdhdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmExXCI7XG59XG5pLmljb24udHJhY3Rvcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MjJcIjtcbn1cbmkuaWNvbi50cmFkZW1hcms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjVjXCI7XG59XG5pLmljb24udHJhZmZpYy5saWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MzdcIjtcbn1cbmkuaWNvbi50cmFpbGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0MVwiO1xufVxuaS5pY29uLnRyYWluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzOFwiO1xufVxuaS5pY29uLnRyYW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2RhXCI7XG59XG5pLmljb24udHJhbnNnZW5kZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI0XCI7XG59XG5pLmljb24udHJhbnNnZW5kZXIuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNVwiO1xufVxuaS5pY29uLnRyYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmOFwiO1xufVxuaS5pY29uLnRyYXNoLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZWRcIjtcbn1cbmkuaWNvbi50cmFzaC5yZXN0b3JlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgyOVwiO1xufVxuaS5pY29uLnRyYXNoLnJlc3RvcmUuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgyYVwiO1xufVxuaS5pY29uLnRyZWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJiXCI7XG59XG5pLmljb24udHJvcGh5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5MVwiO1xufVxuaS5pY29uLnRydWNrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMVwiO1xufVxuaS5pY29uLnRydWNrLm1vbnN0ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjNiXCI7XG59XG5pLmljb24udHJ1Y2subW92aW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkZlwiO1xufVxuaS5pY29uLnRydWNrLnBhY2tpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGRlXCI7XG59XG5pLmljb24udHJ1Y2sucGlja3VwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYzY1wiO1xufVxuaS5pY29uLnRzaGlydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NTNcIjtcbn1cbmkuaWNvbi50dHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU0XCI7XG59XG5pLmljb24udHY6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZjXCI7XG59XG5pLmljb24udW1icmVsbGE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU5XCI7XG59XG5pLmljb24udW1icmVsbGEuYmVhY2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWNhXCI7XG59XG5pLmljb24udW5kZXJsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjZFwiO1xufVxuaS5pY29uLnVuZG86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUyXCI7XG59XG5pLmljb24udW5kby5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmVhXCI7XG59XG5pLmljb24udW5pdmVyc2FsLmFjY2Vzczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOWFcIjtcbn1cbmkuaWNvbi51bml2ZXJzaXR5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5Y1wiO1xufVxuaS5pY29uLnVubGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjdcIjtcbn1cbmkuaWNvbi51bmxvY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDljXCI7XG59XG5pLmljb24udW5sb2NrLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2VcIjtcbn1cbmkuaWNvbi51cGxvYWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkzXCI7XG59XG5pLmljb24udXNlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDdcIjtcbn1cbmkuaWNvbi51c2VyLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDZcIjtcbn1cbmkuaWNvbi51c2VyLmFsdGVybmF0ZS5zbGFzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZmFcIjtcbn1cbmkuaWNvbi51c2VyLmFzdHJvbmF1dDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZmJcIjtcbn1cbmkuaWNvbi51c2VyLmNoZWNrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmY1wiO1xufVxuaS5pY29uLnVzZXIuY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiZFwiO1xufVxuaS5pY29uLnVzZXIuY2xvY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGZkXCI7XG59XG5pLmljb24udXNlci5jb2c6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGZlXCI7XG59XG5pLmljb24udXNlci5lZGl0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmZlwiO1xufVxuaS5pY29uLnVzZXIuZnJpZW5kczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDBcIjtcbn1cbmkuaWNvbi51c2VyLmdyYWR1YXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwMVwiO1xufVxuaS5pY29uLnVzZXIuaW5qdXJlZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MjhcIjtcbn1cbmkuaWNvbi51c2VyLmxvY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTAyXCI7XG59XG5pLmljb24udXNlci5tZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjBcIjtcbn1cbmkuaWNvbi51c2VyLm1pbnVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwM1wiO1xufVxuaS5pY29uLnVzZXIubmluamE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTA0XCI7XG59XG5pLmljb24udXNlci5udXJzZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MmZcIjtcbn1cbmkuaWNvbi51c2VyLnBsdXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM0XCI7XG59XG5pLmljb24udXNlci5zZWNyZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFiXCI7XG59XG5pLmljb24udXNlci5zaGllbGQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTA1XCI7XG59XG5pLmljb24udXNlci5zbGFzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDZcIjtcbn1cbmkuaWNvbi51c2VyLnRhZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDdcIjtcbn1cbmkuaWNvbi51c2VyLnRpZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDhcIjtcbn1cbmkuaWNvbi51c2VyLnRpbWVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNVwiO1xufVxuaS5pY29uLnVzZXJzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMFwiO1xufVxuaS5pY29uLnVzZXJzLmNvZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDlcIjtcbn1cbmkuaWNvbi51c2Vycy5zbGFzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzNcIjtcbn1cbmkuaWNvbi51dGVuc2lsLnNwb29uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlNVwiO1xufVxuaS5pY29uLnV0ZW5zaWxzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlN1wiO1xufVxuaS5pY29uLnZlY3Rvci5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWNiXCI7XG59XG5pLmljb24udmVudXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIxXCI7XG59XG5pLmljb24udmVudXMuZG91YmxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNlwiO1xufVxuaS5pY29uLnZlbnVzLm1hcnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI4XCI7XG59XG5pLmljb24udmVzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODVcIjtcbn1cbmkuaWNvbi52ZXN0LnBhdGNoZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg2XCI7XG59XG5pLmljb24udmlhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTJcIjtcbn1cbmkuaWNvbi52aWFsczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTNcIjtcbn1cbmkuaWNvbi52aWRlbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2RcIjtcbn1cbmkuaWNvbi52aWRlby5zbGFzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTJcIjtcbn1cbmkuaWNvbi52aWhhcmE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmE3XCI7XG59XG5pLmljb24udmlydXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc0XCI7XG59XG5pLmljb24udmlydXMuc2xhc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc1XCI7XG59XG5pLmljb24udmlydXNlczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzZcIjtcbn1cbmkuaWNvbi52b2ljZW1haWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODk3XCI7XG59XG5pLmljb24udm9sbGV5YmFsbC5iYWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1ZlwiO1xufVxuaS5pY29uLnZvbHVtZS5kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyN1wiO1xufVxuaS5pY29uLnZvbHVtZS5tdXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZhOVwiO1xufVxuaS5pY29uLnZvbHVtZS5vZmY6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI2XCI7XG59XG5pLmljb24udm9sdW1lLnVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyOFwiO1xufVxuaS5pY29uLnZvdGUueWVhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3MlwiO1xufVxuaS5pY29uLnZyLmNhcmRib2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MjlcIjtcbn1cbmkuaWNvbi53YWxraW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1NFwiO1xufVxuaS5pY29uLndhbGxldDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NTVcIjtcbn1cbmkuaWNvbi53YXJlaG91c2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDk0XCI7XG59XG5pLmljb24ud2F0ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzczXCI7XG59XG5pLmljb24ud2F2ZS5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODNlXCI7XG59XG5pLmljb24ud2VpZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5NlwiO1xufVxuaS5pY29uLndlaWdodC5oYW5naW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjZFwiO1xufVxuaS5pY29uLndoZWVsY2hhaXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkzXCI7XG59XG5pLmljb24ud2lmaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWJcIjtcbn1cbmkuaWNvbi53aW5kOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcyZVwiO1xufVxuaS5pY29uLndpbmRvdy5jbG9zZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTBcIjtcbn1cbmkuaWNvbi53aW5kb3cubWF4aW1pemU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQwXCI7XG59XG5pLmljb24ud2luZG93Lm1pbmltaXplOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkMVwiO1xufVxuaS5pY29uLndpbmRvdy5yZXN0b3JlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkMlwiO1xufVxuaS5pY29uLndpbmUuYm90dGxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcyZlwiO1xufVxuaS5pY29uLndpbmUuZ2xhc3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGUzXCI7XG59XG5pLmljb24ud2luZS5nbGFzcy5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWNlXCI7XG59XG5pLmljb24ud29uLnNpZ246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU5XCI7XG59XG5pLmljb24ud3JlbmNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhZFwiO1xufVxuaS5pY29uLngucmF5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5N1wiO1xufVxuaS5pY29uLnllbi5zaWduOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1N1wiO1xufVxuaS5pY29uLnlpbi55YW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZhZFwiO1xufVxuLyogQWxpYXNlcyAqL1xuaS5pY29uLmFkZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjdcIjtcbn1cbmkuaWNvbi5hZGQuY2lyY2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1NVwiO1xufVxuaS5pY29uLmFkZC5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZlXCI7XG59XG5pLmljb24uYWRkLnRvLmNhbGVuZGFyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3MVwiO1xufVxuaS5pY29uLmFkZC50by5jYXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxN1wiO1xufVxuaS5pY29uLmFkZC51c2VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNFwiO1xufVxuaS5pY29uLmFsYXJtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmM1wiO1xufVxuaS5pY29uLmFsYXJtLm11dGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY2XCI7XG59XG5pLmljb24uYWxkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMlwiO1xufVxuaS5pY29uLmFsczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTJcIjtcbn1cbmkuaWNvbi5hbm5vdW5jZW1lbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGExXCI7XG59XG5pLmljb24uYXJlYS5jaGFydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmVcIjtcbn1cbmkuaWNvbi5hcmVhLmdyYXBoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZVwiO1xufVxuaS5pY29uLmFycm93LmRvd24uY2FydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMThcIjtcbn1cbmkuaWNvbi5hc2V4dWFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyZFwiO1xufVxuaS5pY29uLmFzbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTNcIjtcbn1cbmkuaWNvbi5hc2wuaW50ZXJwcmV0aW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhM1wiO1xufVxuaS5pY29uLmFzc2lzdGl2ZS5saXN0ZW5pbmcuZGV2aWNlczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTJcIjtcbn1cbmkuaWNvbi5hdHRhY2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM2XCI7XG59XG5pLmljb24uYXR0ZW50aW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2YVwiO1xufVxuaS5pY29uLmJhbGFuY2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRlXCI7XG59XG5pLmljb24uYmFyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmY1wiO1xufVxuaS5pY29uLmJhdGh0dWI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNkXCI7XG59XG5pLmljb24uYmF0dGVyeS5mb3VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MFwiO1xufVxuaS5pY29uLmJhdHRlcnkuaGlnaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDFcIjtcbn1cbmkuaWNvbi5iYXR0ZXJ5Lmxvdzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDNcIjtcbn1cbmkuaWNvbi5iYXR0ZXJ5Lm1lZGl1bTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDJcIjtcbn1cbmkuaWNvbi5iYXR0ZXJ5Lm9uZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDNcIjtcbn1cbmkuaWNvbi5iYXR0ZXJ5LnRocmVlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MVwiO1xufVxuaS5pY29uLmJhdHRlcnkudHdvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MlwiO1xufVxuaS5pY29uLmJhdHRlcnkuemVybzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDRcIjtcbn1cbmkuaWNvbi5iaXJ0aGRheTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmRcIjtcbn1cbmkuaWNvbi5ibG9jay5sYXlvdXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA5XCI7XG59XG5pLmljb24uYnJva2VuLmNoYWluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyN1wiO1xufVxuaS5pY29uLmJyb3dzZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIyXCI7XG59XG5pLmljb24uY2FsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTVcIjtcbn1cbmkuaWNvbi5jYWxsLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOThcIjtcbn1cbmkuaWNvbi5jYW5jZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG59XG5pLmljb24uY2FydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2FcIjtcbn1cbmkuaWNvbi5jYzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGFcIjtcbn1cbmkuaWNvbi5jaGFpbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzFcIjtcbn1cbmkuaWNvbi5jaGF0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NVwiO1xufVxuaS5pY29uLmNoZWNrZWQuY2FsZW5kYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc0XCI7XG59XG5pLmljb24uY2hlY2ttYXJrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwY1wiO1xufVxuaS5pY29uLmNoZWNrbWFyay5ib3g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRhXCI7XG59XG5pLmljb24uY2hlc3Mucm9jazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NDdcIjtcbn1cbmkuaWNvbi5jaXJjbGUubm90Y2hlZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2VcIjtcbn1cbmkuaWNvbi5jaXJjbGUudGhpbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTFcIjtcbn1cbmkuaWNvbi5jbG9zZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cbmkuaWNvbi5jbG91ZC5kb3dubG9hZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODFcIjtcbn1cbmkuaWNvbi5jbG91ZC51cGxvYWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzgyXCI7XG59XG5pLmljb24uY255OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1N1wiO1xufVxuaS5pY29uLmNvY2t0YWlsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwMFwiO1xufVxuaS5pY29uLmNvbW1lbnRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdhXCI7XG59XG5pLmljb24uY29tcG9zZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDNcIjtcbn1cbmkuaWNvbi5jb21wdXRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDhcIjtcbn1cbmkuaWNvbi5jb25maWd1cmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFkXCI7XG59XG5pLmljb24uY29udGVudDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzlcIjtcbn1cbmkuaWNvbi5jb252ZXJzYXRpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg2XCI7XG59XG5pLmljb24uY3JlZGl0LmNhcmQuYWx0ZXJuYXRpdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlkXCI7XG59XG5pLmljb24uY3VycmVuY3k6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QxXCI7XG59XG5pLmljb24uZGFzaGJvYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmZFwiO1xufVxuaS5pY29uLmRlYWZuZXNzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNFwiO1xufVxuaS5pY29uLmRlbGV0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cbmkuaWNvbi5kZWxldGUuY2FsZW5kYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjczXCI7XG59XG5pLmljb24uZGV0ZWN0aXZlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxYlwiO1xufVxuaS5pY29uLmRpYW1vbmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E1XCI7XG59XG5pLmljb24uZGlzY3Vzc2lvbnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg2XCI7XG59XG5pLmljb24uZGlzazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTBcIjtcbn1cbmkuaWNvbi5kb2N0b3I6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYwXCI7XG59XG5pLmljb24uZG9sbGFyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NVwiO1xufVxuaS5pY29uLmRvbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDVlXCI7XG59XG5pLmljb24uZHJpdmVycy5saWNlbnNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjMlwiO1xufVxuaS5pY29uLmRyb3Bkb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkN1wiO1xufVxuaS5pY29uLmVtZXJnZW5jeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjlcIjtcbn1cbmkuaWNvbi5lcmFzZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmRcIjtcbn1cbmkuaWNvbi5ldXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUzXCI7XG59XG5pLmljb24uZXVybzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTNcIjtcbn1cbmkuaWNvbi5leGNoYW5nZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjJcIjtcbn1cbmkuaWNvbi5leHRlcm5hbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWRcIjtcbn1cbmkuaWNvbi5leHRlcm5hbC5zaGFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGRcIjtcbn1cbmkuaWNvbi5leHRlcm5hbC5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzYwXCI7XG59XG5pLmljb24uZXllZHJvcHBlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmJcIjtcbn1cbmkuaWNvbi5mYWN0b3J5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3NVwiO1xufVxuaS5pY29uLmZhdm9yaXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNVwiO1xufVxuaS5pY29uLmZlZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDllXCI7XG59XG5pLmljb24uZmVtYWxlLmhvbW9zZXh1YWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI2XCI7XG59XG5pLmljb24uZmlsZS50ZXh0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1Y1wiO1xufVxuaS5pY29uLmZpbmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU1XCI7XG59XG5pLmljb24uZmlyc3QuYWlkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmYVwiO1xufVxuaS5pY29uLmZvb2Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmU3XCI7XG59XG5pLmljb24uZm9yazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjZcIjtcbn1cbmkuaWNvbi5nYW1lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExYlwiO1xufVxuaS5pY29uLmdheTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjdcIjtcbn1cbmkuaWNvbi5nYnA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU0XCI7XG59XG5pLmljb24uZ3JhYjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTVcIjtcbn1cbmkuaWNvbi5ncmFkdWF0aW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5ZFwiO1xufVxuaS5pY29uLmdyaWQubGF5b3V0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwYVwiO1xufVxuaS5pY29uLmdyb3VwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMFwiO1xufVxuaS5pY29uLmg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZkXCI7XG59XG5pLmljb24uaGFtYnVyZ2VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjOVwiO1xufVxuaS5pY29uLmhhbmQudmljdG9yeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWJcIjtcbn1cbmkuaWNvbi5oYW5kaWNhcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTNcIjtcbn1cbmkuaWNvbi5oYXJkLm9mLmhlYXJpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE0XCI7XG59XG5pLmljb24uaGVhZGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkY1wiO1xufVxuaS5pY29uLmhlYXJ0LmVtcHR5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNFwiO1xufVxuaS5pY29uLmhlbHA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI4XCI7XG59XG5pLmljb24uaGVscC5jaXJjbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU5XCI7XG59XG5pLmljb24uaGV0ZXJvc2V4dWFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyOFwiO1xufVxuaS5pY29uLmhpZGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcwXCI7XG59XG5pLmljb24uaG90ZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM2XCI7XG59XG5pLmljb24uaG91cmdsYXNzLmZvdXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU0XCI7XG59XG5pLmljb24uaG91cmdsYXNzLmZ1bGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU0XCI7XG59XG5pLmljb24uaG91cmdsYXNzLm9uZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTFcIjtcbn1cbmkuaWNvbi5ob3VyZ2xhc3MudGhyZWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjUzXCI7XG59XG5pLmljb24uaG91cmdsYXNzLnR3bzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTJcIjtcbn1cbmkuaWNvbi5ob3VyZ2xhc3MuemVybzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTNcIjtcbn1cbmkuaWNvbi5pZGVhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlYlwiO1xufVxuaS5pY29uLmlsczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGJcIjtcbn1cbmkuaWNvbi5pbnI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU2XCI7XG59XG5pLmljb24uaW50ZXJnZW5kZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI0XCI7XG59XG5pLmljb24uaW50ZXJzZXg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI0XCI7XG59XG5pLmljb24uanB5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1N1wiO1xufVxuaS5pY29uLmtydzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTlcIjtcbn1cbmkuaWNvbi5sYWI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMzXCI7XG59XG5pLmljb24ubGF3OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0ZVwiO1xufVxuaS5pY29uLmxlZ2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlM1wiO1xufVxuaS5pY29uLmxlc2JpYW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI2XCI7XG59XG5pLmljb24ubGV2ZWwuZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmVcIjtcbn1cbmkuaWNvbi5sZXZlbC51cDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmZcIjtcbn1cbmkuaWNvbi5saWdodG5pbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU3XCI7XG59XG5pLmljb24ubGlrZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDRcIjtcbn1cbmkuaWNvbi5saW5lZ3JhcGg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAxXCI7XG59XG5pLmljb24ubGlua2lmeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzFcIjtcbn1cbmkuaWNvbi5saXJhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5NVwiO1xufVxuaS5pY29uLmxpc3QubGF5b3V0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwYlwiO1xufVxuaS5pY29uLm1hZ25pZnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBlXCI7XG59XG5pLmljb24ubWFpbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTBcIjtcbn1cbmkuaWNvbi5tYWlsLmZvcndhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY0XCI7XG59XG5pLmljb24ubWFpbC5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk5XCI7XG59XG5pLmljb24ubWFsZS5ob21vc2V4dWFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyN1wiO1xufVxuaS5pY29uLm1hbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjJcIjtcbn1cbmkuaWNvbi5tYXJrZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQxXCI7XG59XG5pLmljb24ubWFycy5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI5XCI7XG59XG5pLmljb24ubWFycy5ob3Jpem9udGFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyYlwiO1xufVxuaS5pY29uLm1hcnMudmVydGljYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJhXCI7XG59XG5pLmljb24ubWVhbnBhdGg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM4XCI7XG59XG5pLmljb24ubWlsaXRhcnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZiXCI7XG59XG5pLmljb24ubW9uZXk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QxXCI7XG59XG5pLmljb24ubW92ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYjJcIjtcbn1cbmkuaWNvbi5tdXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzMVwiO1xufVxuaS5pY29uLm5vbi5iaW5hcnkudHJhbnNnZW5kZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIzXCI7XG59XG5pLmljb24ubnVtYmVyZWQubGlzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2JcIjtcbn1cbmkuaWNvbi5vcHRpb25zOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkZVwiO1xufVxuaS5pY29uLm9yZGVyZWQubGlzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2JcIjtcbn1cbmkuaWNvbi5vdGhlci5nZW5kZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI5XCI7XG59XG5pLmljb24ub3RoZXIuZ2VuZGVyLmhvcml6b250YWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJiXCI7XG59XG5pLmljb24ub3RoZXIuZ2VuZGVyLnZlcnRpY2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyYVwiO1xufVxuaS5pY29uLnBheW1lbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlkXCI7XG59XG5pLmljb24ucGVuY2lsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwM1wiO1xufVxuaS5pY29uLnBlbmNpbC5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRiXCI7XG59XG5pLmljb24ucGhvdG86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMwXCI7XG59XG5pLmljb24ucGljdHVyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2VcIjtcbn1cbmkuaWNvbi5waWUuY2hhcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAwXCI7XG59XG5pLmljb24ucGllLmdyYXBoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMFwiO1xufVxuaS5pY29uLnBpbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGRcIjtcbn1cbmkuaWNvbi5wbHVzLmNhcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE3XCI7XG59XG5pLmljb24ucG9pbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQxXCI7XG59XG5pLmljb24ucG9pbnRpbmcuZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTdcIjtcbn1cbmkuaWNvbi5wb2ludGluZy5sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNVwiO1xufVxuaS5pY29uLnBvaW50aW5nLnJpZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNFwiO1xufVxuaS5pY29uLnBvaW50aW5nLnVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNlwiO1xufVxuaS5pY29uLnBvdW5kOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NFwiO1xufVxuaS5pY29uLnBvd2VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMVwiO1xufVxuaS5pY29uLnBvd2VyLmNvcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU2XCI7XG59XG5pLmljb24ucHJpdmFjeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODRcIjtcbn1cbmkuaWNvbi5wcm90ZWN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyM1wiO1xufVxuaS5pY29uLnB1enpsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmVcIjtcbn1cbmkuaWNvbi5yLmNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWRcIjtcbn1cbmkuaWNvbi5yYWRpbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTJcIjtcbn1cbmkuaWNvbi5yYWluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlOVwiO1xufVxuaS5pY29uLnJlY29yZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2RcIjtcbn1cbmkuaWNvbi5yZWZyZXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyMVwiO1xufVxuaS5pY29uLnJlbW92ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cbmkuaWNvbi5yZW1vdmUuYm9va21hcms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJlXCI7XG59XG5pLmljb24ucmVtb3ZlLmNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTdcIjtcbn1cbmkuaWNvbi5yZW1vdmUuZnJvbS5jYWxlbmRhcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzJcIjtcbn1cbmkuaWNvbi5yZW1vdmUudXNlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzVcIjtcbn1cbmkuaWNvbi5yZXBlYXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFlXCI7XG59XG5pLmljb24ucmVzaXplLmhvcml6b250YWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzM3XCI7XG59XG5pLmljb24ucmVzaXplLnZlcnRpY2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMzOFwiO1xufVxuaS5pY29uLnJtYjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTdcIjtcbn1cbmkuaWNvbi5yb3VibGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU4XCI7XG59XG5pLmljb24ucnViOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OFwiO1xufVxuaS5pY29uLnJ1YmxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OFwiO1xufVxuaS5pY29uLnJ1cGVlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NlwiO1xufVxuaS5pY29uLnMxNTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2RcIjtcbn1cbmkuaWNvbi5zZWxlY3RlZC5yYWRpbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTJcIjtcbn1cbmkuaWNvbi5zZW5kOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkOFwiO1xufVxuaS5pY29uLnNldHRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDEzXCI7XG59XG5pLmljb24uc2V0dGluZ3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg1XCI7XG59XG5pLmljb24uc2hla2VsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYlwiO1xufVxuaS5pY29uLnNoZXFlbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGJcIjtcbn1cbmkuaWNvbi5zaGllbGQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VkXCI7XG59XG5pLmljb24uc2hpcHBpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQxXCI7XG59XG5pLmljb24uc2hvcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2FcIjtcbn1cbmkuaWNvbi5zaHVmZmxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NFwiO1xufVxuaS5pY29uLnNodXRkb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMVwiO1xufVxuaS5pY29uLnNpZGViYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM5XCI7XG59XG5pLmljb24uc2lnbmluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTdcIjtcbn1cbmkuaWNvbi5zaWdudXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ0XCI7XG59XG5pLmljb24uc2xpZGVyczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGVcIjtcbn1cbmkuaWNvbi5zb2NjZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUzXCI7XG59XG5pLmljb24uc29ydC5hbHBoYWJldC5hc2NlbmRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVkXCI7XG59XG5pLmljb24uc29ydC5hbHBoYWJldC5kZXNjZW5kaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZVwiO1xufVxuaS5pY29uLnNvcnQuYXNjZW5kaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZVwiO1xufVxuaS5pY29uLnNvcnQuY29udGVudC5hc2NlbmRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYwXCI7XG59XG5pLmljb24uc29ydC5jb250ZW50LmRlc2NlbmRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYxXCI7XG59XG5pLmljb24uc29ydC5kZXNjZW5kaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZFwiO1xufVxuaS5pY29uLnNvcnQubnVtZXJpYy5hc2NlbmRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYyXCI7XG59XG5pLmljb24uc29ydC5udW1lcmljLmRlc2NlbmRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYzXCI7XG59XG5pLmljb24uc291bmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI1XCI7XG59XG5pLmljb24uc3Bvb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmU1XCI7XG59XG5pLmljb24uc3B5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxYlwiO1xufVxuaS5pY29uLnN0YXIuZW1wdHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XCI7XG59XG5pLmljb24uc3Rhci5oYWxmLmVtcHR5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4OVwiO1xufVxuaS5pY29uLnN0YXIuaGFsZi5mdWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4OVwiO1xufVxuaS5pY29uLnN0dWRlbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlkXCI7XG59XG5pLmljb24udGFsazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2FcIjtcbn1cbmkuaWNvbi50YXJnZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQwXCI7XG59XG5pLmljb24udGVsZXR5cGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU0XCI7XG59XG5pLmljb24udGVsZXZpc2lvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmNcIjtcbn1cbmkuaWNvbi50ZXh0LmN1cnNvcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDZcIjtcbn1cbmkuaWNvbi50ZXh0LnRlbGVwaG9uZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTRcIjtcbn1cbmkuaWNvbi50aGVtZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDNcIjtcbn1cbmkuaWNvbi50aGVybW9tZXRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzdcIjtcbn1cbmkuaWNvbi50aHVtYi50YWNrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4ZFwiO1xufVxuaS5pY29uLnRpY2tldDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZmZcIjtcbn1cbmkuaWNvbi50aW1lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxN1wiO1xufVxuaS5pY29uLnRpbWVzLnJlY3RhbmdsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTBcIjtcbn1cbmkuaWNvbi50bTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWNcIjtcbn1cbmkuaWNvbi50b2dnbGUuZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTBcIjtcbn1cbmkuaWNvbi50b2dnbGUubGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTFcIjtcbn1cbmkuaWNvbi50b2dnbGUucmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUyXCI7XG59XG5pLmljb24udG9nZ2xlLnVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MVwiO1xufVxuaS5pY29uLnRyYW5zbGF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWJcIjtcbn1cbmkuaWNvbi50cmF2ZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIxXCI7XG59XG5pLmljb24udHJlYXRtZW50OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmMVwiO1xufVxuaS5pY29uLnRyaWFuZ2xlLmRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG59XG5pLmljb24udHJpYW5nbGUubGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDlcIjtcbn1cbmkuaWNvbi50cmlhbmdsZS5yaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGFcIjtcbn1cbmkuaWNvbi50cmlhbmdsZS51cDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDhcIjtcbn1cbmkuaWNvbi50cnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk1XCI7XG59XG5pLmljb24udW5oaWRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2ZVwiO1xufVxuaS5pY29uLnVubGlua2lmeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjdcIjtcbn1cbmkuaWNvbi51bm11dGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMwXCI7XG59XG5pLmljb24udW5vcmRlcmVkLmxpc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNhXCI7XG59XG5pLmljb24udXNkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NVwiO1xufVxuaS5pY29uLnVzZXIuY2FuY2VsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNVwiO1xufVxuaS5pY29uLnVzZXIuY2xvc2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM1XCI7XG59XG5pLmljb24udXNlci5kZWxldGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM1XCI7XG59XG5pLmljb24udXNlci5kb2N0b3I6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYwXCI7XG59XG5pLmljb24udXNlci54OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNVwiO1xufVxuaS5pY29uLnZjYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiYlwiO1xufVxuaS5pY29uLnZpZGVvLmNhbWVyYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2RcIjtcbn1cbmkuaWNvbi52aWRlby5wbGF5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NFwiO1xufVxuaS5pY29uLnZvbHVtZS5jb250cm9sLnBob25lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMFwiO1xufVxuaS5pY29uLndhaXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE3XCI7XG59XG5pLmljb24ud2FybmluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmFcIjtcbn1cbmkuaWNvbi53YXJuaW5nLmNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmFcIjtcbn1cbmkuaWNvbi53YXJuaW5nLnNpZ246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcxXCI7XG59XG5pLmljb24ud2kuZmk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWViXCI7XG59XG5pLmljb24ud2lubmVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5MVwiO1xufVxuaS5pY29uLndpemFyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDBcIjtcbn1cbmkuaWNvbi53b21hbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjFcIjtcbn1cbmkuaWNvbi53b246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU5XCI7XG59XG5pLmljb24ud29ybGQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFjXCI7XG59XG5pLmljb24ud3JpdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzAzXCI7XG59XG5pLmljb24ud3JpdGUuc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YlwiO1xufVxuaS5pY29uLng6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG59XG5pLmljb24ueWVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1N1wiO1xufVxuaS5pY29uLnppcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODdcIjtcbn1cbmkuaWNvbi56b29tOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZVwiO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBPdXRsaW5lIEljb25zXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmkuaWNvbi5vdXRsaW5lIHtcbiAgZm9udC1mYW1pbHk6IFwib3V0bGluZS1pY29uc1wiO1xufVxuLyogSWNvbnMgKi9cbmkuaWNvbi5hZGRyZXNzLmJvb2sub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjlcIjtcbn1cbmkuaWNvbi5hZGRyZXNzLmNhcmQub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYmJcIjtcbn1cbmkuaWNvbi5hbmdyeS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1NlwiO1xufVxuaS5pY29uLmFycm93LmFsdGVybmF0ZS5jaXJjbGUuZG93bi5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1OFwiO1xufVxuaS5pY29uLmFycm93LmFsdGVybmF0ZS5jaXJjbGUubGVmdC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1OVwiO1xufVxuaS5pY29uLmFycm93LmFsdGVybmF0ZS5jaXJjbGUucmlnaHQub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWFcIjtcbn1cbmkuaWNvbi5hcnJvdy5hbHRlcm5hdGUuY2lyY2xlLnVwLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzViXCI7XG59XG5pLmljb24uYmVsbC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmM1wiO1xufVxuaS5pY29uLmJlbGwuc2xhc2gub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjZcIjtcbn1cbmkuaWNvbi5ib29rbWFyay5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZVwiO1xufVxuaS5pY29uLmJ1aWxkaW5nLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFkXCI7XG59XG5pLmljb24uY2FsZW5kYXIuYWx0ZXJuYXRlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDczXCI7XG59XG5pLmljb24uY2FsZW5kYXIuY2hlY2sub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzRcIjtcbn1cbmkuaWNvbi5jYWxlbmRhci5taW51cy5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3MlwiO1xufVxuaS5pY29uLmNhbGVuZGFyLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMzXCI7XG59XG5pLmljb24uY2FsZW5kYXIucGx1cy5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3MVwiO1xufVxuaS5pY29uLmNhbGVuZGFyLnRpbWVzLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjczXCI7XG59XG5pLmljb24uY2FyZXQuc3F1YXJlLmRvd24ub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTBcIjtcbn1cbmkuaWNvbi5jYXJldC5zcXVhcmUubGVmdC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MVwiO1xufVxuaS5pY29uLmNhcmV0LnNxdWFyZS5yaWdodC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MlwiO1xufVxuaS5pY29uLmNhcmV0LnNxdWFyZS51cC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MVwiO1xufVxuaS5pY29uLmNoYXJ0LmJhci5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MFwiO1xufVxuaS5pY29uLmNoZWNrLmNpcmNsZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1OFwiO1xufVxuaS5pY29uLmNoZWNrLnNxdWFyZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YVwiO1xufVxuaS5pY29uLmNpcmNsZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMVwiO1xufVxuaS5pY29uLmNsaXBib2FyZC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMyOFwiO1xufVxuaS5pY29uLmNsb2NrLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE3XCI7XG59XG5pLmljb24uY2xvbmUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGRcIjtcbn1cbmkuaWNvbi5jbG9zZWQuY2FwdGlvbmluZy5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYVwiO1xufVxuaS5pY29uLmNvbW1lbnQuYWx0ZXJuYXRlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdhXCI7XG59XG5pLmljb24uY29tbWVudC5kb3RzLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGFkXCI7XG59XG5pLmljb24uY29tbWVudC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NVwiO1xufVxuaS5pY29uLmNvbW1lbnRzLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg2XCI7XG59XG5pLmljb24uY29tcGFzcy5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0ZVwiO1xufVxuaS5pY29uLmNvcHkub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzVcIjtcbn1cbmkuaWNvbi5jb3B5cmlnaHQub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjlcIjtcbn1cbmkuaWNvbi5jcmVkaXQuY2FyZC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5ZFwiO1xufVxuaS5pY29uLmRpenp5Lm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTY3XCI7XG59XG5pLmljb24uZG90LmNpcmNsZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MlwiO1xufVxuaS5pY29uLmVkaXQub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDRcIjtcbn1cbmkuaWNvbi5lbnZlbG9wZS5vcGVuLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI2XCI7XG59XG5pLmljb24uZW52ZWxvcGUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTBcIjtcbn1cbmkuaWNvbi5leWUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmVcIjtcbn1cbmkuaWNvbi5leWUuc2xhc2gub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzBcIjtcbn1cbmkuaWNvbi5maWxlLmFsdGVybmF0ZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1Y1wiO1xufVxuaS5pY29uLmZpbGUuYXJjaGl2ZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNlwiO1xufVxuaS5pY29uLmZpbGUuYXVkaW8ub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzdcIjtcbn1cbmkuaWNvbi5maWxlLmNvZGUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzlcIjtcbn1cbmkuaWNvbi5maWxlLmV4Y2VsLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMzXCI7XG59XG5pLmljb24uZmlsZS5pbWFnZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNVwiO1xufVxuaS5pY29uLmZpbGUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWJcIjtcbn1cbmkuaWNvbi5maWxlLnBkZi5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjMVwiO1xufVxuaS5pY29uLmZpbGUucG93ZXJwb2ludC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNFwiO1xufVxuaS5pY29uLmZpbGUudmlkZW8ub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzhcIjtcbn1cbmkuaWNvbi5maWxlLndvcmQub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzJcIjtcbn1cbmkuaWNvbi5mbGFnLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI0XCI7XG59XG5pLmljb24uZmx1c2hlZC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3OVwiO1xufVxuaS5pY29uLmZvbGRlci5vcGVuLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdjXCI7XG59XG5pLmljb24uZm9sZGVyLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdiXCI7XG59XG5pLmljb24uZnJvd24ub3Blbi5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3YVwiO1xufVxuaS5pY29uLmZyb3duLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE5XCI7XG59XG5pLmljb24uZnV0Ym9sLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUzXCI7XG59XG5pLmljb24uZ2VtLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E1XCI7XG59XG5pLmljb24uZ3JpbWFjZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3ZlwiO1xufVxuaS5pY29uLmdyaW4uYWx0ZXJuYXRlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTgxXCI7XG59XG5pLmljb24uZ3Jpbi5iZWFtLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTgyXCI7XG59XG5pLmljb24uZ3Jpbi5iZWFtLnN3ZWF0Lm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTgzXCI7XG59XG5pLmljb24uZ3Jpbi5oZWFydHMub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODRcIjtcbn1cbmkuaWNvbi5ncmluLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTgwXCI7XG59XG5pLmljb24uZ3Jpbi5zcXVpbnQub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODVcIjtcbn1cbmkuaWNvbi5ncmluLnNxdWludC50ZWFycy5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4NlwiO1xufVxuaS5pY29uLmdyaW4uc3RhcnMub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODdcIjtcbn1cbmkuaWNvbi5ncmluLnRlYXJzLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTg4XCI7XG59XG5pLmljb24uZ3Jpbi50b25ndWUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODlcIjtcbn1cbmkuaWNvbi5ncmluLnRvbmd1ZS5zcXVpbnQub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OGFcIjtcbn1cbmkuaWNvbi5ncmluLnRvbmd1ZS53aW5rLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNThiXCI7XG59XG5pLmljb24uZ3Jpbi53aW5rLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNThjXCI7XG59XG5pLmljb24uaGFuZC5saXphcmQub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNThcIjtcbn1cbmkuaWNvbi5oYW5kLnBhcGVyLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU2XCI7XG59XG5pLmljb24uaGFuZC5wZWFjZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1YlwiO1xufVxuaS5pY29uLmhhbmQucG9pbnQuZG93bi5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhN1wiO1xufVxuaS5pY29uLmhhbmQucG9pbnQubGVmdC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNVwiO1xufVxuaS5pY29uLmhhbmQucG9pbnQucmlnaHQub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTRcIjtcbn1cbmkuaWNvbi5oYW5kLnBvaW50LnVwLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE2XCI7XG59XG5pLmljb24uaGFuZC5wb2ludGVyLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjVhXCI7XG59XG5pLmljb24uaGFuZC5yb2NrLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU1XCI7XG59XG5pLmljb24uaGFuZC5zY2lzc29ycy5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1N1wiO1xufVxuaS5pY29uLmhhbmQuc3BvY2sub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTlcIjtcbn1cbmkuaWNvbi5oYW5kc2hha2Uub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjVcIjtcbn1cbmkuaWNvbi5oZGQub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTBcIjtcbn1cbmkuaWNvbi5oZWFydC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNFwiO1xufVxuaS5pY29uLmhvc3BpdGFsLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY4XCI7XG59XG5pLmljb24uaG91cmdsYXNzLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU0XCI7XG59XG5pLmljb24uaWQuYmFkZ2Uub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzFcIjtcbn1cbmkuaWNvbi5pZC5jYXJkLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmMyXCI7XG59XG5pLmljb24uaW1hZ2Uub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2VcIjtcbn1cbmkuaWNvbi5pbWFnZXMub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDJcIjtcbn1cbmkuaWNvbi5rZXlib2FyZC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExY1wiO1xufVxuaS5pY29uLmtpc3MuYmVhbS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5N1wiO1xufVxuaS5pY29uLmtpc3Mub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTZcIjtcbn1cbmkuaWNvbi5raXNzLndpbmsuaGVhcnQub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OThcIjtcbn1cbmkuaWNvbi5sYXVnaC5iZWFtLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTlhXCI7XG59XG5pLmljb24ubGF1Z2gub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTlcIjtcbn1cbmkuaWNvbi5sYXVnaC5zcXVpbnQub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OWJcIjtcbn1cbmkuaWNvbi5sYXVnaC53aW5rLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTljXCI7XG59XG5pLmljb24ubGVtb24ub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTRcIjtcbn1cbmkuaWNvbi5saWZlLnJpbmcub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2RcIjtcbn1cbmkuaWNvbi5saWdodGJ1bGIub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWJcIjtcbn1cbmkuaWNvbi5saXN0LmFsdGVybmF0ZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyMlwiO1xufVxuaS5pY29uLm1hcC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3OVwiO1xufVxuaS5pY29uLm1laC5ibGFuay5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhNFwiO1xufVxuaS5pY29uLm1laC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExYVwiO1xufVxuaS5pY29uLm1laC5yb2xsaW5nLmV5ZXMub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YTVcIjtcbn1cbmkuaWNvbi5taW51cy5zcXVhcmUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDZcIjtcbn1cbmkuaWNvbi5tb25leS5iaWxsLmFsdGVybmF0ZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkMVwiO1xufVxuaS5pY29uLm1vb24ub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODZcIjtcbn1cbmkuaWNvbi5uZXdzcGFwZXIub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWFcIjtcbn1cbmkuaWNvbi5vYmplY3QuZ3JvdXAub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDdcIjtcbn1cbmkuaWNvbi5vYmplY3QudW5ncm91cC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0OFwiO1xufVxuaS5pY29uLnBhcGVyLnBsYW5lLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ4XCI7XG59XG5pLmljb24ucGF1c2UuY2lyY2xlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhiXCI7XG59XG5pLmljb24ucGxheS5jaXJjbGUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDRcIjtcbn1cbmkuaWNvbi5wbHVzLnNxdWFyZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmZVwiO1xufVxuaS5pY29uLnF1ZXN0aW9uLmNpcmNsZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1OVwiO1xufVxuaS5pY29uLnJlZ2lzdGVyZWQub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWRcIjtcbn1cbmkuaWNvbi5zYWQuY3J5Lm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWIzXCI7XG59XG5pLmljb24uc2FkLnRlYXIub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjRcIjtcbn1cbmkuaWNvbi5zYXZlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM3XCI7XG59XG5pLmljb24uc2hhcmUuc3F1YXJlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRkXCI7XG59XG5pLmljb24uc21pbGUuYmVhbS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViOFwiO1xufVxuaS5pY29uLnNtaWxlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE4XCI7XG59XG5pLmljb24uc21pbGUud2luay5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkYVwiO1xufVxuaS5pY29uLnNub3dmbGFrZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkY1wiO1xufVxuaS5pY29uLnNxdWFyZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjOFwiO1xufVxuaS5pY29uLnN0YXIuaGFsZi5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4OVwiO1xufVxuaS5pY29uLnN0YXIub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDVcIjtcbn1cbmkuaWNvbi5zdGlja3kubm90ZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0OVwiO1xufVxuaS5pY29uLnN0b3AuY2lyY2xlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhkXCI7XG59XG5pLmljb24uc3VuLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg1XCI7XG59XG5pLmljb24uc3VycHJpc2Uub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzJcIjtcbn1cbmkuaWNvbi50aHVtYnMuZG93bi5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NVwiO1xufVxuaS5pY29uLnRodW1icy51cC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NFwiO1xufVxuaS5pY29uLnRpbWVzLmNpcmNsZS5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1N1wiO1xufVxuaS5pY29uLnRpcmVkLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWM4XCI7XG59XG5pLmljb24udHJhc2guYWx0ZXJuYXRlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmVkXCI7XG59XG5pLmljb24udXNlci5jaXJjbGUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYmRcIjtcbn1cbmkuaWNvbi51c2VyLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA3XCI7XG59XG5pLmljb24ud2luZG93LmNsb3NlLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEwXCI7XG59XG5pLmljb24ud2luZG93Lm1heGltaXplLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQwXCI7XG59XG5pLmljb24ud2luZG93Lm1pbmltaXplLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQxXCI7XG59XG5pLmljb24ud2luZG93LnJlc3RvcmUub3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDJcIjtcbn1cbi8qIEFsaWFzZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgIEJyYW5kIEljb25zXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEljb25zICovXG5pLmljb24uXFwzNSAwMHB4OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2ZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmFjY2Vzc2libGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYWNjdXNvZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYWNxdWlzaXRpb25zLmluY29ycG9yYXRlZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YWZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hZG46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTcwXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYWR2ZXJzYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYWZmaWxpYXRldGhlbWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYWlyYm5iOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmFsZ29saWE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYWxpcGF5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY0MlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmFtYXpvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hbWF6b24ucGF5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyY1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmFtaWxpYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hbmRyb2lkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3YlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmFuZ2VsbGlzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hbmdyeWNyZWF0aXZlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2ZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmFuZ3VsYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDIwXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYXBwLnN0b3JlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2ZlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmFwcC5zdG9yZS5pb3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzcwXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYXBwZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzcxXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYXBwbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYXBwbGUucGF5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxNVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmFydHN0YXRpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzdhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYXN5bW1ldHJpazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hdGxhc3NpYW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzdiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYXVkaWJsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hdXRvcHJlZml4ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYXZpYW5leDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5hdmlhdG86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDIxXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYXdzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3NVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmJhbmRjYW1wOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkNVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmJhdHRsZS5uZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYmVoYW5jZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5iZWhhbmNlLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5iaW1vYmplY3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYml0YnVja2V0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmJpdGNvaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYml0eTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2FcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5ibGFjay50aWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdlXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYmxhY2tiZXJyeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2JcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5ibG9nZ2VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3Y1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmJsb2dnZXIuYjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2RcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5ibHVldG9vdGg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjkzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYmx1ZXRvb3RoLmI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYm9vdHN0cmFwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzNlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmJ0Yzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5idWZmZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYnVyb21vYmVsZXhwZXJ0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2ZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5idXkubi5sYXJnZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4YTZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5idXlzZWxsYWRzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNhbmFkaWFuLm1hcGxlLmxlYWY6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzg1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY2MuYW1hem9uLnBheTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jYy5hbWV4OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNjLmFwcGxlLnBheTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jYy5kaW5lcnMuY2x1Yjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jYy5kaXNjb3Zlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jYy5qY2I6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY2MubWFzdGVyY2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jYy5wYXlwYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY2Muc3RyaXBlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNjLnZpc2E6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYwXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY2VudGVyY29kZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jZW50b3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzg5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY2hyb21lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2OFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNocm9tZWNhc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY2xvdWRmbGFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2RcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jbG91ZHNjYWxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4M1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNsb3Vkc21pdGg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY2xvdWR2ZXJzaWZ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4NVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNvZGVwZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY29kaWVwaWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY29uZmx1ZW5jZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OGRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jb25uZWN0ZGV2ZWxvcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jb250YW86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY290dG9uLmJ1cmVhdTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4OWVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcGFuZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY3JlYXRpdmUuY29tbW9uczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcmVhdGl2ZS5jb21tb25zLmJ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlN1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNyZWF0aXZlLmNvbW1vbnMubmM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY3JlYXRpdmUuY29tbW9ucy5uYy5ldTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcmVhdGl2ZS5jb21tb25zLm5jLmpwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlYVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNyZWF0aXZlLmNvbW1vbnMubmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGViXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY3JlYXRpdmUuY29tbW9ucy5wZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcmVhdGl2ZS5jb21tb25zLnBkLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcmVhdGl2ZS5jb21tb25zLnJlbWl4OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNyZWF0aXZlLmNvbW1vbnMuc2E6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVmXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY3JlYXRpdmUuY29tbW9ucy5zYW1wbGluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcmVhdGl2ZS5jb21tb25zLnNhbXBsaW5nLnBsdXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGYxXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY3JlYXRpdmUuY29tbW9ucy5zaGFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcmVhdGl2ZS5jb21tb25zLnplcm86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGYzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY3JpdGljYWwucm9sZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YzlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jc3MzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzY1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNzczMuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4YlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmN1dHRsZWZpc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZC5hbmQuZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kLmFuZC5kLmJleW9uZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2Y2FcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kYWlseW1vdGlvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kYXNoY3ViZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kZWV6ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZGVsaWNpb3VzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRlcGxveWRvZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kZXNrcHJvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRldjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2Y2NcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kZXZpYW50YXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRobDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kaWFzcG9yYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kaWdnOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRpZ2l0YWwub2NlYW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkxXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZGlzY29yZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kaXNjb3Vyc2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZG9jaHViOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5NFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRvY2tlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kcmFmdDJkaWdpdGFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5NlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRyaWJiYmxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3ZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRyaWJiYmxlLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kcm9wYm94OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2YlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRydXBhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5keWFsb2c6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZWFybHliaXJkczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5lYmF5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmVkZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZWRnZS5sZWdhY3k6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZWxlbWVudG9yOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzMFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmVsbG86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWYxXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZW1iZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDIzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZW1waXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmVudmlyYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5lcmxhbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzlkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZXRoZXJldW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJlXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZXRzeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5ldmVybm90ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5leHBlZGl0ZWRzc2w6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNlXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZmFjZWJvb2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZmFjZWJvb2suZjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5mYWNlYm9vay5tZXNzZW5nZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzlmXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZmFjZWJvb2suc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZhbnRhc3kuZmxpZ2h0LmdhbWVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkY1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZlZGV4OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5N1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZlZG9yYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OThcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5maWdtYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5maXJlZm94OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2OVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZpcmVmb3guYnJvd3Nlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5maXJzdC5vcmRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5maXJzdC5vcmRlci5hbHRlcm5hdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZmlyc3RkcmFmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5mbGlja3I6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZlXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZmxpcGJvYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0ZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZseTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5mb250LmF3ZXNvbWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZm9udC5hd2Vzb21lLmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5mb250LmF3ZXNvbWUuZmxhZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5mb250aWNvbnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgwXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZm9udGljb25zLmZpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZvcnQuYXdlc29tZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5mb3J0LmF3ZXNvbWUuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZvcnVtYmVlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmZvdXJzcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgwXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZnJlZS5jb2RlLmNhbXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZnJlZWJzZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5mdWxjcnVtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwYlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdhbGFjdGljLnJlcHVibGljOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwY1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdhbGFjdGljLnNlbmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5nZXQucG9ja2V0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdnOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2MFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdnLmNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5naXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ2l0LmFsdGVybmF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NDFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5naXQuc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdpdGh1Yjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5naXRodWIuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdpdGh1Yi5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ2l0a3Jha2VuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhNlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdpdGxhYjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5naXR0ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI2XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ2xpZGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ2xpZGUuZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5nb2ZvcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ29vZHJlYWRzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhOFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdvb2RyZWFkcy5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhOVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdvb2dsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5nb29nbGUuZHJpdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ29vZ2xlLnBheTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5nb29nbGUucGxheTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5nb29nbGUucGx1czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5nb29nbGUucGx1cy5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdvb2dsZS5wbHVzLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5nb29nbGUud2FsbGV0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdyYXRpcGF5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdyYXY6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ2XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ3JpcGZpcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ3J1bnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ3VpbGRlZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2VcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5ndWxwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmhhY2tlci5uZXdzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmhhY2tlci5uZXdzLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5oYWNrZXJyYW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmN1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmhpcHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDUyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaGlyZS5hLmhlbHBlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5oaXZlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3ZlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmhvb2xpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyN1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmhvcm5iaWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5MlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmhvdGphcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5ob3V6ejo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2NcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5odG1sNTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2JcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5odWJzcG90OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmlkZWFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmltZGI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaW5ub3NvZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgwXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaW5zdGFncmFtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2ZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmluc3RhZ3JhbS5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaW5zdGFsb2Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgxXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaW50ZXJjb206OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2FmXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaW50ZXJuZXQuZXhwbG9yZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaW52aXNpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2IwXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uaW94aG9zdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDhcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5pdGNoLmlvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzYVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLml0dW5lczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5pdHVuZXMubm90ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5qYXZhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmplZGkub3JkZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBlXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uamVua2luczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5qaXJhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmpvZ2V0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiN1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmpvb21sYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5qczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjhcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5qcy5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uanNmaWRkbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ua2FnZ2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmYVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmtleWJhc2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ua2V5Y2RuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiYVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmtpY2tzdGFydGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiYlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmtpY2tzdGFydGVyLms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ua29ydnVlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyZlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmxhcmF2ZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubGFzdGZtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmxhc3RmbS5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubGVhbnB1Yjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5sZXNzY3NzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmxpbmVjaGF0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjMFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmxpbmtlZGluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4Y1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmxpbm9kZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjhcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5saW51eDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2NcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5seWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1hZ2VudG86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWFpbGNoaW1wOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5ZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1hbmRhbG9yaWFuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwZlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1hcmtkb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYwZlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1hc3RvZG9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmNlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1heGNkbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5tZGI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGNhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWVkYXBwczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5tZWRpdW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWVkaXVtLm06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWVkcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWVldHVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlMFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1lZ2Fwb3J0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1lbmRlbGV5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1pY3JvYmxvZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMWFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5taWNyb3NvZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubWl4OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjYlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1peGNsb3VkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4OVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1peGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1NlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1penVuaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2NcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5tb2R4OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4NVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1vbmVybzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5uYXBzdGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm5lb3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjEyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubmltYmxyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhOFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm5vZGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubm9kZS5qczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5ucG06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ubnM4OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkNVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm51dHJpdGlvbml4OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkNlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm9jdG9wdXMuZGVwbG95OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm9kbm9rbGFzc25pa2k6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ub2Rub2tsYXNzbmlraS5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ub2xkLnJlcHVibGljOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxMFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm9wZW5jYXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm9wZW5pZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5vcGVyYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5vcHRpbi5tb25zdGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzY1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm9yY2lkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhkMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm9zaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5wYWdlNDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5wYWdlbGluZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucGFsZmVkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkOFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBhdHJlb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucGF5cGFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBlbm55LmFyY2FkZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MDRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5wZXJieXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4M1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBlcmlzY29wZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5waGFicmljYXRvcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5waG9lbml4LmZyYW1ld29yazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5waG9lbml4LnNxdWFkcm9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBocDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5waWVkLnBpcGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBpZWQucGlwZXIuYWx0ZXJuYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhOFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBpZWQucGlwZXIuaGF0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlNVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBpZWQucGlwZXIucHA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucGllZC5waXBlci5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFlXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucGludGVyZXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBpbnRlcmVzdC5wOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnBpbnRlcmVzdC5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucGxheXN0YXRpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RmXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucHJvZHVjdC5odW50OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4OFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnB1c2hlZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5weXRob246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucXE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ2XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucXVpbnNjYXBlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1OVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnF1b3JhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnIucHJvamVjdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5yYXNwYmVycnkucGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2JiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucmF2ZWxyeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5yZWFjdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5yZWFjdGV1cm9wZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NWRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5yZWFkbWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGQ1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucmViZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQwXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucmVkZGl0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnJlZGRpdC5hbGllbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5yZWRkaXQuc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnJlZGhhdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YmNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5yZWRyaXZlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5yZWR5ZXRpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY5ZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnJlbnJlbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5yZXBseWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U2XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucmVzZWFyY2hnYXRlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmOFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnJlc29sdmluZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5yZXY6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWIyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ucm9ja2V0Y2hhdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZThcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5yb2Nrcm1zOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlOVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnJ1c3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc2FmYXJpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2N1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNhbGVzZm9yY2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODNiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc2Fzczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zY2hsaXg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc2NyaWJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4YVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNlYXJjaGVuZ2luOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlYlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNlbGxjYXN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkYVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNlbGxzeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zZXJ2aWNlc3RhY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc2hpcnRzaW5idWxrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNob3BpZnk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc2hvcHdhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWI1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc2ltcGx5YnVpbHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc2lzdHJpeDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zaXRoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNrZXRjaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5za3lhdGxhczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5za3lwZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2VcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zbGFjazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOThcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zbGFjay5oYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlZlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNsaWRlc2hhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc25hcGNoYXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc25hcGNoYXQuZ2hvc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc25hcGNoYXQuc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNvdW5kY2xvdWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJlXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc291cmNldHJlZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zcGVha2FwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNwZWFrZXIuZGVjazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2NcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zcG90aWZ5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiY1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnNxdWFyZXNwYWNlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnN0YWNrLmV4Y2hhbmdlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4ZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnN0YWNrLm92ZXJmbG93OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2Y1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnN0YWNrcGF0aDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NDJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zdGF5bGlua2VkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmNVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnN0ZWFtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnN0ZWFtLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zdGVhbS5zeW1ib2w6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y2XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc3RpY2tlci5tdWxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmN1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnN0cmF2YTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjhcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zdHJpcGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc3RyaXBlLnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJhXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc3R1ZGlvdmluYXJpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmOFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnN0dW1ibGV1cG9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnN0dW1ibGV1cG9uLmNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zdXBlcnBvd2Vyczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zdXBwbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc3VzZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zd2lmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ZTFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5zeW1mb255OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzZFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnRlYW1zcGVhazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi50ZWxlZ3JhbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi50ZWxlZ3JhbS5wbGFuZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZmVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi50ZW5jZW50LndlaWJvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnRoZW1lY286OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWM2XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udGhlbWVpc2xlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnRoaW5rLnBlYWtzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjczMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnRpa3Rvazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2JcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi50cmFkZS5mZWRlcmF0aW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnRyZWxsbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi50dW1ibHI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTczXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udHVtYmxyLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi50d2l0Y2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udHdpdHRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi50d2l0dGVyLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi50eXBvMzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi51YmVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnVidW50dTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZGZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi51aWtpdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi51bWJyYWNvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhlOFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnVuY2hhcnRlZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi51bmlyZWdpc3RyeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi51bml0eTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi51bnNwbGFzaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2NcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi51bnRhcHBkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwNVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnVwczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZTBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi51c2I6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udXNwczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZTFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi51c3N1bm5haDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi52YWFkaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udmlhY29pbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi52aWFkZW86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udmlhZGVvLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi52aWJlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi52aW1lbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi52aW1lby5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udmltZW8udjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2RcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi52aW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjYVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnZrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4OVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnZudjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi52dWVqczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWZcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi53YXRjaG1hbi5tb25pdG9yaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4N1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLndhemU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODNmXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ud2VlYmx5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjY1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLndlaWJvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLndlaXhpbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi53aGF0c2FwcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi53aGF0c2FwcC5zcXVhcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ud2htY3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ud2lraXBlZGlhLnc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY2XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ud2luZG93czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2FcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi53aXg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWNmXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ud2l6YXJkcy5vZi50aGUuY29hc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzMwXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ud29kdTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODhcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi53b2xmLnBhY2suYmF0dGFsaW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLndvcmRwcmVzczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi53b3JkcHJlc3Muc2ltcGxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLndwYmVnaW5uZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ud3BleHBsb3Jlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi53cGZvcm1zOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLndwcmVzc3I6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ueGJveDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi54aW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2OFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnhpbmcuc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2OVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnkuY29tYmluYXRvcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2JcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi55YWhvbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi55YW1tZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODQwXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ueWFuZGV4OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnlhbmRleC5pbnRlcm5hdGlvbmFsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxNFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnlhcm46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2UzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ueWVscDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi55b2FzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi55b3V0dWJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2N1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnlvdXR1YmUuc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnpoaWh1OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYzZlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuLyogQWxpYXNlcyAqL1xuaS5pY29uLmFtZXJpY2FuLmV4cHJlc3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYW1lcmljYW4uZXhwcmVzcy5jYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmFtZXg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uYml0YnVja2V0LnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5ibHVldG9vdGguYWx0ZXJuYXRpdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY3JlZGl0LmNhcmQuYW1hem9uLnBheTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcmVkaXQuY2FyZC5hbWVyaWNhbi5leHByZXNzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNyZWRpdC5jYXJkLmRpbmVycy5jbHViOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0Y1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNyZWRpdC5jYXJkLmRpc2NvdmVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNyZWRpdC5jYXJkLmpjYjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcmVkaXQuY2FyZC5tYXN0ZXJjYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmNyZWRpdC5jYXJkLnBheXBhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5jcmVkaXQuY2FyZC5zdHJpcGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uY3JlZGl0LmNhcmQudmlzYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kaW5lcnMuY2x1Yjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5kaW5lcnMuY2x1Yi5jYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0Y1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRpc2NvdmVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRpc2NvdmVyLmNhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYyXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZGlzay5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2OVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmRyaWJibGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZWVyY2FzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5lbnZpcmEuZ2FsbGVyeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTlcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5mYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5mYWNlYm9vay5vZmZpY2lhbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5maXZlLmh1bmRyZWQucGl4ZWxzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2ZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmdpdHRpcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5nb29nbGUucGx1cy5jaXJjbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uZ29vZ2xlLnBsdXMub2ZmaWNpYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIzXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uamFwYW4uY3JlZGl0LmJ1cmVhdTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5qYXBhbi5jcmVkaXQuYnVyZWF1LmNhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uamNiOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0YlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLmxpbmtlZGluLnNxdWFyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGNcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5tYXN0ZXJjYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm1hc3RlcmNhcmQuY2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjFcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5taWNyb3NvZnQuZWRnZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5tcy5lZGdlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4MlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm5ldy5waWVkLnBpcGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhZVwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLm9wdGlubW9uc3Rlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2NcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5wYXlwYWwuY2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjRcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5waWVkLnBpcGVyLmhhdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWVcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi5wb2NrZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24uc3RyaXBlLmNhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY1XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24udGhlbWUuaXNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjJcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi52aXNhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMFwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLnZpc2EuY2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjBcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi53ZWNoYXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ3XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ud2lraXBlZGlhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NlwiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuaS5pY29uLndvcmRwcmVzcy5iZWdpbm5lcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTdcIjtcbiAgZm9udC1mYW1pbHk6IFwiYnJhbmQtaWNvbnNcIjtcbn1cbmkuaWNvbi53b3JkcHJlc3MuZm9ybXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk4XCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ueWM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ueWNvbWJpbmF0b3I6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImJyYW5kLWljb25zXCI7XG59XG5pLmljb24ueW91dHViZS5wbGF5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2N1wiO1xuICBmb250LWZhbWlseTogXCJicmFuZC1pY29uc1wiO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEltYWdlXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgSW1hZ2VcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEF2YXRhciAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTcGFjZWQgKi9cbi8qIEZsb2F0ZWQgKi9cbi8qIFNpemUgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgSW1hZ2VcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbmltZy51aS5pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLmltYWdlIHN2Zyxcbi51aS5pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmhpZGRlbi5pbWFnZXMsXG4udWkudWkuaGlkZGVuLmltYWdlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5oaWRkZW4udHJhbnNpdGlvbi5pbWFnZXMsXG4udWkuaGlkZGVuLnRyYW5zaXRpb24uaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnVpLmltYWdlcyA+IC5oaWRkZW4udHJhbnNpdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnVpLmRpc2FibGVkLmltYWdlcyxcbi51aS5kaXNhYmxlZC5pbWFnZSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgb3BhY2l0eTogMC40NTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBJbmxpbmVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbmxpbmUuaW1hZ2UsXG4udWkuaW5saW5lLmltYWdlIHN2Zyxcbi51aS5pbmxpbmUuaW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWZXJ0aWNhbCBBbGlnbmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnRvcC5hbGlnbmVkLmltYWdlLFxuLnVpLnRvcC5hbGlnbmVkLmltYWdlIHN2Zyxcbi51aS50b3AuYWxpZ25lZC5pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4udWkubWlkZGxlLmFsaWduZWQuaW1hZ2UsXG4udWkubWlkZGxlLmFsaWduZWQuaW1hZ2Ugc3ZnLFxuLnVpLm1pZGRsZS5hbGlnbmVkLmltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi51aS5ib3R0b20uYWxpZ25lZC5pbWFnZSxcbi51aS5ib3R0b20uYWxpZ25lZC5pbWFnZSBzdmcsXG4udWkuYm90dG9tLmFsaWduZWQuaW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuLnVpLnRvcC5hbGlnbmVkLmltYWdlcyAuaW1hZ2UsXG4udWkuaW1hZ2VzIC51aS50b3AuYWxpZ25lZC5pbWFnZSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG59XG4udWkubWlkZGxlLmFsaWduZWQuaW1hZ2VzIC5pbWFnZSxcbi51aS5pbWFnZXMgLnVpLm1pZGRsZS5hbGlnbmVkLmltYWdlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLnVpLmJvdHRvbS5hbGlnbmVkLmltYWdlcyAuaW1hZ2UsXG4udWkuaW1hZ2VzIC51aS5ib3R0b20uYWxpZ25lZC5pbWFnZSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFJvdW5kZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5yb3VuZGVkLmltYWdlcyAuaW1hZ2UsXG4udWkucm91bmRlZC5pbWFnZSxcbi51aS5yb3VuZGVkLmltYWdlcyAuaW1hZ2UgPiAqLFxuLnVpLnJvdW5kZWQuaW1hZ2UgPiAqIHtcbiAgYm9yZGVyLXJhZGl1czogMC4zMTI1ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBCb3JkZXJlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmJvcmRlcmVkLmltYWdlcyAuaW1hZ2UsXG4udWkuYm9yZGVyZWQuaW1hZ2VzIGltZyxcbi51aS5ib3JkZXJlZC5pbWFnZXMgc3ZnLFxuLnVpLmJvcmRlcmVkLmltYWdlIGltZyxcbi51aS5ib3JkZXJlZC5pbWFnZSBzdmcsXG5pbWcudWkuYm9yZGVyZWQuaW1hZ2Uge1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBDaXJjdWxhclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNpcmN1bGFyLmltYWdlcyxcbi51aS5jaXJjdWxhci5pbWFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udWkuY2lyY3VsYXIuaW1hZ2VzIC5pbWFnZSxcbi51aS5jaXJjdWxhci5pbWFnZSxcbi51aS5jaXJjdWxhci5pbWFnZXMgLmltYWdlID4gKixcbi51aS5jaXJjdWxhci5pbWFnZSA+ICoge1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRmx1aWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbHVpZC5pbWFnZXMsXG4udWkuZmx1aWQuaW1hZ2UsXG4udWkuZmx1aWQuaW1hZ2VzIGltZyxcbi51aS5mbHVpZC5pbWFnZXMgc3ZnLFxuLnVpLmZsdWlkLmltYWdlIHN2Zyxcbi51aS5mbHVpZC5pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBBdmF0YXJcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5hdmF0YXIuaW1hZ2VzIC5pbWFnZSxcbi51aS5hdmF0YXIuaW1hZ2VzIGltZyxcbi51aS5hdmF0YXIuaW1hZ2VzIHN2Zyxcbi51aS5hdmF0YXIuaW1hZ2UgaW1nLFxuLnVpLmF2YXRhci5pbWFnZSBzdmcsXG4udWkuYXZhdGFyLmltYWdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJlbTtcbiAgaGVpZ2h0OiAyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgU3BhY2VkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zcGFjZWQuaW1hZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xufVxuLnVpW2NsYXNzKj1cImxlZnQgc3BhY2VkXCJdLmltYWdlIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgc3BhY2VkXCJdLmltYWdlIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEZsb2F0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZsb2F0ZWQuaW1hZ2UsXG4udWkuZmxvYXRlZC5pbWFnZXMge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cbi51aS5yaWdodC5mbG9hdGVkLmltYWdlcyxcbi51aS5yaWdodC5mbG9hdGVkLmltYWdlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbn1cbi51aS5mbG9hdGVkLmltYWdlczpsYXN0LWNoaWxkLFxuLnVpLmZsb2F0ZWQuaW1hZ2U6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udWkuY2VudGVyZWQuaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi51aS5jZW50ZXJlZC5pbWFnZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWVkaXVtLmltYWdlcyAuaW1hZ2UsXG4udWkubWVkaXVtLmltYWdlcyBpbWcsXG4udWkubWVkaXVtLmltYWdlcyBzdmcsXG4udWkubWVkaXVtLmltYWdlIHtcbiAgd2lkdGg6IDMwMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5taW5pLmltYWdlcyAuaW1hZ2UsXG4udWkubWluaS5pbWFnZXMgaW1nLFxuLnVpLm1pbmkuaW1hZ2VzIHN2Zyxcbi51aS5taW5pLmltYWdlIHtcbiAgd2lkdGg6IDM1cHg7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLnRpbnkuaW1hZ2VzIC5pbWFnZSxcbi51aS50aW55LmltYWdlcyBpbWcsXG4udWkudGlueS5pbWFnZXMgc3ZnLFxuLnVpLnRpbnkuaW1hZ2Uge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkuc21hbGwuaW1hZ2VzIC5pbWFnZSxcbi51aS5zbWFsbC5pbWFnZXMgaW1nLFxuLnVpLnNtYWxsLmltYWdlcyBzdmcsXG4udWkuc21hbGwuaW1hZ2Uge1xuICB3aWR0aDogMTUwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLmxhcmdlLmltYWdlcyAuaW1hZ2UsXG4udWkubGFyZ2UuaW1hZ2VzIGltZyxcbi51aS5sYXJnZS5pbWFnZXMgc3ZnLFxuLnVpLmxhcmdlLmltYWdlIHtcbiAgd2lkdGg6IDQ1MHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5iaWcuaW1hZ2VzIC5pbWFnZSxcbi51aS5iaWcuaW1hZ2VzIGltZyxcbi51aS5iaWcuaW1hZ2VzIHN2Zyxcbi51aS5iaWcuaW1hZ2Uge1xuICB3aWR0aDogNjAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLmh1Z2UuaW1hZ2VzIC5pbWFnZSxcbi51aS5odWdlLmltYWdlcyBpbWcsXG4udWkuaHVnZS5pbWFnZXMgc3ZnLFxuLnVpLmh1Z2UuaW1hZ2Uge1xuICB3aWR0aDogODAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuLnVpLm1hc3NpdmUuaW1hZ2VzIC5pbWFnZSxcbi51aS5tYXNzaXZlLmltYWdlcyBpbWcsXG4udWkubWFzc2l2ZS5pbWFnZXMgc3ZnLFxuLnVpLm1hc3NpdmUuaW1hZ2Uge1xuICB3aWR0aDogOTYwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgICAgIEdyb3Vwc1xuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuaW1hZ2VzIHtcbiAgZm9udC1zaXplOiAwO1xuICBtYXJnaW46IDAgLTAuMjVyZW07XG59XG4udWkuaW1hZ2VzIC5pbWFnZSxcbi51aS5pbWFnZXMgPiBpbWcsXG4udWkuaW1hZ2VzID4gc3ZnIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMC4yNXJlbSAwLjVyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gSW5wdXRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBJbnB1dFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSWNvbiBJbnB1dCAqL1xuLyogQ2lyY3VsYXIgSWNvbiBJbnB1dCAqL1xuLyogTGFiZWxlZCBJbnB1dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogRG93biAqL1xuLyogRm9jdXMgKi9cbi8qIExvYWRlciAqL1xuLyogZmlsZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBTdGFuZGFyZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmlucHV0ID4gaW5wdXQge1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZmxleDogMSAxIGF1dG87XG4gIG91dGxpbmU6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDEuMjE0Mjg1NzFlbTtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMXMgZWFzZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5pbnB1dCA+IGlucHV0Om5vdChbdHlwZT1cImNvbG9yXCJdKSB7XG4gIHBhZGRpbmc6IDAuNjc4NTcxNDNlbSAxZW07XG59XG4udWkuaW5wdXQgPiBpbnB1dDo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgcGFkZGluZzogMDtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBsYWNlaG9sZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIGJyb3dzZXJzIHJlcXVpcmUgdGhlc2UgcnVsZXMgc2VwYXJhdGUgKi9cbi51aS5pbnB1dCA+IGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDE5MSwgMTkxLCAxOTEsIDAuODcpO1xufVxuLnVpLmlucHV0ID4gaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLnVpLmlucHV0ID4gaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMTkxLCAxOTEsIDE5MSwgMC44Nyk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZGlzYWJsZWQuaW5wdXQsXG4udWkuaW5wdXQ6bm90KC5kaXNhYmxlZCkgaW5wdXRbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC40NTtcbn1cbi51aS5kaXNhYmxlZC5pbnB1dCA+IGlucHV0LFxuLnVpLmlucHV0Om5vdCguZGlzYWJsZWQpIGlucHV0W2Rpc2FibGVkXSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbnB1dCA+IGlucHV0OmFjdGl2ZSxcbi51aS5pbnB1dC5kb3duIGlucHV0IHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmZvcm0gLmZpZWxkID4gdGV4dGFyZWE6aG92ZXI6bm90KDpmb2N1cyksXG4udWkuaW5wdXQgPiB0ZXh0YXJlYTpob3Zlcjpub3QoOmZvY3VzKSxcbi51aS5mb3JtIC5maWVsZCA+IGlucHV0OmhvdmVyOm5vdCg6Zm9jdXMpLFxuLnVpLmlucHV0ID4gaW5wdXQ6aG92ZXI6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4zNSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBMb2FkaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkudWkubG9hZGluZy5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0wLjY0Mjg1NzE0ZW0gMCAwIC0wLjY0Mjg1NzE0ZW07XG4gIHdpZHRoOiAxLjI4NTcxNDI5ZW07XG4gIGhlaWdodDogMS4yODU3MTQyOWVtO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJvcmRlcjogMC4yZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnVpLnVpLmxvYWRpbmcuaW5wdXQgPiBpLmljb246OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0wLjY0Mjg1NzE0ZW0gMCAwIC0wLjY0Mjg1NzE0ZW07XG4gIHdpZHRoOiAxLjI4NTcxNDI5ZW07XG4gIGhlaWdodDogMS4yODU3MTQyOWVtO1xuICBhbmltYXRpb246IGxvYWRlciAwLjZzIGluZmluaXRlIGxpbmVhcjtcbiAgYm9yZGVyOiAwLjJlbSBzb2xpZCAjNzY3Njc2O1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbnB1dC5mb2N1cyA+IGlucHV0LFxuLnVpLmlucHV0ID4gaW5wdXQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM4NWI3ZDk7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuaW5wdXQuZm9jdXMgPiBpbnB1dDo6cGxhY2Vob2xkZXIsXG4udWkuaW5wdXQgPiBpbnB1dDpmb2N1czo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgxMTUsIDExNSwgMTE1LCAwLjg3KTtcbn1cbi51aS5pbnB1dC5mb2N1cyA+IGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbi51aS5pbnB1dCA+IGlucHV0OmZvY3VzOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDExNSwgMTE1LCAxMTUsIDAuODcpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFN0YXRlc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmlucHV0LmVycm9yID4gaW5wdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmNmY2O1xuICBib3JkZXItY29sb3I6ICNlMGI0YjQ7XG4gIGNvbG9yOiAjOWYzYTM4O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogUGxhY2Vob2xkZXIgKi9cbi51aS5pbnB1dC5lcnJvciA+IGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZTdiZGJjO1xufVxuLnVpLmlucHV0LmVycm9yID4gaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNlN2JkYmMgIWltcG9ydGFudDtcbn1cbi8qIEZvY3VzZWQgUGxhY2Vob2xkZXIgKi9cbi51aS5pbnB1dC5lcnJvciA+IGlucHV0OmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZGE5Nzk2O1xufVxuLnVpLmlucHV0LmVycm9yID4gaW5wdXQ6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNkYTk3OTYgIWltcG9ydGFudDtcbn1cbi51aS5pbnB1dC5pbmZvID4gaW5wdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmZmZmO1xuICBib3JkZXItY29sb3I6ICNhOWQ1ZGU7XG4gIGNvbG9yOiAjMjc2Zjg2O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogUGxhY2Vob2xkZXIgKi9cbi51aS5pbnB1dC5pbmZvID4gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OGNmZTE7XG59XG4udWkuaW5wdXQuaW5mbyA+IGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOThjZmUxICFpbXBvcnRhbnQ7XG59XG4vKiBGb2N1c2VkIFBsYWNlaG9sZGVyICovXG4udWkuaW5wdXQuaW5mbyA+IGlucHV0OmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNzBiZGQ2O1xufVxuLnVpLmlucHV0LmluZm8gPiBpbnB1dDpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzcwYmRkNiAhaW1wb3J0YW50O1xufVxuLnVpLmlucHV0LnN1Y2Nlc3MgPiBpbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2ZmZjU7XG4gIGJvcmRlci1jb2xvcjogI2EzYzI5MztcbiAgY29sb3I6ICMyYzY2MmQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiBQbGFjZWhvbGRlciAqL1xuLnVpLmlucHV0LnN1Y2Nlc3MgPiBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzhmY2Y5MDtcbn1cbi51aS5pbnB1dC5zdWNjZXNzID4gaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM4ZmNmOTAgIWltcG9ydGFudDtcbn1cbi8qIEZvY3VzZWQgUGxhY2Vob2xkZXIgKi9cbi51aS5pbnB1dC5zdWNjZXNzID4gaW5wdXQ6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2Y2JmNmQ7XG59XG4udWkuaW5wdXQuc3VjY2VzcyA+IGlucHV0OmZvY3VzOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNmNiZjZkICFpbXBvcnRhbnQ7XG59XG4udWkuaW5wdXQud2FybmluZyA+IGlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmFmMztcbiAgYm9yZGVyLWNvbG9yOiAjYzliYTliO1xuICBjb2xvcjogIzU3M2EwODtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIFBsYWNlaG9sZGVyICovXG4udWkuaW5wdXQud2FybmluZyA+IGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZWRhZDNlO1xufVxuLnVpLmlucHV0Lndhcm5pbmcgPiBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2VkYWQzZSAhaW1wb3J0YW50O1xufVxuLyogRm9jdXNlZCBQbGFjZWhvbGRlciAqL1xuLnVpLmlucHV0Lndhcm5pbmcgPiBpbnB1dDpmb2N1czo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2UzOTcxNTtcbn1cbi51aS5pbnB1dC53YXJuaW5nID4gaW5wdXQ6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNlMzk3MTUgIWltcG9ydGFudDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIFRyYW5zcGFyZW50XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkudHJhbnNwYXJlbnQuaW5wdXQgPiB0ZXh0YXJlYSxcbi51aS50cmFuc3BhcmVudC5pbnB1dCA+IGlucHV0IHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbi5maWVsZCAudWkudHJhbnNwYXJlbnQuaW5wdXQgPiB0ZXh0YXJlYSB7XG4gIHBhZGRpbmc6IDAuNjc4NTcxNDNlbSAxZW07XG59XG4vKiBUcmFuc3BhcmVudCBJY29uICovXG46bm90KC5maWVsZCkgPiAudWkudHJhbnNwYXJlbnQuaWNvbi5pbnB1dCA+IGkuaWNvbiB7XG4gIHdpZHRoOiAxLjFlbTtcbn1cbjpub3QoLmZpZWxkKSA+IC51aS51aS51aS50cmFuc3BhcmVudC5pY29uLmlucHV0ID4gaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDJlbTtcbn1cbjpub3QoLmZpZWxkKSA+IC51aS51aS51aS50cmFuc3BhcmVudFtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogMmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLyogVHJhbnNwYXJlbnQgSW52ZXJ0ZWQgKi9cbi51aS50cmFuc3BhcmVudC5pbnZlcnRlZC5pbnB1dCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnRyYW5zcGFyZW50LmludmVydGVkLmlucHV0ID4gdGV4dGFyZWEsXG4udWkudWkudHJhbnNwYXJlbnQuaW52ZXJ0ZWQuaW5wdXQgPiBpbnB1dCB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLnVpLnRyYW5zcGFyZW50LmludmVydGVkLmlucHV0ID4gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51aS50cmFuc3BhcmVudC5pbnZlcnRlZC5pbnB1dCA+IGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgIEljb25cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pY29uLmlucHV0ID4gaS5pY29uIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMi42NzE0Mjg1N2VtO1xuICBvcGFjaXR5OiAwLjU7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xufVxuLnVpLmljb24uaW5wdXQgPiBpLmljb246bm90KC5saW5rKSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnVpLnVpLnVpLnVpLmljb24uaW5wdXQ6bm90KC5jb3JuZXIpID4gdGV4dGFyZWEsXG4udWkudWkudWkudWkuaWNvbi5pbnB1dDpub3QoLmNvcm5lcikgPiBpbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDIuNjcxNDI4NTdlbTtcbn1cbi51aS5pY29uLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkuaWNvbi5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIge1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAtMC41ZW07XG59XG4udWkuaWNvbi5pbnB1dCA+IGkubGluay5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnVpLmljb24uaW5wdXQgPiBpLmNpcmN1bGFyLmljb24ge1xuICB0b3A6IDAuMzVlbTtcbiAgcmlnaHQ6IDAuNWVtO1xufVxuLyogTGVmdCBJY29uIElucHV0ICovXG4udWlbY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gaS5pY29uIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwIDAgMC4yODU3MTQyOXJlbTtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiBpLmNpcmN1bGFyLmljb24ge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMC41ZW07XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwibGVmdCBpY29uXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXJcIl0pLmlucHV0ID4gdGV4dGFyZWEsXG4udWkudWkudWkudWlbY2xhc3MqPVwibGVmdCBpY29uXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXJcIl0pLmlucHV0ID4gaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDIuNjcxNDI4NTdlbTtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl06bm90KC5jb3JuZXIpLmlucHV0ID4gdGV4dGFyZWEsXG4udWkudWkudWkudWlbY2xhc3MqPVwibGVmdCBpY29uXCJdOm5vdCguY29ybmVyKS5pbnB1dCA+IGlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xufVxuLyogRm9jdXMgKi9cbi51aS5pbnB1dCA+IGlucHV0OmZvY3VzOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IsXG4udWkuaWNvbi5pbnB1dCA+IHRleHRhcmVhOmZvY3VzIH4gaS5pY29uLFxuLnVpLmljb24uaW5wdXQgPiBpbnB1dDpmb2N1cyB+IGkuaWNvbiB7XG4gIG9wYWNpdHk6IDE7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgTGFiZWxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQWRqYWNlbnQgTGFiZWwgKi9cbi51aS5sYWJlbGVkLmlucHV0ID4gLmxhYmVsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxZW07XG59XG4udWkubGFiZWxlZC5pbnB1dCA+IC5sYWJlbDpub3QoLmNvcm5lcikge1xuICBwYWRkaW5nLXRvcDogMC43ODU3MTQyOWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC43ODU3MTQyOWVtO1xufVxuLyogUmVndWxhciBMYWJlbCBvbiBMZWZ0ICovXG4udWkubGFiZWxlZC5pbnB1dDpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSAubGFiZWw6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4udWkubGFiZWxlZC5pbnB1dDpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSAubGFiZWw6Zmlyc3QtY2hpbGQgKyBpbnB1dCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi51aS5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pIC5sYWJlbDpmaXJzdC1jaGlsZCArIGlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM4NWI3ZDk7XG59XG4vKiBSZWd1bGFyIExhYmVsIG9uIFJpZ2h0ICovXG4udWlbY2xhc3MqPVwicmlnaHQgbGFiZWxlZFwiXS5pbnB1dCA+IGlucHV0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaW5wdXQgPiBpbnB1dCArIC5sYWJlbCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgbGFiZWxlZFwiXS5pbnB1dCA+IGlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjODViN2Q5ICFpbXBvcnRhbnQ7XG59XG4vKiBDb3JuZXIgTGFiZWwgKi9cbi51aS5sYWJlbGVkLmlucHV0IC5jb3JuZXIubGFiZWwge1xuICB0b3A6IDFweDtcbiAgcmlnaHQ6IDFweDtcbiAgZm9udC1zaXplOiAwLjY0Mjg1NzE0ZW07XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yODU3MTQyOXJlbSAwIDA7XG59XG4vKiBTcGFjaW5nIHdpdGggY29ybmVyIGxhYmVsICovXG4udWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKS5pbnB1dCA+IC51aS5kcm9wZG93bixcbi51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXTpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pLmlucHV0ID4gdGV4dGFyZWEsXG4udWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKS5pbnB1dCA+IGlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogMi41ZW07XG59XG4udWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0uaWNvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmRyb3Bkb3duLFxuLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdLmljb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKSA+IHRleHRhcmVhLFxuLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdLmljb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKSA+IGlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogMy4yNWVtO1xufVxuLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdLmljb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKSA+IGkuaWNvbiB7XG4gIG1hcmdpbi1yaWdodDogMS4yNWVtO1xufVxuLyogTGVmdCBMYWJlbGVkICovXG4udWlbY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gLnVpLmRyb3Bkb3duOmZpcnN0LWNoaWxkLFxuLnVpW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IGkuaWNvbiArIC51aS5kcm9wZG93bixcbi51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdLmlucHV0ID4gLnVpLmRyb3Bkb3duLFxuLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0uaW5wdXQgPiB0ZXh0YXJlYSxcbi51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdLmlucHV0ID4gaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDIuNWVtO1xufVxuLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSlbY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gLnVpLmRyb3Bkb3duLFxuLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSlbY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gdGV4dGFyZWEsXG4udWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDMuMjVlbTtcbn1cbi51aS51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IC51aS5kcm9wZG93bixcbi51aS51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IHRleHRhcmVhLFxuLnVpLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl1bY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDRlbTtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdLmljb24uaW5wdXQgPiBpLmljb24ge1xuICBtYXJnaW4tbGVmdDogMS4yNWVtO1xufVxuLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0uaWNvbjpub3QoW2NsYXNzKj1cImxlZnQgaWNvblwiXSkuaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDIuNWVtO1xufVxuLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkuaWNvbjpub3QoW2NsYXNzKj1cImxlZnQgaWNvblwiXSkuaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDVlbTtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiAudWkuZHJvcGRvd24gPiAuc2VhcmNoLFxuLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0uaW5wdXQgPiAudWkuZHJvcGRvd24gPiAuc2VhcmNoIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjVlbTtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiAudWkuZHJvcGRvd24gPiAubWVudSxcbi51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdLmlucHV0ID4gLnVpLmRyb3Bkb3duID4gLm1lbnUge1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVlbTtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiAudWkuZHJvcGRvd24gPiAubWVudSA+IC5pdGVtLFxuLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0uaW5wdXQgPiAudWkuZHJvcGRvd24gPiAubWVudSA+IC5pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1ZW07XG59XG4udWlbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiAudWkuZHJvcGRvd24gPiAuc2VhcmNoIHtcbiAgcGFkZGluZy1sZWZ0OiA0ZW07XG59XG4udWlbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiAudWkuZHJvcGRvd24gPiAubWVudSA+IC5pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiA0ZW07XG59XG4udWkuaWNvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgaWNvblwiXSkgPiAudWkuZHJvcGRvd24gPiAuc2VhcmNoLFxuLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkuaW5wdXQgPiAudWkuZHJvcGRvd24gPiAuc2VhcmNoIHtcbiAgcGFkZGluZy1yaWdodDogNS43NWVtO1xufVxuLnVpLmljb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGljb25cIl0pID4gLnVpLmRyb3Bkb3duID4gLnJlbW92ZS5pY29uLFxuLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkuaW5wdXQgPiAudWkuZHJvcGRvd24gPiAucmVtb3ZlLmljb24sXG4udWkuaWNvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgaWNvblwiXSkgPiAudWkuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbixcbi51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXTpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pLmlucHV0ID4gLnVpLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTtcbn1cbkBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKC5mKSkge1xuICAudWkuaWNvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgaWNvblwiXSkgPiAudWkuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gICAgcGFkZGluZy1yaWdodDogaW5pdGlhbDtcbiAgfVxuICAudWkuaWNvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgaWNvblwiXSk6bm90KDpoYXMoLnVpLmRyb3Bkb3duIH4gaW5wdXQpKSA+IC51aS5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTtcbiAgfVxufVxuLnVpLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkuaWNvbjpub3QoW2NsYXNzKj1cImxlZnQgaWNvblwiXSkuaW5wdXQgPiAudWkuZHJvcGRvd24gPiAuc2VhcmNoIHtcbiAgcGFkZGluZy1yaWdodDogNy4yNWVtO1xufVxuLnVpLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkuaWNvbjpub3QoW2NsYXNzKj1cImxlZnQgaWNvblwiXSkuaW5wdXQgPiAudWkuZHJvcGRvd24gPiAucmVtb3ZlLmljb24sXG4udWkudWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKS5pY29uOm5vdChbY2xhc3MqPVwibGVmdCBpY29uXCJdKS5pbnB1dCA+IC51aS5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgcGFkZGluZy1yaWdodDogNGVtO1xufVxuLnVpLmljb24uaW5wdXQgPiAudWkudmlzaWJsZS5kcm9wZG93biB+IGkuaWNvbixcbi51aS5pY29uLmlucHV0ID4gLnVpLmFjdGl2ZS5kcm9wZG93biB+IGkuaWNvbixcbi51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXS5pbnB1dCA+IC51aS52aXNpYmxlLmRyb3Bkb3duIH4gLnVpLmNvcm5lci5sYWJlbCxcbi51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXS5pbnB1dCA+IC51aS5hY3RpdmUuZHJvcGRvd24gfiAudWkuY29ybmVyLmxhYmVsIHtcbiAgei1pbmRleDogMTA7XG59XG4udWkuaWNvbi5pbnB1dCA+IHRleHRhcmVhIH4gaS5pY29uIHtcbiAgaGVpZ2h0OiAzZW07XG59XG46bm90KC5maWVsZCkgPiAudWkudHJhbnNwYXJlbnQuaWNvbi5pbnB1dCA+IHRleHRhcmVhIH4gaS5pY29uIHtcbiAgaGVpZ2h0OiAxLjNlbTtcbn1cbi8qIENvcm5lciBMYWJlbCBQb3NpdGlvbiAqL1xuLnVpLmlucHV0ID4gLnVpLmNvcm5lci5sYWJlbCB7XG4gIHRvcDogMXB4O1xuICByaWdodDogMXB4O1xufVxuLnVpLmlucHV0ID4gLnVpLmxlZnQuY29ybmVyLmxhYmVsIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFweDtcbn1cbi8qIExhYmVsZWQgYW5kIGFjdGlvbiBpbnB1dCBzdGF0ZXMgKi9cbi51aS5mb3JtIC5maWVsZC5lcnJvciA+IC51aS5hY3Rpb24uaW5wdXQgPiAudWkuYnV0dG9uLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yID4gLnVpLmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWwsXG4udWkuYWN0aW9uLmlucHV0LmVycm9yID4gLnVpLmJ1dHRvbixcbi51aS5sYWJlbGVkLmlucHV0LmVycm9yOm5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMGI0YjQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTBiNGI0O1xufVxuLnVpLmZvcm0gLmZpZWxkLmVycm9yID4gLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gLnVpLmJ1dHRvbixcbi51aS5mb3JtIC5maWVsZC5lcnJvciA+IC51aS5sYWJlbGVkLmlucHV0Om5vdCgucmlnaHQpOm5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsLFxuLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0LmVycm9yID4gLnVpLmJ1dHRvbixcbi51aS5sYWJlbGVkLmlucHV0LmVycm9yOm5vdCgucmlnaHQpOm5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTBiNGI0O1xufVxuLnVpLmZvcm0gLmZpZWxkLmVycm9yID4gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IGlucHV0ICsgLnVpLmJ1dHRvbixcbi51aS5mb3JtIC5maWVsZC5lcnJvciA+IC51aS5yaWdodC5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gaW5wdXQgKyAudWkubGFiZWwsXG4udWkuYWN0aW9uLmlucHV0LmVycm9yOm5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gaW5wdXQgKyAudWkuYnV0dG9uLFxuLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQuZXJyb3I6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiBpbnB1dCArIC51aS5sYWJlbCxcbi51aS5mb3JtIC5maWVsZC5lcnJvciA+IC51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgPiB0ZXh0YXJlYSArIC51aS5idXR0b24sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgPiAudWkucmlnaHQubGFiZWxlZC5pbnB1dDpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IHRleHRhcmVhICsgLnVpLmxhYmVsLFxuLnVpLmFjdGlvbi5pbnB1dC5lcnJvcjpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IHRleHRhcmVhICsgLnVpLmJ1dHRvbixcbi51aS5yaWdodC5sYWJlbGVkLmlucHV0LmVycm9yOm5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gdGV4dGFyZWEgKyAudWkubGFiZWwge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTBiNGI0O1xufVxuLnVpLmZvcm0gLmZpZWxkLmVycm9yID4gLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWw6Zmlyc3QtY2hpbGQsXG4udWkucmlnaHQubGFiZWxlZC5pbnB1dC5lcnJvcjpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IC51aS5sYWJlbDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2UwYjRiNDtcbn1cbi51aS5mb3JtIC5maWVsZC5pbmZvID4gLnVpLmFjdGlvbi5pbnB1dCA+IC51aS5idXR0b24sXG4udWkuZm9ybSAuZmllbGQuaW5mbyA+IC51aS5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsLFxuLnVpLmFjdGlvbi5pbnB1dC5pbmZvID4gLnVpLmJ1dHRvbixcbi51aS5sYWJlbGVkLmlucHV0LmluZm86bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWwge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2E5ZDVkZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhOWQ1ZGU7XG59XG4udWkuZm9ybSAuZmllbGQuaW5mbyA+IC51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCA+IC51aS5idXR0b24sXG4udWkuZm9ybSAuZmllbGQuaW5mbyA+IC51aS5sYWJlbGVkLmlucHV0Om5vdCgucmlnaHQpOm5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsLFxuLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0LmluZm8gPiAudWkuYnV0dG9uLFxuLnVpLmxhYmVsZWQuaW5wdXQuaW5mbzpub3QoLnJpZ2h0KTpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IC51aS5sYWJlbCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2E5ZDVkZTtcbn1cbi51aS5mb3JtIC5maWVsZC5pbmZvID4gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IGlucHV0ICsgLnVpLmJ1dHRvbixcbi51aS5mb3JtIC5maWVsZC5pbmZvID4gLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiBpbnB1dCArIC51aS5sYWJlbCxcbi51aS5hY3Rpb24uaW5wdXQuaW5mbzpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IGlucHV0ICsgLnVpLmJ1dHRvbixcbi51aS5yaWdodC5sYWJlbGVkLmlucHV0LmluZm86bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiBpbnB1dCArIC51aS5sYWJlbCxcbi51aS5mb3JtIC5maWVsZC5pbmZvID4gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IHRleHRhcmVhICsgLnVpLmJ1dHRvbixcbi51aS5mb3JtIC5maWVsZC5pbmZvID4gLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiB0ZXh0YXJlYSArIC51aS5sYWJlbCxcbi51aS5hY3Rpb24uaW5wdXQuaW5mbzpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IHRleHRhcmVhICsgLnVpLmJ1dHRvbixcbi51aS5yaWdodC5sYWJlbGVkLmlucHV0LmluZm86bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiB0ZXh0YXJlYSArIC51aS5sYWJlbCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNhOWQ1ZGU7XG59XG4udWkuZm9ybSAuZmllbGQuaW5mbyA+IC51aS5yaWdodC5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsOmZpcnN0LWNoaWxkLFxuLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQuaW5mbzpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IC51aS5sYWJlbDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2E5ZDVkZTtcbn1cbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzID4gLnVpLmFjdGlvbi5pbnB1dCA+IC51aS5idXR0b24sXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyA+IC51aS5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsLFxuLnVpLmFjdGlvbi5pbnB1dC5zdWNjZXNzID4gLnVpLmJ1dHRvbixcbi51aS5sYWJlbGVkLmlucHV0LnN1Y2Nlc3M6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWwge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2EzYzI5MztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhM2MyOTM7XG59XG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyA+IC51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCA+IC51aS5idXR0b24sXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyA+IC51aS5sYWJlbGVkLmlucHV0Om5vdCgucmlnaHQpOm5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsLFxuLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0LnN1Y2Nlc3MgPiAudWkuYnV0dG9uLFxuLnVpLmxhYmVsZWQuaW5wdXQuc3VjY2Vzczpub3QoLnJpZ2h0KTpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IC51aS5sYWJlbCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2EzYzI5Mztcbn1cbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzID4gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IGlucHV0ICsgLnVpLmJ1dHRvbixcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzID4gLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiBpbnB1dCArIC51aS5sYWJlbCxcbi51aS5hY3Rpb24uaW5wdXQuc3VjY2Vzczpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IGlucHV0ICsgLnVpLmJ1dHRvbixcbi51aS5yaWdodC5sYWJlbGVkLmlucHV0LnN1Y2Nlc3M6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiBpbnB1dCArIC51aS5sYWJlbCxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzID4gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IHRleHRhcmVhICsgLnVpLmJ1dHRvbixcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzID4gLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiB0ZXh0YXJlYSArIC51aS5sYWJlbCxcbi51aS5hY3Rpb24uaW5wdXQuc3VjY2Vzczpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IHRleHRhcmVhICsgLnVpLmJ1dHRvbixcbi51aS5yaWdodC5sYWJlbGVkLmlucHV0LnN1Y2Nlc3M6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiB0ZXh0YXJlYSArIC51aS5sYWJlbCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNhM2MyOTM7XG59XG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyA+IC51aS5yaWdodC5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsOmZpcnN0LWNoaWxkLFxuLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQuc3VjY2Vzczpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IC51aS5sYWJlbDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2EzYzI5Mztcbn1cbi51aS5mb3JtIC5maWVsZC53YXJuaW5nID4gLnVpLmFjdGlvbi5pbnB1dCA+IC51aS5idXR0b24sXG4udWkuZm9ybSAuZmllbGQud2FybmluZyA+IC51aS5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsLFxuLnVpLmFjdGlvbi5pbnB1dC53YXJuaW5nID4gLnVpLmJ1dHRvbixcbi51aS5sYWJlbGVkLmlucHV0Lndhcm5pbmc6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWwge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2M5YmE5YjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjOWJhOWI7XG59XG4udWkuZm9ybSAuZmllbGQud2FybmluZyA+IC51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCA+IC51aS5idXR0b24sXG4udWkuZm9ybSAuZmllbGQud2FybmluZyA+IC51aS5sYWJlbGVkLmlucHV0Om5vdCgucmlnaHQpOm5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsLFxuLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0Lndhcm5pbmcgPiAudWkuYnV0dG9uLFxuLnVpLmxhYmVsZWQuaW5wdXQud2FybmluZzpub3QoLnJpZ2h0KTpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IC51aS5sYWJlbCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2M5YmE5Yjtcbn1cbi51aS5mb3JtIC5maWVsZC53YXJuaW5nID4gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IGlucHV0ICsgLnVpLmJ1dHRvbixcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nID4gLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiBpbnB1dCArIC51aS5sYWJlbCxcbi51aS5hY3Rpb24uaW5wdXQud2FybmluZzpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IGlucHV0ICsgLnVpLmJ1dHRvbixcbi51aS5yaWdodC5sYWJlbGVkLmlucHV0Lndhcm5pbmc6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiBpbnB1dCArIC51aS5sYWJlbCxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nID4gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IHRleHRhcmVhICsgLnVpLmJ1dHRvbixcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nID4gLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiB0ZXh0YXJlYSArIC51aS5sYWJlbCxcbi51aS5hY3Rpb24uaW5wdXQud2FybmluZzpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IHRleHRhcmVhICsgLnVpLmJ1dHRvbixcbi51aS5yaWdodC5sYWJlbGVkLmlucHV0Lndhcm5pbmc6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiB0ZXh0YXJlYSArIC51aS5sYWJlbCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjOWJhOWI7XG59XG4udWkuZm9ybSAuZmllbGQud2FybmluZyA+IC51aS5yaWdodC5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsOmZpcnN0LWNoaWxkLFxuLnVpLnJpZ2h0LmxhYmVsZWQuaW5wdXQud2FybmluZzpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IC51aS5sYWJlbDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2M5YmE5Yjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBBY3Rpb25cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5hY3Rpb24uaW5wdXQgPiAuYnV0dG9uLFxuLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMCAwIGF1dG87XG59XG4udWkuYWN0aW9uLmlucHV0ID4gLmJ1dHRvbixcbi51aS5hY3Rpb24uaW5wdXQgPiAuYnV0dG9ucyA+IC5idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMC43ODU3MTQyOWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC43ODU3MTQyOWVtO1xuICBtYXJnaW46IDA7XG59XG4vKiBJbnB1dCB3aGVuIHVpIExlZnQgKi9cbi51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCA+IGlucHV0LFxuLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gdGV4dGFyZWEge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vKiBJbnB1dCB3aGVuIHVpIFJpZ2h0ICovXG4udWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gaW5wdXQsXG4udWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gdGV4dGFyZWEge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vKiBCdXR0b24gYW5kIERyb3Bkb3duICovXG4udWkuYWN0aW9uLmlucHV0ID4gLmRyb3Bkb3duOmZpcnN0LWNoaWxkLFxuLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b246Zmlyc3QtY2hpbGQsXG4udWkuYWN0aW9uLmlucHV0ID4gLmJ1dHRvbnM6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwIDAgMC4yODU3MTQyOXJlbTtcbn1cbi51aS5hY3Rpb24uaW5wdXQgPiAuZHJvcGRvd246bm90KDpmaXJzdC1jaGlsZCksXG4udWkuYWN0aW9uLmlucHV0ID4gLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSxcbi51aS5hY3Rpb24uaW5wdXQgPiAuYnV0dG9uczpub3QoOmZpcnN0LWNoaWxkKSA+IC5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnVpLmFjdGlvbi5pbnB1dCA+IC5kcm9wZG93bjpsYXN0LWNoaWxkLFxuLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b246bGFzdC1jaGlsZCxcbi51aS5hY3Rpb24uaW5wdXQgPiAuYnV0dG9uczpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDA7XG59XG4vKiBJbnB1dCBGb2N1cyAqL1xuLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IGlucHV0OmZvY3VzLFxuLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IHRleHRhcmVhOmZvY3VzIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjODViN2Q5O1xufVxuLnVpLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gaW5wdXQ6Zm9jdXMsXG4udWkudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiB0ZXh0YXJlYTpmb2N1cyB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjODViN2Q5O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFN0YW5kYXJkICovXG4udWkuaW52ZXJ0ZWQuaW5wdXQgPiBpbnB1dCB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBGbHVpZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZsdWlkLmlucHV0IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi51aS5mbHVpZC5pbnB1dCA+IGlucHV0IHtcbiAgd2lkdGg6IDAgIWltcG9ydGFudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBGaWxlXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiB3aWR0aCBoYWNrIGZvciBjaHJvbWUvZWRnZSAqL1xuLnVpLmZpbGUuaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgd2lkdGg6IDA7XG59XG4udWkuZm9ybSAuZmllbGQgPiBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbi51aS5maWxlLmlucHV0Om5vdCguYWN0aW9uKSBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIHBhZGRpbmc6IDA7XG59XG4udWkuYWN0aW9uLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5mb3JtIC5maWVsZCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24sXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMC42Nzg1NzE0M2VtIDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIGJhY2tncm91bmQ6ICNlMGUxZTI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLnVpLmZvcm0gLmZpZWxkIGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3Zlcixcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNjYWNiY2Q7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG4udWkuYWN0aW9uLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLmZvcm0gLmZpZWxkIGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2Uge1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMC42Nzg1NzE0M2VtIDFlbTtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kOiAjZTBlMWUyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi51aS5mb3JtIC5maWVsZCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZTpob3Zlcixcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2NhY2JjZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi8qIElFIG5lZWRzIGFkZGl0aW9uYWwgc3R5bGluZyBmb3IgaW5wdXQgZmllbGQgOlMgKi9cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAudWkuZmlsZS5pbnB1dCA+IGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuICBpbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0IHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi51aS5hY3Rpb24uZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLmZvcm0gLmZpZWxkIGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbixcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwLjY3ODU3MTQzZW0gMWVtO1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgYmFja2dyb3VuZDogI2UwZTFlMjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG4udWkuZm9ybSAuZmllbGQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2NhY2JjZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmludmlzaWJsZS5maWxlLmlucHV0LFxuLnVpLmludmlzaWJsZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgbGVmdDogLTk5OTk5cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSksXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSB7XG4gIGJhY2tncm91bmQ6ICNjYWNiY2Q7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuLyogdGhpcyBpcyByZWxhdGVkIHRvIGV4aXN0aW5nIGJ1dHRvbnMsIHNvIHRoZSBidXR0b24gY29sb3IgdmFyaWFibGUgaXMgdXNlZCBoZXJlISAqL1xuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLnByaW1hcnkuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS5wcmltYXJ5LmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ZDJiNTk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLnByaW1hcnkuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS5wcmltYXJ5LmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMWI4ZmY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkuc2Vjb25kYXJ5LmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkuc2Vjb25kYXJ5LmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OGYwMTM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLnNlY29uZGFyeS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQsXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLnNlY29uZGFyeS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmU2ZTZlO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLnJlZC5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSksXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLnJlZC5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDAxOTE5O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5yZWQuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS5yZWQuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMzkyYjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5vcmFuZ2UuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS5vcmFuZ2UuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNjIwMjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkub3JhbmdlLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkub3JhbmdlLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNzZiMDA7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkueWVsbG93LmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkueWVsbG93LmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWFlMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLnllbGxvdy5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQsXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLnllbGxvdy5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJjZDAwO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLm9saXZlLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkub2xpdmUuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E3YmQwZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkub2xpdmUuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS5vbGl2ZS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDJlNzQ1O1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLmdyZWVuLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkuZ3JlZW4uYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE2YWIzOTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkuZ3JlZW4uYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS5ncmVlbi5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWVhOTJlO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLnRlYWwuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS50ZWFsLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDljOTU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLnRlYWwuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS50ZWFsLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWZmZmY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkuYmx1ZS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSksXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLmJsdWUuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE2NzhjMjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkuYmx1ZS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQsXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLmJsdWUuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYjhmZjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS52aW9sZXQuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS52aW9sZXQuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU4MjliYjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkudmlvbGV0LmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkudmlvbGV0LmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NDVhZmY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkucHVycGxlLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkucHVycGxlLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NjI3YmE7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLnB1cnBsZS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQsXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLnB1cnBsZS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2Y0MGZmO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLnBpbmsuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS5waW5rLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNjFhOGQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLnBpbmsuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS5waW5rLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjViZDE7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkuYnJvd24uYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLFxuLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS5icm93bi5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc1YjMzO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5icm93bi5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQsXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLmJyb3duLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMDYyMGY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkuZ3JleS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSksXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLmdyZXkuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgzODM4MztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkuZ3JleS5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSkuaW52ZXJ0ZWQsXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLmdyZXkuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzRjNTtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5ibGFjay5idXR0b246bm90KC5iYXNpYyk6bm90KC50ZXJ0aWFyeSksXG4udWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLmJsYWNrLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNzI5MmE7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZmlsZS5pbnB1dDpmb2N1cyArIGxhYmVsLnVpLmJsYWNrLmJ1dHRvbjpub3QoLmJhc2ljKTpub3QoLnRlcnRpYXJ5KS5pbnZlcnRlZCxcbi51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzICsgbGFiZWwudWkuYmxhY2suYnV0dG9uOm5vdCguYmFzaWMpOm5vdCgudGVydGlhcnkpLmludmVydGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnByaW1hcnkuZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24sXG4udWkucHJpbWFyeS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICM2QzM2Njc7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkucHJpbWFyeS5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3Zlcixcbi51aS5wcmltYXJ5LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzVkMmI1OTtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnByaW1hcnkuZmlsZS5pbnB1dDo6LW1zLWJyb3dzZSxcbi51aS5wcmltYXJ5LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2Uge1xuICBiYWNrZ3JvdW5kOiAjNkMzNjY3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnByaW1hcnkuZmlsZS5pbnB1dDo6LW1zLWJyb3dzZTpob3Zlcixcbi51aS5wcmltYXJ5LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNWQyYjU5O1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkucHJpbWFyeS5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbixcbi51aS5wcmltYXJ5LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzZDMzY2NztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5wcmltYXJ5LmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyLFxuLnVpLnByaW1hcnkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNWQyYjU5O1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuc2Vjb25kYXJ5LmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uLFxuLnVpLnNlY29uZGFyeS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICM4OGQzMTc7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuc2Vjb25kYXJ5LmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyLFxuLnVpLnNlY29uZGFyeS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM5OGYwMTM7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5zZWNvbmRhcnkuZmlsZS5pbnB1dDo6LW1zLWJyb3dzZSxcbi51aS5zZWNvbmRhcnkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZSB7XG4gIGJhY2tncm91bmQ6ICM4OGQzMTc7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuc2Vjb25kYXJ5LmZpbGUuaW5wdXQ6Oi1tcy1icm93c2U6aG92ZXIsXG4udWkuc2Vjb25kYXJ5LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjOThmMDEzO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuc2Vjb25kYXJ5LmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuLnVpLnNlY29uZGFyeS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICM4OGQzMTc7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuc2Vjb25kYXJ5LmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyLFxuLnVpLnNlY29uZGFyeS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM5OGYwMTM7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5yZWQuZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24sXG4udWkucmVkLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2RiMjgyODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5yZWQuZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIsXG4udWkucmVkLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2QwMTkxOTtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnJlZC5maWxlLmlucHV0OjotbXMtYnJvd3NlLFxuLnVpLnJlZC5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlIHtcbiAgYmFja2dyb3VuZDogI2RiMjgyODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5yZWQuZmlsZS5pbnB1dDo6LW1zLWJyb3dzZTpob3Zlcixcbi51aS5yZWQuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNkMDE5MTk7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5yZWQuZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b24sXG4udWkucmVkLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2RiMjgyODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5yZWQuZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIsXG4udWkucmVkLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2QwMTkxOTtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLm9yYW5nZS5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbixcbi51aS5vcmFuZ2UuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjZjI3MTFjO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLm9yYW5nZS5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3Zlcixcbi51aS5vcmFuZ2UuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjI2MjAyO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkub3JhbmdlLmZpbGUuaW5wdXQ6Oi1tcy1icm93c2UsXG4udWkub3JhbmdlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2Uge1xuICBiYWNrZ3JvdW5kOiAjZjI3MTFjO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLm9yYW5nZS5maWxlLmlucHV0OjotbXMtYnJvd3NlOmhvdmVyLFxuLnVpLm9yYW5nZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2YyNjIwMjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLm9yYW5nZS5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbixcbi51aS5vcmFuZ2UuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjZjI3MTFjO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLm9yYW5nZS5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3Zlcixcbi51aS5vcmFuZ2UuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjI2MjAyO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkueWVsbG93LmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uLFxuLnVpLnllbGxvdy5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICNmYmJkMDg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkueWVsbG93LmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyLFxuLnVpLnllbGxvdy5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlYWFlMDA7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS55ZWxsb3cuZmlsZS5pbnB1dDo6LW1zLWJyb3dzZSxcbi51aS55ZWxsb3cuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZSB7XG4gIGJhY2tncm91bmQ6ICNmYmJkMDg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkueWVsbG93LmZpbGUuaW5wdXQ6Oi1tcy1icm93c2U6aG92ZXIsXG4udWkueWVsbG93LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZWFhZTAwO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkueWVsbG93LmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuLnVpLnllbGxvdy5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICNmYmJkMDg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkueWVsbG93LmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyLFxuLnVpLnllbGxvdy5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlYWFlMDA7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5vbGl2ZS5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbixcbi51aS5vbGl2ZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICNiNWNjMTg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkub2xpdmUuZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIsXG4udWkub2xpdmUuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjYTdiZDBkO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkub2xpdmUuZmlsZS5pbnB1dDo6LW1zLWJyb3dzZSxcbi51aS5vbGl2ZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlIHtcbiAgYmFja2dyb3VuZDogI2I1Y2MxODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5vbGl2ZS5maWxlLmlucHV0OjotbXMtYnJvd3NlOmhvdmVyLFxuLnVpLm9saXZlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjYTdiZDBkO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkub2xpdmUuZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b24sXG4udWkub2xpdmUuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjYjVjYzE4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLm9saXZlLmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyLFxuLnVpLm9saXZlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2E3YmQwZDtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmdyZWVuLmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uLFxuLnVpLmdyZWVuLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzIxYmE0NTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ncmVlbi5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3Zlcixcbi51aS5ncmVlbi5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxNmFiMzk7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ncmVlbi5maWxlLmlucHV0OjotbXMtYnJvd3NlLFxuLnVpLmdyZWVuLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2Uge1xuICBiYWNrZ3JvdW5kOiAjMjFiYTQ1O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmdyZWVuLmZpbGUuaW5wdXQ6Oi1tcy1icm93c2U6aG92ZXIsXG4udWkuZ3JlZW4uZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxNmFiMzk7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ncmVlbi5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbixcbi51aS5ncmVlbi5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMyMWJhNDU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZ3JlZW4uZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIsXG4udWkuZ3JlZW4uZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMTZhYjM5O1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkudGVhbC5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbixcbi51aS50ZWFsLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzAwYjVhZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS50ZWFsLmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyLFxuLnVpLnRlYWwuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMDA5Yzk1O1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkudGVhbC5maWxlLmlucHV0OjotbXMtYnJvd3NlLFxuLnVpLnRlYWwuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZSB7XG4gIGJhY2tncm91bmQ6ICMwMGI1YWQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkudGVhbC5maWxlLmlucHV0OjotbXMtYnJvd3NlOmhvdmVyLFxuLnVpLnRlYWwuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMwMDljOTU7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS50ZWFsLmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuLnVpLnRlYWwuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjMDBiNWFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnRlYWwuZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIsXG4udWkudGVhbC5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMwMDljOTU7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ibHVlLmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uLFxuLnVpLmJsdWUuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjMjE4NWQwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmJsdWUuZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIsXG4udWkuYmx1ZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxNjc4YzI7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ibHVlLmZpbGUuaW5wdXQ6Oi1tcy1icm93c2UsXG4udWkuYmx1ZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlIHtcbiAgYmFja2dyb3VuZDogIzIxODVkMDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ibHVlLmZpbGUuaW5wdXQ6Oi1tcy1icm93c2U6aG92ZXIsXG4udWkuYmx1ZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzE2NzhjMjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmJsdWUuZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b24sXG4udWkuYmx1ZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMyMTg1ZDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuYmx1ZS5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3Zlcixcbi51aS5ibHVlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzE2NzhjMjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnZpb2xldC5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbixcbi51aS52aW9sZXQuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjNjQzNWM5O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnZpb2xldC5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3Zlcixcbi51aS52aW9sZXQuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNTgyOWJiO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkudmlvbGV0LmZpbGUuaW5wdXQ6Oi1tcy1icm93c2UsXG4udWkudmlvbGV0LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2Uge1xuICBiYWNrZ3JvdW5kOiAjNjQzNWM5O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnZpb2xldC5maWxlLmlucHV0OjotbXMtYnJvd3NlOmhvdmVyLFxuLnVpLnZpb2xldC5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzU4MjliYjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnZpb2xldC5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbixcbi51aS52aW9sZXQuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjNjQzNWM5O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnZpb2xldC5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3Zlcixcbi51aS52aW9sZXQuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNTgyOWJiO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkucHVycGxlLmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uLFxuLnVpLnB1cnBsZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICNhMzMzYzg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkucHVycGxlLmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyLFxuLnVpLnB1cnBsZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM5NjI3YmE7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5wdXJwbGUuZmlsZS5pbnB1dDo6LW1zLWJyb3dzZSxcbi51aS5wdXJwbGUuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZSB7XG4gIGJhY2tncm91bmQ6ICNhMzMzYzg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkucHVycGxlLmZpbGUuaW5wdXQ6Oi1tcy1icm93c2U6aG92ZXIsXG4udWkucHVycGxlLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjOTYyN2JhO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkucHVycGxlLmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuLnVpLnB1cnBsZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICNhMzMzYzg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkucHVycGxlLmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyLFxuLnVpLnB1cnBsZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM5NjI3YmE7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5waW5rLmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uLFxuLnVpLnBpbmsuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjZTAzOTk3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnBpbmsuZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIsXG4udWkucGluay5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlNjFhOGQ7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5waW5rLmZpbGUuaW5wdXQ6Oi1tcy1icm93c2UsXG4udWkucGluay5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlIHtcbiAgYmFja2dyb3VuZDogI2UwMzk5NztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5waW5rLmZpbGUuaW5wdXQ6Oi1tcy1icm93c2U6aG92ZXIsXG4udWkucGluay5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2U2MWE4ZDtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLnBpbmsuZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b24sXG4udWkucGluay5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICNlMDM5OTc7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkucGluay5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3Zlcixcbi51aS5waW5rLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2U2MWE4ZDtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmJyb3duLmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uLFxuLnVpLmJyb3duLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2E1NjczZjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5icm93bi5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3Zlcixcbi51aS5icm93bi5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM5NzViMzM7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5icm93bi5maWxlLmlucHV0OjotbXMtYnJvd3NlLFxuLnVpLmJyb3duLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2Uge1xuICBiYWNrZ3JvdW5kOiAjYTU2NzNmO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmJyb3duLmZpbGUuaW5wdXQ6Oi1tcy1icm93c2U6aG92ZXIsXG4udWkuYnJvd24uZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM5NzViMzM7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5icm93bi5maWxlLmlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbixcbi51aS5icm93bi5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICNhNTY3M2Y7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuYnJvd24uZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIsXG4udWkuYnJvd24uZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjOTc1YjMzO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZ3JleS5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbixcbi51aS5ncmV5LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ncmV5LmZpbGUuaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uOmhvdmVyLFxuLnVpLmdyZXkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjODM4MzgzO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZ3JleS5maWxlLmlucHV0OjotbXMtYnJvd3NlLFxuLnVpLmdyZXkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZSB7XG4gIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuZ3JleS5maWxlLmlucHV0OjotbXMtYnJvd3NlOmhvdmVyLFxuLnVpLmdyZXkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM4MzgzODM7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ncmV5LmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuLnVpLmdyZXkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmdyZXkuZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b246aG92ZXIsXG4udWkuZ3JleS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM4MzgzODM7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ibGFjay5maWxlLmlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbixcbi51aS5ibGFjay5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuYmxhY2suZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIsXG4udWkuYmxhY2suZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjcyOTJhO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuYmxhY2suZmlsZS5pbnB1dDo6LW1zLWJyb3dzZSxcbi51aS5ibGFjay5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5pbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5ibGFjay5maWxlLmlucHV0OjotbXMtYnJvd3NlOmhvdmVyLFxuLnVpLmJsYWNrLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjcyOTJhO1xufVxuaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuYmxhY2suZmlsZS5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b24sXG4udWkuYmxhY2suZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmJsYWNrLmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyLFxuLnVpLmJsYWNrLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzI3MjkyYTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmlucHV0IHtcbiAgZm9udC1zaXplOiAxZW07XG59XG4udWkubWluaS5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOWVtO1xufVxuLnVpLnRpbnkuaW5wdXQge1xuICBmb250LXNpemU6IDAuODU3MTQyODZlbTtcbn1cbi51aS5zbWFsbC5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xufVxuLnVpLmxhcmdlLmlucHV0IHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG59XG4udWkuYmlnLmlucHV0IHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5ZW07XG59XG4udWkuaHVnZS5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M2VtO1xufVxuLnVpLm1hc3NpdmUuaW5wdXQge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBMYWJlbFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBMYWJlbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogbWVkaXVtIGlzIG5vdCBAZW1TaXplIGN1c3RvbSB2YWx1ZSByZXF1aXJlZCAqL1xuLyogR3JvdXAgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFydHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMaW5rICovXG4vKiBJY29uICovXG4vKiBJbWFnZSAqL1xuLyogRGV0YWlsICovXG4vKiBEZWxldGUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbWFnZSBMYWJlbCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBIb3ZlciAqL1xuLyogQWN0aXZlICovXG4vKiBBY3RpdmUgSG92ZXIgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBCYXNpYyAqL1xuLyogVGFnICovXG4vKiBBdm9pZHMgZXJyb3Igd2l0aCBiYWNrZ3JvdW5kOiBpbmhlcml0OyBvbiBhbmltYXRpb24gKi9cbi8qIFJpYmJvbiAqL1xuLyogUm91bmRpbmcgT2Zmc2V0IG9uIFRyaWFuZ2xlICovXG4vKiBSb3VuZGluZyBPZmZzZXQgb24gVHJpYW5nbGUgKi9cbi8qIEludmVydGVkICovXG4vKiBDb2xvcnMgKi9cbi8qIEF0dGFjaGVkICovXG4vKiBDb3JuZXIgKi9cbi8qIENvcm5lciBUZXh0ICovXG4vKiBIb3Jpem9udGFsICovXG4vKiBDaXJjdWxhciBQYWRkaW5nICovXG4vKiBQb2ludGluZyAqL1xuLyogQXZvaWRzIGVycm9yIHdpdGggYmFja2dyb3VuZDogaW5oZXJpdDsgb24gYW5pbWF0aW9uICovXG4vKiBCYXNpYyBQb2ludGluZyAqL1xuLyogRmxvYXRpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JvdXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTaXppbmcgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBMYWJlbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luOiAwIDAuMTQyODU3MTRlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlODtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgcGFkZGluZzogMC41ODMzZW0gMC44MzNlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBib3JkZXI6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlO1xufVxuLnVpLmxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4udWkubGFiZWw6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi8qIExpbmsgKi9cbmEudWkubGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4vKiBJbnNpZGUgTGluayAqL1xuLnVpLmxhYmVsID4gYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDAuNTtcbiAgdHJhbnNpdGlvbjogMC4xcyBvcGFjaXR5IGVhc2U7XG59XG4udWkubGFiZWwgPiBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi8qIEltYWdlICovXG4udWkubGFiZWwgPiBpbWcge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBoZWlnaHQ6IDIuMTY2NmVtO1xufVxuLyogSWNvbiAqL1xuLnVpLnVpW2NsYXNzKj1cImxlZnQgaWNvblwiXS5sYWJlbCA+IC5pY29uLFxuLnVpLmxhYmVsID4gLmljb24ge1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAwIDAuNzVlbSAwIDA7XG59XG4vKiBEZXRhaWwgKi9cbi51aS5sYWJlbCA+IC5kZXRhaWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tbGVmdDogMWVtO1xuICBvcGFjaXR5OiAwLjg7XG59XG4udWkubGFiZWwgPiAuZGV0YWlsIC5pY29uIHtcbiAgbWFyZ2luOiAwIDAuMjVlbSAwIDA7XG59XG4vKiBSZW1vdmFibGUgbGFiZWwgKi9cbi51aS5sYWJlbCA+IC5jbG9zZS5pY29uLFxuLnVpLmxhYmVsID4gLmRlbGV0ZS5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZTtcbn1cbi51aS5sYWJlbCA+IC5jbG9zZS5pY29uOmhvdmVyLFxuLnVpLmxhYmVsID4gLmRlbGV0ZS5pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi8qIEJhY2t3YXJkIGNvbXBhdGlibGUgcG9zaXRpb25pbmcgKi9cbi51aS5sYWJlbFtjbGFzcyo9XCJsZWZ0IGljb25cIl0gPiAuY2xvc2UuaWNvbixcbi51aS5sYWJlbFtjbGFzcyo9XCJsZWZ0IGljb25cIl0gPiAuZGVsZXRlLmljb24ge1xuICBtYXJnaW46IDAgMC41ZW0gMCAwO1xufVxuLnVpLmxhYmVsW2NsYXNzKj1cImxlZnQgaWNvblwiXSA+IC5jbG9zZS5pY29uLnJpZ2h0LFxuLnVpLmxhYmVsW2NsYXNzKj1cImxlZnQgaWNvblwiXSA+IC5kZWxldGUuaWNvbi5yaWdodCB7XG4gIG1hcmdpbjogMCAwIDAgMC41ZW07XG59XG4udWkubGFiZWw6bm90KC5pY29uKSA+IC5jbG9zZS5pY29uLFxuLnVpLmxhYmVsOm5vdCguaWNvbikgPiAuZGVsZXRlLmljb24ge1xuICBtYXJnaW46IDAgMCAwIDAuNWVtO1xufVxuLyogTGFiZWwgZm9yIG9ubHkgYW4gaWNvbiAqL1xuLnVpLmljb24ubGFiZWwgPiAuaWNvbiB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLyogUmlnaHQgU2lkZSBJY29uICovXG4udWlbY2xhc3MqPVwicmlnaHQgaWNvblwiXS5sYWJlbCA+IC5pY29uIHtcbiAgbWFyZ2luOiAwIDAgMCAwLjc1ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgR3JvdXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubGFiZWxzID4gLmxhYmVsIHtcbiAgbWFyZ2luOiAwIDAuNWVtIDAuNWVtIDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaGVhZGVyID4gLnVpLmxhYmVsIHtcbiAgbWFyZ2luLXRvcDogLTAuMjkxNjVlbTtcbn1cbi8qIFJlbW92ZSBib3JkZXIgcmFkaXVzIG9uIGF0dGFjaGVkIHNlZ21lbnQgKi9cbi51aS5hdHRhY2hlZC5zZWdtZW50ID4gLnVpLnRvcC5sZWZ0LmF0dGFjaGVkLmxhYmVsLFxuLnVpLmJvdHRvbS5hdHRhY2hlZC5zZWdtZW50ID4gLnVpLnRvcC5sZWZ0LmF0dGFjaGVkLmxhYmVsIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbn1cbi51aS5hdHRhY2hlZC5zZWdtZW50ID4gLnVpLnRvcC5yaWdodC5hdHRhY2hlZC5sYWJlbCxcbi51aS5ib3R0b20uYXR0YWNoZWQuc2VnbWVudCA+IC51aS50b3AucmlnaHQuYXR0YWNoZWQubGFiZWwge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aS50b3AuYXR0YWNoZWQuc2VnbWVudCA+IC51aS5ib3R0b20ubGVmdC5hdHRhY2hlZC5sYWJlbCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4udWkudG9wLmF0dGFjaGVkLnNlZ21lbnQgPiAudWkuYm90dG9tLnJpZ2h0LmF0dGFjaGVkLmxhYmVsIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4vKiBQYWRkaW5nIG9uIG5leHQgY29udGVudCBhZnRlciBhIGxhYmVsICovXG4udWkudG9wLmF0dGFjaGVkLmxhYmVsIH4gLnVpLmJvdHRvbS5hdHRhY2hlZC5sYWJlbCArIDpub3QoLmF0dGFjaGVkKSxcbi51aS50b3AuYXR0YWNoZWQubGFiZWwgKyA6bm90KC5hdHRhY2hlZCkge1xuICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7XG59XG4udWkuYm90dG9tLmF0dGFjaGVkLmxhYmVsIH4gOmxhc3QtY2hpbGQ6bm90KC5hdHRhY2hlZCkge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XG59XG4udWkuc2VnbWVudDpub3QoLmJhc2ljKSA+IC51aS50b3AuYXR0YWNoZWQubGFiZWwge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuLnVpLnNlZ21lbnQ6bm90KC5iYXNpYykgPiAudWkuYm90dG9tLmF0dGFjaGVkLmxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbn1cbi51aS5zZWdtZW50Om5vdCguYmFzaWMpID4gLnVpLmF0dGFjaGVkLmxhYmVsOm5vdCgucmlnaHQpIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG4udWkuc2VnbWVudDpub3QoLmJhc2ljKSA+IC51aS5yaWdodC5hdHRhY2hlZC5sYWJlbCB7XG4gIG1hcmdpbi1yaWdodDogLTFweDtcbn1cbi51aS5zZWdtZW50Om5vdCguYmFzaWMpID4gLnVpLmF0dGFjaGVkLmxhYmVsOm5vdCgubGVmdCk6bm90KC5yaWdodCkge1xuICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuaW1hZ2UubGFiZWxzIC5sYWJlbCxcbi51aS5pbWFnZS5sYWJlbCB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXgtd2lkdGg6IDk5OTlweDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2U4ZThlODtcbiAgcGFkZGluZzogMC41ODMzZW0gMC44MzNlbSAwLjU4MzNlbSAwLjVlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5pbWFnZS5sYWJlbHMgLmxhYmVsLmF0dGFjaGVkOm5vdCguYmFzaWMpLFxuLnVpLmltYWdlLmxhYmVsLmF0dGFjaGVkOm5vdCguYmFzaWMpIHtcbiAgcGFkZGluZzogMC41ODMzZW0gMC44MzNlbSAwLjU4MzNlbSAwLjVlbTtcbn1cbi51aS5sYWJlbHMgLmltYWdlLmxhYmVsLFxuLnVpLmltYWdlLmxhYmVscyAubGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cbi51aS5pbWFnZS5sYWJlbCBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGhlaWdodDogMi4xNjY2ZW07XG4gIG1hcmdpbjogLTAuNTgzM2VtIDAuNWVtIC0wLjU4MzNlbSAtMC41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMCAwIDAuMjg1NzE0MjlyZW07XG59XG4udWkuaW1hZ2UubGFiZWwgLmRldGFpbCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgbWFyZ2luOiAtMC41ODMzZW0gLTAuODMzZW0gLTAuNTgzM2VtIDAuNWVtO1xuICBwYWRkaW5nOiAwLjU4MzNlbSAwLjgzM2VtO1xuICBib3JkZXItcmFkaXVzOiAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwO1xufVxuLnVpLmJvdHRvbS5hdHRhY2hlZC5pbWFnZS5sYWJlbDpub3QoLnJpZ2h0KSA+IGltZyxcbi51aS50b3AucmlnaHQuYXR0YWNoZWQuaW1hZ2UubGFiZWwgPiBpbWcge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xufVxuLnVpLnRvcC5hdHRhY2hlZC5pbWFnZS5sYWJlbDpub3QoLnJpZ2h0KSA+IGltZyxcbi51aS5ib3R0b20ucmlnaHQuYXR0YWNoZWQuaW1hZ2UubGFiZWwgPiBpbWcge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgIFRhZ1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkudGFnLmxhYmVscyAubGFiZWwsXG4udWkudGFnLmxhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVlbTtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cbi51aS50YWcubGFiZWxzIC5sYWJlbDo6YmVmb3JlLFxuLnVpLnRhZy5sYWJlbDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDEwMCU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIHdpZHRoOiAxLjU2ZW07XG4gIGhlaWdodDogMS41NmVtO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuLnVpLnRhZy5sYWJlbHMgLmxhYmVsOjphZnRlcixcbi51aS50YWcubGFiZWw6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogLTAuMjVlbTtcbiAgbWFyZ2luLXRvcDogLTAuMjVlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgd2lkdGg6IDAuNWVtO1xuICBoZWlnaHQ6IDAuNWVtO1xuICBib3gtc2hhZG93OiAwIC0xcHggMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG59XG4udWkuYmFzaWMudGFnLmxhYmVscyAubGFiZWw6OmJlZm9yZSxcbi51aS5iYXNpYy50YWcubGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDFweDtcbiAgYm9yZGVyLXN0eWxlOiBpbmhlcml0O1xuICByaWdodDogY2FsYygxMDAlICsgMXB4KTtcbn1cbi51aS5iYXNpYy50YWcubGFiZWxzIC5sYWJlbDo6YWZ0ZXIsXG4udWkuYmFzaWMudGFnLmxhYmVsOjphZnRlciB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENvcm5lciBMYWJlbFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY29ybmVyLmxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjZThlOGU4O1xuICB3aWR0aDogNGVtO1xuICBoZWlnaHQ6IDRlbTtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMXMgZWFzZTtcbn1cbi8qIEljb24gTGFiZWwgKi9cbi51aS5jb3JuZXIubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuLnVpLmNvcm5lci5sYWJlbDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA0ZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDRlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMXMgZWFzZTtcbn1cbi51aS5jb3JuZXIubGFiZWwgLmljb24ge1xuICBjdXJzb3I6IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjY0Mjg1NzE0ZW07XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwLjU3MTQyODU3ZW07XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNGVtO1xuICBtYXJnaW46IDA7XG59XG4vKiBMZWZ0IENvcm5lciAqL1xuLnVpLmxlZnQuY29ybmVyLmxhYmVsLFxuLnVpLmxlZnQuY29ybmVyLmxhYmVsOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xufVxuLnVpLmxlZnQuY29ybmVyLmxhYmVsOjphZnRlciB7XG4gIGJvcmRlci10b3A6IDRlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA0ZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDAgc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiBpbmhlcml0O1xufVxuLnVpLmxlZnQuY29ybmVyLmxhYmVsIC5pY29uIHtcbiAgbGVmdDogMC41NzE0Mjg1N2VtO1xuICByaWdodDogYXV0bztcbn1cbi8qIFNlZ21lbnQgKi9cbi51aS5zZWdtZW50ID4gLnVpLmNvcm5lci5sYWJlbCB7XG4gIHRvcDogLTFweDtcbiAgcmlnaHQ6IC0xcHg7XG59XG4udWkuc2VnbWVudCA+IC51aS5sZWZ0LmNvcm5lci5sYWJlbCB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAtMXB4O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBSaWJib25cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnJpYmJvbi5sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBtaW4td2lkdGg6IG1heC1jb250ZW50O1xuICBib3JkZXItcmFkaXVzOiAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG4udWkucmliYm9uLmxhYmVsOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwIDEuMmVtIDEuMmVtIDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogaW5oZXJpdDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbn1cbi8qIFBvc2l0aW9uaW5nICovXG4udWkucmliYm9uLmxhYmVsIHtcbiAgbGVmdDogY2FsYygtMXJlbSAtIDEuMmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAtMS4yZW07XG4gIHBhZGRpbmctbGVmdDogY2FsYygxcmVtICsgMS4yZW0pO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjJlbTtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWwge1xuICBsZWZ0OiBjYWxjKDEwMCUgKyAxcmVtICsgMS4yZW0pO1xuICBwYWRkaW5nLWxlZnQ6IDEuMmVtO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDFyZW0gKyAxLjJlbSk7XG59XG4udWkuYmFzaWMucmliYm9uLmxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoMC41ODMzZW0gLSAxcHgpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjU4MzNlbSAtIDFweCk7XG59XG4udWkuYmFzaWMucmliYm9uLmxhYmVsOm5vdChbY2xhc3MqPVwicmlnaHQgcmliYm9uXCJdKSB7XG4gIHBhZGRpbmctbGVmdDogY2FsYygxcmVtICsgMS4yZW0gLSAxcHgpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuMmVtIC0gMXB4KTtcbn1cbi51aS5iYXNpY1tjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMS4yZW0gLSAxcHgpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDFyZW0gKyAxLjJlbSAtIDFweCk7XG59XG4udWkuYmFzaWMucmliYm9uLmxhYmVsOjphZnRlciB7XG4gIHRvcDogY2FsYygxMDAlICsgMXB4KTtcbn1cbi51aS5iYXNpYy5yaWJib24ubGFiZWw6bm90KFtjbGFzcyo9XCJyaWdodCByaWJib25cIl0pOjphZnRlciB7XG4gIGxlZnQ6IC0xcHg7XG59XG4udWkuYmFzaWNbY2xhc3MqPVwicmlnaHQgcmliYm9uXCJdLmxhYmVsOjphZnRlciB7XG4gIHJpZ2h0OiAtMXB4O1xufVxuLyogUmlnaHQgUmliYm9uICovXG4udWlbY2xhc3MqPVwicmlnaHQgcmliYm9uXCJdLmxhYmVsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwIDAgMC4yODU3MTQyOXJlbTtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWw6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMS4yZW0gMS4yZW0gMCAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiBpbmhlcml0O1xufVxuLnVpLnVpLmNlbnRlci5yaWJib24ubGFiZWwge1xuICB0b3A6IGNhbGMoNTAlIC0gMWVtKTtcbiAgei1pbmRleDogMTtcbn1cbi51aS5ib3R0b20ucmliYm9uLmxhYmVsOjphZnRlciB7XG4gIGJvdHRvbTogMTAwJTtcbiAgdG9wOiBhdXRvO1xuICBib3JkZXItd2lkdGg6IDEuMmVtIDEuMmVtIDAgMDtcbn1cbi51aS5ib3R0b21bY2xhc3MqPVwicmlnaHQgcmliYm9uXCJdLmxhYmVsOjphZnRlciB7XG4gIGJvcmRlci13aWR0aDogMS4yZW0gMCAwIDEuMmVtO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdC1jb2xvcjogaW5oZXJpdDtcbn1cbi8qIEluc2lkZSBJbWFnZSAqL1xuLnVpLmltYWdlID4gLnJpYmJvbi5sYWJlbCxcbi51aS5jYXJkIC5pbWFnZSA+IC5yaWJib24ubGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMXJlbTtcbn1cbi51aS5jYXJkIC5pbWFnZSA+IC51aS5yaWJib24ubGFiZWwsXG4udWkuaW1hZ2UgPiAudWkucmliYm9uLmxhYmVsIHtcbiAgbGVmdDogY2FsYygwLjA1cmVtIC0gMS4yZW0pO1xufVxuLnVpLmNhcmQgLmltYWdlID4gLnVpW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbCxcbi51aS5pbWFnZSA+IC51aVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWwge1xuICBsZWZ0OiBjYWxjKDEwMCUgKyAtMC4wNXJlbSArIDEuMmVtKTtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzM2VtO1xufVxuLnVpLmNhcmQgLmltYWdlID4gLnVpLmJvdHRvbS5yaWJib24ubGFiZWwsXG4udWkuaW1hZ2UgPiAudWkuYm90dG9tLnJpYmJvbi5sYWJlbCB7XG4gIGJvdHRvbTogMXJlbTtcbiAgdG9wOiBhdXRvO1xufVxuLyogSW5zaWRlIFRhYmxlICovXG4udWkudGFibGUgdGQgPiAudWkucmliYm9uLmxhYmVsIHtcbiAgbGVmdDogY2FsYygtMWVtIC0gMS4yZW0pO1xufVxuLnVpLnRhYmxlIHRkID4gLnVpW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbCB7XG4gIGxlZnQ6IGNhbGMoMTAwJSArIDFlbSArIDEuMmVtKTtcbiAgcGFkZGluZy1sZWZ0OiAwLjgzM2VtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEF0dGFjaGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0ubGFiZWwsXG4udWkuYXR0YWNoZWQubGFiZWwge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yMTQyODU3MXJlbSAwLjIxNDI4NTcxcmVtIDAgMDtcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ubGFiZWwge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjE0Mjg1NzFyZW0gMC4yMTQyODU3MXJlbTtcbn1cbi51aVtjbGFzcyo9XCJ0b3AgbGVmdCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tdG9wOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjIxNDI4NTcxcmVtIDAgMC4yODU3MTQyOXJlbSAwO1xufVxuLnVpW2NsYXNzKj1cInRvcCByaWdodCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIHdpZHRoOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjIxNDI4NTcxcmVtIDAgMC4yODU3MTQyOXJlbTtcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gbGVmdCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIHdpZHRoOiBhdXRvO1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI4NTcxNDI5cmVtIDAgMC4yMTQyODU3MXJlbTtcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gcmlnaHQgYXR0YWNoZWRcIl0ubGFiZWwge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAgMC4yMTQyODU3MXJlbSAwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kaXNhYmxlZC5sYWJlbHMgLmxhYmVsLFxuLnVpLmxhYmVsLmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC40NTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7XG4gIGJvcmRlci1jb2xvcjogI2UwZTBlMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbi51aS5sYWJlbHMgYS5sYWJlbDpob3Zlcjo6YmVmb3JlLFxuYS51aS5sYWJlbDpob3Zlcjo6YmVmb3JlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmFjdGl2ZS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMGQwZDA7XG4gIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4udWkuYWN0aXZlLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBkMGQwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxhYmVscyBhLmFjdGl2ZS5sYWJlbDpob3ZlcixcbmEudWkuYWN0aXZlLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4YzhjODtcbiAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi51aS5sYWJlbHMgYS5hY3RpdmUubGFiZWw6aG92ZXI6OmJlZm9yZSxcbmEudWkuYWN0aXZlLmxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjOGM4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZpc2libGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubGFiZWxzLnZpc2libGUgLmxhYmVsLFxuLnVpLmxhYmVsLnZpc2libGU6bm90KC5kcm9wZG93bikge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEhpZGRlblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5sYWJlbHMuaGlkZGVuIC5sYWJlbCxcbi51aS5sYWJlbC5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgQmFzaWNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmJhc2ljLmxhYmVscyAubGFiZWwsXG4udWkuYmFzaWMubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3gtc2hhZG93OiBub25lO1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjU4MzNlbSAtIDFweCk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuNTgzM2VtIC0gMXB4KTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygwLjgzM2VtIC0gMXB4KTtcbn1cbi51aS5iYXNpYy5sYWJlbHM6bm90KC50YWcpOm5vdCguaW1hZ2UpOm5vdCgucmliYm9uKSAubGFiZWwsXG4udWkuYmFzaWMubGFiZWw6bm90KC50YWcpOm5vdCguaW1hZ2UpOm5vdCgucmliYm9uKSB7XG4gIHBhZGRpbmctbGVmdDogY2FsYygwLjgzM2VtIC0gMXB4KTtcbn1cbi51aS5iYXNpYy5pbWFnZS5sYWJlbCB7XG4gIHBhZGRpbmctbGVmdDogY2FsYygwLjVlbSAtIDFweCk7XG59XG4vKiBMaW5rICovXG4udWkuYmFzaWMubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLmxhYmVsOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGNvbG9yOiAjMWU3MGJmO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogUG9pbnRpbmcgKi9cbi51aS5iYXNpYy5wb2ludGluZy5sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBGbHVpZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubGFiZWwuZmx1aWQsXG4udWkuZmx1aWQubGFiZWxzID4gLmxhYmVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4udWkuY2VudGVyZWQubGFiZWxzIC5sYWJlbCxcbi51aS5jZW50ZXJlZC5sYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmludmVydGVkLmxhYmVscyAubGFiZWwsXG4udWkuaW52ZXJ0ZWQubGFiZWwge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjViNWI1O1xufVxuLnVpLmludmVydGVkLmNvcm5lci5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogI2I1YjViNTtcbn1cbi51aS5pbnZlcnRlZC5jb3JuZXIubGFiZWw6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNlOGU4ZTg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIC5sYWJlbCxcbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbCxcbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xufVxuLnVpLmludmVydGVkLmJhc2ljLmxhYmVsOmhvdmVyIHtcbiAgY29sb3I6ICM0MTgzYzQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnByaW1hcnkubGFiZWxzIC5sYWJlbCxcbi51aS51aS51aS5wcmltYXJ5LmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZDMzY2NztcbiAgYm9yZGVyLWNvbG9yOiAjNkMzNjY3O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLyogTGluayAqL1xuLnVpLnByaW1hcnkubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLnByaW1hcnkubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWQyYjU5O1xuICBib3JkZXItY29sb3I6ICM1ZDJiNTk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogUmliYm9uICovXG4udWkudWkudWkucHJpbWFyeS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICM0YTI1NDc7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmxhYmVscyAucHJpbWFyeS5sYWJlbCxcbi51aS51aS51aS5iYXNpYy5wcmltYXJ5LmxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICM2QzM2Njc7XG4gIGNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLmJhc2ljLmxhYmVscyBhLnByaW1hcnkubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmJhc2ljLnByaW1hcnkubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzVkMmI1OTtcbiAgY29sb3I6ICM1ZDJiNTk7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmxhYmVscyAucHJpbWFyeS5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5wcmltYXJ5LmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0YzhmZjtcbiAgYm9yZGVyLWNvbG9yOiAjNTRjOGZmO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIExpbmsgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgYS5wcmltYXJ5LmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC5wcmltYXJ5LmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYjhmZjtcbiAgYm9yZGVyLWNvbG9yOiAjMjFiOGZmO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIFJpYmJvbiAqL1xuLnVpLnVpLnVpLmludmVydGVkLnByaW1hcnkucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjFiOGZmO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgLnByaW1hcnkubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMucHJpbWFyeS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGJvcmRlci1jb2xvcjogIzU0YzhmZjtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIGEucHJpbWFyeS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMucHJpbWFyeS5sYWJlbDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzIxYjhmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6ICMyMWI4ZmY7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyBUYWdzICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAucHJpbWFyeS5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLnRhZy5sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1NGM4ZmY7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAucHJpbWFyeS5sYWJlbDo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMudGFnLmxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMCAxcHg7XG4gIGJvcmRlci1zdHlsZTogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgcmlnaHQ6IGNhbGMoMTAwJSArIDFweCk7XG59XG4udWkuc2Vjb25kYXJ5LmxhYmVscyAubGFiZWwsXG4udWkudWkudWkuc2Vjb25kYXJ5LmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4ZDMxNztcbiAgYm9yZGVyLWNvbG9yOiAjODhkMzE3O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLyogTGluayAqL1xuLnVpLnNlY29uZGFyeS5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuc2Vjb25kYXJ5LmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk4ZjAxMztcbiAgYm9yZGVyLWNvbG9yOiAjOThmMDEzO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLnVpLnVpLnNlY29uZGFyeS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICM2YWE1MTI7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmxhYmVscyAuc2Vjb25kYXJ5LmxhYmVsLFxuLnVpLnVpLnVpLmJhc2ljLnNlY29uZGFyeS5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjODhkMzE3O1xuICBjb2xvcjogIzg4ZDMxNztcbn1cbi51aS5iYXNpYy5sYWJlbHMgYS5zZWNvbmRhcnkubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmJhc2ljLnNlY29uZGFyeS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjOThmMDEzO1xuICBjb2xvcjogIzk4ZjAxMztcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIC5zZWNvbmRhcnkubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NTQ1NDtcbiAgYm9yZGVyLWNvbG9yOiAjNTQ1NDU0O1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIExpbmsgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgYS5zZWNvbmRhcnkubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLnNlY29uZGFyeS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZTZlNmU7XG4gIGJvcmRlci1jb2xvcjogIzZlNmU2ZTtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJbnZlcnRlZCBSaWJib24gKi9cbi51aS51aS51aS5pbnZlcnRlZC5zZWNvbmRhcnkucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgLnNlY29uZGFyeS5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5iYXNpYy5zZWNvbmRhcnkubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBib3JkZXItY29sb3I6ICM1NDU0NTQ7XG4gIGNvbG9yOiAjNTQ1NDU0O1xufVxuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyBhLnNlY29uZGFyeS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMuc2Vjb25kYXJ5LmxhYmVsOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjNmU2ZTZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBjb2xvcjogIzZlNmU2ZTtcbn1cbi8qIEludmVydGVkIEJhc2ljIFRhZ3MgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC5zZWNvbmRhcnkubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJhc2ljLnRhZy5sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1NDU0NTQ7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAuc2Vjb25kYXJ5LmxhYmVsOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJhc2ljLnRhZy5sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItd2lkdGg6IDFweCAwIDAgMXB4O1xuICBib3JkZXItc3R5bGU6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xufVxuLnVpLnJlZC5sYWJlbHMgLmxhYmVsLFxuLnVpLnVpLnVpLnJlZC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYjI4Mjg7XG4gIGJvcmRlci1jb2xvcjogI2RiMjgyODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBMaW5rICovXG4udWkucmVkLmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5yZWQubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDAxOTE5O1xuICBib3JkZXItY29sb3I6ICNkMDE5MTk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogUmliYm9uICovXG4udWkudWkudWkucmVkLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogI2IyMWUxZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMubGFiZWxzIC5yZWQubGFiZWwsXG4udWkudWkudWkuYmFzaWMucmVkLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICNkYjI4Mjg7XG4gIGNvbG9yOiAjZGIyODI4O1xufVxuLnVpLmJhc2ljLmxhYmVscyBhLnJlZC5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuYmFzaWMucmVkLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICNkMDE5MTk7XG4gIGNvbG9yOiAjZDAxOTE5O1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgLnJlZC5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5yZWQubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTVlO1xuICBib3JkZXItY29sb3I6ICNmZjY5NWU7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgTGluayAqL1xuLnVpLmludmVydGVkLmxhYmVscyBhLnJlZC5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQucmVkLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMzkyYjtcbiAgYm9yZGVyLWNvbG9yOiAjZmYzOTJiO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIFJpYmJvbiAqL1xuLnVpLnVpLnVpLmludmVydGVkLnJlZC5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICNmZjM5MmI7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyAucmVkLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLnJlZC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGJvcmRlci1jb2xvcjogI2ZmNjk1ZTtcbiAgY29sb3I6ICNmZjY5NWU7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIGEucmVkLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC5iYXNpYy5yZWQubGFiZWw6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNmZjM5MmI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjZmYzOTJiO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgVGFncyAqL1xuLnVpLmludmVydGVkLmJhc2ljLnRhZy5sYWJlbHMgLnJlZC5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5yZWQuYmFzaWMudGFnLmxhYmVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmNjk1ZTtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC5yZWQubGFiZWw6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5yZWQuYmFzaWMudGFnLmxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMCAxcHg7XG4gIGJvcmRlci1zdHlsZTogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgcmlnaHQ6IGNhbGMoMTAwJSArIDFweCk7XG59XG4udWkub3JhbmdlLmxhYmVscyAubGFiZWwsXG4udWkudWkudWkub3JhbmdlLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNzExYztcbiAgYm9yZGVyLWNvbG9yOiAjZjI3MTFjO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIExpbmsgKi9cbi51aS5vcmFuZ2UubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLm9yYW5nZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjYyMDI7XG4gIGJvcmRlci1jb2xvcjogI2YyNjIwMjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBSaWJib24gKi9cbi51aS51aS51aS5vcmFuZ2UucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2Y1OTBjO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5sYWJlbHMgLm9yYW5nZS5sYWJlbCxcbi51aS51aS51aS5iYXNpYy5vcmFuZ2UubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogI2YyNzExYztcbiAgY29sb3I6ICNmMjcxMWM7XG59XG4udWkuYmFzaWMubGFiZWxzIGEub3JhbmdlLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5iYXNpYy5vcmFuZ2UubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogI2YyNjIwMjtcbiAgY29sb3I6ICNmMjYyMDI7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmxhYmVscyAub3JhbmdlLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLm9yYW5nZS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjg1MWI7XG4gIGJvcmRlci1jb2xvcjogI2ZmODUxYjtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJbnZlcnRlZCBMaW5rICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIGEub3JhbmdlLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC5vcmFuZ2UubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTc2YjAwO1xuICBib3JkZXItY29sb3I6ICNlNzZiMDA7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgUmliYm9uICovXG4udWkudWkudWkuaW52ZXJ0ZWQub3JhbmdlLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogI2U3NmIwMDtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIC5vcmFuZ2UubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMub3JhbmdlLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmY4NTFiO1xuICBjb2xvcjogI2ZmODUxYjtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgYS5vcmFuZ2UubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLm9yYW5nZS5sYWJlbDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2U3NmIwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6ICNlNzZiMDA7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyBUYWdzICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAub3JhbmdlLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy50YWcubGFiZWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmY4NTFiO1xufVxuLnVpLmludmVydGVkLmJhc2ljLnRhZy5sYWJlbHMgLm9yYW5nZS5sYWJlbDo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy50YWcubGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDFweDtcbiAgYm9yZGVyLXN0eWxlOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICByaWdodDogY2FsYygxMDAlICsgMXB4KTtcbn1cbi51aS55ZWxsb3cubGFiZWxzIC5sYWJlbCxcbi51aS51aS51aS55ZWxsb3cubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJiZDA4O1xuICBib3JkZXItY29sb3I6ICNmYmJkMDg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogTGluayAqL1xuLnVpLnllbGxvdy5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkueWVsbG93LmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhYWUwMDtcbiAgYm9yZGVyLWNvbG9yOiAjZWFhZTAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLnVpLnVpLnllbGxvdy5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICNjZDk5MDM7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmxhYmVscyAueWVsbG93LmxhYmVsLFxuLnVpLnVpLnVpLmJhc2ljLnllbGxvdy5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjZmJiZDA4O1xuICBjb2xvcjogI2ZiYmQwODtcbn1cbi51aS5iYXNpYy5sYWJlbHMgYS55ZWxsb3cubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmJhc2ljLnllbGxvdy5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjZWFhZTAwO1xuICBjb2xvcjogI2VhYWUwMDtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIC55ZWxsb3cubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQueWVsbG93LmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTIxZjtcbiAgYm9yZGVyLWNvbG9yOiAjZmZlMjFmO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIExpbmsgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgYS55ZWxsb3cubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLnllbGxvdy5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmNkMDA7XG4gIGJvcmRlci1jb2xvcjogI2ViY2QwMDtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJbnZlcnRlZCBSaWJib24gKi9cbi51aS51aS51aS5pbnZlcnRlZC55ZWxsb3cucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjZWJjZDAwO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgLnllbGxvdy5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5iYXNpYy55ZWxsb3cubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBib3JkZXItY29sb3I6ICNmZmUyMWY7XG4gIGNvbG9yOiAjZmZlMjFmO1xufVxuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyBhLnllbGxvdy5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMueWVsbG93LmxhYmVsOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZWJjZDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBjb2xvcjogI2ViY2QwMDtcbn1cbi8qIEludmVydGVkIEJhc2ljIFRhZ3MgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC55ZWxsb3cubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLnRhZy5sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmUyMWY7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAueWVsbG93LmxhYmVsOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLnRhZy5sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItd2lkdGg6IDFweCAwIDAgMXB4O1xuICBib3JkZXItc3R5bGU6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xufVxuLnVpLm9saXZlLmxhYmVscyAubGFiZWwsXG4udWkudWkudWkub2xpdmUubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjVjYzE4O1xuICBib3JkZXItY29sb3I6ICNiNWNjMTg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogTGluayAqL1xuLnVpLm9saXZlLmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5vbGl2ZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhN2JkMGQ7XG4gIGJvcmRlci1jb2xvcjogI2E3YmQwZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBSaWJib24gKi9cbi51aS51aS51aS5vbGl2ZS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICM4ZDllMTM7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmxhYmVscyAub2xpdmUubGFiZWwsXG4udWkudWkudWkuYmFzaWMub2xpdmUubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogI2I1Y2MxODtcbiAgY29sb3I6ICNiNWNjMTg7XG59XG4udWkuYmFzaWMubGFiZWxzIGEub2xpdmUubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmJhc2ljLm9saXZlLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICNhN2JkMGQ7XG4gIGNvbG9yOiAjYTdiZDBkO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgLm9saXZlLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLm9saXZlLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZTc3ODtcbiAgYm9yZGVyLWNvbG9yOiAjZDllNzc4O1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIExpbmsgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgYS5vbGl2ZS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQub2xpdmUubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDJlNzQ1O1xuICBib3JkZXItY29sb3I6ICNkMmU3NDU7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgUmliYm9uICovXG4udWkudWkudWkuaW52ZXJ0ZWQub2xpdmUucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2RkZjRkO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgLm9saXZlLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLm9saXZlLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgYm9yZGVyLWNvbG9yOiAjZDllNzc4O1xuICBjb2xvcjogI2Q5ZTc3ODtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgYS5vbGl2ZS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMub2xpdmUubGFiZWw6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNkMmU3NDU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjZDJlNzQ1O1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgVGFncyAqL1xuLnVpLmludmVydGVkLmJhc2ljLnRhZy5sYWJlbHMgLm9saXZlLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLm9saXZlLmJhc2ljLnRhZy5sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOWU3Nzg7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAub2xpdmUubGFiZWw6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy50YWcubGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDFweDtcbiAgYm9yZGVyLXN0eWxlOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICByaWdodDogY2FsYygxMDAlICsgMXB4KTtcbn1cbi51aS5ncmVlbi5sYWJlbHMgLmxhYmVsLFxuLnVpLnVpLnVpLmdyZWVuLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYmE0NTtcbiAgYm9yZGVyLWNvbG9yOiAjMjFiYTQ1O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIExpbmsgKi9cbi51aS5ncmVlbi5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuZ3JlZW4ubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTZhYjM5O1xuICBib3JkZXItY29sb3I6ICMxNmFiMzk7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogUmliYm9uICovXG4udWkudWkudWkuZ3JlZW4ucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTk4ZjM1O1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5sYWJlbHMgLmdyZWVuLmxhYmVsLFxuLnVpLnVpLnVpLmJhc2ljLmdyZWVuLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICMyMWJhNDU7XG4gIGNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLmJhc2ljLmxhYmVscyBhLmdyZWVuLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5iYXNpYy5ncmVlbi5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjMTZhYjM5O1xuICBjb2xvcjogIzE2YWIzOTtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIC5ncmVlbi5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5ncmVlbi5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZWNjNDA7XG4gIGJvcmRlci1jb2xvcjogIzJlY2M0MDtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJbnZlcnRlZCBMaW5rICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIGEuZ3JlZW4ubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLmdyZWVuLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlYTkyZTtcbiAgYm9yZGVyLWNvbG9yOiAjMWVhOTJlO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIFJpYmJvbiAqL1xuLnVpLnVpLnVpLmludmVydGVkLmdyZWVuLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzI1YTIzMztcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIC5ncmVlbi5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5iYXNpYy5ncmVlbi5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGJvcmRlci1jb2xvcjogIzJlY2M0MDtcbiAgY29sb3I6ICMyZWNjNDA7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIGEuZ3JlZW4ubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLmdyZWVuLmxhYmVsOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMWVhOTJlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBjb2xvcjogIzFlYTkyZTtcbn1cbi8qIEludmVydGVkIEJhc2ljIFRhZ3MgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC5ncmVlbi5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy50YWcubGFiZWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMmVjYzQwO1xufVxuLnVpLmludmVydGVkLmJhc2ljLnRhZy5sYWJlbHMgLmdyZWVuLmxhYmVsOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMudGFnLmxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMCAxcHg7XG4gIGJvcmRlci1zdHlsZTogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgcmlnaHQ6IGNhbGMoMTAwJSArIDFweCk7XG59XG4udWkudGVhbC5sYWJlbHMgLmxhYmVsLFxuLnVpLnVpLnVpLnRlYWwubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNWFkO1xuICBib3JkZXItY29sb3I6ICMwMGI1YWQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogTGluayAqL1xuLnVpLnRlYWwubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLnRlYWwubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Yzk1O1xuICBib3JkZXItY29sb3I6ICMwMDljOTU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogUmliYm9uICovXG4udWkudWkudWkudGVhbC5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICMwMDgyN2M7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmxhYmVscyAudGVhbC5sYWJlbCxcbi51aS51aS51aS5iYXNpYy50ZWFsLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICMwMGI1YWQ7XG4gIGNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLmJhc2ljLmxhYmVscyBhLnRlYWwubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmJhc2ljLnRlYWwubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzAwOWM5NTtcbiAgY29sb3I6ICMwMDljOTU7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmxhYmVscyAudGVhbC5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC50ZWFsLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZkZmZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjNmRmZmZmO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIExpbmsgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgYS50ZWFsLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC50ZWFsLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhZmZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjM2FmZmZmO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIFJpYmJvbiAqL1xuLnVpLnVpLnVpLmludmVydGVkLnRlYWwucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjM2FmZmZmO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgLnRlYWwubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMudGVhbC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGJvcmRlci1jb2xvcjogIzZkZmZmZjtcbiAgY29sb3I6ICM2ZGZmZmY7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIGEudGVhbC5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMudGVhbC5sYWJlbDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzNhZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6ICMzYWZmZmY7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyBUYWdzICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAudGVhbC5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLnRhZy5sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2ZGZmZmY7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAudGVhbC5sYWJlbDo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnRlYWwuYmFzaWMudGFnLmxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMCAxcHg7XG4gIGJvcmRlci1zdHlsZTogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgcmlnaHQ6IGNhbGMoMTAwJSArIDFweCk7XG59XG4udWkuYmx1ZS5sYWJlbHMgLmxhYmVsLFxuLnVpLnVpLnVpLmJsdWUubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NWQwO1xuICBib3JkZXItY29sb3I6ICMyMTg1ZDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogTGluayAqL1xuLnVpLmJsdWUubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmJsdWUubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTY3OGMyO1xuICBib3JkZXItY29sb3I6ICMxNjc4YzI7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogUmliYm9uICovXG4udWkudWkudWkuYmx1ZS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICMxYTY5YTQ7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmxhYmVscyAuYmx1ZS5sYWJlbCxcbi51aS51aS51aS5iYXNpYy5ibHVlLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICMyMTg1ZDA7XG4gIGNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLmJhc2ljLmxhYmVscyBhLmJsdWUubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmJhc2ljLmJsdWUubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzE2NzhjMjtcbiAgY29sb3I6ICMxNjc4YzI7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmxhYmVscyAuYmx1ZS5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5ibHVlLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0YzhmZjtcbiAgYm9yZGVyLWNvbG9yOiAjNTRjOGZmO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIExpbmsgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgYS5ibHVlLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC5ibHVlLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYjhmZjtcbiAgYm9yZGVyLWNvbG9yOiAjMjFiOGZmO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIFJpYmJvbiAqL1xuLnVpLnVpLnVpLmludmVydGVkLmJsdWUucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjFiOGZmO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgLmJsdWUubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMuYmx1ZS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGJvcmRlci1jb2xvcjogIzU0YzhmZjtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIGEuYmx1ZS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMuYmx1ZS5sYWJlbDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzIxYjhmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6ICMyMWI4ZmY7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyBUYWdzICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAuYmx1ZS5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLnRhZy5sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1NGM4ZmY7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAuYmx1ZS5sYWJlbDo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLmJsdWUuYmFzaWMudGFnLmxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMCAxcHg7XG4gIGJvcmRlci1zdHlsZTogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgcmlnaHQ6IGNhbGMoMTAwJSArIDFweCk7XG59XG4udWkudmlvbGV0LmxhYmVscyAubGFiZWwsXG4udWkudWkudWkudmlvbGV0LmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVjOTtcbiAgYm9yZGVyLWNvbG9yOiAjNjQzNWM5O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIExpbmsgKi9cbi51aS52aW9sZXQubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLnZpb2xldC5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ODI5YmI7XG4gIGJvcmRlci1jb2xvcjogIzU4MjliYjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBSaWJib24gKi9cbi51aS51aS51aS52aW9sZXQucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTAyYWExO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5sYWJlbHMgLnZpb2xldC5sYWJlbCxcbi51aS51aS51aS5iYXNpYy52aW9sZXQubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzY0MzVjOTtcbiAgY29sb3I6ICM2NDM1Yzk7XG59XG4udWkuYmFzaWMubGFiZWxzIGEudmlvbGV0LmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5iYXNpYy52aW9sZXQubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzU4MjliYjtcbiAgY29sb3I6ICM1ODI5YmI7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmxhYmVscyAudmlvbGV0LmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLnZpb2xldC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMjkxZmI7XG4gIGJvcmRlci1jb2xvcjogI2EyOTFmYjtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJbnZlcnRlZCBMaW5rICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIGEudmlvbGV0LmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC52aW9sZXQubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzQ1YWZmO1xuICBib3JkZXItY29sb3I6ICM3NDVhZmY7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgUmliYm9uICovXG4udWkudWkudWkuaW52ZXJ0ZWQudmlvbGV0LnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzc4NjBmOTtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIC52aW9sZXQubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMudmlvbGV0LmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgYm9yZGVyLWNvbG9yOiAjYTI5MWZiO1xuICBjb2xvcjogI2EyOTFmYjtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgYS52aW9sZXQubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLnZpb2xldC5sYWJlbDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzc0NWFmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6ICM3NDVhZmY7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyBUYWdzICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAudmlvbGV0LmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy50YWcubGFiZWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTI5MWZiO1xufVxuLnVpLmludmVydGVkLmJhc2ljLnRhZy5sYWJlbHMgLnZpb2xldC5sYWJlbDo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy50YWcubGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDFweDtcbiAgYm9yZGVyLXN0eWxlOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICByaWdodDogY2FsYygxMDAlICsgMXB4KTtcbn1cbi51aS5wdXJwbGUubGFiZWxzIC5sYWJlbCxcbi51aS51aS51aS5wdXJwbGUubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTMzM2M4O1xuICBib3JkZXItY29sb3I6ICNhMzMzYzg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogTGluayAqL1xuLnVpLnB1cnBsZS5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkucHVycGxlLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk2MjdiYTtcbiAgYm9yZGVyLWNvbG9yOiAjOTYyN2JhO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLnVpLnVpLnB1cnBsZS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICM4MjI5OWY7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmxhYmVscyAucHVycGxlLmxhYmVsLFxuLnVpLnVpLnVpLmJhc2ljLnB1cnBsZS5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjYTMzM2M4O1xuICBjb2xvcjogI2EzMzNjODtcbn1cbi51aS5iYXNpYy5sYWJlbHMgYS5wdXJwbGUubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmJhc2ljLnB1cnBsZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjOTYyN2JhO1xuICBjb2xvcjogIzk2MjdiYTtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIC5wdXJwbGUubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQucHVycGxlLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjNzNmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZGM3M2ZmO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIExpbmsgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgYS5wdXJwbGUubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLnB1cnBsZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZjQwZmY7XG4gIGJvcmRlci1jb2xvcjogI2NmNDBmZjtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJbnZlcnRlZCBSaWJib24gKi9cbi51aS51aS51aS5pbnZlcnRlZC5wdXJwbGUucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2Y0MGZmO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgLnB1cnBsZS5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5iYXNpYy5wdXJwbGUubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBib3JkZXItY29sb3I6ICNkYzczZmY7XG4gIGNvbG9yOiAjZGM3M2ZmO1xufVxuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyBhLnB1cnBsZS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMucHVycGxlLmxhYmVsOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2Y0MGZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBjb2xvcjogI2NmNDBmZjtcbn1cbi8qIEludmVydGVkIEJhc2ljIFRhZ3MgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC5wdXJwbGUubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLnRhZy5sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYzczZmY7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAucHVycGxlLmxhYmVsOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLnRhZy5sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItd2lkdGg6IDFweCAwIDAgMXB4O1xuICBib3JkZXItc3R5bGU6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xufVxuLnVpLnBpbmsubGFiZWxzIC5sYWJlbCxcbi51aS51aS51aS5waW5rLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMzk5NztcbiAgYm9yZGVyLWNvbG9yOiAjZTAzOTk3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIExpbmsgKi9cbi51aS5waW5rLmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5waW5rLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MWE4ZDtcbiAgYm9yZGVyLWNvbG9yOiAjZTYxYThkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLnVpLnVpLnBpbmsucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjYzcxZjdlO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5sYWJlbHMgLnBpbmsubGFiZWwsXG4udWkudWkudWkuYmFzaWMucGluay5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjZTAzOTk3O1xuICBjb2xvcjogI2UwMzk5Nztcbn1cbi51aS5iYXNpYy5sYWJlbHMgYS5waW5rLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5iYXNpYy5waW5rLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICNlNjFhOGQ7XG4gIGNvbG9yOiAjZTYxYThkO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgLnBpbmsubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQucGluay5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjhlZGY7XG4gIGJvcmRlci1jb2xvcjogI2ZmOGVkZjtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJbnZlcnRlZCBMaW5rICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIGEucGluay5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQucGluay5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjViZDE7XG4gIGJvcmRlci1jb2xvcjogI2ZmNWJkMTtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJbnZlcnRlZCBSaWJib24gKi9cbi51aS51aS51aS5pbnZlcnRlZC5waW5rLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogI2ZmNWJkMTtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIC5waW5rLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLnBpbmsubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBib3JkZXItY29sb3I6ICNmZjhlZGY7XG4gIGNvbG9yOiAjZmY4ZWRmO1xufVxuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyBhLnBpbmsubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLnBpbmsubGFiZWw6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNmZjViZDE7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjZmY1YmQxO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgVGFncyAqL1xuLnVpLmludmVydGVkLmJhc2ljLnRhZy5sYWJlbHMgLnBpbmsubGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQucGluay5iYXNpYy50YWcubGFiZWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmY4ZWRmO1xufVxuLnVpLmludmVydGVkLmJhc2ljLnRhZy5sYWJlbHMgLnBpbmsubGFiZWw6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5waW5rLmJhc2ljLnRhZy5sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItd2lkdGg6IDFweCAwIDAgMXB4O1xuICBib3JkZXItc3R5bGU6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xufVxuLnVpLmJyb3duLmxhYmVscyAubGFiZWwsXG4udWkudWkudWkuYnJvd24ubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTU2NzNmO1xuICBib3JkZXItY29sb3I6ICNhNTY3M2Y7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogTGluayAqL1xuLnVpLmJyb3duLmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5icm93bi5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NzViMzM7XG4gIGJvcmRlci1jb2xvcjogIzk3NWIzMztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBSaWJib24gKi9cbi51aS51aS51aS5icm93bi5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICM4MDUwMzE7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmxhYmVscyAuYnJvd24ubGFiZWwsXG4udWkudWkudWkuYmFzaWMuYnJvd24ubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogI2E1NjczZjtcbiAgY29sb3I6ICNhNTY3M2Y7XG59XG4udWkuYmFzaWMubGFiZWxzIGEuYnJvd24ubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmJhc2ljLmJyb3duLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICM5NzViMzM7XG4gIGNvbG9yOiAjOTc1YjMzO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgLmJyb3duLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmJyb3duLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2N2MxYztcbiAgYm9yZGVyLWNvbG9yOiAjZDY3YzFjO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi8qIEludmVydGVkIExpbmsgKi9cbi51aS5pbnZlcnRlZC5sYWJlbHMgYS5icm93bi5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuYnJvd24ubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjA2MjBmO1xuICBib3JkZXItY29sb3I6ICNiMDYyMGY7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgUmliYm9uICovXG4udWkudWkudWkuaW52ZXJ0ZWQuYnJvd24ucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTk2MjE2O1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgLmJyb3duLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLmJyb3duLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgYm9yZGVyLWNvbG9yOiAjZDY3YzFjO1xuICBjb2xvcjogI2Q2N2MxYztcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbHMgYS5icm93bi5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMuYnJvd24ubGFiZWw6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNiMDYyMGY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGNvbG9yOiAjYjA2MjBmO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgVGFncyAqL1xuLnVpLmludmVydGVkLmJhc2ljLnRhZy5sYWJlbHMgLmJyb3duLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmJyb3duLmJhc2ljLnRhZy5sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNjdjMWM7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAuYnJvd24ubGFiZWw6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5icm93bi5iYXNpYy50YWcubGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDFweDtcbiAgYm9yZGVyLXN0eWxlOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICByaWdodDogY2FsYygxMDAlICsgMXB4KTtcbn1cbi51aS5ncmV5LmxhYmVscyAubGFiZWwsXG4udWkudWkudWkuZ3JleS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3NjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBMaW5rICovXG4udWkuZ3JleS5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuZ3JleS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4MzgzODM7XG4gIGJvcmRlci1jb2xvcjogIzgzODM4MztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBSaWJib24gKi9cbi51aS51aS51aS5ncmV5LnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzVkNWQ1ZDtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMubGFiZWxzIC5ncmV5LmxhYmVsLFxuLnVpLnVpLnVpLmJhc2ljLmdyZXkubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3NjtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG4udWkuYmFzaWMubGFiZWxzIGEuZ3JleS5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuYmFzaWMuZ3JleS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjODM4MzgzO1xuICBjb2xvcjogIzgzODM4Mztcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQubGFiZWxzIC5ncmV5LmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmdyZXkubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkZGRlO1xuICBib3JkZXItY29sb3I6ICNkY2RkZGU7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgTGluayAqL1xuLnVpLmludmVydGVkLmxhYmVscyBhLmdyZXkubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLmdyZXkubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJjNGM1O1xuICBib3JkZXItY29sb3I6ICNjMmM0YzU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogSW52ZXJ0ZWQgUmliYm9uICovXG4udWkudWkudWkuaW52ZXJ0ZWQuZ3JleS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICNlOWVhZWE7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyAuZ3JleS5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5iYXNpYy5ncmV5LmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgYm9yZGVyLWNvbG9yOiAjZGNkZGRlO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyBhLmdyZXkubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLmdyZXkubGFiZWw6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNjMmM0YzU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyBUYWdzICovXG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAuZ3JleS5sYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLnRhZy5sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkY2RkZGU7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAuZ3JleS5sYWJlbDo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLmdyZXkuYmFzaWMudGFnLmxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMCAxcHg7XG4gIGJvcmRlci1zdHlsZTogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgcmlnaHQ6IGNhbGMoMTAwJSArIDFweCk7XG59XG4udWkuYmxhY2subGFiZWxzIC5sYWJlbCxcbi51aS51aS51aS5ibGFjay5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGJvcmRlci1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBMaW5rICovXG4udWkuYmxhY2subGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmJsYWNrLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI3MjkyYTtcbiAgYm9yZGVyLWNvbG9yOiAjMjcyOTJhO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLnVpLnVpLmJsYWNrLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzAyMDIwMztcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMubGFiZWxzIC5ibGFjay5sYWJlbCxcbi51aS51aS51aS5iYXNpYy5ibGFjay5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjMWIxYzFkO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi51aS5iYXNpYy5sYWJlbHMgYS5ibGFjay5sYWJlbDpob3ZlcixcbmEudWkudWkudWkuYmFzaWMuYmxhY2subGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzI3MjkyYTtcbiAgY29sb3I6ICMyNzI5MmE7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmxhYmVscyAuYmxhY2subGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmxhY2subGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xuICBib3JkZXItY29sb3I6ICM1NDU0NTQ7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgTGluayAqL1xuLnVpLmludmVydGVkLmxhYmVscyBhLmJsYWNrLmxhYmVsOmhvdmVyLFxuYS51aS51aS51aS5pbnZlcnRlZC5ibGFjay5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBJbnZlcnRlZCBSaWJib24gKi9cbi51aS51aS51aS5pbnZlcnRlZC5ibGFjay5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICM2MTYxNjE7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyAuYmxhY2subGFiZWwsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmFzaWMuYmxhY2subGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBib3JkZXItY29sb3I6ICM1NDU0NTQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIGEuYmxhY2subGFiZWw6aG92ZXIsXG5hLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLmJsYWNrLmxhYmVsOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgVGFncyAqL1xuLnVpLmludmVydGVkLmJhc2ljLnRhZy5sYWJlbHMgLmJsYWNrLmxhYmVsLFxuLnVpLnVpLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLnRhZy5sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1NDU0NTQ7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMudGFnLmxhYmVscyAuYmxhY2subGFiZWw6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy50YWcubGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDFweDtcbiAgYm9yZGVyLXN0eWxlOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICByaWdodDogY2FsYygxMDAlICsgMXB4KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgSG9yaXpvbnRhbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5ob3Jpem9udGFsLmxhYmVscyAubGFiZWwsXG4udWkuaG9yaXpvbnRhbC5sYWJlbCB7XG4gIG1hcmdpbjogMCAwLjVlbSAwIDA7XG4gIHBhZGRpbmc6IDAuNGVtIDAuODMzZW07XG4gIG1pbi13aWR0aDogM2VtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIENpcmN1bGFyXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jaXJjdWxhci5sYWJlbHMgLmxhYmVsLFxuLnVpLmNpcmN1bGFyLmxhYmVsIHtcbiAgbWluLXdpZHRoOiAyZW07XG4gIG1pbi1oZWlnaHQ6IDJlbTtcbiAgcGFkZGluZzogMC41ZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG59XG4udWkuZW1wdHkuY2lyY3VsYXIubGFiZWxzIC5sYWJlbCxcbi51aS5lbXB0eS5jaXJjdWxhci5sYWJlbCB7XG4gIG1pbi13aWR0aDogMDtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDAuNWVtO1xuICBoZWlnaHQ6IDAuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFBvaW50aW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5wb2ludGluZy5sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi51aS5hdHRhY2hlZC5wb2ludGluZy5sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi51aS5wb2ludGluZy5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogaW5oZXJpdDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG59XG4vKiBBcnJvdyAqL1xuLnVpLnBvaW50aW5nLmxhYmVsOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDAuNjY2NmVtO1xuICBoZWlnaHQ6IDAuNjY2NmVtO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuLyogLS0tIEFib3ZlIC0tLSAqL1xuLnVpLnBvaW50aW5nLmxhYmVsLFxuLnVpW2NsYXNzKj1cInBvaW50aW5nIGFib3ZlXCJdLmxhYmVsIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuLnVpLnBvaW50aW5nLmxhYmVsOjpiZWZvcmUsXG4udWlbY2xhc3MqPVwicG9pbnRpbmcgYWJvdmVcIl0ubGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMCAxcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xufVxuLyogLS0tIEJlbG93IC0tLSAqL1xuLnVpW2NsYXNzKj1cImJvdHRvbSBwb2ludGluZ1wiXS5sYWJlbCxcbi51aVtjbGFzcyo9XCJwb2ludGluZyBiZWxvd1wiXS5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gcG9pbnRpbmdcIl0ubGFiZWw6OmJlZm9yZSxcbi51aVtjbGFzcyo9XCJwb2ludGluZyBiZWxvd1wiXS5sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcbiAgcmlnaHQ6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogNTAlO1xufVxuLyogLS0tIExlZnQgLS0tICovXG4udWlbY2xhc3MqPVwibGVmdCBwb2ludGluZ1wiXS5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwLjY2NjZlbTtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IHBvaW50aW5nXCJdLmxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHggMXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICBib3R0b206IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbn1cbi8qIC0tLSBSaWdodCAtLS0gKi9cbi51aVtjbGFzcyo9XCJyaWdodCBwb2ludGluZ1wiXS5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1yaWdodDogMC42NjY2ZW07XG59XG4udWlbY2xhc3MqPVwicmlnaHQgcG9pbnRpbmdcIl0ubGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG59XG4vKiBCYXNpYyBQb2ludGluZyAqL1xuLyogLS0tIEFib3ZlIC0tLSAqL1xuLnVpLmJhc2ljLnBvaW50aW5nLmxhYmVsOjpiZWZvcmUsXG4udWkuYmFzaWNbY2xhc3MqPVwicG9pbnRpbmcgYWJvdmVcIl0ubGFiZWw6OmJlZm9yZSB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG59XG4vKiAtLS0gQmVsb3cgLS0tICovXG4udWkuYmFzaWNbY2xhc3MqPVwiYm90dG9tIHBvaW50aW5nXCJdLmxhYmVsOjpiZWZvcmUsXG4udWkuYmFzaWNbY2xhc3MqPVwicG9pbnRpbmcgYmVsb3dcIl0ubGFiZWw6OmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgdG9wOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAxcHg7XG59XG4vKiAtLS0gTGVmdCAtLS0gKi9cbi51aS5iYXNpY1tjbGFzcyo9XCJsZWZ0IHBvaW50aW5nXCJdLmxhYmVsOjpiZWZvcmUge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogLTFweDtcbn1cbi8qIC0tLSBSaWdodCAtLS0gKi9cbi51aS5iYXNpY1tjbGFzcyo9XCJyaWdodCBwb2ludGluZ1wiXS5sYWJlbDo6YmVmb3JlIHtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAtMXB4O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRmxvYXRpbmcgTGFiZWxcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmxvYXRpbmcubGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDtcbiAgdG9wOiAtMWVtO1xuICByaWdodDogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG59XG4udWkucmlnaHQuYWxpZ25lZC5mbG9hdGluZy5sYWJlbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxLjJlbSk7XG59XG4udWkubGVmdC5mbG9hdGluZy5sYWJlbCB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG4udWkubGVmdC5hbGlnbmVkLmZsb2F0aW5nLmxhYmVsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xLjJlbSk7XG59XG4udWkuYm90dG9tLmZsb2F0aW5nLmxhYmVsIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IC0xZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxhYmVscyAubGFiZWwsXG4udWkubGFiZWwge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkubWluaS5sYWJlbHMgLmxhYmVsLFxuLnVpLm1pbmkubGFiZWwge1xuICBmb250LXNpemU6IDAuNjQyODU3MTRyZW07XG59XG4udWkudGlueS5sYWJlbHMgLmxhYmVsLFxuLnVpLnRpbnkubGFiZWwge1xuICBmb250LXNpemU6IDAuNzE0Mjg1NzFyZW07XG59XG4udWkuc21hbGwubGFiZWxzIC5sYWJlbCxcbi51aS5zbWFsbC5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS5sYXJnZS5sYWJlbHMgLmxhYmVsLFxuLnVpLmxhcmdlLmxhYmVsIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLmJpZy5sYWJlbHMgLmxhYmVsLFxuLnVpLmJpZy5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5odWdlLmxhYmVscyAubGFiZWwsXG4udWkuaHVnZS5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLmxhYmVscyAubGFiZWwsXG4udWkubWFzc2l2ZS5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBMaXN0XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIExpc3RcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBWaWV3XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTGlzdCAqL1xuLyogTGlzdCBJdGVtICovXG4vKiBTdWIgTGlzdCAqL1xuLyogU3ViIExpc3QgSXRlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJY29uICovXG4vKiBJbWFnZSAqL1xuLyogQ29udGVudCAqL1xuLyogSGVhZGVyICovXG4vKiBEZXNjcmlwdGlvbiAqL1xuLyogTGluayAqL1xuLyogSGVhZGVyIExpbmsgKi9cbi8qIExpbmtlZCBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGbG9hdCAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIExpbmsgTGlzdCAqL1xuLyogSW52ZXJ0ZWQgTGluayBMaXN0ICovXG4vKiBTZWxlY3Rpb24gTGlzdCAqL1xuLyogU2VsZWN0aW9uIExpc3QgU3RhdGVzICovXG4vKiBJbnZlcnRlZCBTZWxlY3Rpb24gTGlzdCAqL1xuLyogQW5pbWF0ZWQgTGlzdCAqL1xuLyogQnVsbGV0ZWQgKi9cbi8qIEhvcml6b250YWwgQnVsbGV0cyAqL1xuLyogT3JkZXJlZCBMaXN0ICovXG4vKiBIb3Jpem9udGFsIE9yZGVyZWQgKi9cbi8qIERpdmlkZWQgKi9cbi8qIERpdmlkZWQgSG9yaXpvbnRhbCAqL1xuLyogRGl2aWRlZCAqL1xuLyogRGl2aWRlZCBIb3Jpem9udGFsICovXG4vKiBSZWxheGVkICovXG4vKiBWZXJ5IFJlbGF4ZWQgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBMaXN0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xudWwudWkubGlzdCxcbm9sLnVpLmxpc3QsXG4udWkubGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAxZW0gMDtcbiAgcGFkZGluZzogMCAwO1xufVxudWwudWkubGlzdDpmaXJzdC1jaGlsZCxcbm9sLnVpLmxpc3Q6Zmlyc3QtY2hpbGQsXG4udWkubGlzdDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxudWwudWkubGlzdDpsYXN0LWNoaWxkLFxub2wudWkubGlzdDpsYXN0LWNoaWxkLFxuLnVpLmxpc3Q6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBMaXN0IEl0ZW0gKi9cbnVsLnVpLmxpc3QgbGksXG5vbC51aS5saXN0IGxpLFxuLnVpLmxpc3QgPiAuaXRlbSxcbi51aS5saXN0IC5saXN0ID4gLml0ZW0ge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgcGFkZGluZzogMC4yMTQyODU3MWVtIDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0ZW07XG59XG51bC51aS5saXN0ID4gbGk6Zmlyc3QtY2hpbGQ6OmFmdGVyLFxub2wudWkubGlzdCA+IGxpOmZpcnN0LWNoaWxkOjphZnRlcixcbi51aS5saXN0ID4gLmxpc3QgPiAuaXRlbTo6YWZ0ZXIsXG4udWkubGlzdCA+IC5pdGVtOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIGNsZWFyOiBib3RoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG51bC51aS5saXN0IGxpOmZpcnN0LWNoaWxkLFxub2wudWkubGlzdCBsaTpmaXJzdC1jaGlsZCxcbi51aS5saXN0IC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQsXG4udWkubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG51bC51aS5saXN0IGxpOmxhc3QtY2hpbGQsXG5vbC51aS5saXN0IGxpOmxhc3QtY2hpbGQsXG4udWkubGlzdCAubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQsXG4udWkubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi8qIENoaWxkIExpc3QgKi9cbnVsLnVpLmxpc3QgdWwsXG5vbC51aS5saXN0IG9sLFxuLnVpLmxpc3QgLmxpc3Q6bm90KC5pY29uKSB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuNzVlbSAwIDAuMjVlbSAwLjVlbTtcbn1cbi8qIENoaWxkIEl0ZW0gKi9cbnVsLnVpLmxpc3QgdWwgbGksXG5vbC51aS5saXN0IG9sIGxpLFxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSB7XG4gIHBhZGRpbmc6IDAuMTQyODU3MTRlbSAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbi8qIEljb24gKi9cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiBpLmljb24sXG4udWkubGlzdCA+IC5pdGVtID4gaS5pY29uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgbWluLXdpZHRoOiAxLjU1ZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiBpLmljb246bm90KC5sb2FkaW5nKSxcbi51aS5saXN0ID4gLml0ZW0gPiBpLmljb246bm90KC5sb2FkaW5nKSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjg1NzE0MjllbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiBpLmljb246b25seS1jaGlsZCxcbi51aS5saXN0ID4gLml0ZW0gPiBpLmljb246b25seS1jaGlsZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLyogSW1hZ2UgKi9cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiAuaW1hZ2UsXG4udWkubGlzdCA+IC5pdGVtID4gLmltYWdlIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiAuaW1hZ2U6bm90KDpvbmx5LWNoaWxkKTpub3QoaW1nKSxcbi51aS5saXN0ID4gLml0ZW0gPiAuaW1hZ2U6bm90KDpvbmx5LWNoaWxkKTpub3QoaW1nKSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xufVxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSBpbWcsXG4udWkubGlzdCA+IC5pdGVtID4gLmltYWdlIGltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gaW1nLmltYWdlLFxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5pbWFnZTpvbmx5LWNoaWxkLFxuLnVpLmxpc3QgPiAuaXRlbSA+IGltZy5pbWFnZSxcbi51aS5saXN0ID4gLml0ZW0gPiAuaW1hZ2U6b25seS1jaGlsZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi8qIENvbnRlbnQgKi9cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiAuY29udGVudCxcbi51aS5saXN0ID4gLml0ZW0gPiAuY29udGVudCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0ZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSArIC5jb250ZW50LFxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IGkuaWNvbiArIC5jb250ZW50LFxuLnVpLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSArIC5jb250ZW50LFxuLnVpLmxpc3QgPiAuaXRlbSA+IGkuaWNvbiArIC5jb250ZW50IHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMCAwIDAuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IGkubG9hZGluZy5pY29uICsgLmNvbnRlbnQsXG4udWkubGlzdCA+IC5pdGVtID4gaS5sb2FkaW5nLmljb24gKyAuY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogY2FsYygwLjI4NTcxNDI4NTcxNDI4NTdlbSArIDAuNWVtKTtcbn1cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiBpbWcuaW1hZ2UgKyAuY29udGVudCxcbi51aS5saXN0ID4gLml0ZW0gPiBpbWcuaW1hZ2UgKyAuY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG59XG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQgPiAubGlzdCxcbi51aS5saXN0ID4gLml0ZW0gPiAuY29udGVudCA+IC5saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi8qIEhlYWRlciAqL1xuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSAuaGVhZGVyLFxuLnVpLmxpc3QgPiAuaXRlbSAuaGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIERlc2NyaXB0aW9uICovXG4udWkubGlzdCAubGlzdCA+IC5pdGVtIC5kZXNjcmlwdGlvbixcbi51aS5saXN0ID4gLml0ZW0gLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG59XG4vKiBDaGlsZCBMaW5rICovXG4udWkubGlzdCA+IC5pdGVtIGEsXG4udWkubGlzdCAubGlzdCA+IC5pdGVtIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4vKiBMaW5raW5nIEl0ZW0gKi9cbi51aS5saXN0IC5saXN0ID4gYS5pdGVtLFxuLnVpLmxpc3QgPiBhLml0ZW0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjNDE4M2M0O1xufVxuLnVpLmxpc3QgLmxpc3QgPiBhLml0ZW06aG92ZXIsXG4udWkubGlzdCA+IGEuaXRlbTpob3ZlciB7XG4gIGNvbG9yOiAjMWU3MGJmO1xufVxuLyogTGlua2VkIEl0ZW0gSWNvbnMgKi9cbi51aS5saXN0IC5saXN0ID4gYS5pdGVtID4gaS5pY29ucyxcbi51aS5saXN0ID4gYS5pdGVtID4gaS5pY29ucyxcbi51aS5saXN0IC5saXN0ID4gYS5pdGVtID4gaS5pY29uLFxuLnVpLmxpc3QgPiBhLml0ZW0gPiBpLmljb24ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuLyogSGVhZGVyIExpbmsgKi9cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gYS5oZWFkZXIsXG4udWkubGlzdCA+IC5pdGVtIGEuaGVhZGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogIzQxODNjNCAhaW1wb3J0YW50O1xufVxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IGEuaGVhZGVyOmhvdmVyLFxuLnVpLmxpc3QgPiAuaXRlbSA+IGEuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICMxZTcwYmYgIWltcG9ydGFudDtcbn1cbi8qIEZsb2F0ZWQgQ29udGVudCAqL1xuLnVpW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5saXN0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXS5saXN0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSBbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLFxuLnVpLmxpc3QgPiAuaXRlbSBbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAxZW0gMCAwO1xufVxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSxcbi51aS5saXN0ID4gLml0ZW0gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMCAwIDAgMWVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLm1lbnUgLnVpLmxpc3QgPiAuaXRlbSxcbi51aS5tZW51IC51aS5saXN0IC5saXN0ID4gLml0ZW0ge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIHBhZGRpbmc6IDAuMjE0Mjg1NzFlbSAwO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNGVtO1xufVxuLnVpLm1lbnUgLnVpLmxpc3QgLmxpc3QgPiAuaXRlbTo6YmVmb3JlLFxuLnVpLm1lbnUgLnVpLmxpc3QgPiAuaXRlbTo6YmVmb3JlIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLnVpLm1lbnUgLnVpLmxpc3QgLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCxcbi51aS5tZW51IC51aS5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbi51aS5tZW51IC51aS5saXN0IC5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCxcbi51aS5tZW51IC51aS5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEhvcml6b250YWxcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmhvcml6b250YWwubGlzdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAwO1xufVxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLmhvcml6b250YWwubGlzdDpub3QoLmNlbGxlZCkgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLnVpLmhvcml6b250YWwubGlzdCAubGlzdDpub3QoLmljb24pIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSxcbi51aS5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSxcbi51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IGkuaWNvbixcbi51aS5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSA+IGkuaWNvbixcbi51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IC5jb250ZW50LFxuLnVpLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLyogUGFkZGluZyBvbiBhbGwgZWxlbWVudHMgKi9cbi51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCxcbi51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IDAuMjE0Mjg1NzFlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjE0Mjg1NzFlbTtcbn1cbi8qIEhvcml6b250YWwgTGlzdCAqL1xuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gaS5pY29uLFxuLnVpLmhvcml6b250YWwubGlzdCAuaXRlbSA+IGkuaWNvbnMgPiBpLmljb24ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMC4yNWVtIDAgMDtcbn1cbi51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSArIC5jb250ZW50LFxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gaS5pY29uLFxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gaS5pY29uICsgLmNvbnRlbnQge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbn1cbi51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBEaXNhYmxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubGlzdCAubGlzdCA+IC5kaXNhYmxlZC5pdGVtLFxuLnVpLmxpc3QgPiAuZGlzYWJsZWQuaXRlbSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjMpICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IC5kaXNhYmxlZC5pdGVtLFxuLnVpLmludmVydGVkLmxpc3QgPiAuZGlzYWJsZWQuaXRlbSB7XG4gIGNvbG9yOiByZ2JhKDIyNSwgMjI1LCAyMjUsIDAuMykgIWltcG9ydGFudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubGlzdCAubGlzdCA+IGEuaXRlbTpob3ZlciA+IC5pY29ucyxcbi51aS5saXN0ID4gYS5pdGVtOmhvdmVyID4gLmljb25zLFxuLnVpLmxpc3QgLmxpc3QgPiBhLml0ZW06aG92ZXIgPiBpLmljb24sXG4udWkubGlzdCA+IGEuaXRlbTpob3ZlciA+IGkuaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmludmVydGVkLmxpc3QgLmxpc3QgPiBhLml0ZW0gPiBpLmljb24sXG4udWkuaW52ZXJ0ZWQubGlzdCA+IGEuaXRlbSA+IGkuaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWkuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IC5pdGVtIC5oZWFkZXIsXG4udWkuaW52ZXJ0ZWQubGlzdCA+IC5pdGVtIC5oZWFkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLmxpc3QgLmxpc3QgPiAuaXRlbSAuZGVzY3JpcHRpb24sXG4udWkuaW52ZXJ0ZWQubGlzdCA+IC5pdGVtIC5kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWkuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQsXG4udWkuaW52ZXJ0ZWQubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLyogSXRlbSBMaW5rICovXG4udWkuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IGEuaXRlbSxcbi51aS5pbnZlcnRlZC5saXN0ID4gYS5pdGVtIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLmxpc3QgLmxpc3QgPiBhLml0ZW06aG92ZXIsXG4udWkuaW52ZXJ0ZWQubGlzdCA+IGEuaXRlbTpob3ZlciB7XG4gIGNvbG9yOiAjMWU3MGJmO1xufVxuLyogTGlua2luZyBDb250ZW50ICovXG4udWkuaW52ZXJ0ZWQubGlzdCAuaXRlbSBhOm5vdCgudWkpIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmxpc3QgLml0ZW0gYTpub3QoLnVpKTpob3ZlciB7XG4gIGNvbG9yOiAjMWU3MGJmICFpbXBvcnRhbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEFsaWduZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxpc3RbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0gLmltYWdlLFxuLnVpLmxpc3RbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0gLmNvbnRlbnQsXG4udWkubGlzdCBbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XG59XG4udWkubGlzdFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXSAuaW1hZ2UsXG4udWkubGlzdFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXSAuY29udGVudCxcbi51aS5saXN0IFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbn1cbi51aS5saXN0W2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdIC5pbWFnZSxcbi51aS5saXN0W2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdIC5jb250ZW50LFxuLnVpLmxpc3QgW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBMaW5rXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5saW5rLmxpc3QgLml0ZW0sXG4udWkubGluay5saXN0IGEuaXRlbSxcbi51aS5saW5rLmxpc3QgLml0ZW0gYTpub3QoLnVpKSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIHRyYW5zaXRpb246IDAuMXMgY29sb3IgZWFzZTtcbn1cbi51aS51aS5saW5rLmxpc3QgYS5pdGVtOmhvdmVyLFxuLnVpLnVpLmxpbmsubGlzdCAuaXRlbSBhOm5vdCgudWkpOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbi51aS51aS5saW5rLmxpc3QgYS5pdGVtOmFjdGl2ZSxcbi51aS51aS5saW5rLmxpc3QgLml0ZW0gYTpub3QoLnVpKTphY3RpdmUge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xufVxuLnVpLnVpLmxpbmsubGlzdCAuYWN0aXZlLml0ZW0sXG4udWkudWkubGluay5saXN0IC5hY3RpdmUuaXRlbSBhOm5vdCgudWkpIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmxpbmsubGlzdCAuaXRlbSxcbi51aS5pbnZlcnRlZC5saW5rLmxpc3QgYS5pdGVtLFxuLnVpLmludmVydGVkLmxpbmsubGlzdCAuaXRlbSBhOm5vdCgudWkpIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51aS51aS5pbnZlcnRlZC5saW5rLmxpc3QgYS5pdGVtOmhvdmVyLFxuLnVpLnVpLmludmVydGVkLmxpbmsubGlzdCAuaXRlbSBhOm5vdCgudWkpOmhvdmVyIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udWkudWkuaW52ZXJ0ZWQubGluay5saXN0IGEuaXRlbTphY3RpdmUsXG4udWkudWkuaW52ZXJ0ZWQubGluay5saXN0IC5pdGVtIGE6bm90KC51aSk6YWN0aXZlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udWkudWkuaW52ZXJ0ZWQubGluay5saXN0IGEuYWN0aXZlLml0ZW0sXG4udWkudWkuaW52ZXJ0ZWQubGluay5saXN0IC5hY3RpdmUuaXRlbSBhOm5vdCgudWkpIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgU2VsZWN0aW9uXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwLjVlbSAwLjVlbTtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBib3JkZXItcmFkaXVzOiAwLjVlbTtcbiAgdHJhbnNpdGlvbjogMC4xcyBjb2xvciBlYXNlLCAwLjFzIHBhZGRpbmctbGVmdCBlYXNlLCAwLjFzIGJhY2tncm91bmQtY29sb3IgZWFzZTtcbn1cbi51aS5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQsXG4udWkuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi51aS5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtOmhvdmVyLFxuLnVpLnNlbGVjdGlvbi5saXN0ID4gLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLnVpLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW06YWN0aXZlLFxuLnVpLnNlbGVjdGlvbi5saXN0ID4gLml0ZW06YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbn1cbi51aS5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtLmFjdGl2ZSxcbi51aS5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMik7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLmludmVydGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW06YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi8qIENlbGxlZCAvIERpdmlkZWQgU2VsZWN0aW9uIExpc3QgKi9cbi51aS5jZWxsZWQuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5kaXZpZGVkLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuY2VsbGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0sXG4udWkuZGl2aWRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQW5pbWF0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmFuaW1hdGVkLmxpc3QgPiAuaXRlbSB7XG4gIHRyYW5zaXRpb246IDAuMjVzIGNvbG9yIGVhc2UgMC4xcywgMC4yNXMgcGFkZGluZy1sZWZ0IGVhc2UgMC4xcywgMC4yNXMgYmFja2dyb3VuZC1jb2xvciBlYXNlIDAuMXM7XG59XG4udWkuYW5pbWF0ZWQubGlzdDpub3QoLmhvcml6b250YWwpID4gLml0ZW06aG92ZXIge1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgRml0dGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5maXR0ZWQubGlzdDpub3QoLnNlbGVjdGlvbikgLmxpc3QgPiAuaXRlbSxcbi51aS5maXR0ZWQubGlzdDpub3QoLnNlbGVjdGlvbikgPiAuaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbi51aS5maXR0ZWQuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5maXR0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbSB7XG4gIG1hcmdpbi1sZWZ0OiAtMC41ZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEJ1bGxldGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbnVsLnVpLmxpc3QsXG4udWkuYnVsbGV0ZWQubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxudWwudWkubGlzdCBsaSxcbi51aS5idWxsZXRlZC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuYnVsbGV0ZWQubGlzdCA+IC5pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxudWwudWkubGlzdCBsaTo6YmVmb3JlLFxuLnVpLmJ1bGxldGVkLmxpc3QgLmxpc3QgPiAuaXRlbTo6YmVmb3JlLFxuLnVpLmJ1bGxldGVkLmxpc3QgPiAuaXRlbTo6YmVmb3JlIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xuICBjb250ZW50OiBcIlxcMjAyMlwiO1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbnVsLnVpLmxpc3QgbGk6OmJlZm9yZSxcbi51aS5idWxsZXRlZC5saXN0IC5saXN0ID4gYS5pdGVtOjpiZWZvcmUsXG4udWkuYnVsbGV0ZWQubGlzdCA+IGEuaXRlbTo6YmVmb3JlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG51bC51aS5saXN0IHVsLFxuLnVpLmJ1bGxldGVkLmxpc3QgLmxpc3Q6bm90KC5pY29uKSB7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbn1cbi8qIEhvcml6b250YWwgQnVsbGV0ZWQgKi9cbnVsLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCxcbi51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbnVsLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCBsaSxcbi51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgPiAuaXRlbSB7XG4gIG1hcmdpbi1sZWZ0OiAxLjc1cmVtO1xufVxudWwudWkuaG9yaXpvbnRhbC5idWxsZXRlZC5saXN0IGxpOmZpcnN0LWNoaWxkLFxuLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG51bC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgbGk6OmJlZm9yZSxcbi51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgPiAuaXRlbTo6YmVmb3JlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG51bC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgbGk6Zmlyc3QtY2hpbGQ6OmJlZm9yZSxcbi51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgT3JkZXJlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5vbC51aS5saXN0LFxuLnVpLm9yZGVyZWQubGlzdCxcbi51aS5vcmRlcmVkLmxpc3QgLmxpc3Q6bm90KC5pY29uKSxcbm9sLnVpLmxpc3Qgb2wge1xuICBjb3VudGVyLXJlc2V0OiBvcmRlcmVkO1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxub2wudWkubGlzdCBsaSxcbi51aS5vcmRlcmVkLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5vcmRlcmVkLmxpc3QgPiAuaXRlbSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxub2wudWkubGlzdCBsaTo6YmVmb3JlLFxuLnVpLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtOjpiZWZvcmUsXG4udWkub3JkZXJlZC5saXN0ID4gLml0ZW06OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbiAgY291bnRlci1pbmNyZW1lbnQ6IG9yZGVyZWQ7XG4gIGNvbnRlbnQ6IGNvdW50ZXJzKG9yZGVyZWQsIFwiLlwiKSBcIiBcIjtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBvcGFjaXR5OiAwLjg7XG59XG5vbC51aS5pbnZlcnRlZC5saXN0IGxpOjpiZWZvcmUsXG4udWkub3JkZXJlZC5pbnZlcnRlZC5saXN0IC5saXN0ID4gLml0ZW06OmJlZm9yZSxcbi51aS5vcmRlcmVkLmludmVydGVkLmxpc3QgPiAuaXRlbTo6YmVmb3JlIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi8qIFZhbHVlICovXG4udWkub3JkZXJlZC5saXN0IC5saXN0ID4gLml0ZW1bZGF0YS12YWx1ZV06OmJlZm9yZSxcbi51aS5vcmRlcmVkLmxpc3QgPiAuaXRlbVtkYXRhLXZhbHVlXTo6YmVmb3JlIHtcbiAgY29udGVudDogYXR0cihkYXRhLXZhbHVlKTtcbn1cbm9sLnVpLmxpc3QgbGlbdmFsdWVdOjpiZWZvcmUge1xuICBjb250ZW50OiBhdHRyKHZhbHVlKTtcbn1cbi8qIENoaWxkIExpc3RzICovXG5vbC51aS5saXN0IG9sLFxuLnVpLm9yZGVyZWQubGlzdCAubGlzdDpub3QoLmljb24pIHtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbn1cbm9sLnVpLmxpc3Qgb2wgbGk6OmJlZm9yZSxcbi51aS5vcmRlcmVkLmxpc3QgLmxpc3QgPiAuaXRlbTo6YmVmb3JlIHtcbiAgbWFyZ2luLWxlZnQ6IC0yZW07XG59XG4vKiBIb3Jpem9udGFsIE9yZGVyZWQgKi9cbm9sLnVpLmhvcml6b250YWwubGlzdCxcbi51aS5vcmRlcmVkLmhvcml6b250YWwubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxub2wudWkuaG9yaXpvbnRhbC5saXN0IGxpOjpiZWZvcmUsXG4udWkub3JkZXJlZC5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbTo6YmVmb3JlLFxuLnVpLm9yZGVyZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW06OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbjogMCAwLjVlbSAwIDA7XG59XG4vKiBTdWZmaXhlZCBPcmRlcmVkICovXG5vbC51aS5zdWZmaXhlZC5saXN0IGxpOjpiZWZvcmUsXG4udWkuc3VmZml4ZWQub3JkZXJlZC5saXN0IC5saXN0ID4gLml0ZW06OmJlZm9yZSxcbi51aS5zdWZmaXhlZC5vcmRlcmVkLmxpc3QgPiAuaXRlbTo6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcnMob3JkZXJlZCwgXCIuXCIpIFwiLlwiO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBEaXZpZGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kaXZpZGVkLmxpc3QgPiAuaXRlbSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLmRpdmlkZWQubGlzdCAubGlzdCA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi51aS5kaXZpZGVkLmxpc3QgLml0ZW0gLmxpc3QgPiAuaXRlbSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4udWkuZGl2aWRlZC5saXN0IC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQsXG4udWkuZGl2aWRlZC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLyogU3ViIE1lbnUgKi9cbi51aS5kaXZpZGVkLmxpc3Q6bm90KC5ob3Jpem9udGFsKSAubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xufVxuLyogRGl2aWRlZCBidWxsZXRlZCAqL1xuLnVpLmRpdmlkZWQuYnVsbGV0ZWQubGlzdDpub3QoLmhvcml6b250YWwpLFxuLnVpLmRpdmlkZWQuYnVsbGV0ZWQubGlzdCAubGlzdDpub3QoLmljb24pIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi51aS5kaXZpZGVkLmJ1bGxldGVkLmxpc3QgPiAuaXRlbTpub3QoLmhvcml6b250YWwpIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xufVxuLyogRGl2aWRlZCBPcmRlcmVkICovXG4udWkuZGl2aWRlZC5vcmRlcmVkLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi51aS5kaXZpZGVkLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmRpdmlkZWQub3JkZXJlZC5saXN0ID4gLml0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG4udWkuZGl2aWRlZC5vcmRlcmVkLmxpc3QgLml0ZW0gLmxpc3Q6bm90KC5pY29uKSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwLjIxNDI4NTcxZW07XG59XG4udWkuZGl2aWRlZC5vcmRlcmVkLmxpc3QgLml0ZW0gLmxpc3QgPiAuaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xufVxuLyogRGl2aWRlZCBTZWxlY3Rpb24gKi9cbi51aS5kaXZpZGVkLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuZGl2aWRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLyogRGl2aWRlZCBob3Jpem9udGFsICovXG4udWkuZGl2aWRlZC5ob3Jpem9udGFsLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi51aS5kaXZpZGVkLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbn1cbi51aS5kaXZpZGVkLmhvcml6b250YWwubGlzdCA+IC5pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbn1cbi51aS5kaXZpZGVkLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMC42O1xufVxuLnVpLmhvcml6b250YWwuZGl2aWRlZC5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cbi8qIEludmVydGVkICovXG4udWkuZGl2aWRlZC5pbnZlcnRlZC5saXN0ID4gLml0ZW0sXG4udWkuZGl2aWRlZC5pbnZlcnRlZC5saXN0ID4gLmxpc3QsXG4udWkuZGl2aWRlZC5pbnZlcnRlZC5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgQ2VsbGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jZWxsZWQubGlzdCA+IC5pdGVtLFxuLnVpLmNlbGxlZC5saXN0ID4gLmxpc3Qge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgcGFkZGluZy1yaWdodDogMC41ZW07XG59XG4udWkuY2VsbGVkLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4vKiBQYWRkaW5nIG9uIGFsbCBlbGVtZW50cyAqL1xuLnVpLmNlbGxlZC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQsXG4udWkuY2VsbGVkLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IDAuMjE0Mjg1NzFlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjE0Mjg1NzFlbTtcbn1cbi8qIFN1YiBNZW51ICovXG4udWkuY2VsbGVkLmxpc3QgLml0ZW0gLmxpc3QgPiAuaXRlbSB7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cbi51aS5jZWxsZWQubGlzdCAubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbn1cbi8qIENlbGxlZCBCdWxsZXRlZCAqL1xuLnVpLmNlbGxlZC5idWxsZXRlZC5saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4udWkuY2VsbGVkLmJ1bGxldGVkLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5jZWxsZWQuYnVsbGV0ZWQubGlzdCA+IC5pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xufVxuLnVpLmNlbGxlZC5idWxsZXRlZC5saXN0IC5pdGVtIC5saXN0Om5vdCguaWNvbikge1xuICBtYXJnaW4tbGVmdDogLTEuMjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTEuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjIxNDI4NTcxZW07XG59XG4vKiBDZWxsZWQgT3JkZXJlZCAqL1xuLnVpLmNlbGxlZC5vcmRlcmVkLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi51aS5jZWxsZWQub3JkZXJlZC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuY2VsbGVkLm9yZGVyZWQubGlzdCA+IC5pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xufVxuLnVpLmNlbGxlZC5vcmRlcmVkLmxpc3QgLml0ZW0gLmxpc3Q6bm90KC5pY29uKSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwLjIxNDI4NTcxZW07XG59XG4udWkuY2VsbGVkLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG59XG4vKiBDZWxsZWQgSG9yaXpvbnRhbCAqL1xuLnVpLmhvcml6b250YWwuY2VsbGVkLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi51aS5ob3Jpem9udGFsLmNlbGxlZC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuaG9yaXpvbnRhbC5jZWxsZWQubGlzdCA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogMC41ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICBsaW5lLWhlaWdodDogMC42O1xufVxuLnVpLmhvcml6b250YWwuY2VsbGVkLmxpc3QgLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkLFxuLnVpLmhvcml6b250YWwuY2VsbGVkLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qIEludmVydGVkICovXG4udWkuY2VsbGVkLmludmVydGVkLmxpc3QgPiAuaXRlbSxcbi51aS5jZWxsZWQuaW52ZXJ0ZWQubGlzdCA+IC5saXN0IHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4udWkuY2VsbGVkLmludmVydGVkLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmNlbGxlZC5pbnZlcnRlZC5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBSZWxheGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5yZWxheGVkLmxpc3Q6bm90KC5ob3Jpem9udGFsKSA+IC5pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgcGFkZGluZy10b3A6IDAuNDI4NTcxNDNlbTtcbn1cbi51aS5yZWxheGVkLmxpc3Q6bm90KC5ob3Jpem9udGFsKSA+IC5pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBwYWRkaW5nLWJvdHRvbTogMC40Mjg1NzE0M2VtO1xufVxuLnVpLmhvcml6b250YWwucmVsYXhlZC5saXN0IC5saXN0ID4gLml0ZW06bm90KDpmaXJzdC1jaGlsZCksXG4udWkuaG9yaXpvbnRhbC5yZWxheGVkLmxpc3QgPiAuaXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbn1cbi51aS5ob3Jpem9udGFsLnJlbGF4ZWQubGlzdCAubGlzdCA+IC5pdGVtOm5vdCg6bGFzdC1jaGlsZCksXG4udWkuaG9yaXpvbnRhbC5yZWxheGVkLmxpc3QgPiAuaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbn1cbi8qIFZlcnkgUmVsYXhlZCAqL1xuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5saXN0Om5vdCguaG9yaXpvbnRhbCkgPiAuaXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHBhZGRpbmctdG9wOiAwLjg1NzE0Mjg2ZW07XG59XG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmxpc3Q6bm90KC5ob3Jpem9udGFsKSA+IC5pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBwYWRkaW5nLWJvdHRvbTogMC44NTcxNDI4NmVtO1xufVxuLnVpLmhvcml6b250YWxbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmxpc3QgLmxpc3QgPiAuaXRlbTpub3QoOmZpcnN0LWNoaWxkKSxcbi51aS5ob3Jpem9udGFsW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5saXN0ID4gLml0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbn1cbi51aS5ob3Jpem9udGFsW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5saXN0IC5saXN0ID4gLml0ZW06bm90KDpsYXN0LWNoaWxkKSxcbi51aS5ob3Jpem9udGFsW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5saXN0ID4gLml0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxpc3Qge1xuICBmb250LXNpemU6IDFlbTtcbn1cbi51aS5taW5pLmxpc3Qge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjllbTtcbn1cbi51aS5taW5pLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLm1pbmkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG4udWkudGlueS5saXN0IHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG59XG4udWkudGlueS5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS50aW55Lmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnNtYWxsLmxpc3Qge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbn1cbi51aS5zbWFsbC5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5zbWFsbC5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbi51aS5sYXJnZS5saXN0IHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG59XG4udWkubGFyZ2UuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkubGFyZ2UuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkuYmlnLmxpc3Qge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjllbTtcbn1cbi51aS5iaWcuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuYmlnLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLmh1Z2UubGlzdCB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M2VtO1xufVxuLnVpLmh1Z2UuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuaHVnZS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLmxpc3Qge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFlbTtcbn1cbi51aS5tYXNzaXZlLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLm1hc3NpdmUuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIExvYWRlclxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBMb2FkZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBTb21lIGdsb2JhbCBsb2FkZXIgc3R5bGVzIGRlZmluZWQgaW4gc2l0ZS52YXJpYWJsZXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFN0YW5kYXJkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEV4YWN0IFNpemVzIChBdm9pZHMgUm91bmRpbmcgRXJyb3JzKSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIExvYWRlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFN0YW5kYXJkIFNpemUgKi9cbi51aS5sb2FkZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAxMDAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi8qIFN0YXRpYyBTaGFwZSAqL1xuLnVpLmxvYWRlcjo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBib3JkZXI6IDAuMmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi8qIEFjdGl2ZSBTaGFwZSAqL1xuLnVpLmxvYWRlcjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbmltYXRpb246IGxvYWRlciAwLjZzIGluZmluaXRlIGxpbmVhcjtcbiAgYm9yZGVyOiAwLjJlbSBzb2xpZCAjNzY3Njc2O1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudDtcbn1cbi8qIFNwZWVkcyAqL1xuLnVpLnVpLmZhc3QubG9hZGluZzo6YWZ0ZXIsXG4udWkudWkuZmFzdC5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkuZmFzdC5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS5mYXN0LmxvYWRlcjo6YWZ0ZXIge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7XG59XG4udWkudWkuc2xvdy5sb2FkaW5nOjphZnRlcixcbi51aS51aS5zbG93LmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS5zbG93LmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnNsb3cubG9hZGVyOjphZnRlciB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC45cztcbn1cbi8qIEFjdGl2ZSBBbmltYXRpb24gKi9cbkBrZXlmcmFtZXMgbG9hZGVyIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTaG93IGluc2lkZSBhY3RpdmUgZGltbWVyICovXG4udWkuZGltbWVyID4gLmxvYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyogQmxhY2sgRGltbWVyICovXG4udWkuZGltbWVyID4gLnVpLmxvYWRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuZGltbWVyID4gLnVpLmxvYWRlcjpub3QoLmVsYXN0aWMpOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG4vKiBXaGl0ZSBEaW1tZXIgKEludmVydGVkKSAqL1xuLnVpLmludmVydGVkLmRpbW1lciA+IC51aS5sb2FkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5pbnZlcnRlZC5kaW1tZXIgPiAudWkubG9hZGVyOm5vdCguZWxhc3RpYyk6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFRleHRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnVpLnVpLnVpLnRleHQubG9hZGVyIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmluZGV0ZXJtaW5hdGUubG9hZGVyOjphZnRlciB7XG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS4ycztcbn1cbi51aS5sb2FkZXIuYWN0aXZlLFxuLnVpLmxvYWRlci52aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkubG9hZGVyLmRpc2FibGVkLFxuLnVpLmxvYWRlci5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxvYWRlciB7XG4gIHdpZHRoOiAyLjI4NTcxNDI5cmVtO1xuICBoZWlnaHQ6IDIuMjg1NzE0MjlyZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLmxvYWRlcjo6YmVmb3JlLFxuLnVpLmxvYWRlcjo6YWZ0ZXIge1xuICB3aWR0aDogMi4yODU3MTQyOXJlbTtcbiAgaGVpZ2h0OiAyLjI4NTcxNDI5cmVtO1xuICBtYXJnaW46IDAgMCAwIC0xLjE0Mjg1NzE0cmVtO1xufVxuLnVpLnRleHQubG9hZGVyIHtcbiAgbWluLXdpZHRoOiAyLjI4NTcxNDI5cmVtO1xuICBwYWRkaW5nLXRvcDogMy4wNzE0Mjg1N3JlbTtcbn1cbi51aS5taW5pLmxvYWRlciB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOWVtO1xufVxuLnVpLm1pbmkubG9hZGVyOjpiZWZvcmUsXG4udWkubWluaS5sb2FkZXI6OmFmdGVyIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwIDAgMCAtMC41cmVtO1xufVxuLnVpLm1pbmkudGV4dC5sb2FkZXIge1xuICBtaW4td2lkdGg6IDFyZW07XG4gIHBhZGRpbmctdG9wOiAxLjc4NTcxNDI5cmVtO1xufVxuLnVpLnRpbnkubG9hZGVyIHtcbiAgd2lkdGg6IDEuMTQyODU3MTRyZW07XG4gIGhlaWdodDogMS4xNDI4NTcxNHJlbTtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG59XG4udWkudGlueS5sb2FkZXI6OmJlZm9yZSxcbi51aS50aW55LmxvYWRlcjo6YWZ0ZXIge1xuICB3aWR0aDogMS4xNDI4NTcxNHJlbTtcbiAgaGVpZ2h0OiAxLjE0Mjg1NzE0cmVtO1xuICBtYXJnaW46IDAgMCAwIC0wLjU3MTQyODU3cmVtO1xufVxuLnVpLnRpbnkudGV4dC5sb2FkZXIge1xuICBtaW4td2lkdGg6IDEuMTQyODU3MTRyZW07XG4gIHBhZGRpbmctdG9wOiAxLjkyODU3MTQzcmVtO1xufVxuLnVpLnNtYWxsLmxvYWRlciB7XG4gIHdpZHRoOiAxLjcxNDI4NTcxcmVtO1xuICBoZWlnaHQ6IDEuNzE0Mjg1NzFyZW07XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xufVxuLnVpLnNtYWxsLmxvYWRlcjo6YmVmb3JlLFxuLnVpLnNtYWxsLmxvYWRlcjo6YWZ0ZXIge1xuICB3aWR0aDogMS43MTQyODU3MXJlbTtcbiAgaGVpZ2h0OiAxLjcxNDI4NTcxcmVtO1xuICBtYXJnaW46IDAgMCAwIC0wLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnNtYWxsLnRleHQubG9hZGVyIHtcbiAgbWluLXdpZHRoOiAxLjcxNDI4NTcxcmVtO1xuICBwYWRkaW5nLXRvcDogMi41cmVtO1xufVxuLnVpLmxhcmdlLmxvYWRlciB7XG4gIHdpZHRoOiAzLjQyODU3MTQzcmVtO1xuICBoZWlnaHQ6IDMuNDI4NTcxNDNyZW07XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNGVtO1xufVxuLnVpLmxhcmdlLmxvYWRlcjo6YmVmb3JlLFxuLnVpLmxhcmdlLmxvYWRlcjo6YWZ0ZXIge1xuICB3aWR0aDogMy40Mjg1NzE0M3JlbTtcbiAgaGVpZ2h0OiAzLjQyODU3MTQzcmVtO1xuICBtYXJnaW46IDAgMCAwIC0xLjcxNDI4NTcxcmVtO1xufVxuLnVpLmxhcmdlLnRleHQubG9hZGVyIHtcbiAgbWluLXdpZHRoOiAzLjQyODU3MTQzcmVtO1xuICBwYWRkaW5nLXRvcDogNC4yMTQyODU3MXJlbTtcbn1cbi51aS5iaWcubG9hZGVyIHtcbiAgd2lkdGg6IDMuNzE0Mjg1NzFyZW07XG4gIGhlaWdodDogMy43MTQyODU3MXJlbTtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5ZW07XG59XG4udWkuYmlnLmxvYWRlcjo6YmVmb3JlLFxuLnVpLmJpZy5sb2FkZXI6OmFmdGVyIHtcbiAgd2lkdGg6IDMuNzE0Mjg1NzFyZW07XG4gIGhlaWdodDogMy43MTQyODU3MXJlbTtcbiAgbWFyZ2luOiAwIDAgMCAtMS44NTcxNDI4NnJlbTtcbn1cbi51aS5iaWcudGV4dC5sb2FkZXIge1xuICBtaW4td2lkdGg6IDMuNzE0Mjg1NzFyZW07XG4gIHBhZGRpbmctdG9wOiA0LjVyZW07XG59XG4udWkuaHVnZS5sb2FkZXIge1xuICB3aWR0aDogNC4xNDI4NTcxNHJlbTtcbiAgaGVpZ2h0OiA0LjE0Mjg1NzE0cmVtO1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNlbTtcbn1cbi51aS5odWdlLmxvYWRlcjo6YmVmb3JlLFxuLnVpLmh1Z2UubG9hZGVyOjphZnRlciB7XG4gIHdpZHRoOiA0LjE0Mjg1NzE0cmVtO1xuICBoZWlnaHQ6IDQuMTQyODU3MTRyZW07XG4gIG1hcmdpbjogMCAwIDAgLTIuMDcxNDI4NTdyZW07XG59XG4udWkuaHVnZS50ZXh0LmxvYWRlciB7XG4gIG1pbi13aWR0aDogNC4xNDI4NTcxNHJlbTtcbiAgcGFkZGluZy10b3A6IDQuOTI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5sb2FkZXIge1xuICB3aWR0aDogNC41NzE0Mjg1N3JlbTtcbiAgaGVpZ2h0OiA0LjU3MTQyODU3cmVtO1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFlbTtcbn1cbi51aS5tYXNzaXZlLmxvYWRlcjo6YmVmb3JlLFxuLnVpLm1hc3NpdmUubG9hZGVyOjphZnRlciB7XG4gIHdpZHRoOiA0LjU3MTQyODU3cmVtO1xuICBoZWlnaHQ6IDQuNTcxNDI4NTdyZW07XG4gIG1hcmdpbjogMCAwIDAgLTIuMjg1NzE0MjlyZW07XG59XG4udWkubWFzc2l2ZS50ZXh0LmxvYWRlciB7XG4gIG1pbi13aWR0aDogNC41NzE0Mjg1N3JlbTtcbiAgcGFkZGluZy10b3A6IDUuMzU3MTQyODZyZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnVpLnByaW1hcnkuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS5wcmltYXJ5LmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmJlZm9yZSxcbi51aS5wcmltYXJ5LmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmFmdGVyLFxuLnVpLnVpLnVpLnByaW1hcnkuZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLnByaW1hcnkuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLnByaW1hcnkuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkucHJpbWFyeS5sb2FkaW5nOm5vdCgudXN1YWwpOm5vdCguYnV0dG9uKTo6YWZ0ZXIsXG4udWkudWkudWkudWkucHJpbWFyeS5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkucHJpbWFyeS5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5wcmltYXJ5LmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogIzZDMzY2Nztcbn1cbi51aS5pbnZlcnRlZC5wcmltYXJ5LmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQucHJpbWFyeS5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQucHJpbWFyeS5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQucHJpbWFyeS5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5pbnZlcnRlZC5wcmltYXJ5LmxvYWRpbmc6bm90KC51c3VhbCk6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnByaW1hcnkubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnByaW1hcnkubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkuaW52ZXJ0ZWQucHJpbWFyeS5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG4udWkudWkuc2Vjb25kYXJ5LmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkuc2Vjb25kYXJ5LmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmJlZm9yZSxcbi51aS5zZWNvbmRhcnkuYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YWZ0ZXIsXG4udWkudWkudWkuc2Vjb25kYXJ5LmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5zZWNvbmRhcnkuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLnNlY29uZGFyeS5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5zZWNvbmRhcnkubG9hZGluZzpub3QoLnVzdWFsKTpub3QoLmJ1dHRvbik6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnNlY29uZGFyeS5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkuc2Vjb25kYXJ5LmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnNlY29uZGFyeS5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICM4OGQzMTc7XG59XG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5zZWNvbmRhcnkuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnNlY29uZGFyeS5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5pbnZlcnRlZC5zZWNvbmRhcnkubG9hZGluZzpub3QoLnVzdWFsKTo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5zZWNvbmRhcnkubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogIzU0NTQ1NDtcbn1cbi51aS51aS5yZWQuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS5yZWQuYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YmVmb3JlLFxuLnVpLnJlZC5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjphZnRlcixcbi51aS51aS51aS5yZWQuZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLnJlZC5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkucmVkLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLnJlZC5sb2FkaW5nOm5vdCgudXN1YWwpOm5vdCguYnV0dG9uKTo6YWZ0ZXIsXG4udWkudWkudWkudWkucmVkLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5yZWQubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkucmVkLmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogI2RiMjgyODtcbn1cbi51aS5pbnZlcnRlZC5yZWQuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5yZWQuZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnJlZC5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQucmVkLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnJlZC5sb2FkaW5nOm5vdCgudXN1YWwpOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5yZWQubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnJlZC5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5pbnZlcnRlZC5yZWQubG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjZmY2OTVlO1xufVxuLnVpLnVpLm9yYW5nZS5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuLnVpLm9yYW5nZS5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjpiZWZvcmUsXG4udWkub3JhbmdlLmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmFmdGVyLFxuLnVpLnVpLnVpLm9yYW5nZS5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkub3JhbmdlLmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5vcmFuZ2UuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkub3JhbmdlLmxvYWRpbmc6bm90KC51c3VhbCk6bm90KC5idXR0b24pOjphZnRlcixcbi51aS51aS51aS51aS5vcmFuZ2UubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLm9yYW5nZS5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5vcmFuZ2UubG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLm9yYW5nZS5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQub3JhbmdlLmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5vcmFuZ2UuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQub3JhbmdlLmxvYWRpbmc6bm90KC51c3VhbCk6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLm9yYW5nZS5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQub3JhbmdlLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLmludmVydGVkLm9yYW5nZS5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICNmZjg1MWI7XG59XG4udWkudWkueWVsbG93LmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkueWVsbG93LmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmJlZm9yZSxcbi51aS55ZWxsb3cuYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YWZ0ZXIsXG4udWkudWkudWkueWVsbG93LmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS55ZWxsb3cuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLnllbGxvdy5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS55ZWxsb3cubG9hZGluZzpub3QoLnVzdWFsKTpub3QoLmJ1dHRvbik6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnllbGxvdy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkueWVsbG93LmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnllbGxvdy5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICNmYmJkMDg7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQueWVsbG93LmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC55ZWxsb3cuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnllbGxvdy5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5pbnZlcnRlZC55ZWxsb3cubG9hZGluZzpub3QoLnVzdWFsKTo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQueWVsbG93LmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC55ZWxsb3cubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkuaW52ZXJ0ZWQueWVsbG93LmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogI2ZmZTIxZjtcbn1cbi51aS51aS5vbGl2ZS5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuLnVpLm9saXZlLmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmJlZm9yZSxcbi51aS5vbGl2ZS5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjphZnRlcixcbi51aS51aS51aS5vbGl2ZS5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkub2xpdmUuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLm9saXZlLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLm9saXZlLmxvYWRpbmc6bm90KC51c3VhbCk6bm90KC5idXR0b24pOjphZnRlcixcbi51aS51aS51aS51aS5vbGl2ZS5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkub2xpdmUubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkub2xpdmUubG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjYjVjYzE4O1xufVxuLnVpLmludmVydGVkLm9saXZlLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQub2xpdmUuZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLm9saXZlLmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5vbGl2ZS5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5pbnZlcnRlZC5vbGl2ZS5sb2FkaW5nOm5vdCgudXN1YWwpOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5vbGl2ZS5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQub2xpdmUubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkuaW52ZXJ0ZWQub2xpdmUubG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjZDllNzc4O1xufVxuLnVpLnVpLmdyZWVuLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkuZ3JlZW4uYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YmVmb3JlLFxuLnVpLmdyZWVuLmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmFmdGVyLFxuLnVpLnVpLnVpLmdyZWVuLmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5ncmVlbi5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuZ3JlZW4uZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuZ3JlZW4ubG9hZGluZzpub3QoLnVzdWFsKTpub3QoLmJ1dHRvbik6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmdyZWVuLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5ncmVlbi5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5ncmVlbi5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICMyMWJhNDU7XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4uZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5ncmVlbi5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQuZ3JlZW4uZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLmdyZWVuLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLmdyZWVuLmxvYWRpbmc6bm90KC51c3VhbCk6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLmdyZWVuLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5ncmVlbi5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5pbnZlcnRlZC5ncmVlbi5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICMyZWNjNDA7XG59XG4udWkudWkudGVhbC5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuLnVpLnRlYWwuYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YmVmb3JlLFxuLnVpLnRlYWwuYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YWZ0ZXIsXG4udWkudWkudWkudGVhbC5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkudGVhbC5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkudGVhbC5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS50ZWFsLmxvYWRpbmc6bm90KC51c3VhbCk6bm90KC5idXR0b24pOjphZnRlcixcbi51aS51aS51aS51aS50ZWFsLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS50ZWFsLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnRlYWwubG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLmludmVydGVkLnRlYWwuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC50ZWFsLmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC50ZWFsLmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC50ZWFsLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRlYWwubG9hZGluZzpub3QoLnVzdWFsKTo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGVhbC5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGVhbC5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5pbnZlcnRlZC50ZWFsLmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogIzZkZmZmZjtcbn1cbi51aS51aS5ibHVlLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkuYmx1ZS5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjpiZWZvcmUsXG4udWkuYmx1ZS5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjphZnRlcixcbi51aS51aS51aS5ibHVlLmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5ibHVlLmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5ibHVlLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmJsdWUubG9hZGluZzpub3QoLnVzdWFsKTpub3QoLmJ1dHRvbik6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmJsdWUubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmJsdWUubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkuYmx1ZS5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICMyMTg1ZDA7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLmJsdWUuZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLmJsdWUuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLmJsdWUuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQuYmx1ZS5sb2FkaW5nOm5vdCgudXN1YWwpOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5ibHVlLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5ibHVlLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLmludmVydGVkLmJsdWUubG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjNTRjOGZmO1xufVxuLnVpLnVpLnZpb2xldC5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuLnVpLnZpb2xldC5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjpiZWZvcmUsXG4udWkudmlvbGV0LmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmFmdGVyLFxuLnVpLnVpLnVpLnZpb2xldC5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkudmlvbGV0LmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS52aW9sZXQuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkudmlvbGV0LmxvYWRpbmc6bm90KC51c3VhbCk6bm90KC5idXR0b24pOjphZnRlcixcbi51aS51aS51aS51aS52aW9sZXQubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnZpb2xldC5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS52aW9sZXQubG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLmludmVydGVkLnZpb2xldC5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnZpb2xldC5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQudmlvbGV0LmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC52aW9sZXQuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQudmlvbGV0LmxvYWRpbmc6bm90KC51c3VhbCk6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnZpb2xldC5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQudmlvbGV0LmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLmludmVydGVkLnZpb2xldC5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICNhMjkxZmI7XG59XG4udWkudWkucHVycGxlLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkucHVycGxlLmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmJlZm9yZSxcbi51aS5wdXJwbGUuYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YWZ0ZXIsXG4udWkudWkudWkucHVycGxlLmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5wdXJwbGUuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLnB1cnBsZS5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5wdXJwbGUubG9hZGluZzpub3QoLnVzdWFsKTpub3QoLmJ1dHRvbik6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnB1cnBsZS5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkucHVycGxlLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnB1cnBsZS5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICNhMzMzYzg7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQucHVycGxlLmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5wdXJwbGUuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnB1cnBsZS5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5pbnZlcnRlZC5wdXJwbGUubG9hZGluZzpub3QoLnVzdWFsKTo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQucHVycGxlLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5wdXJwbGUubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkuaW52ZXJ0ZWQucHVycGxlLmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogI2RjNzNmZjtcbn1cbi51aS51aS5waW5rLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkucGluay5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjpiZWZvcmUsXG4udWkucGluay5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjphZnRlcixcbi51aS51aS51aS5waW5rLmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5waW5rLmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5waW5rLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLnBpbmsubG9hZGluZzpub3QoLnVzdWFsKTpub3QoLmJ1dHRvbik6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnBpbmsubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnBpbmsubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkucGluay5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICNlMDM5OTc7XG59XG4udWkuaW52ZXJ0ZWQucGluay5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnBpbmsuZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnBpbmsuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLnBpbmsuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQucGluay5sb2FkaW5nOm5vdCgudXN1YWwpOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5waW5rLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5waW5rLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLmludmVydGVkLnBpbmsubG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjZmY4ZWRmO1xufVxuLnVpLnVpLmJyb3duLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkuYnJvd24uYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YmVmb3JlLFxuLnVpLmJyb3duLmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmFmdGVyLFxuLnVpLnVpLnVpLmJyb3duLmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5icm93bi5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuYnJvd24uZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuYnJvd24ubG9hZGluZzpub3QoLnVzdWFsKTpub3QoLmJ1dHRvbik6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmJyb3duLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5icm93bi5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5icm93bi5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICNhNTY3M2Y7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5icm93bi5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQuYnJvd24uZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLmJyb3duLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLmJyb3duLmxvYWRpbmc6bm90KC51c3VhbCk6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLmJyb3duLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5icm93bi5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5pbnZlcnRlZC5icm93bi5sb2FkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICNkNjdjMWM7XG59XG4udWkudWkuZ3JleS5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuLnVpLmdyZXkuYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YmVmb3JlLFxuLnVpLmdyZXkuYmFzaWMuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjo6YWZ0ZXIsXG4udWkudWkudWkuZ3JleS5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkuZ3JleS5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkudWkudWkuZ3JleS5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5ncmV5LmxvYWRpbmc6bm90KC51c3VhbCk6bm90KC5idXR0b24pOjphZnRlcixcbi51aS51aS51aS51aS5ncmV5LmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5ncmV5LmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLmdyZXkubG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLmludmVydGVkLmdyZXkuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5ncmV5LmVsYXN0aWMubG9hZGluZzpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5ncmV5LmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5ncmV5LmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLmdyZXkubG9hZGluZzpub3QoLnVzdWFsKTo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQuZ3JleS5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQuZ3JleS5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5pbnZlcnRlZC5ncmV5LmxvYWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogI2RjZGRkZTtcbn1cbi51aS51aS5ibGFjay5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuLnVpLmJsYWNrLmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmJlZm9yZSxcbi51aS5ibGFjay5iYXNpYy5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOjphZnRlcixcbi51aS51aS51aS5ibGFjay5lbGFzdGljLmxvYWRpbmc6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkuYmxhY2suZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmJsYWNrLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmJsYWNrLmxvYWRpbmc6bm90KC51c3VhbCk6bm90KC5idXR0b24pOjphZnRlcixcbi51aS51aS51aS51aS5ibGFjay5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkuYmxhY2subG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkuYmxhY2subG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLmludmVydGVkLmJsYWNrLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmxhY2suZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLmludmVydGVkLmJsYWNrLmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS5pbnZlcnRlZC5ibGFjay5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbi51aS51aS51aS51aS5pbnZlcnRlZC5ibGFjay5sb2FkaW5nOm5vdCgudXN1YWwpOjphZnRlcixcbi51aS51aS51aS51aS5pbnZlcnRlZC5ibGFjay5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkuaW52ZXJ0ZWQuYmxhY2subG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkuaW52ZXJ0ZWQuYmxhY2subG9hZGVyOjphZnRlciB7XG4gIGNvbG9yOiAjNTQ1NDU0O1xufVxuLnVpLnVpLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkudWkudWkuZWxhc3RpYy5sb2FkaW5nOjpiZWZvcmUsXG4udWkudWkudWkuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmxvYWRpbmc6bm90KC51c3VhbCk6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5sb2FkZXI6OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4udWkudWkudWkudWkuZWxhc3RpYy5sb2FkaW5nLmJ1dHRvbjpub3QoLmludmVydGVkKTpub3QoLmJhc2ljKTo6YmVmb3JlIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZWxhc3RpYy5iYXNpYy5sb2FkaW5nLmJ1dHRvbjo6YmVmb3JlLFxuLnVpLmVsYXN0aWMuYmFzaWMubG9hZGluZy5idXR0b246OmFmdGVyIHtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG4udWkudWkudWkudWkuZG91YmxlLmxvYWRpbmcuYnV0dG9uOjphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgSW5saW5lXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbmxpbmUubG9hZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDA7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLnVpLmlubGluZS5sb2FkZXIuYWN0aXZlLFxuLnVpLmlubGluZS5sb2FkZXIudmlzaWJsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi8qIENlbnRlcmVkIElubGluZSAqL1xuLnVpLmNlbnRlcmVkLmlubGluZS5sb2FkZXIuYWN0aXZlLFxuLnVpLmNlbnRlcmVkLmlubGluZS5sb2FkZXIudmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmc6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS51aS51aS5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS51aS5sb2FkZXI6OmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnVpLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmc6bm90KC5kb3VibGUpOjphZnRlcixcbi51aS51aS51aS51aS51aS51aS51aS5sb2FkaW5nOm5vdCguZG91YmxlKSAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmc6bm90KC5kb3VibGUpID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS51aS51aS5sb2FkZXI6bm90KC5kb3VibGUpOjphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmcuY2FyZDo6YWZ0ZXIsXG4udWkudWkudWkudWkudWkudWkubG9hZGluZy5zZWdtZW50czo6YWZ0ZXIsXG4udWkudWkudWkudWkudWkudWkubG9hZGluZy5zZWdtZW50OjphZnRlcixcbi51aS51aS51aS51aS51aS51aS5sb2FkaW5nLmZvcm06OmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkudWkudWkudWkudWkudWkubG9hZGluZy5jYXJkOm5vdCguZG91YmxlKTo6YWZ0ZXIsXG4udWkudWkudWkudWkudWkudWkubG9hZGluZy5zZWdtZW50czpub3QoLmRvdWJsZSk6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmcuc2VnbWVudDpub3QoLmRvdWJsZSk6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmcuZm9ybTpub3QoLmRvdWJsZSk6OmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBFbGFzdGljXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kaW1tZXIgPiAudWkuZWxhc3RpYy5sb2FkZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5kaW1tZXIgPiAudWkuZWxhc3RpYy5sb2FkZXIge1xuICBjb2xvcjogIzc2NzY3Njtcbn1cbi51aS51aS5lbGFzdGljLmxvYWRpbmc6bm90KC5mb3JtKTpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmFmdGVyLFxuLnVpLnVpLmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkuZWxhc3RpYy5sb2FkZXI6OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBsb2FkZXIgMXMgaW5maW5pdGUgY3ViaWMtYmV6aWVyKDAuMjcsIDEuMDUsIDAuOTIsIDAuNjEpO1xuICBhbmltYXRpb24tZGVsYXk6IDAuM3M7XG59XG4udWkudWkudWkuZWxhc3RpYy5sb2FkaW5nOm5vdCguZm9ybSk6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4udWkudWkudWkuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUge1xuICBhbmltYXRpb246IGVsYXN0aWMtbG9hZGVyIDFzIGluZmluaXRlIGN1YmljLWJlemllcigwLjI3LCAxLjA1LCAwLjkyLCAwLjYxKTtcbiAgLW1vei1hbmltYXRpb246IGN1cnJlbnRjb2xvci1lbGFzdGljLWxvYWRlciAxcyBpbmZpbml0ZSBjdWJpYy1iZXppZXIoMC4yNywgMS4wNSwgMC45MiwgMC42MSk7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4udWkuZWxhc3RpYy5pbmxpbmUubG9hZGVyOmVtcHR5IHtcbiAgYW5pbWF0aW9uOiBsb2FkZXIgOHMgaW5maW5pdGUgbGluZWFyO1xufVxuLnVpLnVpLnNsb3cuZWxhc3RpYy5sb2FkaW5nOm5vdCguZm9ybSk6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjphZnRlcixcbi51aS51aS5zbG93LmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLnNsb3cuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS5zbG93LmVsYXN0aWMubG9hZGVyOjphZnRlciB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjQ1cztcbn1cbi51aS51aS51aS5zbG93LmVsYXN0aWMubG9hZGluZzpub3QoLmZvcm0pOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLnNsb3cuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnNsb3cuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkuc2xvdy5lbGFzdGljLmxvYWRlcjo6YmVmb3JlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xufVxuLnVpLnVpLmZhc3QuZWxhc3RpYy5sb2FkaW5nOm5vdCguZm9ybSk6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjphZnRlcixcbi51aS51aS5mYXN0LmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuLnVpLnVpLmZhc3QuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS5mYXN0LmVsYXN0aWMubG9hZGVyOjphZnRlciB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC42NnM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4ycztcbn1cbi51aS51aS51aS5mYXN0LmVsYXN0aWMubG9hZGluZzpub3QoLmZvcm0pOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuLnVpLnVpLnVpLmZhc3QuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLmZhc3QuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4udWkudWkuZmFzdC5lbGFzdGljLmxvYWRlcjo6YmVmb3JlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjY2cztcbn1cbkBrZXlmcmFtZXMgZWxhc3RpYy1sb2FkZXIge1xuICAwJSxcbiAgMSUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAxLjElLFxuICA1MCUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBpbmhlcml0O1xuICB9XG4gIDEwJSxcbiAgMzUuMSUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIDEwLjElLFxuICAzNSUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgNTAuMSUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAxMDAlIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBjdXJyZW50Y29sb3ItZWxhc3RpYy1sb2FkZXIge1xuICAwJSxcbiAgMSUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAxLjElLFxuICA1MCUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cbiAgMTAlLFxuICAzNS4xJSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgMTAuMSUsXG4gIDM1JSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudENvbG9yO1xuICB9XG4gIDUwLjElIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBQbGFjZWhvbGRlclxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyogS2V5IENvbnRlbnQgU2l6aW5nICovXG4vKiBJbnRlcnZhbCBiZXR3ZWVuIGNvbnNlY3V0aXZlIHBsYWNlaG9sZGVycyAqL1xuLyogUmVwZWF0ZWQgUGxhY2Vob2xkZXIgKi9cbi8qIEltYWdlICovXG4vKiBIZWFkZXIgSW1hZ2UgKi9cbi8qIFBhcmFncmFwaCAqL1xuLyogR2xvdyBHcmFkaWVudCAqL1xuLyogVmFyaWF0aW9ucyAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnBsYWNlaG9sZGVyIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYW5pbWF0aW9uOiBwbGFjZWhvbGRlclNoaW1tZXIgMnMgbGluZWFyO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMDgpIDAsIHJnYmEoMCwgMCwgMCwgMC4xNSkgMTUlLCByZ2JhKDAsIDAsIDAsIDAuMDgpIDMwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTIwMHB4IDEwMCU7XG4gIG1heC13aWR0aDogMzByZW07XG59XG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyU2hpbW1lciB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwMHB4IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTIwMHB4IDA7XG4gIH1cbn1cbi51aS5wbGFjZWhvbGRlciArIC51aS5wbGFjZWhvbGRlciB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG4udWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIge1xuICBhbmltYXRpb24tZGVsYXk6IDAuMTVzO1xufVxuLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzO1xufVxuLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjQ1cztcbn1cbi51aS5wbGFjZWhvbGRlciArIC51aS5wbGFjZWhvbGRlciArIC51aS5wbGFjZWhvbGRlciArIC51aS5wbGFjZWhvbGRlciArIC51aS5wbGFjZWhvbGRlciB7XG4gIGFuaW1hdGlvbi1kZWxheTogMC42cztcbn1cbi51aS5wbGFjZWhvbGRlcixcbi51aS5wbGFjZWhvbGRlciA+IDo6YmVmb3JlLFxuLnVpLnBsYWNlaG9sZGVyIC5pbWFnZS5oZWFkZXI6OmFmdGVyLFxuLnVpLnBsYWNlaG9sZGVyIC5saW5lLFxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG4udWkucGxhY2Vob2xkZXIuaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIEltYWdlICovXG4udWkucGxhY2Vob2xkZXIgLmltYWdlOm5vdCguaGVhZGVyKTpub3QoLnVpKTpub3QoLmljb24pIHtcbiAgaGVpZ2h0OiAxMDBweDtcbn1cbi51aS5wbGFjZWhvbGRlciAuc3F1YXJlLmltYWdlOm5vdCguaGVhZGVyKSB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogMS8xIGFzcGVjdCByYXRpbyAqL1xuICBwYWRkaW5nLXRvcDogMTAwJTtcbn1cbi51aS5wbGFjZWhvbGRlciAucmVjdGFuZ3VsYXIuaW1hZ2U6bm90KC5oZWFkZXIpIHtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiA0LzMgYXNwZWN0IHJhdGlvICovXG4gIHBhZGRpbmctdG9wOiA3NSU7XG59XG4vKiBMaW5lcyAqL1xuLnVpLnBsYWNlaG9sZGVyIC5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDAuODU3MTQyODZlbTtcbn1cbi51aS5wbGFjZWhvbGRlciAubGluZTo6YmVmb3JlLFxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOjphZnRlciB7XG4gIHRvcDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xufVxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOjpiZWZvcmUge1xuICBsZWZ0OiAwO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOjphZnRlciB7XG4gIHJpZ2h0OiAwO1xufVxuLyogQW55IExpbmVzICovXG4udWkucGxhY2Vob2xkZXIgLmxpbmUge1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cbi51aS5wbGFjZWhvbGRlciAubGluZTo6YmVmb3JlLFxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOjphZnRlciB7XG4gIGhlaWdodDogMC41ZW07XG59XG4udWkucGxhY2Vob2xkZXIgLmxpbmU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbn1cbi8qIExpbmUgT3V0ZGVudCAqL1xuLnVpLnBsYWNlaG9sZGVyIC5saW5lOm50aC1jaGlsZCgxKTo6YWZ0ZXIge1xuICB3aWR0aDogMDtcbn1cbi51aS5wbGFjZWhvbGRlciAubGluZTpudGgtY2hpbGQoMik6OmFmdGVyIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi51aS5wbGFjZWhvbGRlciAubGluZTpudGgtY2hpbGQoMyk6OmFmdGVyIHtcbiAgd2lkdGg6IDEwJTtcbn1cbi51aS5wbGFjZWhvbGRlciAubGluZTpudGgtY2hpbGQoNCk6OmFmdGVyIHtcbiAgd2lkdGg6IDM1JTtcbn1cbi51aS5wbGFjZWhvbGRlciAubGluZTpudGgtY2hpbGQoNSk6OmFmdGVyIHtcbiAgd2lkdGg6IDY1JTtcbn1cbi8qIEhlYWRlciBJbWFnZSArIDIgTGluZXMgKi9cbi51aS5wbGFjZWhvbGRlciAuaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLyogSGVhZGVyIExpbmUgMSAmIDIgKi9cbi51aS5wbGFjZWhvbGRlciAuaGVhZGVyIC5saW5lIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42NDI4NTcxNGVtO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmU6OmJlZm9yZSxcbi51aS5wbGFjZWhvbGRlciAuaGVhZGVyIC5saW5lOjphZnRlciB7XG4gIGhlaWdodDogMC42NDI4NTcxNGVtO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiAwLjY0Mjg1NzE0ZW07XG59XG4udWkucGxhY2Vob2xkZXIgLmhlYWRlciAubGluZTo6YWZ0ZXIge1xuICB3aWR0aDogMjAlO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmU6bnRoLWNoaWxkKDIpOjphZnRlciB7XG4gIHdpZHRoOiA2MCU7XG59XG4vKiBJbWFnZSBIZWFkZXIgKi9cbi51aS5wbGFjZWhvbGRlciAuaW1hZ2UuaGVhZGVyIC5saW5lIHtcbiAgbWFyZ2luLWxlZnQ6IDNlbTtcbn1cbi51aS5wbGFjZWhvbGRlciAuaW1hZ2UuaGVhZGVyIC5saW5lOjpiZWZvcmUge1xuICB3aWR0aDogMC43MTQyODU3MXJlbTtcbn1cbi51aS5wbGFjZWhvbGRlciAuaW1hZ2UuaGVhZGVyOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDAuODU3MTQyODZlbTtcbiAgY29udGVudDogXCJcIjtcbiAgbWFyZ2luLWxlZnQ6IDNlbTtcbn1cbi8qIFNwYWNpbmcgKi9cbi51aS5wbGFjZWhvbGRlciAuaW1hZ2UgLmxpbmU6Zmlyc3QtY2hpbGQsXG4udWkucGxhY2Vob2xkZXIgLnBhcmFncmFwaCAubGluZTpmaXJzdC1jaGlsZCxcbi51aS5wbGFjZWhvbGRlciAuaGVhZGVyIC5saW5lOmZpcnN0LWNoaWxkIHtcbiAgaGVpZ2h0OiAwLjAxcHg7XG59XG4udWkucGxhY2Vob2xkZXIgLmltYWdlOm5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUsXG4udWkucGxhY2Vob2xkZXIgLnBhcmFncmFwaDpub3QoOmZpcnN0LWNoaWxkKTo6YmVmb3JlLFxuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXI6bm90KDpmaXJzdC1jaGlsZCk6OmJlZm9yZSB7XG4gIGhlaWdodDogMS40Mjg1NzE0M2VtO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qIEludmVydGVkIENvbnRlbnQgTG9hZGVyICovXG4udWkuaW52ZXJ0ZWQucGxhY2Vob2xkZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkgMCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KSAxNSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkgMzAlKTtcbn1cbi51aS5pbnZlcnRlZC5wbGFjZWhvbGRlcixcbi51aS5pbnZlcnRlZC5wbGFjZWhvbGRlciA+IDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnBsYWNlaG9sZGVyIC5pbWFnZS5oZWFkZXI6OmFmdGVyLFxuLnVpLmludmVydGVkLnBsYWNlaG9sZGVyIC5saW5lLFxuLnVpLmludmVydGVkLnBsYWNlaG9sZGVyIC5saW5lOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkucGxhY2Vob2xkZXIgLmZ1bGwubGluZS5saW5lLmxpbmU6OmFmdGVyIHtcbiAgd2lkdGg6IDA7XG59XG4udWkucGxhY2Vob2xkZXIgLnZlcnkubG9uZy5saW5lLmxpbmUubGluZTo6YWZ0ZXIge1xuICB3aWR0aDogMTAlO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5sb25nLmxpbmUubGluZS5saW5lOjphZnRlciB7XG4gIHdpZHRoOiAzNSU7XG59XG4udWkucGxhY2Vob2xkZXIgLm1lZGl1bS5saW5lLmxpbmUubGluZTo6YWZ0ZXIge1xuICB3aWR0aDogNTAlO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5zaG9ydC5saW5lLmxpbmUubGluZTo6YWZ0ZXIge1xuICB3aWR0aDogNjUlO1xufVxuLnVpLnBsYWNlaG9sZGVyIC52ZXJ5LnNob3J0LmxpbmUubGluZS5saW5lOjphZnRlciB7XG4gIHdpZHRoOiA4MCU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBGbHVpZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmx1aWQucGxhY2Vob2xkZXIge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gUmFpbFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFJhaWxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDbG9zZSAqL1xuLyogRGl2aWRpbmcgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgUmFpbHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkucmFpbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogMTAwJTtcbn1cbi51aS5sZWZ0LnJhaWwge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTAwJTtcbiAgcGFkZGluZzogMCAycmVtIDAgMDtcbiAgbWFyZ2luOiAwIDJyZW0gMCAwO1xufVxuLnVpLnJpZ2h0LnJhaWwge1xuICBsZWZ0OiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgcGFkZGluZzogMCAwIDAgMnJlbTtcbiAgbWFyZ2luOiAwIDAgMCAycmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBJbnRlcm5hbFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxlZnQuaW50ZXJuYWwucmFpbCB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwIDAgMCAycmVtO1xuICBtYXJnaW46IDAgMCAwIDJyZW07XG59XG4udWkucmlnaHQuaW50ZXJuYWwucmFpbCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAwIDJyZW0gMCAwO1xuICBtYXJnaW46IDAgMnJlbSAwIDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBEaXZpZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRpdmlkaW5nLnJhaWwge1xuICB3aWR0aDogMzAyLjVweDtcbn1cbi51aS5sZWZ0LmRpdmlkaW5nLnJhaWwge1xuICBwYWRkaW5nOiAwIDIuNXJlbSAwIDA7XG4gIG1hcmdpbjogMCAyLjVyZW0gMCAwO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnJpZ2h0LmRpdmlkaW5nLnJhaWwge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIHBhZGRpbmc6IDAgMCAwIDIuNXJlbTtcbiAgbWFyZ2luOiAwIDAgMCAyLjVyZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBEaXN0YW5jZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNsb3NlLnJhaWwge1xuICB3aWR0aDogY2FsYygzMDBweCArIDFlbSk7XG59XG4udWkuY2xvc2UubGVmdC5yYWlsIHtcbiAgcGFkZGluZzogMCAxZW0gMCAwO1xuICBtYXJnaW46IDAgMWVtIDAgMDtcbn1cbi51aS5jbG9zZS5yaWdodC5yYWlsIHtcbiAgcGFkZGluZzogMCAwIDAgMWVtO1xuICBtYXJnaW46IDAgMCAwIDFlbTtcbn1cbi51aS52ZXJ5LmNsb3NlLnJhaWwge1xuICB3aWR0aDogY2FsYygzMDBweCArIDAuNWVtKTtcbn1cbi51aS52ZXJ5LmNsb3NlLmxlZnQucmFpbCB7XG4gIHBhZGRpbmc6IDAgMC41ZW0gMCAwO1xuICBtYXJnaW46IDAgMC41ZW0gMCAwO1xufVxuLnVpLnZlcnkuY2xvc2UucmlnaHQucmFpbCB7XG4gIHBhZGRpbmc6IDAgMCAwIDAuNWVtO1xuICBtYXJnaW46IDAgMCAwIDAuNWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQXR0YWNoZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5hdHRhY2hlZC5sZWZ0LnJhaWwsXG4udWkuYXR0YWNoZWQucmlnaHQucmFpbCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkucmFpbCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5taW5pLnJhaWwge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG4udWkudGlueS5yYWlsIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnNtYWxsLnJhaWwge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkubGFyZ2UucmFpbCB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5iaWcucmFpbCB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5odWdlLnJhaWwge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5yYWlsIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFJldmVhbFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFJldmVhbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFR5cGVzICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgUmV2ZWFsXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLnJldmVhbCB7XG4gIGRpc3BsYXk6IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDA7XG59XG4udWkucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IDAgIWltcG9ydGFudDtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAzICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UgMC4xcztcbn1cbi51aS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgei1pbmRleDogMiAhaW1wb3J0YW50O1xufVxuLyogTWFrZSBzdXJlIGhvdmVyZWQgZWxlbWVudCBpcyBvbiB0b3Agb2Ygb3RoZXIgcmV2ZWFsICovXG4udWkuYWN0aXZlLnJldmVhbCAudmlzaWJsZS5jb250ZW50LFxuLnVpLnJldmVhbDpob3ZlciAudmlzaWJsZS5jb250ZW50IHtcbiAgei1pbmRleDogNCAhaW1wb3J0YW50O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIFNsaWRlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc2xpZGUucmV2ZWFsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi51aS5zbGlkZS5yZXZlYWwgPiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZSAwLjFzO1xufVxuLnVpLnNsaWRlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbn1cbi51aS5zbGlkZS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgIWltcG9ydGFudDtcbn1cbi51aS5zbGlkZS5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5zbGlkZS5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLnNsaWRlLmFjdGl2ZS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQsXG4udWkuc2xpZGUucmV2ZWFsOmhvdmVyID4gLmhpZGRlbi5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUucmlnaHQucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSAhaW1wb3J0YW50O1xufVxuLnVpLnNsaWRlLnJpZ2h0LnJldmVhbCA+IC5oaWRkZW4uY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgIWltcG9ydGFudDtcbn1cbi51aS5zbGlkZS5yaWdodC5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5zbGlkZS5yaWdodC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUucmlnaHQuYWN0aXZlLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCxcbi51aS5zbGlkZS5yaWdodC5yZXZlYWw6aG92ZXIgPiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgIWltcG9ydGFudDtcbn1cbi51aS5zbGlkZS51cC5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgIWltcG9ydGFudDtcbn1cbi51aS5zbGlkZS51cC5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5zbGlkZS51cC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLnNsaWRlLnVwLmFjdGl2ZS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQsXG4udWkuc2xpZGUudXAucmV2ZWFsOmhvdmVyID4gLmhpZGRlbi5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUuZG93bi5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUuZG93bi5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5zbGlkZS5kb3duLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgIWltcG9ydGFudDtcbn1cbi51aS5zbGlkZS5kb3duLmFjdGl2ZS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQsXG4udWkuc2xpZGUuZG93bi5yZXZlYWw6aG92ZXIgPiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgIWltcG9ydGFudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRmFkZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZhZGUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gIG9wYWNpdHk6IDE7XG59XG4udWkuZmFkZS5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5mYWRlLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICBvcGFjaXR5OiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBNb3ZlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkubW92ZS5yZXZlYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnVpLm1vdmUucmV2ZWFsID4gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSkgMC4xcztcbn1cbi51aS5tb3ZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbn1cbi51aS5tb3ZlLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG4udWkubW92ZS5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5tb3ZlLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpICFpbXBvcnRhbnQ7XG59XG4udWkubW92ZS5yaWdodC5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5tb3ZlLnJpZ2h0LnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgIWltcG9ydGFudDtcbn1cbi51aS5tb3ZlLnVwLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLm1vdmUudXAucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgIWltcG9ydGFudDtcbn1cbi51aS5tb3ZlLmRvd24uYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkubW92ZS5kb3duLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgIWltcG9ydGFudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBSb3RhdGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5yb3RhdGUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xufVxuLnVpLnJvdGF0ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLnJvdGF0ZS5yaWdodC5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xufVxuLnVpLnJvdGF0ZS5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5yb3RhdGUucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCxcbi51aS5yb3RhdGUucmlnaHQuYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkucm90YXRlLnJpZ2h0LnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxMTBkZWcpO1xufVxuLnVpLnJvdGF0ZS5sZWZ0LnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbn1cbi51aS5yb3RhdGUubGVmdC5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5yb3RhdGUubGVmdC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTExMGRlZyk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuZGlzYWJsZWQucmV2ZWFsOmhvdmVyID4gLnZpc2libGUudmlzaWJsZS5jb250ZW50IHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cbi51aS5kaXNhYmxlZC5yZXZlYWw6aG92ZXIgPiAuaGlkZGVuLmhpZGRlbi5jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ291cGxpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkucmV2ZWFsID4gLnVpLnJpYmJvbi5sYWJlbCB7XG4gIHotaW5kZXg6IDU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgVmlzaWJsZVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkudmlzaWJsZS5yZXZlYWwge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEluc3RhbnRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmluc3RhbnQucmV2ZWFsID4gLmNvbnRlbnQge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcyAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6aW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5yZXZlYWwgPiAuY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5taW5pLnJldmVhbCA+IC5jb250ZW50IHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLnRpbnkucmV2ZWFsID4gLmNvbnRlbnQge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkuc21hbGwucmV2ZWFsID4gLmNvbnRlbnQge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkubGFyZ2UucmV2ZWFsID4gLmNvbnRlbnQge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkuYmlnLnJldmVhbCA+IC5jb250ZW50IHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLmh1Z2UucmV2ZWFsID4gLmNvbnRlbnQge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5yZXZlYWwgPiAuY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBTZWdtZW50XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU2VnbWVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEdyb3VwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUGFnZSBHcmlkIFNlZ21lbnQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBQaWxlZCAqL1xuLyogQ2lyY3VsYXIgKi9cbi8qIFN0YWNrZWQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBMb2FkaW5nIERpbW1lciAqL1xuLyogTG9hZGluZyBTcGlubmVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFJhaXNlZCAqL1xuLyogUGFkZGVkICovXG4vKiBBdHRhY2hlZCAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEZsb2F0ZWQgKi9cbi8qIEJhc2ljICovXG4vKiBDb2xvcnMgKi9cbi8qIE9yZGluYWxpdHkgKi9cbi8qIFJlc2l6YWJsZSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFNlZ21lbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuc2VnbWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIHBhZGRpbmc6IDFlbSAxZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc2VnbWVudDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4udWkuc2VnbWVudDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qIFZlcnRpY2FsICovXG4udWkudmVydGljYWwuc2VnbWVudCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiBub25lIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnZlcnRpY2FsLnNlZ21lbnQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIExvb3NlIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSGVhZGVyICovXG4udWkuaW52ZXJ0ZWQuc2VnbWVudHMgLnNlZ21lbnQgPiAudWkuaGVhZGVyIC5zdWIuaGVhZGVyLFxuLnVpLmludmVydGVkLnNlZ21lbnRzIC5zZWdtZW50ID4gLnVpLmhlYWRlcixcbi51aS5pbnZlcnRlZC5zZWdtZW50ID4gLnVpLmhlYWRlciAuc3ViLmhlYWRlcixcbi51aS5pbnZlcnRlZC5zZWdtZW50ID4gLnVpLmhlYWRlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogTGFiZWwgKi9cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0uc2VnbWVudCA+IFtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0ubGFiZWwge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0uc2VnbWVudCA+IFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ubGFiZWwge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aS5hdHRhY2hlZC5zZWdtZW50Om5vdCgudG9wKTpub3QoLmJvdHRvbSkgPiBbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG4udWkuYXR0YWNoZWQuc2VnbWVudDpub3QoLnRvcCk6bm90KC5ib3R0b20pID4gW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLyogR3JpZCAqL1xuLnVpLnBhZ2UuZ3JpZC5zZWdtZW50LFxuLnVpLmdyaWQgPiAucm93ID4gLnVpLnNlZ21lbnQuY29sdW1uLFxuLnVpLmdyaWQgPiAudWkuc2VnbWVudC5jb2x1bW4ge1xuICBwYWRkaW5nLXRvcDogMmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMmVtO1xufVxuLnVpLmdyaWQuc2VnbWVudCB7XG4gIG1hcmdpbjogMXJlbSAwO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLyogVGFibGUgKi9cbi51aS5iYXNpYy50YWJsZS5zZWdtZW50IHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlLnNlZ21lbnQge1xuICBwYWRkaW5nOiAxZW0gMWVtO1xufVxuLyogVGFiICovXG4udWkuc2VnbWVudC50YWI6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgUGxhY2Vob2xkZXJcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIG1heC13aWR0aDogaW5pdGlhbDtcbiAgYW5pbWF0aW9uOiBub25lO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcGFkZGluZzogMWVtIDFlbTtcbiAgbWluLWhlaWdodDogMThyZW07XG4gIGJhY2tncm91bmQ6ICNmOWZhZmI7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm94LXNoYWRvdzogMCAycHggMjVweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4wNSkgaW5zZXQ7XG59XG4udWkucGxhY2Vob2xkZXIuc2VnbWVudC50YWIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQudGFiLmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4udWkucGxhY2Vob2xkZXIuc2VnbWVudCAuYnV0dG9uLFxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgdGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5wbGFjZWhvbGRlci5zZWdtZW50IC5maWVsZCxcbi51aS5wbGFjZWhvbGRlci5zZWdtZW50IHRleHRhcmVhLFxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgPiAudWkuaW5wdXQsXG4udWkucGxhY2Vob2xkZXIuc2VnbWVudCAuYnV0dG9uIHtcbiAgbWF4LXdpZHRoOiAxNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi51aS5wbGFjZWhvbGRlci5zZWdtZW50IC5jb2x1bW4gLmJ1dHRvbixcbi51aS5wbGFjZWhvbGRlci5zZWdtZW50IC5jb2x1bW4gLmZpZWxkLFxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgLmNvbHVtbiB0ZXh0YXJlYSxcbi51aS5wbGFjZWhvbGRlci5zZWdtZW50IC5jb2x1bW4gPiAudWkuaW5wdXQge1xuICBtYXgtd2lkdGg6IDE1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgPiAuaW5saW5lIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgPiAuaW5saW5lID4gLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMCAwLjM1NzE0Mjg2cmVtIDAgMDtcbn1cbi51aS5wbGFjZWhvbGRlci5zZWdtZW50ID4gLmlubGluZSA+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFBpbGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5waWxlZC5zZWdtZW50cyxcbi51aS5waWxlZC5zZWdtZW50IHtcbiAgbWFyZ2luOiAzZW0gMDtcbiAgYm94LXNoYWRvdzogXCJcIjtcbiAgei1pbmRleDogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkucGlsZWQuc2VnbWVudDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4udWkucGlsZWQuc2VnbWVudDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi51aS5waWxlZC5zZWdtZW50czo6YWZ0ZXIsXG4udWkucGlsZWQuc2VnbWVudHM6OmJlZm9yZSxcbi51aS5waWxlZC5zZWdtZW50OjphZnRlcixcbi51aS5waWxlZC5zZWdtZW50OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IGluaGVyaXQ7XG4gIGJveC1zaGFkb3c6IFwiXCI7XG59XG4udWkuaW52ZXJ0ZWQucGlsZWQuc2VnbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1NTU7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkucGlsZWQuc2VnbWVudHM6OmJlZm9yZSxcbi51aS5waWxlZC5zZWdtZW50OjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMS4yZGVnKTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAtMjtcbn1cbi51aS5waWxlZC5zZWdtZW50czo6YWZ0ZXIsXG4udWkucGlsZWQuc2VnbWVudDo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxLjJkZWcpO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuLyogUGlsZWQgQXR0YWNoZWQgKi9cbi51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0ucGlsZWQuc2VnbWVudCB7XG4gIG1hcmdpbi10b3A6IDNlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi51aS5waWxlZC5zZWdtZW50W2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4udWkucGlsZWQuc2VnbWVudFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAzZW07XG59XG4udWkucGlsZWQuc2VnbWVudFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5Ac3VwcG9ydHMgc2VsZWN0b3IoOmhhcyguZikpIHtcbiAgKjpoYXMoPiAudWkucGlsZWQuc2VnbWVudCkge1xuICAgIHotaW5kZXg6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFN0YWNrZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnN0YWNrZWQuc2VnbWVudCB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjRlbTtcbn1cbi51aS5zdGFja2VkLnNlZ21lbnRzOjpiZWZvcmUsXG4udWkuc3RhY2tlZC5zZWdtZW50czo6YWZ0ZXIsXG4udWkuc3RhY2tlZC5zZWdtZW50OjpiZWZvcmUsXG4udWkuc3RhY2tlZC5zZWdtZW50OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtM3B4O1xuICBsZWZ0OiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNnB4O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLnVpLnN0YWNrZWQuc2VnbWVudHM6OmJlZm9yZSxcbi51aS5zdGFja2VkLnNlZ21lbnQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBBZGQgYWRkaXRpb25hbCBwYWdlICovXG4udWkudGFsbC5zdGFja2VkLnNlZ21lbnRzOjpiZWZvcmUsXG4udWkudGFsbC5zdGFja2VkLnNlZ21lbnQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3R0b206IDA7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLnN0YWNrZWQuaW52ZXJ0ZWQuc2VnbWVudHMsXG4udWkuc3RhY2tlZC5pbnZlcnRlZC5zZWdtZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMjUsIDIyNSwgMjI1LCAwLjUpO1xufVxuLnVpLnN0YWNrZWQuaW52ZXJ0ZWQuc2VnbWVudHM6OmJlZm9yZSxcbi51aS5zdGFja2VkLmludmVydGVkLnNlZ21lbnQ6OmJlZm9yZSxcbi51aS5zdGFja2VkLmludmVydGVkLnNlZ21lbnRzOjphZnRlcixcbi51aS5zdGFja2VkLmludmVydGVkLnNlZ21lbnQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjI1LCAyMjUsIDIyNSwgMC41KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgUGFkZGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5wYWRkZWQuc2VnbWVudCB7XG4gIHBhZGRpbmc6IDEuNWVtO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnNlZ21lbnQge1xuICBwYWRkaW5nOiAzZW07XG59XG4vKiBQYWRkZWQgdmVydGljYWwgKi9cbi51aS5wYWRkZWQuc2VnbWVudC52ZXJ0aWNhbC5zZWdtZW50LFxuLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnZlcnRpY2FsLnNlZ21lbnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIENvbXBhY3RcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNvbXBhY3Quc2VnbWVudCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLyogQ29tcGFjdCBHcm91cCAqL1xuLnVpLmNvbXBhY3Quc2VnbWVudHMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cbi51aS5jb21wYWN0LnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLnNlZ21lbnRzIC5jb21wYWN0LnNlZ21lbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMCAxIGF1dG87XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIENpcmN1bGFyXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jaXJjdWxhci5zZWdtZW50IHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgcGFkZGluZzogMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwMGVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBSYWlzZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnVpLnJhaXNlZC5zZWdtZW50cyxcbi51aS51aS5yYWlzZWQuc2VnbWVudCB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnVpLmludmVydGVkLnJhaXNlZC5zZWdtZW50cyxcbi51aS51aS5pbnZlcnRlZC5yYWlzZWQuc2VnbWVudCB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMjI1LCAyMjUsIDIyNSwgMC4xKSwgMCAycHggMTBweCAwIHJnYmEoMjI1LCAyMjUsIDIyNSwgMC41KTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgICAgR3JvdXBzXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdyb3VwICovXG4udWkuc2VnbWVudHMge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMXJlbSAwO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLnNlZ21lbnRzOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5zZWdtZW50czpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qIE5lc3RlZCBTZWdtZW50ICovXG4udWkuc2VnbWVudHMgPiAuc2VnbWVudCB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiBhdXRvO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnNlZ21lbnRzOm5vdCguaG9yaXpvbnRhbCkgPiAuc2VnbWVudDpmaXJzdC1jaGlsZCB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItdG9wOiBub25lO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMCAwO1xufVxuLyogQm90dG9tICovXG4udWkuc2VnbWVudHM6bm90KC5ob3Jpem9udGFsKSA+IC5zZWdtZW50Omxhc3QtY2hpbGQge1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm94LXNoYWRvdzogMCAycHggMXB4IC0xcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi8qIE9ubHkgKi9cbi51aS5zZWdtZW50czpub3QoLmhvcml6b250YWwpID4gLnNlZ21lbnQ6b25seS1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4vKiBOZXN0ZWQgR3JvdXAgKi9cbi51aS5zZWdtZW50cyA+IC51aS5zZWdtZW50cyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBtYXJnaW46IDFyZW07XG59XG4udWkuc2VnbWVudHMgPiAuc2VnbWVudHM6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLnVpLnNlZ21lbnRzID4gLnNlZ21lbnQgKyAuc2VnbWVudHM6bm90KC5ob3Jpem9udGFsKSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4vKiBIb3Jpem9udGFsIEdyb3VwICovXG4udWkuaG9yaXpvbnRhbC5zZWdtZW50cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBtYXJnaW46IDFyZW0gMDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS53cmFwcGluZy5ob3Jpem9udGFsLnNlZ21lbnRzLFxuLnVpLnN0YWNrYWJsZS5ob3Jpem9udGFsLnNlZ21lbnRzIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLyogTmVzdGVkIEhvcml6b250YWwgR3JvdXAgKi9cbi51aS5zZWdtZW50cyA+IC5ob3Jpem9udGFsLnNlZ21lbnRzIHtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qIEhvcml6b250YWwgU2VnbWVudCAqL1xuLnVpLmhvcml6b250YWwuc2VnbWVudHM6bm90KC5jb21wYWN0KSA+IC5zZWdtZW50Om5vdCguY29tcGFjdCkge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgLW1zLWZsZXg6IDEgMSAwO1xufVxuLnVpLmhvcml6b250YWwuc2VnbWVudHMgPiAuc2VnbWVudCB7XG4gIG1hcmdpbjogMDtcbiAgbWluLXdpZHRoOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qIEJvcmRlciBGaXhlcyAqL1xuLnVpLnNlZ21lbnRzID4gLmhvcml6b250YWwuc2VnbWVudHM6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLnVpLmhvcml6b250YWwuc2VnbWVudHM6bm90KC5zdGFja2FibGUpOm5vdCgud3JhcHBpbmcpID4gLnNlZ21lbnQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cbi51aS5ob3Jpem9udGFsLnNlZ21lbnRzID4gLnNlZ21lbnQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAgMCAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLmhvcml6b250YWwuc2VnbWVudHMgPiAuc2VnbWVudDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMDtcbn1cbi8qIEVxdWFsIFdpZHRoICovXG4udWlbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0uaG9yaXpvbnRhbC5zZWdtZW50cyA+IC5zZWdtZW50IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kaXNhYmxlZC5zZWdtZW50cyxcbi51aS5kaXNhYmxlZC5zZWdtZW50IHtcbiAgb3BhY2l0eTogMC40NTtcbiAgY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMC4zKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTG9hZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxvYWRpbmcuc2VnbWVudHMsXG4udWkubG9hZGluZy5zZWdtZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgbWluLWhlaWdodDogNC41ZW07XG59XG4udWkubG9hZGluZy5zZWdtZW50czo6YmVmb3JlLFxuLnVpLmxvYWRpbmcuc2VnbWVudDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgei1pbmRleDogMTAwO1xufVxuLnVpLmxvYWRpbmcuc2VnbWVudHM6OmFmdGVyLFxuLnVpLmxvYWRpbmcuc2VnbWVudDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTEuNWVtIDAgMCAtMS41ZW07XG4gIHdpZHRoOiAzZW07XG4gIGhlaWdodDogM2VtO1xuICBhbmltYXRpb246IGxvYWRlciAwLjZzIGluZmluaXRlIGxpbmVhcjtcbiAgYm9yZGVyOiAwLjJlbSBzb2xpZCAjNzY3Njc2O1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgei1pbmRleDogMTAxO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQmFzaWNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmJhc2ljLnNlZ21lbnQsXG4udWkuc2VnbWVudHMgLnVpLmJhc2ljLnNlZ21lbnQsXG4udWkuYmFzaWMuc2VnbWVudHMge1xuICBiYWNrZ3JvdW5kOiBub25lIHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIENsZWFyaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jbGVhcmluZy5zZWdtZW50OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkudWkudWkudWkudWkucmVkLnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2RiMjgyODtcbn1cbi51aS51aS51aS51aS51aS5pbnZlcnRlZC5yZWQuc2VnbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYjI4Mjg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLmludmVydGVkLnJlZC5zZWdtZW50Om5vdCgucGlsZWQpIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGIyODI4O1xufVxuLnVpLnVpLnVpLnVpLnVpLm9yYW5nZS5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmMjcxMWM7XG59XG4udWkudWkudWkudWkudWkuaW52ZXJ0ZWQub3JhbmdlLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI3MTFjO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5pbnZlcnRlZC5vcmFuZ2Uuc2VnbWVudDpub3QoLnBpbGVkKSB7XG4gIGJvcmRlci1jb2xvcjogI2YyNzExYztcbn1cbi51aS51aS51aS51aS51aS55ZWxsb3cuc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZmJiZDA4O1xufVxuLnVpLnVpLnVpLnVpLnVpLmludmVydGVkLnllbGxvdy5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiYmQwODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuaW52ZXJ0ZWQueWVsbG93LnNlZ21lbnQ6bm90KC5waWxlZCkge1xuICBib3JkZXItY29sb3I6ICNmYmJkMDg7XG59XG4udWkudWkudWkudWkudWkub2xpdmUuc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjYjVjYzE4O1xufVxuLnVpLnVpLnVpLnVpLnVpLmludmVydGVkLm9saXZlLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjVjYzE4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5pbnZlcnRlZC5vbGl2ZS5zZWdtZW50Om5vdCgucGlsZWQpIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjVjYzE4O1xufVxuLnVpLnVpLnVpLnVpLnVpLmdyZWVuLnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzIxYmE0NTtcbn1cbi51aS51aS51aS51aS51aS5pbnZlcnRlZC5ncmVlbi5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYmE0NTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuaW52ZXJ0ZWQuZ3JlZW4uc2VnbWVudDpub3QoLnBpbGVkKSB7XG4gIGJvcmRlci1jb2xvcjogIzIxYmE0NTtcbn1cbi51aS51aS51aS51aS51aS50ZWFsLnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzAwYjVhZDtcbn1cbi51aS51aS51aS51aS51aS5pbnZlcnRlZC50ZWFsLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNWFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5pbnZlcnRlZC50ZWFsLnNlZ21lbnQ6bm90KC5waWxlZCkge1xuICBib3JkZXItY29sb3I6ICMwMGI1YWQ7XG59XG4udWkudWkudWkudWkudWkuYmx1ZS5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMyMTg1ZDA7XG59XG4udWkudWkudWkudWkudWkuaW52ZXJ0ZWQuYmx1ZS5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVkMDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuaW52ZXJ0ZWQuYmx1ZS5zZWdtZW50Om5vdCgucGlsZWQpIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLnVpLnVpLnVpLnVpLnZpb2xldC5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICM2NDM1Yzk7XG59XG4udWkudWkudWkudWkudWkuaW52ZXJ0ZWQudmlvbGV0LnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQzNWM5O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5pbnZlcnRlZC52aW9sZXQuc2VnbWVudDpub3QoLnBpbGVkKSB7XG4gIGJvcmRlci1jb2xvcjogIzY0MzVjOTtcbn1cbi51aS51aS51aS51aS51aS5wdXJwbGUuc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjYTMzM2M4O1xufVxuLnVpLnVpLnVpLnVpLnVpLmludmVydGVkLnB1cnBsZS5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzMzNjODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuaW52ZXJ0ZWQucHVycGxlLnNlZ21lbnQ6bm90KC5waWxlZCkge1xuICBib3JkZXItY29sb3I6ICNhMzMzYzg7XG59XG4udWkudWkudWkudWkudWkucGluay5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNlMDM5OTc7XG59XG4udWkudWkudWkudWkudWkuaW52ZXJ0ZWQucGluay5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMzk5NztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuaW52ZXJ0ZWQucGluay5zZWdtZW50Om5vdCgucGlsZWQpIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTAzOTk3O1xufVxuLnVpLnVpLnVpLnVpLnVpLmJyb3duLnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2E1NjczZjtcbn1cbi51aS51aS51aS51aS51aS5pbnZlcnRlZC5icm93bi5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1NjczZjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuaW52ZXJ0ZWQuYnJvd24uc2VnbWVudDpub3QoLnBpbGVkKSB7XG4gIGJvcmRlci1jb2xvcjogI2E1NjczZjtcbn1cbi51aS51aS51aS51aS51aS5ncmV5LnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzc2NzY3Njtcbn1cbi51aS51aS51aS51aS51aS5pbnZlcnRlZC5ncmV5LnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5pbnZlcnRlZC5ncmV5LnNlZ21lbnQ6bm90KC5waWxlZCkge1xuICBib3JkZXItY29sb3I6ICM3Njc2NzY7XG59XG4udWkudWkudWkudWkudWkuYmxhY2suc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMWIxYzFkO1xufVxuLnVpLnVpLnVpLnVpLnVpLmludmVydGVkLmJsYWNrLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5pbnZlcnRlZC5ibGFjay5zZWdtZW50Om5vdCgucGlsZWQpIHtcbiAgYm9yZGVyLWNvbG9yOiAjMWIxYzFkO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBBbGlnbmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aVtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uc2VnbWVudCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5zZWdtZW50IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4udWlbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0uc2VnbWVudCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgRmxvYXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmxvYXRlZC5zZWdtZW50LFxuLnVpW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5zZWdtZW50IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMWVtO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0uc2VnbWVudCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW52ZXJ0ZWQuc2VnbWVudHMsXG4udWkuaW52ZXJ0ZWQuc2VnbWVudHMgLnNlZ21lbnQsXG4udWkuaW52ZXJ0ZWQuc2VnbWVudCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5pbnZlcnRlZC5zZWdtZW50cyAuc2VnbWVudCxcbi51aS5pbnZlcnRlZC5zZWdtZW50LFxuLnVpLnByaW1hcnkuaW52ZXJ0ZWQuc2VnbWVudCB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4vKiBOZXN0ZWQgKi9cbi51aS5pbnZlcnRlZC5zZWdtZW50IC5zZWdtZW50IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuaW52ZXJ0ZWQuc2VnbWVudCAuaW52ZXJ0ZWQuc2VnbWVudCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4vKiBBdHRhY2hlZCAqL1xuLnVpLnVpLmludmVydGVkLmF0dGFjaGVkLnNlZ21lbnQge1xuICBib3JkZXItY29sb3I6ICM1NTU7XG59XG4vKiBMb2FkaW5nICovXG4udWkuaW52ZXJ0ZWQubG9hZGluZy5zZWdtZW50cyxcbi51aS5pbnZlcnRlZC5sb2FkaW5nLnNlZ21lbnQge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5sb2FkaW5nLnNlZ21lbnRzOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQubG9hZGluZy5zZWdtZW50OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBFbXBoYXNpc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlY29uZGFyeSAqL1xuLnVpLnNlY29uZGFyeS5zZWdtZW50IHtcbiAgYmFja2dyb3VuZDogI2YzZjRmNTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQuc2VnbWVudCB7XG4gIGJhY2tncm91bmQ6ICM0YzRmNTIgbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSAwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikgMTAwJSk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG4vKiBUZXJ0aWFyeSAqL1xuLnVpLnRlcnRpYXJ5LnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiAjZGNkZGRlO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLnVpLnRlcnRpYXJ5LmludmVydGVkLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiAjNzE3NTc5IGxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpIDAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSkgMTAwJSk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgQXR0YWNoZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWlkZGxlICovXG4udWkuYXR0YWNoZWQuc2VnbWVudCB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW46IDAgLTFweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gIG1heC13aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5hdHRhY2hlZC5zZWdtZW50Om5vdCguYmFzaWMpIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q0ZDRkNTtcbn1cbi51aS5hdHRhY2hlZDpub3QoLm1lc3NhZ2UpOm5vdCgudGV4dCkgKyAudWkuYXR0YWNoZWQuc2VnbWVudDpub3QoLnRvcCk6bm90KFtjbGFzcyo9XCJsZWZ0IGF0dGFjaGVkXCJdKTpub3QoW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdKSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4vKiBUb3AgKi9cbi51aS5zZWdtZW50W2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXSB7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdG9wOiAwO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMCAwO1xufVxuLnVpLnNlZ21lbnRbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS50YWIuc2VnbWVudFtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl06Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuLyogQm90dG9tICovXG4udWkuc2VnbWVudFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ge1xuICBib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm94LXNoYWRvdzogMCAycHggMXB4IC0xcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aS5zZWdtZW50W2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi51aS50YWIuc2VnbWVudFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4udWlbY2xhc3MqPVwibGVmdCBhdHRhY2hlZFwiXS5zZWdtZW50IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdLnNlZ21lbnQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi51aS5zZWFtbGVzcy5hdHRhY2hlZC5zZWdtZW50Om5vdCgudG9wKTpub3QoLmJvdHRvbSk6bm90KFtjbGFzcyo9XCJyaWdodCBhdHRhY2hlZFwiXSk6bm90KFtjbGFzcyo9XCJsZWZ0IGF0dGFjaGVkXCJdKSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4udWkuc2VhbWxlc3MuYXR0YWNoZWQuc2VnbWVudC50b3Age1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLnVpLnNlYW1sZXNzLmF0dGFjaGVkLnNlZ21lbnQuYm90dG9tIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi51aS5zZWFtbGVzcy5hdHRhY2hlZC5zZWdtZW50W2NsYXNzKj1cImxlZnQgYXR0YWNoZWRcIl0ge1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG4udWkuc2VhbWxlc3MuYXR0YWNoZWQuc2VnbWVudFtjbGFzcyo9XCJyaWdodCBhdHRhY2hlZFwiXSB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZpdHRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZpdHRlZC5zZWdtZW50Om5vdCguaG9yaXpvbnRhbGx5KSB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi51aS5maXR0ZWQuc2VnbWVudDpub3QoLnZlcnRpY2FsbHkpIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNjcm9sbGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNjcm9sbGluZy5zZWdtZW50IHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudC5zaG9ydCB7XG4gICAgbWF4LWhlaWdodDogMTEuMjVlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQuc2hvcnQucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDExLjI1ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50W2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDcuNWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudFtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiA3LjVlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQge1xuICAgIG1heC1oZWlnaHQ6IDE1ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50LnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAxNWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudC5sb25nIHtcbiAgICBtYXgtaGVpZ2h0OiAzMGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudC5sb25nLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAzMGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudFtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDQ1ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50W2NsYXNzKj1cInZlcnkgbG9uZ1wiXS5yZXNpemFibGUge1xuICAgIGhlaWdodDogNDVlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQuc2hvcnQge1xuICAgIG1heC1oZWlnaHQ6IDEzLjVlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQuc2hvcnQucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDEzLjVlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnRbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgbWF4LWhlaWdodDogOWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudFtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiA5ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAxOGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudC5yZXNpemFibGUge1xuICAgIGhlaWdodDogMThlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQubG9uZyB7XG4gICAgbWF4LWhlaWdodDogMzZlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQubG9uZy5yZXNpemFibGUge1xuICAgIGhlaWdodDogMzZlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnRbY2xhc3MqPVwidmVyeSBsb25nXCJdIHtcbiAgICBtYXgtaGVpZ2h0OiA1NGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudFtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDU0ZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50LnNob3J0IHtcbiAgICBtYXgtaGVpZ2h0OiAxOGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudC5zaG9ydC5yZXNpemFibGUge1xuICAgIGhlaWdodDogMThlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnRbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgbWF4LWhlaWdodDogMTJlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnRbY2xhc3MqPVwidmVyeSBzaG9ydFwiXS5yZXNpemFibGUge1xuICAgIGhlaWdodDogMTJlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQge1xuICAgIG1heC1oZWlnaHQ6IDI0ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50LnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAyNGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudC5sb25nIHtcbiAgICBtYXgtaGVpZ2h0OiA0OGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudC5sb25nLnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiA0OGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudFtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDcyZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50W2NsYXNzKj1cInZlcnkgbG9uZ1wiXS5yZXNpemFibGUge1xuICAgIGhlaWdodDogNzJlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50LnNob3J0IHtcbiAgICBtYXgtaGVpZ2h0OiAyMi41ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50LnNob3J0LnJlc2l6YWJsZSB7XG4gICAgaGVpZ2h0OiAyMi41ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50W2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDE1ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50W2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDE1ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5zZWdtZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAzMGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudC5yZXNpemFibGUge1xuICAgIGhlaWdodDogMzBlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQubG9uZyB7XG4gICAgbWF4LWhlaWdodDogNjBlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQubG9uZy5yZXNpemFibGUge1xuICAgIGhlaWdodDogNjBlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnNlZ21lbnRbY2xhc3MqPVwidmVyeSBsb25nXCJdIHtcbiAgICBtYXgtaGVpZ2h0OiA5MGVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcuc2VnbWVudFtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ucmVzaXphYmxlIHtcbiAgICBoZWlnaHQ6IDkwZW07XG4gIH1cbn1cbi51aS5yZXNpemFibGUuc2Nyb2xsaW5nLnNlZ21lbnQge1xuICByZXNpemU6IHZlcnRpY2FsO1xuICBtYXgtaGVpZ2h0OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLnNlZ21lbnQge1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkubWluaS5zZWdtZW50cyAuc2VnbWVudCxcbi51aS5taW5pLnNlZ21lbnQge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG4udWkudGlueS5zZWdtZW50cyAuc2VnbWVudCxcbi51aS50aW55LnNlZ21lbnQge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkuc21hbGwuc2VnbWVudHMgLnNlZ21lbnQsXG4udWkuc21hbGwuc2VnbWVudCB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbi51aS5sYXJnZS5zZWdtZW50cyAuc2VnbWVudCxcbi51aS5sYXJnZS5zZWdtZW50IHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy5zZWdtZW50cyAuc2VnbWVudCxcbi51aS5iaWcuc2VnbWVudCB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5odWdlLnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLmh1Z2Uuc2VnbWVudCB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLm1hc3NpdmUuc2VnbWVudCB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBTdGVwXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RlcFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBMb2FkIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0ZXBcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgR3JvdXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSWNvbiAqL1xuLyogVGl0bGUgKi9cbi8qIERlc2NyaXB0aW9uICovXG4vKiBBcnJvdyAqL1xuLyogTW9iaWxlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBWZXJ0aWNhbCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENpcmN1bGFyICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQ29tcGxldGVkICovXG4vKiBIb3ZlciAqL1xuLyogRG93biAqL1xuLyogQWN0aXZlICovXG4vKiBBY3RpdmUgKyBIb3ZlciAqL1xuLyogRGlzYWJsZWQgKi9cbi8qIEludmVydGVkICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgUGx1cmFsXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBtYXJnaW46IDFlbSAwO1xuICBiYWNrZ3JvdW5kOiBcIlwiO1xuICBib3gtc2hhZG93OiBub25lO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNGVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnN0ZXBzOm5vdCgudW5zdGFja2FibGUpIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLyogRmlyc3QgU3RlcHMgKi9cbi51aS5zdGVwczpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4vKiBMYXN0IFN0ZXBzICovXG4udWkuc3RlcHM6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBTaW5ndWxhclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAwIGF1dG87XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDAgMDtcbiAgcGFkZGluZzogMS4xNDI4NTcxNGVtIDJlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UsIG9wYWNpdHkgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2UsIGJveC1zaGFkb3cgMC4xcyBlYXNlO1xufVxuLyogQXJyb3cgKi9cbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogNTAlO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgd2lkdGg6IDEuMTQyODU3MTRlbTtcbiAgaGVpZ2h0OiAxLjE0Mjg1NzE0ZW07XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UsIG9wYWNpdHkgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2UsIGJveC1zaGFkb3cgMC4xcyBlYXNlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpIHJvdGF0ZSgtNDVkZWcpO1xufVxuLyogRmlyc3QgU3RlcCAqL1xuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMCAwIDAuMjg1NzE0MjlyZW07XG59XG4vKiBMYXN0IFN0ZXAgKi9cbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMDtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4vKiBPbmx5IFN0ZXAgKi9cbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcDpvbmx5LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVGl0bGUgKi9cbi51aS5zdGVwcyAuc3RlcCAudGl0bGUge1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNGVtO1xufVxuLnVpLnN0ZXBzIC5zdGVwID4gLnRpdGxlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiBEZXNjcmlwdGlvbiAqL1xuLnVpLnN0ZXBzIC5zdGVwIC5kZXNjcmlwdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTRlbTtcbn1cbi51aS5zdGVwcyAuc3RlcCA+IC5kZXNjcmlwdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLnN0ZXBzIC5zdGVwIC50aXRsZSB+IC5kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDAuMjVlbTtcbn1cbi8qIEljb24gKi9cbi51aS5zdGVwcyAuc3RlcCA+IGkuaWNvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IDIuNWVtO1xuICBtYXJnaW46IDAgMXJlbSAwIDA7XG59XG4udWkuc3RlcHMgLnN0ZXAgPiBpLmljb24sXG4udWkuc3RlcHMgLnN0ZXAgPiBpLmljb24gfiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAwIDEgYXV0bztcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLyogSG9yaXpvbnRhbCBJY29uICovXG4udWkuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAgPiBpLmljb24ge1xuICB3aWR0aDogYXV0bztcbn1cbi8qIExpbmsgKi9cbi51aS5zdGVwcyAubGluay5zdGVwLFxuLnVpLnN0ZXBzIGEuc3RlcCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5jaXJjdWxhci5zdGVwcyB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMWVtIDA7XG4gIG1hcmdpbjogMWVtIDA7XG59XG4udWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGhlaWdodDogMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IDIuMmVtO1xufVxuLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwOjpiZWZvcmUge1xuICBsZWZ0OiAtMi4yZW07XG59XG4udWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXA6OmFmdGVyIHtcbiAgbGVmdDogY2FsYygoLTIuMmVtICsgMC45NWVtKSAtIDAuM2VtKTtcbn1cbi51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5jb21wbGV0ZWQge1xuICBiYWNrZ3JvdW5kOiAjMjFiYTQ1O1xufVxuLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmNvbXBsZXRlZDo6YWZ0ZXIge1xuICBsZWZ0OiBjYWxjKC0yLjJlbSArICgoMi4yZW0gLyAyKSAvIDIpICsgKDJweCAvIDIpKTtcbn1cbi51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgZmxleDogMDtcbn1cbi51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcCAuY29udGVudCB7XG4gIG1hcmdpbi10b3A6IC0xLjVlbTtcbiAgcGFkZGluZzogMCAwLjVlbTtcbn1cbi51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcCAuY29udGVudC5jZW50ZXIuYWxpZ25lZCB7XG4gIG1hcmdpbi10b3A6IC0wLjY1ZW07XG59XG4udWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAgLmNvbnRlbnQuY2VudGVyLmFsaWduZWQgLnRpdGxlIHtcbiAgcGFkZGluZzogMCAwLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cbi51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcCAuY29udGVudC5ib3R0b20uYWxpZ25lZCB7XG4gIG1hcmdpbi10b3A6IDAuNWVtO1xufVxuLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwIC5jb250ZW50Om5vdCguYWxpZ25lZCkgLnRpdGxlICsgLmRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG59XG4udWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgYS5zdGVwOjpiZWZvcmUsXG4udWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgYS5zdGVwOjphZnRlcixcbi51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSBhLnN0ZXAgLmNvbnRlbnQsXG4udWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAubGluayAuY29udGVudCxcbi51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5saW5rOjpiZWZvcmUsXG4udWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAubGluazo6YWZ0ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi51aS5jaXJjdWxhci5zdGVwcyAuc3RlcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBoZWlnaHQ6IDIuMmVtO1xuICB3aWR0aDogMi4yZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgaGVpZ2h0OiAwLjk1ZW07XG4gIHdpZHRoOiAwLjk1ZW07XG59XG4udWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMyMWJhNDU7XG59XG4udWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICMyMWJhNDU7XG59XG4udWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlIC50aXRsZSB7XG4gIGNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzIxYmE0NTtcbiAgYm9yZGVyLWNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29udGVudDogXCJcXGU4MDBcIjtcbiAgZm9udC1mYW1pbHk6IFN0ZXA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5Ac3VwcG9ydHMgc2VsZWN0b3IoOmhhcyguZikpIHtcbiAgLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwOmxhc3QtY2hpbGQ6aGFzKC5jb250ZW50KSB7XG4gICAgZmxleDogMTtcbiAgfVxuICAudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXA6bGFzdC1jaGlsZDpoYXMoLmNlbnRlci5hbGlnbmVkLmNvbnRlbnQpIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgT3JkZXJlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm9yZGVyZWQuc3RlcHMge1xuICBjb3VudGVyLXJlc2V0OiBvcmRlcmVkO1xufVxuLnVpLm9yZGVyZWQuc3RlcHMgLnN0ZXA6OmJlZm9yZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29udGVudDogY291bnRlcihvcmRlcmVkKTtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBjb3VudGVyLWluY3JlbWVudDogb3JkZXJlZDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLm9yZGVyZWQuc3RlcHM6bm90KC5jaXJjdWxhcikgLnN0ZXA6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmb250LXNpemU6IDIuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG4udWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcDo6YmVmb3JlIHtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMi4yZW0gLSAycHgpO1xufVxuLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xufVxuLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXA6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4udWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSB7XG4gIGNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLm9yZGVyZWQuc3RlcHMgLnN0ZXAgPiAqIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFZlcnRpY2FsXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkudmVydGljYWwuc3RlcHM6bm90KC5jaXJjdWxhcikge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4udWkudmVydGljYWwuc3RlcHM6bm90KC5jaXJjdWxhcikgLnN0ZXAge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDEuMTQyODU3MTRlbSAyZW07XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkudmVydGljYWwuc3RlcHM6bm90KC5jaXJjdWxhcikgLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nOiAxLjE0Mjg1NzE0ZW0gMmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMCAwO1xufVxuLnVpLnZlcnRpY2FsLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLnZlcnRpY2FsLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwOm9ubHktY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLyogQXJyb3cgKi9cbi51aS52ZXJ0aWNhbC5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcDo6YWZ0ZXIge1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkucmlnaHQudmVydGljYWwuc3RlcHM6bm90KC5jaXJjdWxhcikgLnN0ZXA6OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDFweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xufVxuLnVpLnZlcnRpY2FsLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5hY3RpdmUuc3RlcDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS52ZXJ0aWNhbC5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcDpsYXN0LWNoaWxkOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkudmVydGljYWwuc3RlcHM6bm90KC5jaXJjdWxhcikgLmFjdGl2ZS5zdGVwOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKiBDaXJjdWxhciBTdGVwICovXG4udWkuY2lyY3VsYXIudmVydGljYWwuc3RlcHMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG4udWkuY2lyY3VsYXIudmVydGljYWwuc3RlcHMgLnN0ZXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLmNpcmN1bGFyLnZlcnRpY2FsLnN0ZXBzIC5zdGVwOjpiZWZvcmUge1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4udWkuY2lyY3VsYXIudmVydGljYWwuc3RlcHMgLnN0ZXA6OmFmdGVyIHtcbiAgbGVmdDogY2FsYygoMi4yZW0gLyAoMi4yICogMikpICsgMnB4KTtcbiAgdG9wOiBjYWxjKCgyLjJlbSAvICgyLjIgKiAyKSkgKyAycHgpO1xufVxuLnVpLmNpcmN1bGFyLnZlcnRpY2FsLnN0ZXBzIC5zdGVwIC5jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAzLjVlbTtcbn1cbi51aS5jaXJjdWxhci52ZXJ0aWNhbC5zdGVwcyAuc3RlcDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgcGFkZGluZy1ib3R0b206IDNlbTtcbn1cbi51aS5jaXJjdWxhci52ZXJ0aWNhbC5zdGVwcyAuc3RlcDpub3QoOmxhc3QtY2hpbGQpIC5jb250ZW50OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgdG9wOiAyLjJlbTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiBjYWxjKDIuMmVtIC8gMik7XG59XG4udWkuY2lyY3VsYXIudmVydGljYWwuc3RlcHMgLnN0ZXAuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMyMWJhNDU7XG59XG4udWkuY2lyY3VsYXIudmVydGljYWwuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMjFiYTQ1O1xuICBib3JkZXItY29sb3I6ICMyMWJhNDU7XG59XG4udWkuY2lyY3VsYXIudmVydGljYWwuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjphZnRlciB7XG4gIHRvcDogY2FsYygoMi4yZW0gLyAoMi4yICogMikpICsgKDJweCAtICgycHggLyAyKSkpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tXG4gICAgUmVzcG9uc2l2ZVxuLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTW9iaWxlIChEZWZhdWx0KSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkuc3RlcHM6bm90KC51bnN0YWNrYWJsZSk6bm90KC5jaXJjdWxhcikge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnVpLnN0ZXBzOm5vdCgudW5zdGFja2FibGUpOm5vdCguY2lyY3VsYXIpIC5zdGVwIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAxLjE0Mjg1NzE0ZW0gMmVtO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgfVxuICAudWkuc3RlcHM6bm90KC51bnN0YWNrYWJsZSk6bm90KC5jaXJjdWxhcikgLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6IDEuMTQyODU3MTRlbSAyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDAgMDtcbiAgfVxuICAudWkuc3RlcHM6bm90KC51bnN0YWNrYWJsZSk6bm90KC5jaXJjdWxhcikgLnN0ZXA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG4gIC8qIEFycm93ICovXG4gIC51aS5zdGVwczpub3QoLnVuc3RhY2thYmxlKTpub3QoLmNpcmN1bGFyKSAuc3RlcDo6YWZ0ZXIge1xuICAgIHRvcDogdW5zZXQ7XG4gICAgYm90dG9tOiAtMS4xNDI4NTcxNGVtO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKSByb3RhdGUoNDVkZWcpO1xuICB9XG4gIC51aS52ZXJ0aWNhbC5zdGVwczpub3QoLmNpcmN1bGFyKSAuYWN0aXZlLnN0ZXA6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLyogQ29udGVudCAqL1xuICAudWkuc3RlcHM6bm90KC51bnN0YWNrYWJsZSk6bm90KC5jaXJjdWxhcikgLnN0ZXAgLmNvbnRlbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAvKiBJY29uICovXG4gIC51aS5zdGVwczpub3QoLnVuc3RhY2thYmxlKTpub3QoLmNpcmN1bGFyKSAuc3RlcCA+IGkuaWNvbixcbiAgLnVpLm9yZGVyZWQuc3RlcHM6bm90KC51bnN0YWNrYWJsZSk6bm90KC5jaXJjdWxhcikgLnN0ZXA6OmJlZm9yZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIExpbmsgSG92ZXIgKi9cbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAubGluay5zdGVwOmhvdmVyOjphZnRlcixcbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAubGluay5zdGVwOmhvdmVyLFxuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIGEuc3RlcDpob3Zlcjo6YWZ0ZXIsXG4udWkuc3RlcHM6bm90KC5jaXJjdWxhcikgYS5zdGVwOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbi8qIExpbmsgRG93biAqL1xuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5saW5rLnN0ZXA6YWN0aXZlOjphZnRlcixcbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAubGluay5zdGVwOmFjdGl2ZSxcbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSBhLnN0ZXA6YWN0aXZlOjphZnRlcixcbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSBhLnN0ZXA6YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2YzZjRmNTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbn1cbi8qIEFjdGl2ZSAqL1xuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwLmFjdGl2ZSB7XG4gIGN1cnNvcjogYXV0bztcbiAgYmFja2dyb3VuZDogI2YzZjRmNTtcbn1cbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcC5hY3RpdmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2YzZjRmNTtcbn1cbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcC5hY3RpdmUgLnRpdGxlIHtcbiAgY29sb3I6ICM0MTgzYzQ7XG59XG4udWkub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS5zdGVwcyAuYWN0aXZlLnN0ZXAgaS5pY29uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG59XG4vKiBBY3RpdmUgQXJyb3cgKi9cbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAuYWN0aXZlLnN0ZXA6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkuc3RlcHM6bm90KC5jaXJjdWxhcikgLnN0ZXA6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5hY3RpdmUuc3RlcDpsYXN0LWNoaWxkOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBBY3RpdmUgSG92ZXIgKi9cbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAubGluay5hY3RpdmUuc3RlcDpob3Zlcjo6YWZ0ZXIsXG4udWkuc3RlcHM6bm90KC5jaXJjdWxhcikgLmxpbmsuYWN0aXZlLnN0ZXA6aG92ZXIsXG4udWkuc3RlcHM6bm90KC5jaXJjdWxhcikgYS5hY3RpdmUuc3RlcDpob3Zlcjo6YWZ0ZXIsXG4udWkuc3RlcHM6bm90KC5jaXJjdWxhcikgYS5hY3RpdmUuc3RlcDpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogI2RjZGRkZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4vKiBDb21wbGV0ZWQgKi9cbi51aS5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgPiBpLmljb246OmJlZm9yZSxcbi51aS5vcmRlcmVkLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgY29sb3I6ICMyMWJhNDU7XG59XG4vKiBEaXNhYmxlZCAqL1xuLnVpLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5kaXNhYmxlZC5zdGVwIHtcbiAgY3Vyc29yOiBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAuZGlzYWJsZWQuc3RlcCxcbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAuZGlzYWJsZWQuc3RlcCAudGl0bGUsXG4udWkuc3RlcHM6bm90KC5jaXJjdWxhcikgLmRpc2FibGVkLnN0ZXAgLmRlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMC4zKTtcbn1cbi51aS5zdGVwczpub3QoLmNpcmN1bGFyKSAuZGlzYWJsZWQuc3RlcDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuLnVpLmNpcmN1bGFyLnN0ZXBzIC5kaXNhYmxlZC5zdGVwIHtcbiAgY3Vyc29yOiBhdXRvO1xuICBvcGFjaXR5OiAwLjU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnVpLmNpcmN1bGFyLnN0ZXBzIC5kaXNhYmxlZC5zdGVwOjpiZWZvcmUsXG4udWkuY2lyY3VsYXIuc3RlcHMgLmRpc2FibGVkLnN0ZXA6OmFmdGVyIHtcbiAgY3Vyc29yOiBhdXRvO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgU3RhY2thYmxlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUYWJsZXQgT3IgQmVsb3cgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHM6bm90KC5jaXJjdWxhcikge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLyogU3RlcHMgKi9cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHM6bm90KC5jaXJjdWxhcikgLnN0ZXAge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAxLjE0Mjg1NzE0ZW0gMmVtO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgfVxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcDpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZzogMS4xNDI4NTcxNGVtIDJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMCAwO1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxuICAvKiBBcnJvdyAqL1xuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcDo6YWZ0ZXIge1xuICAgIHRvcDogdW5zZXQ7XG4gICAgYm90dG9tOiAtMS4xNDI4NTcxNGVtO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKSByb3RhdGUoNDVkZWcpO1xuICB9XG4gIC8qIENvbnRlbnQgKi9cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHM6bm90KC5jaXJjdWxhcikgLnN0ZXAgLmNvbnRlbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAvKiBJY29uICovXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnN0ZXBzIC5zdGVwID4gaS5pY29uLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5vcmRlcmVkLnN0ZXBzIC5zdGVwOjpiZWZvcmUge1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBGbHVpZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRmx1aWQgKi9cbi51aS5mbHVpZC5zdGVwcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQXR0YWNoZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRvcCAqL1xuLnVpLmF0dGFjaGVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCkgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIC0xcHggMDtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMCAwO1xufVxuLnVpLmF0dGFjaGVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwIDAgMDtcbn1cbi51aS5hdHRhY2hlZC5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI4NTcxNDI5cmVtIDAgMDtcbn1cbi8qIEJvdHRvbSAqL1xuLnVpLmJvdHRvbS5hdHRhY2hlZC5zdGVwczpub3QoLmNpcmN1bGFyKSB7XG4gIG1hcmdpbjogMCAtMXB4IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4udWkuYm90dG9tLmF0dGFjaGVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMC4yODU3MTQyOXJlbTtcbn1cbi51aS5ib3R0b20uYXR0YWNoZWQuc3RlcHM6bm90KC5jaXJjdWxhcikgLnN0ZXA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEV2ZW5seSBEaXZpZGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5vbmUuc3RlcHMsXG4udWkudHdvLnN0ZXBzLFxuLnVpLnRocmVlLnN0ZXBzLFxuLnVpLmZvdXIuc3RlcHMsXG4udWkuZml2ZS5zdGVwcyxcbi51aS5zaXguc3RlcHMsXG4udWkuc2V2ZW4uc3RlcHMsXG4udWkuZWlnaHQuc3RlcHMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5vbmUuc3RlcHMgPiAuc3RlcCxcbi51aS50d28uc3RlcHMgPiAuc3RlcCxcbi51aS50aHJlZS5zdGVwcyA+IC5zdGVwLFxuLnVpLmZvdXIuc3RlcHMgPiAuc3RlcCxcbi51aS5maXZlLnN0ZXBzID4gLnN0ZXAsXG4udWkuc2l4LnN0ZXBzID4gLnN0ZXAsXG4udWkuc2V2ZW4uc3RlcHMgPiAuc3RlcCxcbi51aS5laWdodC5zdGVwcyA+IC5zdGVwIHtcbiAgZmxleC13cmFwOiBub3dyYXA7XG59XG4udWkub25lLnN0ZXBzID4gLnN0ZXAge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS50d28uc3RlcHMgPiAuc3RlcCB7XG4gIHdpZHRoOiA1MCU7XG59XG4udWkudGhyZWUuc3RlcHMgPiAuc3RlcCB7XG4gIHdpZHRoOiAzMy4zMzMlO1xufVxuLnVpLmZvdXIuc3RlcHMgPiAuc3RlcCB7XG4gIHdpZHRoOiAyNSU7XG59XG4udWkuZml2ZS5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDIwJTtcbn1cbi51aS5zaXguc3RlcHMgPiAuc3RlcCB7XG4gIHdpZHRoOiAxNi42NjYlO1xufVxuLnVpLnNldmVuLnN0ZXBzID4gLnN0ZXAge1xuICB3aWR0aDogMTQuMjg1JTtcbn1cbi51aS5laWdodC5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnN0ZXBzIC5zdGVwLFxuLnVpLnN0ZXAge1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkubWluaS5zdGVwcyAuc3RlcCxcbi51aS5taW5pLnN0ZXAge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG4udWkubWluaS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSB7XG4gIG1hcmdpbjogMC43ODU3MTQyOXJlbSAwO1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5cmVtIDA7XG59XG4udWkudGlueS5zdGVwcyAuc3RlcCxcbi51aS50aW55LnN0ZXAge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkudGlueS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSB7XG4gIG1hcmdpbjogMC44NTcxNDI4NnJlbSAwO1xuICBwYWRkaW5nOiAwLjg1NzE0Mjg2cmVtIDA7XG59XG4udWkuc21hbGwuc3RlcHMgLnN0ZXAsXG4udWkuc21hbGwuc3RlcCB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbi51aS5zbWFsbC5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSB7XG4gIG1hcmdpbjogMC45Mjg1NzE0M3JlbSAwO1xuICBwYWRkaW5nOiAwLjkyODU3MTQzcmVtIDA7XG59XG4udWkubGFyZ2Uuc3RlcHMgLnN0ZXAsXG4udWkubGFyZ2Uuc3RlcCB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5sYXJnZS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSB7XG4gIG1hcmdpbjogMS4xNDI4NTcxNHJlbSAwO1xuICBwYWRkaW5nOiAxLjE0Mjg1NzE0cmVtIDA7XG59XG4udWkuYmlnLnN0ZXBzIC5zdGVwLFxuLnVpLmJpZy5zdGVwIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLmJpZy5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSB7XG4gIG1hcmdpbjogMS4yODU3MTQyOXJlbSAwO1xuICBwYWRkaW5nOiAxLjI4NTcxNDI5cmVtIDA7XG59XG4udWkuaHVnZS5zdGVwcyAuc3RlcCxcbi51aS5odWdlLnN0ZXAge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkuaHVnZS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSB7XG4gIG1hcmdpbjogMS40Mjg1NzE0M3JlbSAwO1xuICBwYWRkaW5nOiAxLjQyODU3MTQzcmVtIDA7XG59XG4udWkubWFzc2l2ZS5zdGVwcyAuc3RlcCxcbi51aS5tYXNzaXZlLnN0ZXAge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG4udWkubWFzc2l2ZS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSB7XG4gIG1hcmdpbjogMS43MTQyODU3MXJlbSAwO1xuICBwYWRkaW5nOiAxLjcxNDI4NTcxcmVtIDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmludmVydGVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGJvcmRlci1jb2xvcjogIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBib3JkZXItY29sb3I6ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuc3RlcHMgLnN0ZXAgLmRlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi8qIEFjdGl2ZSAqL1xuLnVpLmludmVydGVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5zdGVwczpub3QoLmNpcmN1bGFyKSAuc3RlcC5hY3RpdmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbn1cbi51aS5pbnZlcnRlZC5vcmRlcmVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLmludmVydGVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIC5hY3RpdmUuc3RlcCBpLmljb24ge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi8qIERpc2FibGVkICovXG4udWkuaW52ZXJ0ZWQuc3RlcHM6bm90KC5jaXJjdWxhcikgLmRpc2FibGVkLnN0ZXAsXG4udWkuaW52ZXJ0ZWQuc3RlcHM6bm90KC5jaXJjdWxhcikgLmRpc2FibGVkLnN0ZXA6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzIyMjtcbn1cbi51aS5pbnZlcnRlZC5zdGVwczpub3QoLmNpcmN1bGFyKSAuZGlzYWJsZWQuc3RlcCxcbi51aS5pbnZlcnRlZC5zdGVwczpub3QoLmNpcmN1bGFyKSAuZGlzYWJsZWQuc3RlcCAudGl0bGUsXG4udWkuaW52ZXJ0ZWQuc3RlcHM6bm90KC5jaXJjdWxhcikgLmRpc2FibGVkLnN0ZXAgLmRlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHJnYmEoMjI1LCAyMjUsIDIyNSwgMC4zKTtcbn1cbi8qIExpbmsgSG92ZXIgKi9cbi51aS5pbnZlcnRlZC5zdGVwczpub3QoLmNpcmN1bGFyKSAubGluay5zdGVwOmhvdmVyOjphZnRlcixcbi51aS5pbnZlcnRlZC5zdGVwczpub3QoLmNpcmN1bGFyKSAubGluay5zdGVwOmhvdmVyLFxuLnVpLmludmVydGVkLnN0ZXBzOm5vdCguY2lyY3VsYXIpIGEuc3RlcDpob3Zlcjo6YWZ0ZXIsXG4udWkuaW52ZXJ0ZWQuc3RlcHM6bm90KC5jaXJjdWxhcikgYS5zdGVwOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzNmM2YzZjtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4vKiBMaW5rIERvd24gKi9cbi51aS5pbnZlcnRlZC5zdGVwczpub3QoLmNpcmN1bGFyKSAubGluay5zdGVwOmFjdGl2ZTo6YWZ0ZXIsXG4udWkuaW52ZXJ0ZWQuc3RlcHM6bm90KC5jaXJjdWxhcikgLmxpbmsuc3RlcDphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuc3RlcHM6bm90KC5jaXJjdWxhcikgYS5zdGVwOmFjdGl2ZTo6YWZ0ZXIsXG4udWkuaW52ZXJ0ZWQuc3RlcHM6bm90KC5jaXJjdWxhcikgYS5zdGVwOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICM0NDQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLyogQ2lyY3VsYXIgU3RlcCAqL1xuLnVpLmludmVydGVkLmNpcmN1bGFyLnN0ZXBzIC5zdGVwIC5jb250ZW50IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcDpub3QoLmNvbXBsZXRlZCkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXA6bm90KC5hY3RpdmUpOm5vdCguY29tcGxldGVkKTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAgLmNlbnRlci5hbGlnbmVkLmNvbnRlbnQgLnRpdGxlIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbn1cbi51aS5pbnZlcnRlZC5jaXJjdWxhci5zdGVwczpub3QoLm9yZGVyZWQpIC5zdGVwOm5vdCguYWN0aXZlKTpub3QoLmNvbXBsZXRlZCk6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLmNpcmN1bGFyLnN0ZXBzLnZlcnRpY2FsIC5zdGVwOm5vdCguYWN0aXZlKTpub3QoLmNvbXBsZXRlZCk6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLmNpcmN1bGFyLnN0ZXBzLnZlcnRpY2FsIC5zdGVwOm5vdCguY29tcGxldGVkKSAuY29udGVudDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnByaW1hcnk6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzZDMzY2Nztcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5wcmltYXJ5OjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICM2QzM2Njc7XG59XG4udWkudWkucHJpbWFyeS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5wcmltYXJ5LmFjdGl2ZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLnVpLnByaW1hcnkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjphZnRlcixcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5wcmltYXJ5LmFjdGl2ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjNkMzNjY3O1xufVxuLnVpLnVpLnByaW1hcnkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAucHJpbWFyeS5jb21wbGV0ZWQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM2QzM2Njc7XG4gIGJvcmRlci1jb2xvcjogIzZDMzY2Nztcbn1cbi51aS51aS5wcmltYXJ5LmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmNvbXBsZXRlZCxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5wcmltYXJ5LmNvbXBsZXRlZCB7XG4gIGJhY2tncm91bmQ6ICM2QzM2Njc7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICM2QzM2Njc7XG59XG4udWkudWkucHJpbWFyeS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnByaW1hcnkuYWN0aXZlIC5jb250ZW50IC50aXRsZSB7XG4gIGNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZC5wcmltYXJ5IC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM2QzM2Njc7XG59XG4udWkudWkucHJpbWFyeS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSxcbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5wcmltYXJ5LmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLnVpLnByaW1hcnkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcDo6YWZ0ZXIsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5wcmltYXJ5OjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnVpLnVpLnByaW1hcnkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLnByaW1hcnkuYWN0aXZlOjpiZWZvcmUge1xuICBjb2xvcjogIzZDMzY2Nztcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5zZWNvbmRhcnk6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzg4ZDMxNztcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5zZWNvbmRhcnk6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzg4ZDMxNztcbn1cbi51aS51aS5zZWNvbmRhcnkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuc2Vjb25kYXJ5LmFjdGl2ZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjODhkMzE3O1xufVxuLnVpLnVpLnNlY29uZGFyeS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmFmdGVyLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnNlY29uZGFyeS5hY3RpdmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzg4ZDMxNztcbn1cbi51aS51aS5zZWNvbmRhcnkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuc2Vjb25kYXJ5LmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzg4ZDMxNztcbiAgYm9yZGVyLWNvbG9yOiAjODhkMzE3O1xufVxuLnVpLnVpLnNlY29uZGFyeS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5jb21wbGV0ZWQsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuc2Vjb25kYXJ5LmNvbXBsZXRlZCB7XG4gIGJhY2tncm91bmQ6ICM4OGQzMTc7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogIzg4ZDMxNztcbn1cbi51aS51aS5zZWNvbmRhcnkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlIC5jb250ZW50IC50aXRsZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5zZWNvbmRhcnkuYWN0aXZlIC5jb250ZW50IC50aXRsZSB7XG4gIGNvbG9yOiAjODhkMzE3O1xufVxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZC5zZWNvbmRhcnkgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzg4ZDMxNztcbn1cbi51aS51aS5zZWNvbmRhcnkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUsXG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuc2Vjb25kYXJ5LmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjODhkMzE3O1xufVxuLnVpLnVpLnNlY29uZGFyeS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwOjphZnRlcixcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLnNlY29uZGFyeTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi51aS51aS5zZWNvbmRhcnkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLnNlY29uZGFyeS5hY3RpdmU6OmJlZm9yZSB7XG4gIGNvbG9yOiAjODhkMzE3O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnJlZDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGIyODI4O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnJlZDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjZGIyODI4O1xufVxuLnVpLnVpLnJlZC5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5yZWQuYWN0aXZlOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNkYjI4Mjg7XG59XG4udWkudWkucmVkLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YWZ0ZXIsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAucmVkLmFjdGl2ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjZGIyODI4O1xufVxuLnVpLnVpLnJlZC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQ6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5yZWQuY29tcGxldGVkOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZGIyODI4O1xuICBib3JkZXItY29sb3I6ICNkYjI4Mjg7XG59XG4udWkudWkucmVkLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmNvbXBsZXRlZCxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5yZWQuY29tcGxldGVkIHtcbiAgYmFja2dyb3VuZDogI2RiMjgyODtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5yZWQge1xuICBiYWNrZ3JvdW5kOiAjZGIyODI4O1xufVxuLnVpLnVpLnJlZC5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnJlZC5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlIHtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkLnJlZCAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGIyODI4O1xufVxuLnVpLnVpLnJlZC52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSxcbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5yZWQuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNkYjI4Mjg7XG59XG4udWkudWkucmVkLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXA6OmFmdGVyLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAucmVkOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnVpLnVpLnJlZC5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAucmVkLmFjdGl2ZTo6YmVmb3JlIHtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAub3JhbmdlOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNmMjcxMWM7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAub3JhbmdlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNmMjcxMWM7XG59XG4udWkudWkub3JhbmdlLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLm9yYW5nZS5hY3RpdmU6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2YyNzExYztcbn1cbi51aS51aS5vcmFuZ2UuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjphZnRlcixcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5vcmFuZ2UuYWN0aXZlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNmMjcxMWM7XG59XG4udWkudWkub3JhbmdlLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZDo6YmVmb3JlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLm9yYW5nZS5jb21wbGV0ZWQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmMjcxMWM7XG4gIGJvcmRlci1jb2xvcjogI2YyNzExYztcbn1cbi51aS51aS5vcmFuZ2UuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuY29tcGxldGVkLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLm9yYW5nZS5jb21wbGV0ZWQge1xuICBiYWNrZ3JvdW5kOiAjZjI3MTFjO1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLm9yYW5nZSB7XG4gIGJhY2tncm91bmQ6ICNmMjcxMWM7XG59XG4udWkudWkub3JhbmdlLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZSAuY29udGVudCAudGl0bGUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAub3JhbmdlLmFjdGl2ZSAuY29udGVudCAudGl0bGUge1xuICBjb2xvcjogI2YyNzExYztcbn1cbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQub3JhbmdlIC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNmMjcxMWM7XG59XG4udWkudWkub3JhbmdlLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlLFxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLm9yYW5nZS5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2YyNzExYztcbn1cbi51aS51aS5vcmFuZ2UuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcDo6YWZ0ZXIsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5vcmFuZ2U6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4udWkudWkub3JhbmdlLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5vcmFuZ2UuYWN0aXZlOjpiZWZvcmUge1xuICBjb2xvcjogI2YyNzExYztcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC55ZWxsb3c6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2ZiYmQwODtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC55ZWxsb3c6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2ZiYmQwODtcbn1cbi51aS51aS55ZWxsb3cuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAueWVsbG93LmFjdGl2ZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLnVpLnllbGxvdy5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmFmdGVyLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnllbGxvdy5hY3RpdmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2ZiYmQwODtcbn1cbi51aS51aS55ZWxsb3cuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAueWVsbG93LmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2ZiYmQwODtcbiAgYm9yZGVyLWNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLnVpLnllbGxvdy5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5jb21wbGV0ZWQsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAueWVsbG93LmNvbXBsZXRlZCB7XG4gIGJhY2tncm91bmQ6ICNmYmJkMDg7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAueWVsbG93IHtcbiAgYmFja2dyb3VuZDogI2ZiYmQwODtcbn1cbi51aS51aS55ZWxsb3cuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlIC5jb250ZW50IC50aXRsZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC55ZWxsb3cuYWN0aXZlIC5jb250ZW50IC50aXRsZSB7XG4gIGNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZC55ZWxsb3cgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2ZiYmQwODtcbn1cbi51aS51aS55ZWxsb3cudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUsXG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAueWVsbG93LmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLnVpLnllbGxvdy5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwOjphZnRlcixcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLnllbGxvdzo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi51aS51aS55ZWxsb3cuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLnllbGxvdy5hY3RpdmU6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLm9saXZlOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNiNWNjMTg7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAub2xpdmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2I1Y2MxODtcbn1cbi51aS51aS5vbGl2ZS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5vbGl2ZS5hY3RpdmU6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2I1Y2MxODtcbn1cbi51aS51aS5vbGl2ZS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmFmdGVyLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLm9saXZlLmFjdGl2ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjYjVjYzE4O1xufVxuLnVpLnVpLm9saXZlLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZDo6YmVmb3JlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLm9saXZlLmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2I1Y2MxODtcbiAgYm9yZGVyLWNvbG9yOiAjYjVjYzE4O1xufVxuLnVpLnVpLm9saXZlLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmNvbXBsZXRlZCxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5vbGl2ZS5jb21wbGV0ZWQge1xuICBiYWNrZ3JvdW5kOiAjYjVjYzE4O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLm9saXZlIHtcbiAgYmFja2dyb3VuZDogI2I1Y2MxODtcbn1cbi51aS51aS5vbGl2ZS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLm9saXZlLmFjdGl2ZSAuY29udGVudCAudGl0bGUge1xuICBjb2xvcjogI2I1Y2MxODtcbn1cbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQub2xpdmUgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2I1Y2MxODtcbn1cbi51aS51aS5vbGl2ZS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSxcbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5vbGl2ZS5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2I1Y2MxODtcbn1cbi51aS51aS5vbGl2ZS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwOjphZnRlcixcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLm9saXZlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnVpLnVpLm9saXZlLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5vbGl2ZS5hY3RpdmU6OmJlZm9yZSB7XG4gIGNvbG9yOiAjYjVjYzE4O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmdyZWVuOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMyMWJhNDU7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuZ3JlZW46OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzIxYmE0NTtcbn1cbi51aS51aS5ncmVlbi5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5ncmVlbi5hY3RpdmU6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzIxYmE0NTtcbn1cbi51aS51aS5ncmVlbi5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmFmdGVyLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmdyZWVuLmFjdGl2ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjFiYTQ1O1xufVxuLnVpLnVpLmdyZWVuLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZDo6YmVmb3JlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmdyZWVuLmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzIxYmE0NTtcbiAgYm9yZGVyLWNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLnVpLmdyZWVuLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmNvbXBsZXRlZCxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5ncmVlbi5jb21wbGV0ZWQge1xuICBiYWNrZ3JvdW5kOiAjMjFiYTQ1O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmdyZWVuIHtcbiAgYmFja2dyb3VuZDogIzIxYmE0NTtcbn1cbi51aS51aS5ncmVlbi5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmdyZWVuLmFjdGl2ZSAuY29udGVudCAudGl0bGUge1xuICBjb2xvcjogIzIxYmE0NTtcbn1cbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQuZ3JlZW4gLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzIxYmE0NTtcbn1cbi51aS51aS5ncmVlbi52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSxcbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5ncmVlbi5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzIxYmE0NTtcbn1cbi51aS51aS5ncmVlbi5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwOjphZnRlcixcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLmdyZWVuOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnVpLnVpLmdyZWVuLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5ncmVlbi5hY3RpdmU6OmJlZm9yZSB7XG4gIGNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnRlYWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzAwYjVhZDtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC50ZWFsOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICMwMGI1YWQ7XG59XG4udWkudWkudGVhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC50ZWFsLmFjdGl2ZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLnVpLnRlYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjphZnRlcixcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC50ZWFsLmFjdGl2ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMDBiNWFkO1xufVxuLnVpLnVpLnRlYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAudGVhbC5jb21wbGV0ZWQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMwMGI1YWQ7XG4gIGJvcmRlci1jb2xvcjogIzAwYjVhZDtcbn1cbi51aS51aS50ZWFsLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmNvbXBsZXRlZCxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC50ZWFsLmNvbXBsZXRlZCB7XG4gIGJhY2tncm91bmQ6ICMwMGI1YWQ7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAudGVhbCB7XG4gIGJhY2tncm91bmQ6ICMwMGI1YWQ7XG59XG4udWkudWkudGVhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnRlYWwuYWN0aXZlIC5jb250ZW50IC50aXRsZSB7XG4gIGNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZC50ZWFsIC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMwMGI1YWQ7XG59XG4udWkudWkudGVhbC52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSxcbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC50ZWFsLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLnVpLnRlYWwuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcDo6YWZ0ZXIsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC50ZWFsOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnVpLnVpLnRlYWwuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLnRlYWwuYWN0aXZlOjpiZWZvcmUge1xuICBjb2xvcjogIzAwYjVhZDtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5ibHVlOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMyMTg1ZDA7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYmx1ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjE4NWQwO1xufVxuLnVpLnVpLmJsdWUuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYmx1ZS5hY3RpdmU6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzIxODVkMDtcbn1cbi51aS51aS5ibHVlLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YWZ0ZXIsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYmx1ZS5hY3RpdmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzIxODVkMDtcbn1cbi51aS51aS5ibHVlLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZDo6YmVmb3JlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmJsdWUuY29tcGxldGVkOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMjE4NWQwO1xuICBib3JkZXItY29sb3I6ICMyMTg1ZDA7XG59XG4udWkudWkuYmx1ZS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5jb21wbGV0ZWQsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuYmx1ZS5jb21wbGV0ZWQge1xuICBiYWNrZ3JvdW5kOiAjMjE4NWQwO1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmJsdWUge1xuICBiYWNrZ3JvdW5kOiAjMjE4NWQwO1xufVxuLnVpLnVpLmJsdWUuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlIC5jb250ZW50IC50aXRsZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5ibHVlLmFjdGl2ZSAuY29udGVudCAudGl0bGUge1xuICBjb2xvcjogIzIxODVkMDtcbn1cbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQuYmx1ZSAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLnVpLmJsdWUudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUsXG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYmx1ZS5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzIxODVkMDtcbn1cbi51aS51aS5ibHVlLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXA6OmFmdGVyLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuYmx1ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi51aS51aS5ibHVlLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5ibHVlLmFjdGl2ZTo6YmVmb3JlIHtcbiAgY29sb3I6ICMyMTg1ZDA7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAudmlvbGV0OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM2NDM1Yzk7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAudmlvbGV0OjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICM2NDM1Yzk7XG59XG4udWkudWkudmlvbGV0LmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnZpb2xldC5hY3RpdmU6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzY0MzVjOTtcbn1cbi51aS51aS52aW9sZXQuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjphZnRlcixcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC52aW9sZXQuYWN0aXZlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICM2NDM1Yzk7XG59XG4udWkudWkudmlvbGV0LmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZDo6YmVmb3JlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnZpb2xldC5jb21wbGV0ZWQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM2NDM1Yzk7XG4gIGJvcmRlci1jb2xvcjogIzY0MzVjOTtcbn1cbi51aS51aS52aW9sZXQuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuY29tcGxldGVkLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLnZpb2xldC5jb21wbGV0ZWQge1xuICBiYWNrZ3JvdW5kOiAjNjQzNWM5O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLnZpb2xldCB7XG4gIGJhY2tncm91bmQ6ICM2NDM1Yzk7XG59XG4udWkudWkudmlvbGV0LmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZSAuY29udGVudCAudGl0bGUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAudmlvbGV0LmFjdGl2ZSAuY29udGVudCAudGl0bGUge1xuICBjb2xvcjogIzY0MzVjOTtcbn1cbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQudmlvbGV0IC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM2NDM1Yzk7XG59XG4udWkudWkudmlvbGV0LnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlLFxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnZpb2xldC5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzY0MzVjOTtcbn1cbi51aS51aS52aW9sZXQuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcDo6YWZ0ZXIsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC52aW9sZXQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4udWkudWkudmlvbGV0LmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC52aW9sZXQuYWN0aXZlOjpiZWZvcmUge1xuICBjb2xvcjogIzY0MzVjOTtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5wdXJwbGU6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2EzMzNjODtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5wdXJwbGU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2EzMzNjODtcbn1cbi51aS51aS5wdXJwbGUuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAucHVycGxlLmFjdGl2ZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLnVpLnB1cnBsZS5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmFmdGVyLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnB1cnBsZS5hY3RpdmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2EzMzNjODtcbn1cbi51aS51aS5wdXJwbGUuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAucHVycGxlLmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2EzMzNjODtcbiAgYm9yZGVyLWNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLnVpLnB1cnBsZS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5jb21wbGV0ZWQsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAucHVycGxlLmNvbXBsZXRlZCB7XG4gIGJhY2tncm91bmQ6ICNhMzMzYzg7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAucHVycGxlIHtcbiAgYmFja2dyb3VuZDogI2EzMzNjODtcbn1cbi51aS51aS5wdXJwbGUuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlIC5jb250ZW50IC50aXRsZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5wdXJwbGUuYWN0aXZlIC5jb250ZW50IC50aXRsZSB7XG4gIGNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZC5wdXJwbGUgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2EzMzNjODtcbn1cbi51aS51aS5wdXJwbGUudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUsXG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAucHVycGxlLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLnVpLnB1cnBsZS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwOjphZnRlcixcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLnB1cnBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi51aS51aS5wdXJwbGUuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLnB1cnBsZS5hY3RpdmU6OmJlZm9yZSB7XG4gIGNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnBpbms6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2UwMzk5Nztcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5waW5rOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNlMDM5OTc7XG59XG4udWkudWkucGluay5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5waW5rLmFjdGl2ZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTAzOTk3O1xufVxuLnVpLnVpLnBpbmsuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjphZnRlcixcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5waW5rLmFjdGl2ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjZTAzOTk3O1xufVxuLnVpLnVpLnBpbmsuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAucGluay5jb21wbGV0ZWQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNlMDM5OTc7XG4gIGJvcmRlci1jb2xvcjogI2UwMzk5Nztcbn1cbi51aS51aS5waW5rLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmNvbXBsZXRlZCxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5waW5rLmNvbXBsZXRlZCB7XG4gIGJhY2tncm91bmQ6ICNlMDM5OTc7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAucGluayB7XG4gIGJhY2tncm91bmQ6ICNlMDM5OTc7XG59XG4udWkudWkucGluay5jaXJjdWxhci5zdGVwcyAuc3RlcC5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLnBpbmsuYWN0aXZlIC5jb250ZW50IC50aXRsZSB7XG4gIGNvbG9yOiAjZTAzOTk3O1xufVxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZC5waW5rIC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNlMDM5OTc7XG59XG4udWkudWkucGluay52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSxcbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5waW5rLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTAzOTk3O1xufVxuLnVpLnVpLnBpbmsuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcDo6YWZ0ZXIsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5waW5rOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnVpLnVpLnBpbmsuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLnBpbmsuYWN0aXZlOjpiZWZvcmUge1xuICBjb2xvcjogI2UwMzk5Nztcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5icm93bjo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTU2NzNmO1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmJyb3duOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNhNTY3M2Y7XG59XG4udWkudWkuYnJvd24uY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYnJvd24uYWN0aXZlOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNhNTY3M2Y7XG59XG4udWkudWkuYnJvd24uY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjphZnRlcixcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5icm93bi5hY3RpdmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2E1NjczZjtcbn1cbi51aS51aS5icm93bi5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQ6OmJlZm9yZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5icm93bi5jb21wbGV0ZWQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNhNTY3M2Y7XG4gIGJvcmRlci1jb2xvcjogI2E1NjczZjtcbn1cbi51aS51aS5icm93bi5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5jb21wbGV0ZWQsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuYnJvd24uY29tcGxldGVkIHtcbiAgYmFja2dyb3VuZDogI2E1NjczZjtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5icm93biB7XG4gIGJhY2tncm91bmQ6ICNhNTY3M2Y7XG59XG4udWkudWkuYnJvd24uY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlIC5jb250ZW50IC50aXRsZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5icm93bi5hY3RpdmUgLmNvbnRlbnQgLnRpdGxlIHtcbiAgY29sb3I6ICNhNTY3M2Y7XG59XG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkLmJyb3duIC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNhNTY3M2Y7XG59XG4udWkudWkuYnJvd24udmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUsXG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYnJvd24uY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNhNTY3M2Y7XG59XG4udWkudWkuYnJvd24uY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcDo6YWZ0ZXIsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5icm93bjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi51aS51aS5icm93bi5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuYnJvd24uYWN0aXZlOjpiZWZvcmUge1xuICBjb2xvcjogI2E1NjczZjtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5ncmV5OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM3Njc2NzY7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuZ3JleTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xufVxuLnVpLnVpLmdyZXkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuZ3JleS5hY3RpdmU6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3Njtcbn1cbi51aS51aS5ncmV5LmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YWZ0ZXIsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuZ3JleS5hY3RpdmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzc2NzY3Njtcbn1cbi51aS51aS5ncmV5LmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZDo6YmVmb3JlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmdyZXkuY29tcGxldGVkOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICBib3JkZXItY29sb3I6ICM3Njc2NzY7XG59XG4udWkudWkuZ3JleS5jaXJjdWxhci5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcC5jb21wbGV0ZWQsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuZ3JleS5jb21wbGV0ZWQge1xuICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xufVxuLnVpLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmdyZXkge1xuICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xufVxuLnVpLnVpLmdyZXkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYWN0aXZlIC5jb250ZW50IC50aXRsZSxcbi51aS51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5ncmV5LmFjdGl2ZSAuY29udGVudCAudGl0bGUge1xuICBjb2xvcjogIzc2NzY3Njtcbn1cbi51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQuZ3JleSAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLnVpLmdyZXkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUsXG4udWkudWkudmVydGljYWwuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuZ3JleS5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3Njtcbn1cbi51aS51aS5ncmV5LmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXA6OmFmdGVyLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuZ3JleTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi51aS51aS5ncmV5LmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuYWN0aXZlOjpiZWZvcmUsXG4udWkudWkuY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5ncmV5LmFjdGl2ZTo6YmVmb3JlIHtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYmxhY2s6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzFiMWMxZDtcbn1cbi51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5ibGFjazo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xufVxuLnVpLnVpLmJsYWNrLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmJsYWNrLmFjdGl2ZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnVpLmJsYWNrLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZTo6YWZ0ZXIsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYmxhY2suYWN0aXZlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG59XG4udWkudWkuYmxhY2suY2lyY3VsYXIuc3RlcHMgLnN0ZXAuY29tcGxldGVkOjpiZWZvcmUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYmxhY2suY29tcGxldGVkOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xuICBib3JkZXItY29sb3I6ICMxYjFjMWQ7XG59XG4udWkudWkuYmxhY2suY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuY29tcGxldGVkLFxuLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzOm5vdCgudmVydGljYWwpIC5zdGVwLmJsYWNrLmNvbXBsZXRlZCB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG59XG4udWkudWkuY2lyY3VsYXIuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAuYmxhY2sge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xufVxuLnVpLnVpLmJsYWNrLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmFjdGl2ZSAuY29udGVudCAudGl0bGUsXG4udWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuYmxhY2suYWN0aXZlIC5jb250ZW50IC50aXRsZSB7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZC5ibGFjayAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnVpLmJsYWNrLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlLFxuLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLmJsYWNrLmNvbXBsZXRlZCAuY29udGVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnVpLmJsYWNrLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXA6OmFmdGVyLFxuLnVpLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAuYmxhY2s6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4udWkudWkuYmxhY2suY2lyY3VsYXIub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLmJsYWNrLmFjdGl2ZTo6YmVmb3JlIHtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBTdGVwO1xuICBzcmM6IHVybChcImRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2Jhc2U2NCxkMDlHUmdBQkFBQUFBQXFnQUJBQUFBQUFFWHdBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBS2hBQUFBQndBQUFBY2pPTHp4RWRFUlVZQUFBcG9BQUFBSEFBQUFDQUFKd0FZVDFNdk1nQUFBZVFBQUFCRUFBQUFWajR3U1VaamJXRndBQUFDUEFBQUFFWUFBQUZPMEJrRHgyTjJkQ0FBQUFmWUFBQUFGQUFBQUJ3R1NmK1VabkJuYlFBQUFvUUFBQVQ1QUFBSmtZb0tlRHRuWVhOd0FBQUtZQUFBQUFnQUFBQUlBQUFBRUdkc2VXWUFBQWY0QUFBQXVBQUFBTGo1eWpUK2FHVmhaQUFBQVd3QUFBQTFBQUFBTmhHQVNsVm9hR1ZoQUFBQnBBQUFBQ0FBQUFBa0Izd0RhMmh0ZEhnQUFBSW9BQUFBRkFBQUFCUU13Z0JEYkc5allRQUFCK3dBQUFBTUFBQUFEQUE0QUZ4dFlYaHdBQUFCeEFBQUFDQUFBQUFnQUtnQVIyNWhiV1VBQUFpd0FBQUJnUUFBQXVnZ3E5aUtjRzl6ZEFBQUNqUUFBQUFxQUFBQVBhN0FRSnB3Y21Wd0FBQUhnQUFBQUZZQUFBQldrcUdhLzNpY1kyQmtZR0FBWWluK20rbngvRFpmR2VSWkdFRGd2T21NWGhCOVB5SDMzLysvLzljejcyS1dBM0k1R0poQW9nQkFzQXlUQUFBQWVKeGpZR1JnWUU3N244WVF3OEx3LysvLy84eTdHSUFpS0lBVkFLZ2xCdTBBQVFBQUFBVUFGZ0FCQUFBQUFBQUNBQVlBRXdCdUFBQUFMUUFjQUFBQUFIaWNZMkJrUHM4NGdZR1ZnWU9waytrc0F3TkRQNFJtZk1OZ3hNakJ3TURFd01yTWdCVUVwTG1tTURpOFlIakJ5SnoyUDQwaGhsbU9JUkFvekFpU0F3QVlEZ3YwQkFBQUFBQUFBQUFCVkFBQUJBQUFSZ050Ly8xNG5OMk13UTNBSUF3RHp4UXhCU013Q1B0UHdSYlVDZjEwQlN3bEowdTJnWWR6SFJHYWRrcGZHV1l6UllHbHZTT3dPTXhVemJhL0d0K0E2WFEwZmhMWDZ3V0FVd2F3QUFCNG5KMVYyWGJUVmhTVlBHUndFanBrb0tBTzE5dzRVT3ZLaENrWU1Ha3F4WFloSFJ3SXJRUWRwQXgwNUozSFB1dHJqa0s3VmgvNXRPNTlQU1MwZEsyMkxKYlB2a2RiWjlnNjUwWWNJeXA5R29ocjFLR1Nsd09wckQyV1N2ZEpYTmQxTDQrVkRBWnhYYllTVDBtYnFKMGtTbXJkN0ZBdThWanJLbGtuV0NmajVTQldUMVdlWjZBTTRoUWVaVWxFRzBRYnFaY21TZUtKNHllSkZtY1FIeVZKSUNXakVLZlN5RkJDTlJyRVV0V2hUT25RcTljVGNkTkF5a2FqSG5WWVZQZER4U2ZITmFmVXJBTkdLbGM1d2hYcjFVYStHNmNETDN1UXhEckJzNjJITVI1NHJINlVLcENLa2VuSVAzWktUcFNHZ1ZSeDFLRlc0dWd3azEvM2tVd3F6VUNtakdKRnBlNkJ1TjM5ZE5zV01UMTBPcjR1U3BWR3FycTV6aWlhN2RIeHFJTW9EOW5HNmFUYzBObjI4T1VaVTFTclhYR3o3VUJtRFZ4S3lXeDBuMFFBSFNaUzQra0JUaldjQXFrWjlVZkYyZWZQQVJMSlhKU3FQRlV5aDNvRG1UTTdlM0V4N1c0bnE3SndwSjhITW05MmR1T2RoME9uVjRkLzBmb1hUT0hNUjQvaVluNCtRdnBRYW40aVRpU2xSbGpNOHFlR0gzRlhJRUs1TVlnTEY4cmdVNFE1ZEVYYTJXWmQ0N1V4OW9iUCtVcXBZVDBKMnVpaitINEsvVTRrS3h4blVhUDFTSnpOWTlkMXJkeG5VRXUxdXhjN01xOURsU0x1N3dzTHJqUG5oR0dlRmd0Vlg1NzUzZ1UwL3dhSVoveEEzalNGUy91V0tVcTBiNXVpVEx0b2lncnRFbFNsWFRiRkZPMktLYVpwejVwaWh2WWRVOHpTbmpNeTQvL0wzT2VSK3h6ZThaQ2I5bDNrcG4wUHVXbmZSMjdhRDVDYlZpRTNiUjI1YVM4Z042MUdidHBWb3pwMkJCb0dhUmRTRlVIUU5MTDZZZHhXbS9WQTFvdzBmR2xnOGk1aXlQcnFSRWVkdGJYS0g4Vi9kZUlMQjNKcG9xZTdJaGViNGk2djJ4WStQTjN1cTQrYVJ0MncxZmpHa2ZJd0hrWjZISnJRV2ZuTjRiL3RUZDB1bXU0eXFqTG9BUlZNQ3NBQVplMUFBdE02MndtazlacW4rUElIWUZ5R2VNNUtRN1ZVbnp1R3B1L2xlVi8zc1RueHZzZnR4aTYzWEhkNUNWbldEWEpqOXZEZlVtU3E2eC9sTGExVUowZXNLeWVQVldzWVF5cThLTHEra3BSN3RMVWJ2eWlwc3ZKZWxOYks1NU9RbXoyREcwSmJ0dTVoc0NOTWFjb2xIbDVUcFNnOTFGS09za01zYnluS1BPQ1Vpd3RhaHNTNERuVVBhbXZFNmFGNkdCc0xJWWFodEwwUWNFZ3BYUlhmdE1wMzhSNnJhOWpvK01VVjRlbDZjaElSbitJcSsxSHdWTmRHL2VnTzJyeG0zVEtES1ZXcXAvdU1UN0d2Mi9aUldXbWtqck1YdDFRSDF6VHJHamtWMDAva2ErQjBiemhvM1FNOVZIdzBRU05WTmNmb3hpaGpOSlkxNWQ4RWRERldmc05vMVdMN1BkeFBuYVJWckxsTG1PeWJFL2ZndEx2OUt2dTFuRnRHMXYzWEJyMXQ1SXFmSXpHL0xRcjhPd2RpdDJRTjFEdVRnUmdMeUZuUUdNWVdKbmNZcm9OdHhHMzJQeWFuLzkrR2hVVnlWenNhdTNucXc5V1RVU1YzMmZLNHkwMTJXZGVqTmtmVlRocjdDSTB0RHpmbTJPRnlMTGJFWUVHMi9zSC9NZTRCZDJsUkF1RFF5R1dZaU5wMG9aN3E0ZW9lcTdGdE9GY1NBWGJOc2VOMEFIb0FMa0hmSEx2Vzh3bUE5ZHdqNXk3QWZYSUlkc2doK0pRY2dzL0l1UVh3T1RrRVg1QkRNQ0NIWUplY093QVB5Q0Y0U0E3Qkhqa0VqOGpaQlBpU0hJS3Z5Q0dJeVNGSXlMa044SmdjZ2lma0VIeE5Ec0UzUnE1T1pQNldCOWtBK3M2aW0wQ3BuUm9jMmpoa1JxNU4yUHM4V1BhQlJXUWZXa1Rxa1pIckUrcFRIaXoxZTR0SS9jRWlVbjgwY21OQy9Za0hTLzNaSWxKL3NZalVaOGFYbVNNcHJ3NmU4NDRPL2dTWDZxMWVBQUFBUzdnQXlGSllzUUVCamxtNUNBQUlBR01nc0FFalJMQURJM0N5QkNnSlJWSkVzZ29DQnlxeEJnRkVzU1FCaUZGWXNFQ0lXTEVHQTBTeEpnR0lVVmk0QkFDSVdMRUdBVVJaV1ZsWnVBSC9oYkFFamJFRkFFUUFBSGljWTJCQUEwWU1Sc3pjL3plQ01BQVF0QVBoQUFBQUFBQUFBQUFBT0FCY0FBRUFSZ0FCQTdvQ3FBQVZBQnhBR1E4QkFBRUJRZ0FDQVFKcUFBRUFBV29BQUFCaEZCY1VBeElyQVJRSEFRWWlKd0VtTkQ4Qk5qSWZBUUUyTWg4QkZnTzZELzRVRUMwUS91TVBEMDRRTFJHb0FYWVFMaEJPRHdJakZ4RCtGQThQQVIwUUxSRk9FQkNwQVhnUUVFNFFBQUFCLy8zL3J3TjBBeDRBREFBU1FBOEFBUUVLUXdBQUFBc0FSQlVUQWhFckFSUU9BU0l1QWo0Qk1oNEJBMjUxeSszTmNRWjl3UHEvZ1FGbWVNaDNkOG52eVhkM3lRQUFBSGljZlpITFNzTkFGSWIvNlVWckN5SUtyZzhJWWhIU0M3cHhWU2xVY09taSs3U21TVXFhQ1pPcDBOZnhHZHo2Q0xwejY5YXRLOWYrU1VmQmdrM0k1RHYvdWN5Wk13QU84UTZGOVhPSnhMRkNBMCtPSzlqRmkrTXE5US9ITlRSVXhYRWRMWFhpZUlmNnRlTW16dFdqNHhhTzFCY3JxTm9lclhsWnJXQ0ZBenc2cm1BZno0NnIxTjhjMThpZmp1czRWaTNIT3poUUhjZE5qTld0NHhaTzFTdUcwTWl3Z2tHTUVCRXNCR2RVMi96MzBVVVBGNlFKSTRTUjY2Z1lLWHpPUWJndW1SR1ZucHoyZ04rTVZrbzFZRVJDOWpEbHVnQ0dPbHVaT0l5c25BM2IwdS8yTG1TeUVrMHBUdjFFL0tXTnRNbGxJRE9kMmlCSnREZlZUTnVzaHg4M2NFY3haQXNKR3pFMGczQ1orR1pyeWhiWG1HSnhqTGdNRVI3ZDR3QXdEa3dlNjFSNlhuZHIrZzNGdEN6aGx3SDN2M1BMOGNBMisxUXRDeFFUTXVWRUJLT05jc0s3S0h4ektsUHFIc3NHYVdCOEc5d1h3OG9md3I2MU01a1p2WkNSMjFveW8rZkIxREk0S3ZmSWNJVU8zMzl2SXJJMnUrcDAvc3o1R3lMSGg3MEFBQUI0bkdOZ1lvQUFMZ2JzZ0JXSUdSbVlHSmtZbVRtVE0xS1RzM01UaTdMWmtqT0xrbk5TQVRrUEJrWUFBQUFCQUFILy93QVBlSnhqWUdSZ1lPQUJZZ0VHQ1FZbUlNMEN4Q0NhRVlJQkJXMEFRQUFBQUFFQUFBQUEza3p0T0FBQUFBRFBOWmlOQUFBQUFOOWdiZjQ9XCIpIGZvcm1hdChcIndvZmZcIik7XG59XG4udWkuc3RlcHMgLnN0ZXAuY29tcGxldGVkID4gLmljb246OmJlZm9yZSxcbi51aS5vcmRlcmVkLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFN0ZXA7XG4gIGNvbnRlbnQ6IFwiXFxlODAwXCI7XG4gIC8qICfuoIAnICovXG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBUZXh0XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGV4dFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFRleHRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5zcGFuLnVpLnRleHQge1xuICBsaW5lLWhlaWdodDogMTtcbn1cbnNwYW4udWkucHJpbWFyeS50ZXh0IHtcbiAgY29sb3I6ICM2QzM2Njc7XG59XG5zcGFuLnVpLmludmVydGVkLnByaW1hcnkudGV4dCB7XG4gIGNvbG9yOiAjNTRjOGZmO1xufVxuc3Bhbi51aS5zZWNvbmRhcnkudGV4dCB7XG4gIGNvbG9yOiAjODhkMzE3O1xufVxuc3Bhbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkudGV4dCB7XG4gIGNvbG9yOiAjNTQ1NDU0O1xufVxuc3Bhbi51aS5yZWQudGV4dCB7XG4gIGNvbG9yOiAjZGIyODI4O1xufVxuc3Bhbi51aS5pbnZlcnRlZC5yZWQudGV4dCB7XG4gIGNvbG9yOiAjZmY2OTVlO1xufVxuc3Bhbi51aS5vcmFuZ2UudGV4dCB7XG4gIGNvbG9yOiAjZjI3MTFjO1xufVxuc3Bhbi51aS5pbnZlcnRlZC5vcmFuZ2UudGV4dCB7XG4gIGNvbG9yOiAjZmY4NTFiO1xufVxuc3Bhbi51aS55ZWxsb3cudGV4dCB7XG4gIGNvbG9yOiAjZmJiZDA4O1xufVxuc3Bhbi51aS5pbnZlcnRlZC55ZWxsb3cudGV4dCB7XG4gIGNvbG9yOiAjZmZlMjFmO1xufVxuc3Bhbi51aS5vbGl2ZS50ZXh0IHtcbiAgY29sb3I6ICNiNWNjMTg7XG59XG5zcGFuLnVpLmludmVydGVkLm9saXZlLnRleHQge1xuICBjb2xvcjogI2Q5ZTc3ODtcbn1cbnNwYW4udWkuZ3JlZW4udGV4dCB7XG4gIGNvbG9yOiAjMjFiYTQ1O1xufVxuc3Bhbi51aS5pbnZlcnRlZC5ncmVlbi50ZXh0IHtcbiAgY29sb3I6ICMyZWNjNDA7XG59XG5zcGFuLnVpLnRlYWwudGV4dCB7XG4gIGNvbG9yOiAjMDBiNWFkO1xufVxuc3Bhbi51aS5pbnZlcnRlZC50ZWFsLnRleHQge1xuICBjb2xvcjogIzZkZmZmZjtcbn1cbnNwYW4udWkuYmx1ZS50ZXh0IHtcbiAgY29sb3I6ICMyMTg1ZDA7XG59XG5zcGFuLnVpLmludmVydGVkLmJsdWUudGV4dCB7XG4gIGNvbG9yOiAjNTRjOGZmO1xufVxuc3Bhbi51aS52aW9sZXQudGV4dCB7XG4gIGNvbG9yOiAjNjQzNWM5O1xufVxuc3Bhbi51aS5pbnZlcnRlZC52aW9sZXQudGV4dCB7XG4gIGNvbG9yOiAjYTI5MWZiO1xufVxuc3Bhbi51aS5wdXJwbGUudGV4dCB7XG4gIGNvbG9yOiAjYTMzM2M4O1xufVxuc3Bhbi51aS5pbnZlcnRlZC5wdXJwbGUudGV4dCB7XG4gIGNvbG9yOiAjZGM3M2ZmO1xufVxuc3Bhbi51aS5waW5rLnRleHQge1xuICBjb2xvcjogI2UwMzk5Nztcbn1cbnNwYW4udWkuaW52ZXJ0ZWQucGluay50ZXh0IHtcbiAgY29sb3I6ICNmZjhlZGY7XG59XG5zcGFuLnVpLmJyb3duLnRleHQge1xuICBjb2xvcjogI2E1NjczZjtcbn1cbnNwYW4udWkuaW52ZXJ0ZWQuYnJvd24udGV4dCB7XG4gIGNvbG9yOiAjZDY3YzFjO1xufVxuc3Bhbi51aS5ncmV5LnRleHQge1xuICBjb2xvcjogIzc2NzY3Njtcbn1cbnNwYW4udWkuaW52ZXJ0ZWQuZ3JleS50ZXh0IHtcbiAgY29sb3I6ICNkY2RkZGU7XG59XG5zcGFuLnVpLmJsYWNrLnRleHQge1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbnNwYW4udWkuaW52ZXJ0ZWQuYmxhY2sudGV4dCB7XG4gIGNvbG9yOiAjNTQ1NDU0O1xufVxuc3Bhbi51aS5lcnJvci50ZXh0IHtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG5zcGFuLnVpLmluZm8udGV4dCB7XG4gIGNvbG9yOiAjMzFjY2VjO1xufVxuc3Bhbi51aS5zdWNjZXNzLnRleHQge1xuICBjb2xvcjogIzIxYmE0NTtcbn1cbnNwYW4udWkud2FybmluZy50ZXh0IHtcbiAgY29sb3I6ICNmMmMwMzc7XG59XG5zcGFuLnVpLmRpc2FibGVkLnRleHQge1xuICBvcGFjaXR5OiAwLjQ1O1xufVxuLyogU2l6ZXMgKi9cbnNwYW4udWkubWVkaXVtLnRleHQge1xuICBmb250LXNpemU6IDFlbTtcbn1cbnNwYW4udWkubWluaS50ZXh0IHtcbiAgZm9udC1zaXplOiAwLjRlbTtcbn1cbnNwYW4udWkudGlueS50ZXh0IHtcbiAgZm9udC1zaXplOiAwLjVlbTtcbn1cbnNwYW4udWkuc21hbGwudGV4dCB7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xufVxuc3Bhbi51aS5sYXJnZS50ZXh0IHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cbnNwYW4udWkuYmlnLnRleHQge1xuICBmb250LXNpemU6IDJlbTtcbn1cbnNwYW4udWkuaHVnZS50ZXh0IHtcbiAgZm9udC1zaXplOiA0ZW07XG59XG5zcGFuLnVpLm1hc3NpdmUudGV4dCB7XG4gIGZvbnQtc2l6ZTogOGVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBCcmVhZGNydW1iXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIEJyZWFkY3J1bWJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFkY3J1bWJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDb3VwbGluZyAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEJyZWFkY3J1bWJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuYnJlYWRjcnVtYiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODVlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi51aS5icmVhZGNydW1iOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5icmVhZGNydW1iOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRGl2aWRlciAqL1xuLnVpLmJyZWFkY3J1bWIgLmRpdmlkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG9wYWNpdHk6IDAuNztcbiAgbWFyZ2luOiAwIDAuMjE0Mjg1NzFyZW07XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4vKiBMaW5rICovXG4udWkuYnJlYWRjcnVtYiBhIHtcbiAgY29sb3I6ICM0MTgzYzQ7XG59XG4udWkuYnJlYWRjcnVtYiBhOmhvdmVyIHtcbiAgY29sb3I6ICMxZTcwYmY7XG59XG4vKiBJY29uIERpdmlkZXIgKi9cbi51aS5icmVhZGNydW1iIC5pY29uLmRpdmlkZXIge1xuICBmb250LXNpemU6IDAuODU3MTQyODZlbTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuLyogU2VjdGlvbiAqL1xuLnVpLmJyZWFkY3J1bWIgYS5zZWN0aW9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnVpLmJyZWFkY3J1bWIgLnNlY3Rpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi8qIExvb3NlIENvdXBsaW5nICovXG4udWkuYnJlYWRjcnVtYi5zZWdtZW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5ZW0gMWVtO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5icmVhZGNydW1iIHtcbiAgY29sb3I6ICNkY2RkZGU7XG59XG4udWkuaW52ZXJ0ZWQuYnJlYWRjcnVtYiA+IC5hY3RpdmUuc2VjdGlvbiB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmJyZWFkY3J1bWIgPiAuZGl2aWRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmJyZWFkY3J1bWIgLmFjdGl2ZS5zZWN0aW9uIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmJyZWFkY3J1bWIge1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkubWluaS5icmVhZGNydW1iIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLnRpbnkuYnJlYWRjcnVtYiB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS5zbWFsbC5icmVhZGNydW1iIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLmxhcmdlLmJyZWFkY3J1bWIge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkuYmlnLmJyZWFkY3J1bWIge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG4udWkuaHVnZS5icmVhZGNydW1iIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuLnVpLm1hc3NpdmUuYnJlYWRjcnVtYiB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBGb3JtXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEZvcm1cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3JtICovXG4vKiBUZXh0ICovXG4vKiBGaWVsZCAqL1xuLyogRmllbGRzICovXG4vKiBGb3JtIExhYmVsICovXG4vKiBJbnB1dCAqL1xuLyogU2VsZWN0ICovXG4vKiBUZXh0IEFyZWEgKi9cbi8qIENoZWNrYm94ICovXG4vKiBJbmxpbmUgVmFsaWRhdGlvbiBQcm9tcHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9jdXMgKi9cbi8qIElucHV0IEZvY3VzICovXG4vKiBUZXh0IEFyZWEgRm9jdXMgKi9cbi8qIERpc2FibGVkICovXG4vKiBJbnB1dCBzdGF0ZXMgKi9cbi8qIExvYWRpbmcgRGltbWVyICovXG4vKiBMb2FkaW5nIFNwaW5uZXIgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBSZXF1aXJlZCAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBHcm91cGVkIEZpZWxkcyAqL1xuLyogSWNvbiAqL1xuLyogSW5saW5lICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgR3JvdXBzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9ybVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZm9ybSA+IHAge1xuICBtYXJnaW46IDFlbSAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRmllbGRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZvcm0gLmZpZWxkIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMCAwIDFlbTtcbn1cbi51aS5mb3JtIC5maWVsZHMgLmZpZWxkcyxcbi51aS5mb3JtIC5maWVsZDpsYXN0LWNoaWxkLFxuLnVpLmZvcm0gLmZpZWxkczpsYXN0LWNoaWxkIC5maWVsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udWkuZm9ybSAuZmllbGRzIC5maWVsZCB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBMYWJlbHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZvcm0gLmZpZWxkID4gbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgMC4yODU3MTQyOXJlbSAwO1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuLnVpLmZvcm06bm90KC5pbnZlcnRlZCkgLmZpZWxkID4gbGFiZWw6bm90KC5idXR0b24pIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFN0YW5kYXJkIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZm9ybSB0ZXh0YXJlYSxcbi51aS5mb3JtIGlucHV0Om5vdChbdHlwZV0pLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cIndlZWtcIl0ge1xuICB3aWR0aDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi8qIFNldCBtYXggaGVpZ2h0IG9uIHVudXN1YWwgaW5wdXQgKi9cbi51aS5mb3JtIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LFxuLnVpLmZvcm0gOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiAxLjIxNDI4NTcxZW07XG59XG4udWkuZm9ybSBpbnB1dDpub3QoW3R5cGVdKSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInVybFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ3ZWVrXCJdIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIG1hcmdpbjogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI4NTcxZW07XG4gIHBhZGRpbmc6IDAuNjc4NTcxNDNlbSAxZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCB0cmFuc3BhcmVudCBpbnNldDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLCBib3JkZXItY29sb3IgMC4xcyBlYXNlO1xufVxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImNvbG9yXCJdIHtcbiAgcGFkZGluZzogaW5pdGlhbDtcbn1cbi51aS5mb3JtIGlucHV0Ojotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4vKiBUZXh0IEFyZWEgKi9cbi51aS5pbnB1dCB0ZXh0YXJlYSxcbi51aS5mb3JtIHRleHRhcmVhIHtcbiAgbWFyZ2luOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDFlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgdHJhbnNwYXJlbnQgaW5zZXQ7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMXMgZWFzZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBsaW5lLWhlaWdodDogMS4yODU3O1xuICByZXNpemU6IHZlcnRpY2FsO1xuICBtaW4taGVpZ2h0OiAyLjk5OTkyODU3ZW07XG59XG4udWkuaW5wdXQgPiB0ZXh0YXJlYSB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4udWkuZm9ybSB0ZXh0YXJlYTpub3QoW3Jvd3NdKSB7XG4gIGhlaWdodDogMTJlbTtcbiAgbWluLWhlaWdodDogOGVtO1xuICBtYXgtaGVpZ2h0OiAyNGVtO1xufVxuLnVpLmZvcm0gdGV4dGFyZWEsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDaGVja2JveCBtYXJnaW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZvcm0gLmZpZWxkczpub3QoLmdyb3VwZWQpOm5vdCguaW5saW5lKSAuZmllbGQ6bm90KDpvbmx5LWNoaWxkKSBsYWJlbCArIC51aS51aS5jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IDAuN2VtO1xufVxuLnVpLmZvcm0gLmZpZWxkczpub3QoLmdyb3VwZWQpOm5vdCguaW5saW5lKSAuZmllbGQ6bm90KDpvbmx5LWNoaWxkKSAudWkuY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAyLjQxNDI4NTcxZW07XG59XG4udWkuZm9ybSAuZmllbGRzOm5vdCguZ3JvdXBlZCk6bm90KC5pbmxpbmUpIC5maWVsZDpub3QoOm9ubHktY2hpbGQpIC51aS50b2dnbGUuY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAyLjIxNDI4NTcxZW07XG59XG4udWkuZm9ybSAuZmllbGRzOm5vdCguZ3JvdXBlZCk6bm90KC5pbmxpbmUpIC5maWVsZDpub3QoOm9ubHktY2hpbGQpIC51aS5zbGlkZXIuY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAyLjYxNDI4NTcxZW07XG59XG4udWkudWkuZm9ybSAuZmllbGQgLmZpZWxkcyAuZmllbGQ6bm90KDpvbmx5LWNoaWxkKSAudWkuY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAwLjZlbTtcbn1cbi51aS51aS5mb3JtIC5maWVsZCAuZmllbGRzIC5maWVsZDpub3QoOm9ubHktY2hpbGQpIC51aS50b2dnbGUuY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbn1cbi51aS51aS5mb3JtIC5maWVsZCAuZmllbGRzIC5maWVsZDpub3QoOm9ubHktY2hpbGQpIC51aS5zbGlkZXIuY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAwLjdlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgVHJhbnNwYXJlbnRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mb3JtIC5maWVsZCAudHJhbnNwYXJlbnQuaW5wdXQ6bm90KC5pY29uKSBpbnB1dCxcbi51aS5mb3JtIC5maWVsZCBpbnB1dC50cmFuc3BhcmVudCxcbi51aS5mb3JtIC5maWVsZCB0ZXh0YXJlYS50cmFuc3BhcmVudCB7XG4gIHBhZGRpbmc6IDAuNjc4NTcxNDNlbSAxZW07XG59XG4udWkuZm9ybSAuZmllbGQgaW5wdXQudHJhbnNwYXJlbnQsXG4udWkuZm9ybSAuZmllbGQgdGV4dGFyZWEudHJhbnNwYXJlbnQge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIElucHV0IHcvIGF0dGFjaGVkIEJ1dHRvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZm9ybSBpbnB1dC5hdHRhY2hlZCB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQmFzaWMgU2VsZWN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mb3JtIHNlbGVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHRyYW5zcGFyZW50IGluc2V0O1xuICBwYWRkaW5nOiAwLjYyZW0gMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLCBib3JkZXItY29sb3IgMC4xcyBlYXNlO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBEcm9wZG93blxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBCbG9jayAqL1xuLnVpLmZvcm0gLmZpZWxkID4gLnNlbGVjdGlvbi5kcm9wZG93bjpub3QoLmNvbXBhY3QpIHtcbiAgbWluLXdpZHRoOiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5mb3JtIC5maWVsZCA+IC5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gIGZsb2F0OiByaWdodDtcbn1cbi8qIElubGluZSAqL1xuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gLnNlbGVjdGlvbi5kcm9wZG93bixcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQgPiAuc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgd2lkdGg6IGF1dG87XG59XG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiAuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24sXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gLnNlbGVjdGlvbi5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgZmxvYXQ6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFVJIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEJsb2NrICovXG4udWkuZm9ybSAuZmllbGQgLnVpLmlucHV0LFxuLnVpLmZvcm0gLmZpZWxkcyAuZmllbGQgLnVpLmlucHV0LFxuLnVpLmZvcm0gLndpZGUuZmllbGQgLnVpLmlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiBJbmxpbmUgKi9cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZDpub3QoLndpZGUpIC51aS5pbnB1dCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQ6bm90KC53aWRlKSAudWkuaW5wdXQge1xuICB3aWR0aDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi8qIEF1dG8gSW5wdXQgKi9cbi51aS5mb3JtIC5maWVsZHMgLmZpZWxkIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC5maWVsZHMgLmZpZWxkIC51aS5pbnB1dCB0ZXh0YXJlYSxcbi51aS5mb3JtIC5maWVsZCAudWkuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAuZmllbGQgLnVpLmlucHV0IHRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiBGdWxsIFdpZHRoIElucHV0ICovXG4udWkuZm9ybSAudGVuLmZpZWxkcyAudWkuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAubmluZS5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLmVpZ2h0LmZpZWxkcyAudWkuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAuc2V2ZW4uZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC5zaXguZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC5maXZlLmZpZWxkcyAudWkuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAuZm91ci5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLnRocmVlLmZpZWxkcyAudWkuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAudHdvLmZpZWxkcyAudWkuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAud2lkZS5maWVsZCAudWkuaW5wdXQgaW5wdXQge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgd2lkdGg6IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVHlwZXMgb2YgTWVzc2FnZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZvcm0gLmVycm9yLm1lc3NhZ2UsXG4udWkuZm9ybSAuZXJyb3IubWVzc2FnZTplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkuZm9ybSAuaW5mby5tZXNzYWdlLFxuLnVpLmZvcm0gLmluZm8ubWVzc2FnZTplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkuZm9ybSAuc3VjY2Vzcy5tZXNzYWdlLFxuLnVpLmZvcm0gLnN1Y2Nlc3MubWVzc2FnZTplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkuZm9ybSAud2FybmluZy5tZXNzYWdlLFxuLnVpLmZvcm0gLndhcm5pbmcubWVzc2FnZTplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBBc3N1bXB0aW9ucyAqL1xuLnVpLmZvcm0gLm1lc3NhZ2U6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFZhbGlkYXRpb24gUHJvbXB0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mb3JtIC5maWVsZCAucHJvbXB0LmxhYmVsIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTBiNGI0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjOWYzYTM4ICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAuZmllbGQgLnByb21wdC5sYWJlbCBsaTo6YmVmb3JlIHtcbiAgY29sb3I6ICM5ZjNhMzg7XG59XG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgLnByb21wdCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQgLnByb21wdCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIG1hcmdpbjogLTAuMjVlbSAwIC0wLjVlbSAwLjVlbTtcbn1cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCAucHJvbXB0OjpiZWZvcmUsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkIC5wcm9tcHQ6OmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweCAxcHg7XG4gIGJvdHRvbTogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBBdXRvZmlsbGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mb3JtIC5maWVsZC5maWVsZCBpbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMTAwcHggI2ZmZmZmMCBpbnNldCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNlNWRmYTEgIWltcG9ydGFudDtcbn1cbi8qIEZvY3VzICovXG4udWkuZm9ybSAuZmllbGQuZmllbGQgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDEwMHB4ICNmZmZmZjAgaW5zZXQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjZDVjMzE1ICFpbXBvcnRhbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGxhY2Vob2xkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogYnJvd3NlcnMgcmVxdWlyZSB0aGVzZSBydWxlcyBzZXBhcmF0ZSAqL1xuLnVpLmZvcm0gOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDE5MSwgMTkxLCAxOTEsIDAuODcpO1xufVxuLnVpLmZvcm0gOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDE5MSwgMTkxLCAxOTEsIDAuODcpICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSA6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLnVpLmZvcm0gOmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDExNSwgMTE1LCAxMTUsIDAuODcpO1xufVxuLnVpLmZvcm0gOmZvY3VzOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDExNSwgMTE1LCAxMTUsIDAuODcpICFpbXBvcnRhbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZm9ybSBpbnB1dDpub3QoW3R5cGVdKTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJjb2xvclwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIGJvcmRlci1jb2xvcjogIzg1YjdkOTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpIGluc2V0O1xufVxuLnVpLmZvcm0gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSBpbnB1dDpub3QoW3R5cGVdKTpmb2N1cyxcbi51aS5mb3JtIC51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLFxuLnVpLmZvcm0gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi51aS5mb3JtIC51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuLnVpLmZvcm0gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4udWkuZm9ybSAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbi51aS5mb3JtIC51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbi51aS5mb3JtIC51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuLnVpLmZvcm0gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuLnVpLmZvcm0gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuLnVpLmZvcm0gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcbi51aS5mb3JtIC51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4udWkuZm9ybSAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pIGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLFxuLnVpLmZvcm0gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLnVpLmZvcm0gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyxcbi51aS5mb3JtIC51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgdGV4dGFyZWE6Zm9jdXMge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4udWkuZm9ybSAudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgaW5wdXQ6bm90KFt0eXBlXSksXG4udWkuZm9ybSAudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLnVpLmZvcm0gLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0IGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLnVpLmZvcm0gLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0IGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi51aS5mb3JtIC51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4udWkuZm9ybSAudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuLnVpLmZvcm0gLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0IGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4udWkuZm9ybSAudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLnVpLmZvcm0gLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4udWkuZm9ybSAudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgaW5wdXRbdHlwZT1cInRlbFwiXSxcbi51aS5mb3JtIC51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi51aS5mb3JtIC51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi51aS5mb3JtIC51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbi51aS5mb3JtIC51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLnVpLmZvcm0gLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0IGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuLnVpLmZvcm0gLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0IHRleHRhcmVhIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbn1cbi51aS5mb3JtIHRleHRhcmVhOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIGJvcmRlci1jb2xvcjogIzg1YjdkOTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpIGluc2V0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4vKiBGb2N1cyAqL1xuLnVpLmZvcm0gaW5wdXQ6Zm9jdXM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIG9wYWNpdHk6IDE7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgU3RhdGVzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBPbiBGb3JtICovXG4udWkuZm9ybS5lcnJvciAuZXJyb3IubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLmZvcm0uZXJyb3IgLmNvbXBhY3QuZXJyb3IubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi51aS5mb3JtLmVycm9yIC5pY29uLmVycm9yLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLyogT24gRmllbGQocykgKi9cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmVycm9yLm1lc3NhZ2U6bm90KDplbXB0eSksXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLmVycm9yLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmNvbXBhY3QuZXJyb3IubWVzc2FnZTpub3QoOmVtcHR5KSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciAuY29tcGFjdC5lcnJvci5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuaWNvbi5lcnJvci5tZXNzYWdlOm5vdCg6ZW1wdHkpLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC5pY29uLmVycm9yLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnVpLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgbGFiZWwsXG4udWkudWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAudWkubGFiZWw6bm90KC5jb3JuZXIpLFxuLnVpLnVpLmZvcm0gLmZpZWxkLmVycm9yIGxhYmVsLFxuLnVpLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5sYWJlbDpub3QoLmNvcm5lciksXG4udWkudWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAuaW5wdXQsXG4udWkudWkuZm9ybSAuZmllbGQuZXJyb3IgLmlucHV0IHtcbiAgY29sb3I6ICM5ZjNhMzg7XG59XG5Ac3VwcG9ydHMgc2VsZWN0b3IoOmhhcyguZikpIHtcbiAgLnVpLmZvcm0gLmZpZWxkczpoYXMoLmVycm9yKSA+IGxhYmVsIHtcbiAgICBjb2xvcjogIzlmM2EzODtcbiAgfVxufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLmxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2QxZDE7XG59XG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAuY29ybmVyLmxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC5jb3JuZXIubGFiZWwge1xuICBib3JkZXItY29sb3I6ICM5ZjNhMzg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgdGV4dGFyZWEsXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBzZWxlY3QsXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dDpub3QoW3R5cGVdKSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cInVybFwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIHRleHRhcmVhLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIHNlbGVjdCxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dDpub3QoW3R5cGVdKSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cIndlZWtcIl0ge1xuICBjb2xvcjogIzlmM2EzODtcbiAgYmFja2dyb3VuZDogI2ZmZjZmNjtcbiAgYm9yZGVyLWNvbG9yOiAjZTBiNGI0O1xuICBib3JkZXItcmFkaXVzOiBcIlwiO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmZvcm06bm90KC5pbml0aWFsKSAuZmllbGQgaW5wdXQ6aW52YWxpZCB7XG4gIGNvbG9yOiAjOWYzYTM4O1xuICBiYWNrZ3JvdW5kOiAjZmZmNmY2O1xuICBib3JkZXItY29sb3I6ICNlMGI0YjQ7XG4gIGJvcmRlci1yYWRpdXM6IFwiXCI7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuZm9ybSAuZmllbGQuZXJyb3IgdGV4dGFyZWE6Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3Igc2VsZWN0OmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0Om5vdChbdHlwZV0pOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJjb2xvclwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNmZmY2ZjY7XG4gIGJvcmRlci1jb2xvcjogI2UwYjRiNDtcbiAgY29sb3I6ICM5ZjNhMzg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuZm9ybSAuZmllbGQuZXJyb3IgPiB0ZXh0YXJlYTpob3Zlcjpub3QoOmZvY3VzKSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciA+IGlucHV0OmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTBiNGI0O1xufVxuLyogUHJlc2VydmUgTmF0aXZlIFNlbGVjdCBTdHlsaW5ncyAqL1xuLnVpLmZvcm0gLmZpZWxkLmVycm9yIHNlbGVjdCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbWVudWxpc3QtYnV0dG9uO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIElucHV0IFN0YXRlXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRyYW5zcGFyZW50ICovXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnRyYW5zcGFyZW50LmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC50cmFuc3BhcmVudC5pbnB1dCB0ZXh0YXJlYSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dC50cmFuc3BhcmVudCxcbi51aS5mb3JtIC5maWVsZC5lcnJvciB0ZXh0YXJlYS50cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY2ZjYgIWltcG9ydGFudDtcbiAgY29sb3I6ICM5ZjNhMzggIWltcG9ydGFudDtcbn1cbi8qIEF1dG9maWxsZWQgKi9cbi51aS5mb3JtIC5lcnJvci5lcnJvciBpbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMTAwcHggI2ZmZmFmMCBpbnNldCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNlMGI0YjQgIWltcG9ydGFudDtcbn1cbi8qIFBsYWNlaG9sZGVyICovXG4udWkuZm9ybSAuZXJyb3IgLnVpLmRyb3Bkb3duID4gLmRlZmF1bHQudGV4dCxcbi51aS5mb3JtIC5lcnJvciA6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNlN2JkYmM7XG59XG4udWkuZm9ybSAuZXJyb3IgOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZTdiZGJjICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAuZXJyb3IgLnVpLmRyb3Bkb3duID4gaW5wdXQ6Zm9jdXMgfiAuZGVmYXVsdC50ZXh0LFxuLnVpLmZvcm0gLmVycm9yIDpmb2N1czo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2RhOTc5Njtcbn1cbi51aS5mb3JtIC5lcnJvciA6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNkYTk3OTYgIWltcG9ydGFudDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBEcm9wZG93biBTdGF0ZVxuICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAudWkuZHJvcGRvd24sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAudWkuZHJvcGRvd24gLml0ZW0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLmRyb3Bkb3duLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93biA+IC50ZXh0LFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93biAuaXRlbSB7XG4gIGJhY2tncm91bmQ6ICNmZmY2ZjY7XG4gIGNvbG9yOiAjOWYzYTM4O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLmRyb3Bkb3duLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93biB7XG4gIGJvcmRlci1jb2xvcjogI2UwYjRiNCAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLmRyb3Bkb3duOmhvdmVyLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93bjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2UwYjRiNCAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLmRyb3Bkb3duOmhvdmVyIC5tZW51LFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93bjpob3ZlciAubWVudSB7XG4gIGJvcmRlci1jb2xvcjogI2UwYjRiNDtcbn1cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5tdWx0aXBsZS5zZWxlY3Rpb24uZHJvcGRvd24gPiAubGFiZWwsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLm11bHRpcGxlLnNlbGVjdGlvbi5kcm9wZG93biA+IC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWNiY2I7XG4gIGNvbG9yOiAjOWYzYTM4O1xufVxuLyogSG92ZXIgKi9cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5kcm9wZG93biAubWVudSAuaXRlbTpob3Zlcixcbi51aS5mb3JtIC5maWVsZC5lcnJvciAudWkuZHJvcGRvd24gLm1lbnUgLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJlN2U3O1xufVxuLyogU2VsZWN0ZWQgKi9cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5kcm9wZG93biAubWVudSAuc2VsZWN0ZWQuaXRlbSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciAudWkuZHJvcGRvd24gLm1lbnUgLnNlbGVjdGVkLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJlN2U3O1xufVxuLyogQWN0aXZlICovXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAudWkuZHJvcGRvd24gLm1lbnUgLmFjdGl2ZS5pdGVtLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRjZmNmICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBDaGVja2JveCBTdGF0ZVxuICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgbGFiZWwsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgbGFiZWwge1xuICBjb2xvcjogIzlmM2EzODtcbn1cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIGxhYmVsOjpiZWZvcmUsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY2ZjY7XG4gIGJvcmRlci1jb2xvcjogI2UwYjRiNDtcbn1cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC5jaGVja2JveCBsYWJlbDo6YWZ0ZXIsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLmNoZWNrYm94IGxhYmVsOjphZnRlciB7XG4gIGNvbG9yOiAjOWYzYTM4O1xufVxuLnVpLmludmVydGVkLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgbGFiZWwsXG4udWkuaW52ZXJ0ZWQuZm9ybSAuZXJyb3IuZmllbGQgbGFiZWwge1xuICBjb2xvcjogI2VjZDFkMTtcbn1cbkBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKC5mKSkge1xuICAudWkuaW52ZXJ0ZWQuZm9ybSAuZmllbGRzOmhhcyguZXJyb3IpID4gbGFiZWwge1xuICAgIGNvbG9yOiAjZWNkMWQxO1xuICB9XG59XG4vKiBPbiBGb3JtICovXG4udWkuZm9ybS5pbmZvIC5pbmZvLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5mb3JtLmluZm8gLmNvbXBhY3QuaW5mby5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnVpLmZvcm0uaW5mbyAuaWNvbi5pbmZvLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLyogT24gRmllbGQocykgKi9cbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuaW5mby5tZXNzYWdlOm5vdCg6ZW1wdHkpLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gLmluZm8ubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5jb21wYWN0LmluZm8ubWVzc2FnZTpub3QoOmVtcHR5KSxcbi51aS5mb3JtIC5maWVsZC5pbmZvIC5jb21wYWN0LmluZm8ubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuaWNvbi5pbmZvLm1lc3NhZ2U6bm90KDplbXB0eSksXG4udWkuZm9ybSAuZmllbGQuaW5mbyAuaWNvbi5pbmZvLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnVpLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCBsYWJlbCxcbi51aS51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgLnVpLmxhYmVsOm5vdCguY29ybmVyKSxcbi51aS51aS5mb3JtIC5maWVsZC5pbmZvIGxhYmVsLFxuLnVpLnVpLmZvcm0gLmZpZWxkLmluZm8gLnVpLmxhYmVsOm5vdCguY29ybmVyKSxcbi51aS51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgLmlucHV0LFxuLnVpLnVpLmZvcm0gLmZpZWxkLmluZm8gLmlucHV0IHtcbiAgY29sb3I6ICMyNzZmODY7XG59XG5Ac3VwcG9ydHMgc2VsZWN0b3IoOmhhcyguZikpIHtcbiAgLnVpLmZvcm0gLmZpZWxkczpoYXMoLmluZm8pID4gbGFiZWwge1xuICAgIGNvbG9yOiAjMjc2Zjg2O1xuICB9XG59XG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIC51aS5sYWJlbCxcbi51aS5mb3JtIC5maWVsZC5pbmZvIC51aS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjNmUzZTk7XG59XG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIC5jb3JuZXIubGFiZWwsXG4udWkuZm9ybSAuZmllbGQuaW5mbyAuY29ybmVyLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjc2Zjg2O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgdGV4dGFyZWEsXG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIHNlbGVjdCxcbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgaW5wdXQ6bm90KFt0eXBlXSksXG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgaW5wdXRbdHlwZT1cInRlbFwiXSxcbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgaW5wdXRbdHlwZT1cInVybFwiXSxcbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgaW5wdXRbdHlwZT1cIndlZWtcIl0sXG4udWkuZm9ybSAuZmllbGQuaW5mbyB0ZXh0YXJlYSxcbi51aS5mb3JtIC5maWVsZC5pbmZvIHNlbGVjdCxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0Om5vdChbdHlwZV0pLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cIndlZWtcIl0ge1xuICBjb2xvcjogIzI3NmY4NjtcbiAgYmFja2dyb3VuZDogI2Y4ZmZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjYTlkNWRlO1xuICBib3JkZXItcmFkaXVzOiBcIlwiO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmZvcm0gLmZpZWxkLmluZm8gdGV4dGFyZWE6Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuaW5mbyBzZWxlY3Q6Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dDpub3QoW3R5cGVdKTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0W3R5cGU9XCJjb2xvclwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuaW5mbyBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2Y4ZmZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjYTlkNWRlO1xuICBjb2xvcjogIzI3NmY4NjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5mb3JtIC5maWVsZC5pbmZvID4gdGV4dGFyZWE6aG92ZXI6bm90KDpmb2N1cyksXG4udWkuZm9ybSAuZmllbGQuaW5mbyA+IGlucHV0OmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTlkNWRlO1xufVxuLyogUHJlc2VydmUgTmF0aXZlIFNlbGVjdCBTdHlsaW5ncyAqL1xuLnVpLmZvcm0gLmZpZWxkLmluZm8gc2VsZWN0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZW51bGlzdC1idXR0b247XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgSW5wdXQgU3RhdGVcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVHJhbnNwYXJlbnQgKi9cbi51aS5mb3JtIC5maWVsZC5pbmZvIC50cmFuc3BhcmVudC5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC5maWVsZC5pbmZvIC50cmFuc3BhcmVudC5pbnB1dCB0ZXh0YXJlYSxcbi51aS5mb3JtIC5maWVsZC5pbmZvIGlucHV0LnRyYW5zcGFyZW50LFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gdGV4dGFyZWEudHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmZmZmICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjc2Zjg2ICFpbXBvcnRhbnQ7XG59XG4vKiBBdXRvZmlsbGVkICovXG4udWkuZm9ybSAuaW5mby5pbmZvIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICBib3gtc2hhZG93OiAwIDAgMCAxMDBweCAjZjBmYWZmIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2IzZTBlMCAhaW1wb3J0YW50O1xufVxuLyogUGxhY2Vob2xkZXIgKi9cbi51aS5mb3JtIC5pbmZvIC51aS5kcm9wZG93biA+IC5kZWZhdWx0LnRleHQsXG4udWkuZm9ybSAuaW5mbyA6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OGNmZTE7XG59XG4udWkuZm9ybSAuaW5mbyA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OGNmZTEgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC5pbmZvIC51aS5kcm9wZG93biA+IGlucHV0OmZvY3VzIH4gLmRlZmF1bHQudGV4dCxcbi51aS5mb3JtIC5pbmZvIDpmb2N1czo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzcwYmRkNjtcbn1cbi51aS5mb3JtIC5pbmZvIDpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzcwYmRkNiAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIERyb3Bkb3duIFN0YXRlXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgLnVpLmRyb3Bkb3duLFxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCAudWkuZHJvcGRvd24gLml0ZW0sXG4udWkuZm9ybSAuZmllbGQuaW5mbyAudWkuZHJvcGRvd24sXG4udWkuZm9ybSAuZmllbGQuaW5mbyAudWkuZHJvcGRvd24gPiAudGV4dCxcbi51aS5mb3JtIC5maWVsZC5pbmZvIC51aS5kcm9wZG93biAuaXRlbSB7XG4gIGJhY2tncm91bmQ6ICNmOGZmZmY7XG4gIGNvbG9yOiAjMjc2Zjg2O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCAudWkuZHJvcGRvd24sXG4udWkuZm9ybSAuZmllbGQuaW5mbyAudWkuZHJvcGRvd24ge1xuICBib3JkZXItY29sb3I6ICNhOWQ1ZGUgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgLnVpLmRyb3Bkb3duOmhvdmVyLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gLnVpLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTlkNWRlICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIC51aS5kcm9wZG93bjpob3ZlciAubWVudSxcbi51aS5mb3JtIC5maWVsZC5pbmZvIC51aS5kcm9wZG93bjpob3ZlciAubWVudSB7XG4gIGJvcmRlci1jb2xvcjogI2E5ZDVkZTtcbn1cbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgLnVpLm11bHRpcGxlLnNlbGVjdGlvbi5kcm9wZG93biA+IC5sYWJlbCxcbi51aS5mb3JtIC5maWVsZC5pbmZvIC51aS5tdWx0aXBsZS5zZWxlY3Rpb24uZHJvcGRvd24gPiAubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NlM2VhO1xuICBjb2xvcjogIzI3NmY4Njtcbn1cbi8qIEhvdmVyICovXG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIC51aS5kcm9wZG93biAubWVudSAuaXRlbTpob3Zlcixcbi51aS5mb3JtIC5maWVsZC5pbmZvIC51aS5kcm9wZG93biAubWVudSAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWYyZmI7XG59XG4vKiBTZWxlY3RlZCAqL1xuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCAudWkuZHJvcGRvd24gLm1lbnUgLnNlbGVjdGVkLml0ZW0sXG4udWkuZm9ybSAuZmllbGQuaW5mbyAudWkuZHJvcGRvd24gLm1lbnUgLnNlbGVjdGVkLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTlmMmZiO1xufVxuLyogQWN0aXZlICovXG4udWkuZm9ybSAuZmllbGRzLmluZm8gLmZpZWxkIC51aS5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0sXG4udWkuZm9ybSAuZmllbGQuaW5mbyAudWkuZHJvcGRvd24gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NlZjFmZCAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgQ2hlY2tib3ggU3RhdGVcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgbGFiZWwsXG4udWkuZm9ybSAuZmllbGQuaW5mbyAuY2hlY2tib3g6bm90KC50b2dnbGUpOm5vdCguc2xpZGVyKSBsYWJlbCB7XG4gIGNvbG9yOiAjMjc2Zjg2O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5pbmZvIC5maWVsZCAuY2hlY2tib3g6bm90KC50b2dnbGUpOm5vdCguc2xpZGVyKSBsYWJlbDo6YmVmb3JlLFxuLnVpLmZvcm0gLmZpZWxkLmluZm8gLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmOGZmZmY7XG4gIGJvcmRlci1jb2xvcjogI2E5ZDVkZTtcbn1cbi51aS5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgLmNoZWNrYm94IGxhYmVsOjphZnRlcixcbi51aS5mb3JtIC5maWVsZC5pbmZvIC5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICBjb2xvcjogIzI3NmY4Njtcbn1cbi51aS5pbnZlcnRlZC5mb3JtIC5maWVsZHMuaW5mbyAuZmllbGQgbGFiZWwsXG4udWkuaW52ZXJ0ZWQuZm9ybSAuaW5mby5maWVsZCBsYWJlbCB7XG4gIGNvbG9yOiAjYzZlM2U5O1xufVxuQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoLmYpKSB7XG4gIC51aS5pbnZlcnRlZC5mb3JtIC5maWVsZHM6aGFzKC5pbmZvKSA+IGxhYmVsIHtcbiAgICBjb2xvcjogI2M2ZTNlOTtcbiAgfVxufVxuLyogT24gRm9ybSAqL1xuLnVpLmZvcm0uc3VjY2VzcyAuc3VjY2Vzcy5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkuZm9ybS5zdWNjZXNzIC5jb21wYWN0LnN1Y2Nlc3MubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi51aS5mb3JtLnN1Y2Nlc3MgLmljb24uc3VjY2Vzcy5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi8qIE9uIEZpZWxkKHMpICovXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLnN1Y2Nlc3MubWVzc2FnZTpub3QoOmVtcHR5KSxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIC5zdWNjZXNzLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuY29tcGFjdC5zdWNjZXNzLm1lc3NhZ2U6bm90KDplbXB0eSksXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyAuY29tcGFjdC5zdWNjZXNzLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmljb24uc3VjY2Vzcy5tZXNzYWdlOm5vdCg6ZW1wdHkpLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgLmljb24uc3VjY2Vzcy5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi51aS51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgbGFiZWwsXG4udWkudWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIC51aS5sYWJlbDpub3QoLmNvcm5lciksXG4udWkudWkuZm9ybSAuZmllbGQuc3VjY2VzcyBsYWJlbCxcbi51aS51aS5mb3JtIC5maWVsZC5zdWNjZXNzIC51aS5sYWJlbDpub3QoLmNvcm5lciksXG4udWkudWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIC5pbnB1dCxcbi51aS51aS5mb3JtIC5maWVsZC5zdWNjZXNzIC5pbnB1dCB7XG4gIGNvbG9yOiAjMmM2NjJkO1xufVxuQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoLmYpKSB7XG4gIC51aS5mb3JtIC5maWVsZHM6aGFzKC5zdWNjZXNzKSA+IGxhYmVsIHtcbiAgICBjb2xvcjogIzJjNjYyZDtcbiAgfVxufVxuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCAudWkubGFiZWwsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyAudWkubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjlkMWFkO1xufVxuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCAuY29ybmVyLmxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgLmNvcm5lci5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzJjNjYyZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIHRleHRhcmVhLFxuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCBzZWxlY3QsXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIGlucHV0Om5vdChbdHlwZV0pLFxuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgdGV4dGFyZWEsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBzZWxlY3QsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dDpub3QoW3R5cGVdKSxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cInVybFwiXSxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJ3ZWVrXCJdIHtcbiAgY29sb3I6ICMyYzY2MmQ7XG4gIGJhY2tncm91bmQ6ICNmY2ZmZjU7XG4gIGJvcmRlci1jb2xvcjogI2EzYzI5MztcbiAgYm9yZGVyLXJhZGl1czogXCJcIjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIHRleHRhcmVhOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3Mgc2VsZWN0OmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXQ6bm90KFt0eXBlXSk6Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNmY2ZmZjU7XG4gIGJvcmRlci1jb2xvcjogI2EzYzI5MztcbiAgY29sb3I6ICMyYzY2MmQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyA+IHRleHRhcmVhOmhvdmVyOm5vdCg6Zm9jdXMpLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgPiBpbnB1dDpob3Zlcjpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2EzYzI5Mztcbn1cbi8qIFByZXNlcnZlIE5hdGl2ZSBTZWxlY3QgU3R5bGluZ3MgKi9cbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIHNlbGVjdCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbWVudWxpc3QtYnV0dG9uO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIElucHV0IFN0YXRlXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRyYW5zcGFyZW50ICovXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyAudHJhbnNwYXJlbnQuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyAudHJhbnNwYXJlbnQuaW5wdXQgdGV4dGFyZWEsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyBpbnB1dC50cmFuc3BhcmVudCxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIHRleHRhcmVhLnRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmZmNSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzJjNjYyZCAhaW1wb3J0YW50O1xufVxuLyogQXV0b2ZpbGxlZCAqL1xuLnVpLmZvcm0gLnN1Y2Nlc3Muc3VjY2VzcyBpbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMTAwcHggI2YwZmZmMCBpbnNldCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNiZWUwYjMgIWltcG9ydGFudDtcbn1cbi8qIFBsYWNlaG9sZGVyICovXG4udWkuZm9ybSAuc3VjY2VzcyAudWkuZHJvcGRvd24gPiAuZGVmYXVsdC50ZXh0LFxuLnVpLmZvcm0gLnN1Y2Nlc3MgOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOGZjZjkwO1xufVxuLnVpLmZvcm0gLnN1Y2Nlc3MgOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOGZjZjkwICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAuc3VjY2VzcyAudWkuZHJvcGRvd24gPiBpbnB1dDpmb2N1cyB+IC5kZWZhdWx0LnRleHQsXG4udWkuZm9ybSAuc3VjY2VzcyA6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2Y2JmNmQ7XG59XG4udWkuZm9ybSAuc3VjY2VzcyA6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2Y2JmNmQgIWltcG9ydGFudDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBEcm9wZG93biBTdGF0ZVxuICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIC51aS5kcm9wZG93bixcbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgLnVpLmRyb3Bkb3duIC5pdGVtLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgLnVpLmRyb3Bkb3duLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgLnVpLmRyb3Bkb3duID4gLnRleHQsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyAudWkuZHJvcGRvd24gLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiAjZmNmZmY1O1xuICBjb2xvcjogIzJjNjYyZDtcbn1cbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgLnVpLmRyb3Bkb3duLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgLnVpLmRyb3Bkb3duIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTNjMjkzICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIC51aS5kcm9wZG93bjpob3Zlcixcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIC51aS5kcm9wZG93bjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2EzYzI5MyAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCAudWkuZHJvcGRvd246aG92ZXIgLm1lbnUsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyAudWkuZHJvcGRvd246aG92ZXIgLm1lbnUge1xuICBib3JkZXItY29sb3I6ICNhM2MyOTM7XG59XG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIC51aS5tdWx0aXBsZS5zZWxlY3Rpb24uZHJvcGRvd24gPiAubGFiZWwsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyAudWkubXVsdGlwbGUuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjZWFjYztcbiAgY29sb3I6ICMyYzY2MmQ7XG59XG4vKiBIb3ZlciAqL1xuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCAudWkuZHJvcGRvd24gLm1lbnUgLml0ZW06aG92ZXIsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyAudWkuZHJvcGRvd24gLm1lbnUgLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTlmYmU5O1xufVxuLyogU2VsZWN0ZWQgKi9cbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgLnVpLmRyb3Bkb3duIC5tZW51IC5zZWxlY3RlZC5pdGVtLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgLnVpLmRyb3Bkb3duIC5tZW51IC5zZWxlY3RlZC5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZmJlOTtcbn1cbi8qIEFjdGl2ZSAqL1xuLnVpLmZvcm0gLmZpZWxkcy5zdWNjZXNzIC5maWVsZCAudWkuZHJvcGRvd24gLm1lbnUgLmFjdGl2ZS5pdGVtLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgLnVpLmRyb3Bkb3duIC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWZkY2UgIWltcG9ydGFudDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIENoZWNrYm94IFN0YXRlXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIGxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkLnN1Y2Nlc3MgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgbGFiZWwge1xuICBjb2xvcjogIzJjNjYyZDtcbn1cbi51aS5mb3JtIC5maWVsZHMuc3VjY2VzcyAuZmllbGQgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgbGFiZWw6OmJlZm9yZSxcbi51aS5mb3JtIC5maWVsZC5zdWNjZXNzIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmNmZmY1O1xuICBib3JkZXItY29sb3I6ICNhM2MyOTM7XG59XG4udWkuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIC5jaGVja2JveCBsYWJlbDo6YWZ0ZXIsXG4udWkuZm9ybSAuZmllbGQuc3VjY2VzcyAuY2hlY2tib3ggbGFiZWw6OmFmdGVyIHtcbiAgY29sb3I6ICMyYzY2MmQ7XG59XG4udWkuaW52ZXJ0ZWQuZm9ybSAuZmllbGRzLnN1Y2Nlc3MgLmZpZWxkIGxhYmVsLFxuLnVpLmludmVydGVkLmZvcm0gLnN1Y2Nlc3MuZmllbGQgbGFiZWwge1xuICBjb2xvcjogI2I5ZDFhZDtcbn1cbkBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKC5mKSkge1xuICAudWkuaW52ZXJ0ZWQuZm9ybSAuZmllbGRzOmhhcyguc3VjY2VzcykgPiBsYWJlbCB7XG4gICAgY29sb3I6ICNiOWQxYWQ7XG4gIH1cbn1cbi8qIE9uIEZvcm0gKi9cbi51aS5mb3JtLndhcm5pbmcgLndhcm5pbmcubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLmZvcm0ud2FybmluZyAuY29tcGFjdC53YXJuaW5nLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udWkuZm9ybS53YXJuaW5nIC5pY29uLndhcm5pbmcubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4vKiBPbiBGaWVsZChzKSAqL1xuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC53YXJuaW5nLm1lc3NhZ2U6bm90KDplbXB0eSksXG4udWkuZm9ybSAuZmllbGQud2FybmluZyAud2FybmluZy5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmNvbXBhY3Qud2FybmluZy5tZXNzYWdlOm5vdCg6ZW1wdHkpLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgLmNvbXBhY3Qud2FybmluZy5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5pY29uLndhcm5pbmcubWVzc2FnZTpub3QoOmVtcHR5KSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIC5pY29uLndhcm5pbmcubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4udWkudWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIGxhYmVsLFxuLnVpLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCAudWkubGFiZWw6bm90KC5jb3JuZXIpLFxuLnVpLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgbGFiZWwsXG4udWkudWkuZm9ybSAuZmllbGQud2FybmluZyAudWkubGFiZWw6bm90KC5jb3JuZXIpLFxuLnVpLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCAuaW5wdXQsXG4udWkudWkuZm9ybSAuZmllbGQud2FybmluZyAuaW5wdXQge1xuICBjb2xvcjogIzU3M2EwODtcbn1cbkBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKC5mKSkge1xuICAudWkuZm9ybSAuZmllbGRzOmhhcygud2FybmluZykgPiBsYWJlbCB7XG4gICAgY29sb3I6ICM1NzNhMDg7XG4gIH1cbn1cbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgLnVpLmxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgLnVpLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q3Y2NiNTtcbn1cbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgLmNvcm5lci5sYWJlbCxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIC5jb3JuZXIubGFiZWwge1xuICBib3JkZXItY29sb3I6ICM1NzNhMDg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCB0ZXh0YXJlYSxcbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgc2VsZWN0LFxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCBpbnB1dDpub3QoW3R5cGVdKSxcbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIGlucHV0W3R5cGU9XCJtb250aFwiXSxcbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCBpbnB1dFt0eXBlPVwid2Vla1wiXSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIHRleHRhcmVhLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgc2VsZWN0LFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXQ6bm90KFt0eXBlXSksXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJtb250aFwiXSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXRbdHlwZT1cInRlbFwiXSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwid2Vla1wiXSB7XG4gIGNvbG9yOiAjNTczYTA4O1xuICBiYWNrZ3JvdW5kOiAjZmZmYWYzO1xuICBib3JkZXItY29sb3I6ICNjOWJhOWI7XG4gIGJvcmRlci1yYWRpdXM6IFwiXCI7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuZm9ybSAuZmllbGQud2FybmluZyB0ZXh0YXJlYTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIHNlbGVjdDpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0Om5vdChbdHlwZV0pOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjZmZmYWYzO1xuICBib3JkZXItY29sb3I6ICNjOWJhOWI7XG4gIGNvbG9yOiAjNTczYTA4O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgPiB0ZXh0YXJlYTpob3Zlcjpub3QoOmZvY3VzKSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nID4gaW5wdXQ6aG92ZXI6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNjOWJhOWI7XG59XG4vKiBQcmVzZXJ2ZSBOYXRpdmUgU2VsZWN0IFN0eWxpbmdzICovXG4udWkuZm9ybSAuZmllbGQud2FybmluZyBzZWxlY3Qge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lbnVsaXN0LWJ1dHRvbjtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBJbnB1dCBTdGF0ZVxuICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUcmFuc3BhcmVudCAqL1xuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgLnRyYW5zcGFyZW50LmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgLnRyYW5zcGFyZW50LmlucHV0IHRleHRhcmVhLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgaW5wdXQudHJhbnNwYXJlbnQsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyB0ZXh0YXJlYS50cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZhZjMgIWltcG9ydGFudDtcbiAgY29sb3I6ICM1NzNhMDggIWltcG9ydGFudDtcbn1cbi8qIEF1dG9maWxsZWQgKi9cbi51aS5mb3JtIC53YXJuaW5nLndhcm5pbmcgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDEwMHB4ICNmZmZmZTAgaW5zZXQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjZTBlMGIzICFpbXBvcnRhbnQ7XG59XG4vKiBQbGFjZWhvbGRlciAqL1xuLnVpLmZvcm0gLndhcm5pbmcgLnVpLmRyb3Bkb3duID4gLmRlZmF1bHQudGV4dCxcbi51aS5mb3JtIC53YXJuaW5nIDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2VkYWQzZTtcbn1cbi51aS5mb3JtIC53YXJuaW5nIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2VkYWQzZSAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLndhcm5pbmcgLnVpLmRyb3Bkb3duID4gaW5wdXQ6Zm9jdXMgfiAuZGVmYXVsdC50ZXh0LFxuLnVpLmZvcm0gLndhcm5pbmcgOmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZTM5NzE1O1xufVxuLnVpLmZvcm0gLndhcm5pbmcgOmZvY3VzOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZTM5NzE1ICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgRHJvcGRvd24gU3RhdGVcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCAudWkuZHJvcGRvd24sXG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIC51aS5kcm9wZG93biAuaXRlbSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIC51aS5kcm9wZG93bixcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIC51aS5kcm9wZG93biA+IC50ZXh0LFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgLnVpLmRyb3Bkb3duIC5pdGVtIHtcbiAgYmFja2dyb3VuZDogI2ZmZmFmMztcbiAgY29sb3I6ICM1NzNhMDg7XG59XG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIC51aS5kcm9wZG93bixcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIC51aS5kcm9wZG93biB7XG4gIGJvcmRlci1jb2xvcjogI2M5YmE5YiAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCAudWkuZHJvcGRvd246aG92ZXIsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyAudWkuZHJvcGRvd246aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNjOWJhOWIgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgLnVpLmRyb3Bkb3duOmhvdmVyIC5tZW51LFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgLnVpLmRyb3Bkb3duOmhvdmVyIC5tZW51IHtcbiAgYm9yZGVyLWNvbG9yOiAjYzliYTliO1xufVxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCAudWkubXVsdGlwbGUuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgLnVpLm11bHRpcGxlLnNlbGVjdGlvbi5kcm9wZG93biA+IC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWVhY2M7XG4gIGNvbG9yOiAjNTczYTA4O1xufVxuLyogSG92ZXIgKi9cbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtOmhvdmVyLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmJlOTtcbn1cbi8qIFNlbGVjdGVkICovXG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIC51aS5kcm9wZG93biAubWVudSAuc2VsZWN0ZWQuaXRlbSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIC51aS5kcm9wZG93biAubWVudSAuc2VsZWN0ZWQuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmZiZTk7XG59XG4vKiBBY3RpdmUgKi9cbi51aS5mb3JtIC5maWVsZHMud2FybmluZyAuZmllbGQgLnVpLmRyb3Bkb3duIC5tZW51IC5hY3RpdmUuaXRlbSxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIC51aS5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGNlICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBDaGVja2JveCBTdGF0ZVxuICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCAuY2hlY2tib3g6bm90KC50b2dnbGUpOm5vdCguc2xpZGVyKSBsYWJlbCxcbi51aS5mb3JtIC5maWVsZC53YXJuaW5nIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIGxhYmVsIHtcbiAgY29sb3I6ICM1NzNhMDg7XG59XG4udWkuZm9ybSAuZmllbGRzLndhcm5pbmcgLmZpZWxkIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIGxhYmVsOjpiZWZvcmUsXG4udWkuZm9ybSAuZmllbGQud2FybmluZyAuY2hlY2tib3g6bm90KC50b2dnbGUpOm5vdCguc2xpZGVyKSBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2ZmZmFmMztcbiAgYm9yZGVyLWNvbG9yOiAjYzliYTliO1xufVxuLnVpLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCAuY2hlY2tib3ggbGFiZWw6OmFmdGVyLFxuLnVpLmZvcm0gLmZpZWxkLndhcm5pbmcgLmNoZWNrYm94IGxhYmVsOjphZnRlciB7XG4gIGNvbG9yOiAjNTczYTA4O1xufVxuLnVpLmludmVydGVkLmZvcm0gLmZpZWxkcy53YXJuaW5nIC5maWVsZCBsYWJlbCxcbi51aS5pbnZlcnRlZC5mb3JtIC53YXJuaW5nLmZpZWxkIGxhYmVsIHtcbiAgY29sb3I6ICNkN2NjYjU7XG59XG5Ac3VwcG9ydHMgc2VsZWN0b3IoOmhhcyguZikpIHtcbiAgLnVpLmludmVydGVkLmZvcm0gLmZpZWxkczpoYXMoLndhcm5pbmcpID4gbGFiZWwge1xuICAgIGNvbG9yOiAjZDdjY2I1O1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBEaXNhYmxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZvcm0gLmRpc2FibGVkLmZpZWxkcyAuZmllbGQsXG4udWkuZm9ybSAuZGlzYWJsZWQuZmllbGQsXG4udWkuZm9ybSAuZmllbGQgOmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDAuNDU7XG59XG4udWkuZm9ybSAuZmllbGQuZGlzYWJsZWQgPiBsYWJlbCxcbi51aS5mb3JtIC5maWVsZHMuZGlzYWJsZWQgPiBsYWJlbCB7XG4gIG9wYWNpdHk6IDAuNDU7XG59XG4udWkuZm9ybSAuZmllbGQuZGlzYWJsZWQgOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExvYWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5sb2FkaW5nLmZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udWkubG9hZGluZy5mb3JtOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG59XG4udWkubG9hZGluZy5mb3JtLnNlZ21lbnRzOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLmxvYWRpbmcuZm9ybTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTEuNWVtIDAgMCAtMS41ZW07XG4gIHdpZHRoOiAzZW07XG4gIGhlaWdodDogM2VtO1xuICBhbmltYXRpb246IGxvYWRlciAwLjZzIGluZmluaXRlIGxpbmVhcjtcbiAgYm9yZGVyOiAwLjJlbSBzb2xpZCAjNzY3Njc2O1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgei1pbmRleDogMTAxO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEVsZW1lbnQgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgUmVxdWlyZWQgRmllbGRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mb3JtIC5yZXF1aXJlZC5maWVsZHM6bm90KC5ncm91cGVkKTpub3QoLmlubGluZSkgPiAuZmllbGQgPiBsYWJlbDo6YWZ0ZXIsXG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGRzLmlubGluZSA+IGxhYmVsOjphZnRlcixcbi51aS5mb3JtIC5yZXF1aXJlZC5maWVsZHMuZ3JvdXBlZCA+IGxhYmVsOjphZnRlcixcbi51aS5mb3JtIC5yZXF1aXJlZC5maWVsZCA+IGxhYmVsOjphZnRlcixcbi51aS5mb3JtIC5yZXF1aXJlZC5maWVsZHM6bm90KC5ncm91cGVkKTpub3QoLmlubGluZSkgPiAuZmllbGQgPiAuY2hlY2tib3g6OmFmdGVyLFxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkID4gLmNoZWNrYm94OjphZnRlcixcbi51aS5mb3JtIGxhYmVsLnJlcXVpcmVkOjphZnRlciB7XG4gIG1hcmdpbjogLTAuMmVtIDAgMCAwLjJlbTtcbiAgY29udGVudDogXCIqXCI7XG4gIGNvbG9yOiAjZGIyODI4O1xufVxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkczpub3QoLmdyb3VwZWQpOm5vdCguaW5saW5lKSA+IC5maWVsZCA+IGxhYmVsOjphZnRlcixcbi51aS5mb3JtIC5yZXF1aXJlZC5maWVsZHMuaW5saW5lID4gbGFiZWw6OmFmdGVyLFxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkcy5ncm91cGVkID4gbGFiZWw6OmFmdGVyLFxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkID4gbGFiZWw6OmFmdGVyLFxuLnVpLmZvcm0gbGFiZWwucmVxdWlyZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkczpub3QoLmdyb3VwZWQpOm5vdCguaW5saW5lKSA+IC5maWVsZCA+IC5jaGVja2JveDo6YWZ0ZXIsXG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGQgPiAuY2hlY2tib3g6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG59XG4udWkudWkudWkudWkuZm9ybSAuZmllbGRzOm5vdCgucmVxdWlyZWQpID4gbGFiZWw6ZW1wdHk6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmZvcm0gLmZpZWxkczpub3QoLmdyb3VwZWQpOm5vdCguaW5saW5lKSA+IC5maWVsZDpub3QoLnJlcXVpcmVkKSA+IGxhYmVsOmVtcHR5OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udWkudWkudWkudWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQ6bm90KC5yZXF1aXJlZCkgPiBsYWJlbDplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW52ZXJ0ZWQgQ29sb3JzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW52ZXJ0ZWQuZm9ybSBsYWJlbCxcbi51aS5mb3JtIC5pbnZlcnRlZC5zZWdtZW50IGxhYmVsLFxuLnVpLmZvcm0gLmludmVydGVkLnNlZ21lbnQgLnVpLmNoZWNrYm94IGxhYmVsLFxuLnVpLmludmVydGVkLmZvcm0gLnVpLmNoZWNrYm94IGxhYmVsLFxuLnVpLmludmVydGVkLmZvcm0gLmdyb3VwZWQuZmllbGRzID4gbGFiZWwsXG4udWkuaW52ZXJ0ZWQuZm9ybSAuaW5saW5lLmZpZWxkcyA+IGxhYmVsLFxuLnVpLmludmVydGVkLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gbGFiZWwsXG4udWkuaW52ZXJ0ZWQuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiBwLFxuLnVpLmludmVydGVkLmZvcm0gLmlubGluZS5maWVsZCA+IGxhYmVsLFxuLnVpLmludmVydGVkLmZvcm0gLmlubGluZS5maWVsZCA+IHAge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLmxvYWRpbmcuZm9ybSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmxvYWRpbmcuZm9ybTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbi8qIEludmVydGVkIEZpZWxkICovXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dDpub3QoW3R5cGVdKSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cInVybFwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJ3ZWVrXCJdIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZpZWxkIEdyb3Vwc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogR3JvdXBlZCBWZXJ0aWNhbGx5ICovXG4udWkuZm9ybSAuZ3JvdXBlZC5maWVsZHMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgMWVtO1xufVxuLnVpLmZvcm0gLmdyb3VwZWQuZmllbGRzOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnVpLmZvcm0gLmdyb3VwZWQuZmllbGRzID4gbGFiZWwge1xuICBtYXJnaW46IDAgMCAwLjI4NTcxNDI5cmVtIDA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuLnVpLmZvcm0gLmdyb3VwZWQuZmllbGRzIC5maWVsZCxcbi51aS5mb3JtIC5ncm91cGVkLmlubGluZS5maWVsZHMgLmZpZWxkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMC41ZW0gMDtcbiAgcGFkZGluZzogMDtcbn1cbi51aS5mb3JtIC5ncm91cGVkLmlubGluZS5maWVsZHMgLnVpLmNoZWNrYm94IHtcbiAgbWFyZ2luLWJvdHRvbTogMC40ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGaWVsZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU3BsaXQgZmllbGRzICovXG4udWkuZm9ybSAuZmllbGRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWFyZ2luOiAwIC0wLjVlbSAxZW07XG59XG4udWkuZm9ybSAuZmllbGRzID4gLmZpZWxkIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHBhZGRpbmctbGVmdDogMC41ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xufVxuLnVpLmZvcm0gLmZpZWxkcyA+IC5maWVsZDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogT3RoZXIgQ29tYmluYXRpb25zICovXG4udWkuZm9ybSAudHdvLmZpZWxkcyA+IC5maWVsZHMsXG4udWkuZm9ybSAudHdvLmZpZWxkcyA+IC5maWVsZCB7XG4gIHdpZHRoOiA1MCU7XG59XG4udWkuZm9ybSAudGhyZWUuZmllbGRzID4gLmZpZWxkcyxcbi51aS5mb3JtIC50aHJlZS5maWVsZHMgPiAuZmllbGQge1xuICB3aWR0aDogMzMuMzMzMzMzMzMlO1xufVxuLnVpLmZvcm0gLmZvdXIuZmllbGRzID4gLmZpZWxkcyxcbi51aS5mb3JtIC5mb3VyLmZpZWxkcyA+IC5maWVsZCB7XG4gIHdpZHRoOiAyNSU7XG59XG4udWkuZm9ybSAuZml2ZS5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLmZpdmUuZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDIwJTtcbn1cbi51aS5mb3JtIC5zaXguZmllbGRzID4gLmZpZWxkcyxcbi51aS5mb3JtIC5zaXguZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbn1cbi51aS5mb3JtIC5zZXZlbi5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLnNldmVuLmZpZWxkcyA+IC5maWVsZCB7XG4gIHdpZHRoOiAxNC4yODU3MTQyOSU7XG59XG4udWkuZm9ybSAuZWlnaHQuZmllbGRzID4gLmZpZWxkcyxcbi51aS5mb3JtIC5laWdodC5maWVsZHMgPiAuZmllbGQge1xuICB3aWR0aDogMTIuNSU7XG59XG4udWkuZm9ybSAubmluZS5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLm5pbmUuZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDExLjExMTExMTExJTtcbn1cbi51aS5mb3JtIC50ZW4uZmllbGRzID4gLmZpZWxkcyxcbi51aS5mb3JtIC50ZW4uZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDEwJTtcbn1cbi8qIFN3YXAgdG8gZnVsbCB3aWR0aCBvbiBtb2JpbGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLmZvcm0gLmZpZWxkcyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5maWVsZHMsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDFlbTtcbiAgfVxufVxuLyogU2l6aW5nIENvbWJpbmF0aW9ucyAqL1xuLnVpLmZvcm0gLmZpZWxkcyAud2lkZS5maWVsZCB7XG4gIHdpZHRoOiA2LjI1JTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgcGFkZGluZy1yaWdodDogMC41ZW07XG59XG4udWkuZm9ybSAub25lLndpZGUuZmllbGQge1xuICB3aWR0aDogNi4yNSU7XG59XG4udWkuZm9ybSAudHdvLndpZGUuZmllbGQge1xuICB3aWR0aDogMTIuNSU7XG59XG4udWkuZm9ybSAudGhyZWUud2lkZS5maWVsZCB7XG4gIHdpZHRoOiAxOC43NSU7XG59XG4udWkuZm9ybSAuZm91ci53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDI1JTtcbn1cbi51aS5mb3JtIC5maXZlLndpZGUuZmllbGQge1xuICB3aWR0aDogMzEuMjUlO1xufVxuLnVpLmZvcm0gLnNpeC53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDM3LjUlO1xufVxuLnVpLmZvcm0gLnNldmVuLndpZGUuZmllbGQge1xuICB3aWR0aDogNDMuNzUlO1xufVxuLnVpLmZvcm0gLmVpZ2h0LndpZGUuZmllbGQge1xuICB3aWR0aDogNTAlO1xufVxuLnVpLmZvcm0gLm5pbmUud2lkZS5maWVsZCB7XG4gIHdpZHRoOiA1Ni4yNSU7XG59XG4udWkuZm9ybSAudGVuLndpZGUuZmllbGQge1xuICB3aWR0aDogNjIuNSU7XG59XG4udWkuZm9ybSAuZWxldmVuLndpZGUuZmllbGQge1xuICB3aWR0aDogNjguNzUlO1xufVxuLnVpLmZvcm0gLnR3ZWx2ZS53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDc1JTtcbn1cbi51aS5mb3JtIC50aGlydGVlbi53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDgxLjI1JTtcbn1cbi51aS5mb3JtIC5mb3VydGVlbi53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDg3LjUlO1xufVxuLnVpLmZvcm0gLmZpZnRlZW4ud2lkZS5maWVsZCB7XG4gIHdpZHRoOiA5My43NSU7XG59XG4udWkuZm9ybSAuc2l4dGVlbi53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBFcXVhbCBXaWR0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWlbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0uZm9ybSAuZmllbGRzID4gLmZpZWxkLFxuLnVpLmZvcm0gW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLmZpZWxkcyA+IC5maWVsZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4OiAxIDEgYXV0bztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIElubGluZSBGaWVsZHNcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIHtcbiAgbWFyZ2luOiAwIDAgMWVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDFlbSAwIDA7XG59XG4vKiBJbmxpbmUgTGFiZWwgKi9cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzID4gbGFiZWwsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiBsYWJlbCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IHAsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gbGFiZWwsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4vKiBHcm91cGVkIElubGluZSBMYWJlbCAqL1xuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgPiBsYWJlbCB7XG4gIG1hcmdpbjogMC4wMzU3MWVtIDFlbSAwIDA7XG59XG4vKiBJbmxpbmUgSW5wdXQgKi9cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IGlucHV0LFxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gc2VsZWN0LFxuLnVpLmZvcm0gLmlubGluZS5maWVsZCA+IGlucHV0LFxuLnVpLmZvcm0gLmlubGluZS5maWVsZCA+IHNlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkIC5jYWxlbmRhcjpub3QoLnBvcHVwKSxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQgLmNhbGVuZGFyOm5vdCgucG9wdXApIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkIC5jYWxlbmRhcjpub3QoLnBvcHVwKSA+IC5pbnB1dCA+IGlucHV0LFxuLnVpLmZvcm0gLmlubGluZS5maWVsZCAuY2FsZW5kYXI6bm90KC5wb3B1cCkgPiAuaW5wdXQgPiBpbnB1dCB7XG4gIHdpZHRoOiAxMy4xMWVtO1xufVxuLyogTGFiZWwgKi9cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IDpmaXJzdC1jaGlsZCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW46IDAgMC44NTcxNDI4NmVtIDAgMDtcbn1cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IDpvbmx5LWNoaWxkLFxuLnVpLmZvcm0gLmlubGluZS5maWVsZCA+IDpvbmx5LWNoaWxkIHtcbiAgbWFyZ2luOiAwO1xufVxuLyogV2lkZSAqL1xuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLndpZGUuZmllbGQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLndpZGUuZmllbGQgPiBpbnB1dCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC53aWRlLmZpZWxkID4gc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZm9ybSxcbi51aS5mb3JtIC5maWVsZCAuZHJvcGRvd24sXG4udWkuZm9ybSAuZmllbGQgLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkubWluaS5mb3JtLFxuLnVpLm1pbmkuZm9ybSAuZmllbGQgLmRyb3Bkb3duLFxuLnVpLm1pbmkuZm9ybSAuZmllbGQgLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG4udWkudGlueS5mb3JtLFxuLnVpLnRpbnkuZm9ybSAuZmllbGQgLmRyb3Bkb3duLFxuLnVpLnRpbnkuZm9ybSAuZmllbGQgLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkuc21hbGwuZm9ybSxcbi51aS5zbWFsbC5mb3JtIC5maWVsZCAuZHJvcGRvd24sXG4udWkuc21hbGwuZm9ybSAuZmllbGQgLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkubGFyZ2UuZm9ybSxcbi51aS5sYXJnZS5mb3JtIC5maWVsZCAuZHJvcGRvd24sXG4udWkubGFyZ2UuZm9ybSAuZmllbGQgLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkuYmlnLmZvcm0sXG4udWkuYmlnLmZvcm0gLmZpZWxkIC5kcm9wZG93bixcbi51aS5iaWcuZm9ybSAuZmllbGQgLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG4udWkuaHVnZS5mb3JtLFxuLnVpLmh1Z2UuZm9ybSAuZmllbGQgLmRyb3Bkb3duLFxuLnVpLmh1Z2UuZm9ybSAuZmllbGQgLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5mb3JtLFxuLnVpLm1hc3NpdmUuZm9ybSAuZmllbGQgLmRyb3Bkb3duLFxuLnVpLm1hc3NpdmUuZm9ybSAuZmllbGQgLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gR3JpZFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBHcmlkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogSW5oZXJpdGVkIEZyb20gU2l0ZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEdyaWRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgUmVsYXhlZFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBEaXZpZGVkXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgQ2VsbGVkXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgU3RhY2thYmxlXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgQ29tcGFjdFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBWZXJ5IENvbXBhY3Rcbi0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBMZWdhY3lcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExlZ2FjeSAoRE8gTk9UIFVTRSlcbiAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgcGFkZGluZzogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFJlbW92ZSBHdXR0ZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmdyaWQge1xuICBtYXJnaW46IC0xcmVtIC0xcmVtO1xufVxuLnVpLnJlbGF4ZWQuZ3JpZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG59XG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmdyaWQge1xuICBtYXJnaW4tbGVmdDogLTIuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMi41cmVtO1xufVxuLyogUHJlc2VydmUgUm93cyBTcGFjaW5nIG9uIENvbnNlY3V0aXZlIEdyaWRzICovXG4udWkuZ3JpZCArIC5ncmlkIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2x1bW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU3RhbmRhcmQgMTYgY29sdW1uICovXG4udWkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNi4yNSU7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi51aS5ncmlkID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUm93c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5ncmlkID4gLnJvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBpbmhlcml0O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbHVtbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBWZXJ0aWNhbCBwYWRkaW5nIHdoZW4gbm8gcm93cyAqL1xuLnVpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cbi51aS5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5ncmlkID4gLnJvdyA+IGltZyxcbi51aS5ncmlkID4gLnJvdyA+IC5jb2x1bW4gPiBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgTG9vc2UgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDb2xsYXBzZSBNYXJnaW4gb24gQ29uc2VjdXRpdmUgR3JpZCAqL1xuLnVpLmdyaWQgPiAudWkuZ3JpZDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4udWkuZ3JpZCA+IC51aS5ncmlkOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyogU2VnbWVudCBpbnNpZGUgQWxpZ25lZCBHcmlkICovXG4udWkuZ3JpZCAuYWxpZ25lZC5yb3cgPiAuY29sdW1uID4gLnNlZ21lbnQ6bm90KC5jb21wYWN0KTpub3QoLmF0dGFjaGVkKSxcbi51aS5hbGlnbmVkLmdyaWQgLmNvbHVtbiA+IC5zZWdtZW50Om5vdCguY29tcGFjdCk6bm90KC5hdHRhY2hlZCkge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIEFsaWduIERpdmlkZXJzIHdpdGggR3V0dGVyICovXG4udWkuZ3JpZCAucm93ICsgLnVpLmRpdmlkZXIge1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbjogMXJlbSAxcmVtO1xufVxuLnVpLmdyaWQgLmNvbHVtbiArIC51aS52ZXJ0aWNhbC5kaXZpZGVyIHtcbiAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pO1xufVxuLyogUmVtb3ZlIEJvcmRlciBvbiBMYXN0IEhvcml6b250YWwgU2VnbWVudCAqL1xuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkID4gLmhvcml6b250YWwuc2VnbWVudCxcbi51aS5ncmlkID4gLmNvbHVtbjpsYXN0LWNoaWxkID4gLmhvcml6b250YWwuc2VnbWVudCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgUGFnZSBHcmlkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkucGFnZS5ncmlkIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudWkucGFnZS5ncmlkIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgcGFkZGluZy1yaWdodDogMmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gIC51aS5wYWdlLmdyaWQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMlO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTkuOThweCkge1xuICAudWkucGFnZS5ncmlkIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAxNSU7XG4gICAgcGFkZGluZy1yaWdodDogMTUlO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkucGFnZS5ncmlkIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyMyU7XG4gICAgcGFkZGluZy1yaWdodDogMjMlO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIENvbHVtbiBDb3VudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEFzc3VtZSBmdWxsIHdpZHRoIHdpdGggb25lIGNvbHVtbiAqL1xuLnVpLmdyaWQgPiAuY29sdW1uOm9ubHktY2hpbGQsXG4udWkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOm9ubHktY2hpbGQge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIEdyaWQgQmFzZWQgKi9cbi51aVtjbGFzcyo9XCJvbmUgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJvbmUgY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi51aVtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInRocmVlIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogMzMuMzMzMzMzMzMlO1xufVxuLnVpW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogMjUlO1xufVxuLnVpW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJmaXZlIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogMjAlO1xufVxuLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbn1cbi51aVtjbGFzcyo9XCJzZXZlbiBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogMTQuMjg1NzE0MjklO1xufVxuLnVpW2NsYXNzKj1cImVpZ2h0IGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiAxMi41JTtcbn1cbi51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwibmluZSBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDExLjExMTExMTExJTtcbn1cbi51aVtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiAxMCU7XG59XG4udWlbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogOS4wOTA5MDkwOSU7XG59XG4udWlbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogOC4zMzMzMzMzMyU7XG59XG4udWlbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDcuNjkyMzA3NjklO1xufVxuLnVpW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiA3LjE0Mjg1NzE0JTtcbn1cbi51aVtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwiZmlmdGVlbiBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDYuNjY2NjY2NjclO1xufVxuLnVpW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogNi4yNSU7XG59XG4vKiBSb3cgQmFzZWQgT3ZlcnJpZGVzICovXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogMzMuMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiAyMCUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NyUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDE0LjI4NTcxNDI5JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogMTIuNSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogMTEuMTExMTExMTElICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogMTAlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogOS4wOTA5MDkwOSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzJSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogNy42OTIzMDc2OSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDcuMTQyODU3MTQlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDYuNjY2NjY2NjclICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDYuMjUlICFpbXBvcnRhbnQ7XG59XG4vKiBDZWxsZWQgUGFnZSAqL1xuLnVpLmNlbGxlZC5wYWdlLmdyaWQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBDb2x1bW4gV2lkdGhcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2l6aW5nIENvbWJpbmF0aW9ucyAqL1xuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiA2LjI1JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3byB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiAxMi41JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDE4Ljc1JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiAzMS4yNSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogMzcuNSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiA0My43NSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDU2LjI1JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiA2Mi41JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiA2OC43NSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogODEuMjUlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogODcuNSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDkzLjc1JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBXaWR0aCBwZXIgRGV2aWNlXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1vYmlsZSBTaXppbmcgQ29tYmluYXRpb25zICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2LjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTIuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTguNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMzEuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAzNy41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA0My43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNTYuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2Mi41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNjguNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogODEuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDg3LjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogOTMuNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBUYWJsZXQgU2l6aW5nIENvbWJpbmF0aW9ucyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNi4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDE4Ljc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMxLjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMzcuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNDMuNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDU2LjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNjIuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDY4Ljc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDgxLjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA4Ny41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDkzLjc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogQ29tcHV0ZXIvRGVza3RvcCBTaXppbmcgQ29tYmluYXRpb25zICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2LjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMi41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDE4Ljc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMS4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMzcuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA0My43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDU2LjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2Mi41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2OC43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogODEuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogODcuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDkzLjc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBMYXJnZSBNb25pdG9yIFNpemluZyBDb21iaW5hdGlvbnMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45OHB4KSB7XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNi4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDE4Ljc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMxLjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMzcuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNDMuNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDU2LjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNjIuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDY4Ljc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDgxLjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA4Ny41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDkzLjc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogV2lkZXNjcmVlbiBTaXppbmcgQ29tYmluYXRpb25zICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2LjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxOC43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMxLjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDM3LjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA0My43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA1Ni4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2Mi41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDY4Ljc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogODEuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA4Ny41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA5My43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBDZW50ZXJlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2VudGVyZWQuZ3JpZCxcbi51aS5jZW50ZXJlZC5ncmlkID4gLnJvdyxcbi51aS5ncmlkID4gLmNlbnRlcmVkLnJvdyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4udWkuY2VudGVyZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5hbGlnbmVkKTpub3QoLmp1c3RpZmllZCk6bm90KC5yb3cpLFxuLnVpLmNlbnRlcmVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpub3QoLmFsaWduZWQpOm5vdCguanVzdGlmaWVkKSxcbi51aS5ncmlkIC5jZW50ZXJlZC5yb3cgPiAuY29sdW1uOm5vdCguYWxpZ25lZCk6bm90KC5qdXN0aWZpZWQpIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi51aS5ncmlkID4gLmNlbnRlcmVkLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5jZW50ZXJlZC5jb2x1bW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFJlbGF4ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnJlbGF4ZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLnJlbGF4ZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiAucmVsYXhlZC5yb3cgPiAuY29sdW1uIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ucm93ID4gLmNvbHVtbiB7XG4gIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG59XG4vKiBDb3VwbGluZyB3aXRoIFVJIERpdmlkZXIgKi9cbi51aS5yZWxheGVkLmdyaWQgLnJvdyArIC51aS5kaXZpZGVyLFxuLnVpLmdyaWQgLnJlbGF4ZWQucm93ICsgLnVpLmRpdmlkZXIge1xuICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uZ3JpZCAucm93ICsgLnVpLmRpdmlkZXIsXG4udWkuZ3JpZCBbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLnJvdyArIC51aS5kaXZpZGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDIuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAyLjVyZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBQYWRkZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnBhZGRlZC5ncmlkOm5vdCgudmVydGljYWxseSk6bm90KC5ob3Jpem9udGFsbHkpIHtcbiAgbWFyZ2luOiAwO1xufVxuW2NsYXNzKj1cImhvcml6b250YWxseSBwYWRkZWRcIl0udWkuZ3JpZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5bY2xhc3MqPVwidmVydGljYWxseSBwYWRkZWRcIl0udWkuZ3JpZCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFwiRmxvYXRlZFwiXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5ncmlkIFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0uY29sdW1uIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnVpLmdyaWQgW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0uY29sdW1uIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBEaXZpZGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWkuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uIHtcbiAgYm94LXNoYWRvdzogLTFweCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogU3dhcCBmcm9tIHBhZGRpbmcgdG8gbWFyZ2luIG9uIGNvbHVtbnMgdG8gaGF2ZSBkaXZpZGVycyBhbGlnbiAqL1xuLnVpW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWlbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3cge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyogTm8gZGl2aWRlciBvbiBmaXJzdCBjb2x1bW4gb24gcm93ICovXG4udWkuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4udWkuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIE5vIHNwYWNlIG9uIHRvcCBvZiBmaXJzdCByb3cgKi9cbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3c6Zmlyc3QtY2hpbGQgPiAuY29sdW1uIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi8qIERpdmlkZWQgUm93ICovXG4udWkuZ3JpZCA+IC5kaXZpZGVkLnJvdyA+IC5jb2x1bW4ge1xuICBib3gtc2hhZG93OiAtMXB4IDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuZ3JpZCA+IC5kaXZpZGVkLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogVmVydGljYWxseSBEaXZpZGVkICovXG4udWlbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAucm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnVpW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdzo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogMCAxcmVtO1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4vKiBQYWRkZWQgSG9yaXpvbnRhbGx5IERpdmlkZWQgKi9cbltjbGFzcyo9XCJob3Jpem9udGFsbHkgcGFkZGVkXCJdLnVpLmRpdmlkZWQuZ3JpZCxcbi51aS5wYWRkZWQuZGl2aWRlZC5ncmlkOm5vdCgudmVydGljYWxseSk6bm90KC5ob3Jpem9udGFsbHkpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiBGaXJzdCBSb3cgVmVydGljYWxseSBEaXZpZGVkICovXG4udWlbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAucm93OmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogSW52ZXJ0ZWQgRGl2aWRlZCAqL1xuLnVpLmludmVydGVkLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aS5pbnZlcnRlZC5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW4ge1xuICBib3gtc2hhZG93OiAtMXB4IDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi51aS5pbnZlcnRlZC5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpub3QoLnJvdyk6Zmlyc3QtY2hpbGQsXG4udWkuaW52ZXJ0ZWQuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5pbnZlcnRlZFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3c6OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLyogUmVsYXhlZCAqL1xuLnVpLnJlbGF4ZWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAucm93OjpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3c6OmJlZm9yZSB7XG4gIG1hcmdpbi1sZWZ0OiAyLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMi41cmVtO1xuICB3aWR0aDogY2FsYygxMDAlIC0gNXJlbSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgQ2VsbGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jZWxsZWQuZ3JpZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDFlbSAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNTtcbn1cbi51aS5jZWxsZWQuZ3JpZCA+IC5yb3cge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgI2Q0ZDRkNTtcbn1cbi51aS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICBib3gtc2hhZG93OiAtMXB4IDAgMCAwICNkNGQ0ZDU7XG59XG4udWkuY2VsbGVkLmdyaWQgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuLnVpLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWkuY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gIHBhZGRpbmc6IDFlbTtcbn1cbi51aS5yZWxheGVkLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWkucmVsYXhlZC5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgcGFkZGluZzogMS41ZW07XG59XG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICBwYWRkaW5nOiAyZW07XG59XG4vKiBJbnRlcm5hbGx5IENlbGxlZCAqL1xuLnVpW2NsYXNzKj1cImludGVybmFsbHkgY2VsbGVkXCJdLmdyaWQge1xuICBib3gtc2hhZG93OiBub25lO1xuICBtYXJnaW46IDA7XG59XG4udWlbY2xhc3MqPVwiaW50ZXJuYWxseSBjZWxsZWRcIl0uZ3JpZCA+IC5yb3c6Zmlyc3QtY2hpbGQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpW2NsYXNzKj1cImludGVybmFsbHkgY2VsbGVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVmVydGljYWxseSBBbGlnbmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRvcCBBbGlnbmVkICovXG4udWlbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXS5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLmNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cbi8qIE1pZGRsZSBBbGlnbmVkICovXG4udWlbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXS5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdLmNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuLyogQm90dG9tIEFsaWduZWQgKi9cbi51aVtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWlbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0ucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLmNvbHVtbjpub3QoLnJvdyksXG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0uY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcbn1cbi8qIFN0cmV0Y2hlZCAqL1xuLnVpLnN0cmV0Y2hlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuc3RyZXRjaGVkLmdyaWQgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiAuc3RyZXRjaGVkLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IC5zdHJldGNoZWQuY29sdW1uOm5vdCgucm93KSxcbi51aS5ncmlkID4gLnJvdyA+IC5zdHJldGNoZWQuY29sdW1uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi51aS5zdHJldGNoZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uID4gKixcbi51aS5zdHJldGNoZWQuZ3JpZCA+IC5jb2x1bW4gPiAqLFxuLnVpLmdyaWQgPiAuc3RyZXRjaGVkLnJvdyA+IC5jb2x1bW4gPiAqLFxuLnVpLmdyaWQgPiAuc3RyZXRjaGVkLmNvbHVtbjpub3QoLnJvdykgPiAqLFxuLnVpLmdyaWQgPiAucm93ID4gLnN0cmV0Y2hlZC5jb2x1bW4gPiAqIHtcbiAgZmxleC1ncm93OiAxO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgSG9yaXpvbnRhbGx5IENlbnRlcmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExlZnQgQWxpZ25lZCAqL1xuLnVpW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5ncmlkID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdLnJvdyA+IC5jb2x1bW4sXG4udWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uY29sdW1uLFxuLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5jb2x1bW4ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBhbGlnbi1zZWxmOiBpbmhlcml0O1xufVxuLyogQ2VudGVyIEFsaWduZWQgKi9cbi51aVtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5ncmlkID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5yb3cgPiAuY29sdW1uLFxuLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0uY29sdW1uLFxuLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLmNvbHVtbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogaW5oZXJpdDtcbn1cbi51aVtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5ncmlkIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4vKiBSaWdodCBBbGlnbmVkICovXG4udWlbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5ncmlkID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0ucm93ID4gLmNvbHVtbixcbi51aS51aS5ncmlkID4gW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0uY29sdW1uLFxuLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0uY29sdW1uIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGFsaWduLXNlbGY6IGluaGVyaXQ7XG59XG4vKiBKdXN0aWZpZWQgKi9cbi51aS5qdXN0aWZpZWQuZ3JpZCA+IC5jb2x1bW4sXG4udWkuanVzdGlmaWVkLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gLmp1c3RpZmllZC5yb3cgPiAuY29sdW1uLFxuLnVpLnVpLmdyaWQgPiAuanVzdGlmaWVkLmNvbHVtbixcbi51aS51aS5ncmlkID4gLnJvdyA+IC5qdXN0aWZpZWQuY29sdW1uIHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgaHlwaGVuczogYXV0bztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIENvbG9yZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZ3JpZCA+IC5wcmltYXJ5LnJvdyxcbi51aS5ncmlkID4gLnByaW1hcnkuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnByaW1hcnkuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZDMzY2NztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZ3JpZCA+IC5zZWNvbmRhcnkucm93LFxuLnVpLmdyaWQgPiAuc2Vjb25kYXJ5LmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5zZWNvbmRhcnkuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4ZDMxNztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZ3JpZCA+IC5yZWQucm93LFxuLnVpLmdyaWQgPiAucmVkLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5yZWQuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiMjgyODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZ3JpZCA+IC5vcmFuZ2Uucm93LFxuLnVpLmdyaWQgPiAub3JhbmdlLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5vcmFuZ2UuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNzExYztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZ3JpZCA+IC55ZWxsb3cucm93LFxuLnVpLmdyaWQgPiAueWVsbG93LmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC55ZWxsb3cuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiYmQwODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZ3JpZCA+IC5vbGl2ZS5yb3csXG4udWkuZ3JpZCA+IC5vbGl2ZS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAub2xpdmUuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I1Y2MxODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZ3JpZCA+IC5ncmVlbi5yb3csXG4udWkuZ3JpZCA+IC5ncmVlbi5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAuZ3JlZW4uY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYmE0NTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZ3JpZCA+IC50ZWFsLnJvdyxcbi51aS5ncmlkID4gLnRlYWwuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnRlYWwuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjVhZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZ3JpZCA+IC5ibHVlLnJvdyxcbi51aS5ncmlkID4gLmJsdWUuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmJsdWUuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVkMDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZ3JpZCA+IC52aW9sZXQucm93LFxuLnVpLmdyaWQgPiAudmlvbGV0LmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC52aW9sZXQuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVjOTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZ3JpZCA+IC5wdXJwbGUucm93LFxuLnVpLmdyaWQgPiAucHVycGxlLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5wdXJwbGUuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzMzNjODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZ3JpZCA+IC5waW5rLnJvdyxcbi51aS5ncmlkID4gLnBpbmsuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnBpbmsuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMzk5NztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZ3JpZCA+IC5icm93bi5yb3csXG4udWkuZ3JpZCA+IC5icm93bi5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAuYnJvd24uY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1NjczZjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZ3JpZCA+IC5ncmV5LnJvdyxcbi51aS5ncmlkID4gLmdyZXkuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmdyZXkuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZ3JpZCA+IC5ibGFjay5yb3csXG4udWkuZ3JpZCA+IC5ibGFjay5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAuYmxhY2suY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRXF1YWwgV2lkdGhcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5yb3cgPiAuY29sdW1uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbGV4LWdyb3c6IDE7XG59XG4udWlbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0uZ3JpZCA+IC53aWRlLmNvbHVtbixcbi51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5ncmlkID4gLnJvdyA+IC53aWRlLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLnJvdyA+IC53aWRlLmNvbHVtbiB7XG4gIGZsZXgtZ3JvdzogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFJldmVyc2VcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aVtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0uZ3JpZCxcbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5ncmlkID4gLnJvdyxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLnJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC51aVtjbGFzcyo9XCJtb2JpbGUgdmVydGljYWxseSByZXZlcnNlZFwiXS5ncmlkLFxuICAudWkuc3RhY2thYmxlW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG4gIC8qIERpdmlkZWQgUmV2ZXJzZWQgKi9cbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpmaXJzdC1jaGlsZCxcbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IC0xcHggMCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgfVxuICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmxhc3QtY2hpbGQsXG4gIC51aVtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLyogVmVydGljYWxseSBEaXZpZGVkIFJldmVyc2VkICovXG4gIC51aS5ncmlkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXVtjbGFzcyo9XCJtb2JpbGUgdmVydGljYWxseSByZXZlcnNlZFwiXSA+IC5yb3c6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB9XG4gIC51aS5ncmlkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXVtjbGFzcyo9XCJtb2JpbGUgdmVydGljYWxseSByZXZlcnNlZFwiXSA+IC5yb3c6bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC8qIENlbGxlZCBSZXZlcnNlZCAqL1xuICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IC0xcHggMCAwIDAgI2Q0ZDRkNTtcbiAgfVxuICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuLyogVGFibGV0ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5ncmlkLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmdyaWQgPiAucm93LFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0ucm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRhYmxldCB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdLmdyaWQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxuICAvKiBEaXZpZGVkIFJldmVyc2VkICovXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiAtMXB4IDAgMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpsYXN0LWNoaWxkLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC8qIFZlcnRpY2FsbHkgRGl2aWRlZCBSZXZlcnNlZCAqL1xuICAudWkuZ3JpZFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl1bY2xhc3MqPVwidGFibGV0IHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0gPiAucm93OmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgfVxuICAudWkuZ3JpZFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl1bY2xhc3MqPVwidGFibGV0IHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0gPiAucm93Omxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAvKiBDZWxsZWQgUmV2ZXJzZWQgKi9cbiAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiAtMXB4IDAgMCAwICNkNGQ0ZDU7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cbi8qIENvbXB1dGVyICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aVtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5ncmlkLFxuICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uZ3JpZCA+IC5yb3csXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLnJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC51aVtjbGFzcyo9XCJjb21wdXRlciB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdLmdyaWQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxuICAvKiBEaXZpZGVkIFJldmVyc2VkICovXG4gIC51aVtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpmaXJzdC1jaGlsZCxcbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogLTFweCAwIDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB9XG4gIC51aVtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpsYXN0LWNoaWxkLFxuICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLyogVmVydGljYWxseSBEaXZpZGVkIFJldmVyc2VkICovXG4gIC51aS5ncmlkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXVtjbGFzcyo9XCJjb21wdXRlciB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdID4gLnJvdzpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIH1cbiAgLnVpLmdyaWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdW2NsYXNzKj1cImNvbXB1dGVyIHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0gPiAucm93Omxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAvKiBDZWxsZWQgUmV2ZXJzZWQgKi9cbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IC0xcHggMCAwIDAgI2Q0ZDRkNTtcbiAgfVxuICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRG91YmxpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGFibGV0IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudWkuZG91YmxpbmcuZ3JpZCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLnVpLmdyaWQgPiAuZG91Ymxpbmcucm93LFxuICAudWkuZG91YmxpbmcuZ3JpZCA+IC5yb3cge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5kb3VibGluZy5yb3cgPiAuY29sdW1uLFxuICAudWkuZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAudWkuZ3JpZDpub3QoLnN0cmV0Y2hlZCkgPiAuZG91Ymxpbmcucm93Om5vdCguc3RyZXRjaGVkKSA+IC5jb2x1bW46bm90KC5zdHJldGNoZWQpLFxuICAudWkuZG91YmxpbmcuZ3JpZDpub3QoLnN0cmV0Y2hlZCkgPiAucm93Om5vdCguc3RyZXRjaGVkKSA+IC5jb2x1bW46bm90KC5zdHJldGNoZWQpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91Ymxpbmcucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImVpZ2h0IGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZG91Ymxpbmcucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwidGVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidGVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMjAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImVsZXZlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiBjb2x1bW5cIl0uZG91Ymxpbmcucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDIwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NyUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZG91Ymxpbmcucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDE0LjI4NTcxNDI5JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAxNC4yODU3MTQyOSUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMTIuNSUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogTW9iaWxlIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLmdyaWQgPiAuZG91Ymxpbmcucm93LFxuICAudWkuZG91YmxpbmcuZ3JpZCA+IC5yb3cge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5kb3VibGluZy5yb3cgPiAuY29sdW1uLFxuICAudWkuZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRocmVlIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJzZXZlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIFN0YWNrYWJsZVxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIGJvZHkgPiAudWkuc3RhY2thYmxlLmdyaWQsXG4gIC51aTpub3QoLnNlZ21lbnQpOm5vdCguZ3JpZCkgLnVpLnN0YWNrYWJsZS5ncmlkIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5ncmlkID4gLnJvdyA+IC53aWRlLmNvbHVtbixcbiAgLnVpLnN0YWNrYWJsZS5ncmlkID4gLndpZGUuY29sdW1uLFxuICAudWkuc3RhY2thYmxlLmdyaWQgPiAuY29sdW1uLmdyaWQgPiAuY29sdW1uLFxuICAudWkuc3RhY2thYmxlLmdyaWQgPiAuY29sdW1uLnJvdyA+IC5jb2x1bW4sXG4gIC51aS5zdGFja2FibGUuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWkuc3RhY2thYmxlLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiAuc3RhY2thYmxlLnN0YWNrYWJsZS5zdGFja2FibGUucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMXJlbSAxcmVtO1xuICB9XG4gIC51aS5zdGFja2FibGUuZ3JpZDpub3QoLnZlcnRpY2FsbHkpID4gLnJvdyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLyogQ291cGxpbmcgKi9cbiAgLnVpLmNvbnRhaW5lciA+IC51aS5zdGFja2FibGUuZ3JpZCA+IC5jb2x1bW4sXG4gIC51aS5jb250YWluZXIgPiAudWkuc3RhY2thYmxlLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC8qIERvbid0IHBhZCBpbnNpZGUgc2VnbWVudCBvciBuZXN0ZWQgZ3JpZCAqL1xuICAudWkuZ3JpZCAudWkuc3RhY2thYmxlLmdyaWQsXG4gIC51aS5zZWdtZW50Om5vdCgudmVydGljYWwpIC51aS5zdGFja2FibGUucGFnZS5ncmlkIHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgfVxuICAvKiBEaXZpZGVkIFN0YWNrYWJsZSAqL1xuICAudWkuc3RhY2thYmxlLmRpdmlkZWQuZ3JpZCA+IC5yb3c6Zmlyc3QtY2hpbGQgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuICAudWkuc3RhY2thYmxlLmNlbGxlZC5ncmlkID4gLnJvdzpmaXJzdC1jaGlsZCA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4gIC51aS5zdGFja2FibGUuZGl2aWRlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyk6Zmlyc3QtY2hpbGQsXG4gIC51aS5zdGFja2FibGUuY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS51aS5pbnZlcnRlZC5zdGFja2FibGUuY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmludmVydGVkLnN0YWNrYWJsZS5kaXZpZGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnVpLmludmVydGVkLnN0YWNrYWJsZS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWkudWkuaW52ZXJ0ZWQuc3RhY2thYmxlLmRpdmlkZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICB9XG4gIC51aS5zdGFja2FibGUuY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnN0YWNrYWJsZS5kaXZpZGVkOm5vdCgudmVydGljYWxseSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuc3RhY2thYmxlLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aS5zdGFja2FibGUuZGl2aWRlZDpub3QoLnZlcnRpY2FsbHkpLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbiAgfVxuICAudWkuc3RhY2thYmxlLmNlbGxlZC5ncmlkID4gLnJvdyB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5zdGFja2FibGUuZGl2aWRlZDpub3QoLnZlcnRpY2FsbHkpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnN0YWNrYWJsZS5kaXZpZGVkOm5vdCgudmVydGljYWxseSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT25seSAoRGV2aWNlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoZXNlIGluY2x1ZGUgYXJiaXRyYXJ5IGNsYXNzIHJlcGV0aXRpb25zIGZvciBmb3JjZWQgc3BlY2lmaWNpdHkgKi9cbi8qIE1vYmlsZSBPbmx5IEhpZGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS51aS51aVtjbGFzcyo9XCJjb21wdXRlciBvbmx5XCJdLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJjb21wdXRlciBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS51aS51aVtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5ncmlkOm5vdCgubW9iaWxlKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudWkudWkudWlbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSksXG4gIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBUYWJsZXQgT25seSBIaWRlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLnVpLnVpLnVpW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmdyaWQ6bm90KC50YWJsZXQpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5yb3c6bm90KC50YWJsZXQpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC50YWJsZXQpLFxuICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCgudGFibGV0KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS51aS51aVtjbGFzcyo9XCJjb21wdXRlciBvbmx5XCJdLmdyaWQ6bm90KC50YWJsZXQpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJjb21wdXRlciBvbmx5XCJdLnJvdzpub3QoLnRhYmxldCksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uY29sdW1uOm5vdCgudGFibGV0KSxcbiAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uY29sdW1uOm5vdCgudGFibGV0KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS51aS51aVtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5ncmlkOm5vdCgubW9iaWxlKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudWkudWkudWlbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSksXG4gIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBDb21wdXRlciBPbmx5IEhpZGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLnVpLnVpLnVpW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmdyaWQ6bm90KC5jb21wdXRlciksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpLFxuICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmdyaWQ6bm90KC5jb21wdXRlciksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpLFxuICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnVpLnVpW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS51aS51aVtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uZ3JpZDpub3QoLm1vYmlsZSksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIExhcmdlIFNjcmVlbiBPbmx5IEhpZGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgKG1heC13aWR0aDogMTkxOS45OHB4KSB7XG4gIC51aS51aS51aVtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5ncmlkOm5vdCguY29tcHV0ZXIpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5yb3c6bm90KC5jb21wdXRlciksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5ncmlkOm5vdCguY29tcHV0ZXIpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5yb3c6bm90KC5jb21wdXRlciksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS51aS51aVtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uZ3JpZDpub3QoLm1vYmlsZSksXG4gIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIFdpZGVzY3JlZW4gT25seSBIaWRlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkudWkudWlbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0ucm93Om5vdCguY29tcHV0ZXIpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlciksXG4gIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudWkudWkudWlbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0uZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0ucm93Om5vdCguY29tcHV0ZXIpLFxuICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlciksXG4gIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBDb21wYWN0XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS51aS5jb21wYWN0LmdyaWQge1xuICBtYXJnaW46IC0wLjVyZW07XG59XG4udWkudWkudWkuY29tcGFjdC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWkudWkudWkuY29tcGFjdC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xufVxuLnVpLnVpLnVpLmNvbXBhY3QuZ3JpZCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xufVxuLyogUm93ICovXG4udWkudWkudWkuY29tcGFjdC5ncmlkID4gLnJvdyB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwO1xufVxuLyogQ29sdW1ucyAqL1xuLnVpLnVpLnVpLmNvbXBhY3QuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbn1cbi8qIFJlbGF4ZWQgKyBDZWxsZWQgKi9cbi51aS5jb21wYWN0LnJlbGF4ZWQuY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aS5jb21wYWN0LnJlbGF4ZWQuY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gIHBhZGRpbmc6IDAuNzVlbTtcbn1cbi51aS5jb21wYWN0W2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmNvbXBhY3RbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICBwYWRkaW5nOiAxZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBWZXJ5IGNvbXBhY3RcbiAgICAtLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnVpLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5ncmlkIHtcbiAgbWFyZ2luOiAtMC4yNXJlbTtcbn1cbi51aS51aS51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLnVpLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG59XG4udWkudWkudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmdyaWQgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xufVxuLyogUm93ICovXG4udWkudWkudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmdyaWQgPiAucm93IHtcbiAgcGFkZGluZzogMC4yNXJlbSAwO1xufVxuLyogQ29sdW1ucyAqL1xuLnVpLnVpLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG59XG4vKiBSZWxheGVkICsgQ2VsbGVkICovXG4udWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnJlbGF4ZWQuY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0ucmVsYXhlZC5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgcGFkZGluZzogMC4zNzVlbTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl1bY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgcGFkZGluZzogMC41ZW07XG59XG4udWkuZ3JpZCAubGVmdC5hdHRhY2hlZC5jb2x1bW4ge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLnVpLmdyaWQgLnJpZ2h0LmF0dGFjaGVkLmNvbHVtbiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBNZW51XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1lbnVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBDb2xsZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWVudSAqL1xuLyogTWVudSBJdGVtICovXG4vKiBEaXZpZGVyICovXG4vKiBTdWIgTWVudSAqL1xuLyogVGV4dCBJdGVtICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEljb24gKi9cbi8qIERyb3Bkb3duIEljb24gKi9cbi8qIEhlYWRlciAqL1xuLyogVmVydGljYWwgSWNvbiAqL1xuLyogVmVydGljYWwgSGVhZGVyICovXG4vKiBQb2ludGluZyBBcnJvdyAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDb3VwbGluZ3Ncbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQnV0dG9uICovXG4vKiBJbnB1dCAqL1xuLyogSW1hZ2UgKi9cbi8qIExhYmVsICovXG4vKiBoYXMgdG8gYmUgZXF1YWwgdG8gQGNpcmN1bGFyUGFkZGluZyBmcm9tIGxhYmVsLmxlc3MgKi9cbi8qIEltYWdlIExhYmVsICovXG4vKiBDYWxjdWxhdGVzIGFzOiBAdmVydGljYWxMYWJlbCAoZnJvbSBsYWJlbC5sZXNzKSAtIEBsYWJlbFZlcnRpY2FsUGFkZGluZyAoZnJvbSBoZXJlKSAqL1xuLyogTG9naWMgYWRvcHRlZCBmcm9tIGxhYmVsLmxlc3MgKi9cbi8qIERyb3Bkb3duIGluIE1lbnUgKi9cbi8qIERyb3Bkb3duIFZhcmlhdGlvbnMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBIb3ZlcmVkIEl0ZW0gKi9cbi8qIFByZXNzZWQgSXRlbSAqL1xuLyogQWN0aXZlIEl0ZW0gKi9cbi8qIEFjdGl2ZSBIb3ZlcmVkIEl0ZW0gKi9cbi8qIFNlbGVjdGVkIERyb3Bkb3duICovXG4vKiBBY3RpdmUgRHJvcGRvd24gKi9cbi8qIEFjdGl2ZSBTdWIgTWVudSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVmVydGljYWwgKi9cbi8qIFNlY29uZGFyeSAqL1xuLyogUG9pbnRpbmcgKi9cbi8qIEludmVydGVkIFNlY29uZGFyeSAqL1xuLyogSW52ZXJ0ZWQgUG9pbnRpbmcgKi9cbi8qIFRpZXJlZCAqL1xuLyogSWNvbiAqL1xuLyogVGFidWxhciAqL1xuLyogUGFnaW5hdGlvbiAqL1xuLyogTGFiZWxlZCBJY29uICovXG4vKiBUZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSW52ZXJ0ZWQgU3ViIE1lbnUgKi9cbi8qIEludmVydGVkIEhvdmVyICovXG4vKiBQcmVzc2VkICovXG4vKiBJbnZlcnRlZCBBY3RpdmUgKi9cbi8qIEludmVydGVkIEFjdGl2ZSBIb3ZlciAqL1xuLyogSW52ZXJ0ZWQgTWVudSBEaXZpZGVyICovXG4vKiBJbnZlcnRlZCBDb2xvcmVkICovXG4vKiBGaXhlZCAqL1xuLyogRmxvYXRlZCAqL1xuLyogQXR0YWNoZWQgKi9cbi8qIFJlc2l6ZSBsYXJnZSBzaXplcyAqL1xuLyogU2l6ZXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSW52ZXJ0ZWQgZHJvcGRvd25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGFidWxhciAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBNYWluIFRvcCBNZW51ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIE1lbnVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIG1pbi1oZWlnaHQ6IDIuODU3MTQyODZlbTtcbn1cbi51aS5tZW51OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIGNsZWFyOiBib3RoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkubWVudTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4udWkubWVudTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgU3ViLU1lbnVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1lbnUgLm1lbnUge1xuICBtYXJnaW46IDA7XG59XG4udWkubWVudTpub3QoLnZlcnRpY2FsKSA+IC5tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBJdGVtXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5tZW51Om5vdCgudmVydGljYWwpIC5pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi51aS5tZW51IC5pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDAuOTI4NTcxNDNlbSAxLjE0Mjg1NzE0ZW07XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2UsIGJveC1zaGFkb3cgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2U7XG59XG4udWkubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwIDAgMC4yODU3MTQyOXJlbTtcbn1cbi8qIEJvcmRlciAqL1xuLnVpLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMXB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICBUZXh0IENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1lbnUgLnRleHQuaXRlbSA+ICosXG4udWkubWVudSAuaXRlbSA+IGE6bm90KC51aSksXG4udWkubWVudSAuaXRlbSA+IHA6b25seS1jaGlsZCB7XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuLnVpLm1lbnUgLml0ZW0gPiBwOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5tZW51IC5pdGVtID4gcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWVudSAuaXRlbSA+IGkuaWNvbiB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMCAwLjM1NzE0Mjg2ZW0gMCAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQnV0dG9uXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5tZW51Om5vdCgudmVydGljYWwpIC5pdGVtID4gLmJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBtYXJnaW46IC0wLjVlbSAwO1xuICBwYWRkaW5nLWJvdHRvbTogMC43ODU3MTQyOWVtO1xuICBwYWRkaW5nLXRvcDogMC43ODU3MTQyOWVtO1xuICBmb250LXNpemU6IDFlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS1cbiBHcmlkIC8gQ29udGFpbmVyXG4tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1lbnUgPiAuZ3JpZCxcbi51aS5tZW51ID4gLmNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBpbmhlcml0O1xuICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWVudSAuaXRlbSA+IC5pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgLml0ZW0gPiAuaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgbWFyZ2luOiAtMC41ZW0gMDtcbn1cbi51aS5tZW51IC5pdGVtID4gLmlucHV0IGlucHV0IHtcbiAgZm9udC1zaXplOiAxZW07XG4gIHBhZGRpbmctdG9wOiAwLjU3MTQyODU3ZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjU3MTQyODU3ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBIZWFkZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1lbnUgLmhlYWRlci5pdGVtLFxuLnVpLnZlcnRpY2FsLm1lbnUgLmhlYWRlci5pdGVtIHtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kOiBcIlwiO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9ybWFsO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gLmhlYWRlcjpub3QoLnVpKSB7XG4gIG1hcmdpbjogMCAwIDAuNWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIERyb3Bkb3duc1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEcm9wZG93biBJY29uICovXG4udWkubWVudSAuaXRlbSA+IGkuZHJvcGRvd24uaWNvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwIDAgMCAxZW07XG59XG4vKiBNZW51ICovXG4udWkubWVudSAuZHJvcGRvd24uaXRlbSAubWVudSB7XG4gIG1pbi13aWR0aDogY2FsYygxMDAlIC0gMXB4KTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luOiAwIDAgMDtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cbi51aS5tZW51IC5kcm9wZG93bi5pdGVtOm5vdCguY29sdW1uKSAubWVudSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4vKiBNZW51IEl0ZW1zICovXG4udWkubWVudSAudWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOiAxZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDEuMTQyODU3MTRlbSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KSAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuLnVpLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpICFpbXBvcnRhbnQ7XG59XG4udWkubWVudSAudWkuZHJvcGRvd24gLm1lbnUgPiAuc2VsZWN0ZWQuaXRlbSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSkgIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSkgIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMykgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSkgIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC51aS5kcm9wZG93bi5pdGVtIC5tZW51IC5pdGVtOm5vdCguZmlsdGVyZWQpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkubWVudSAudWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5pY29ucyxcbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gaS5pY29uOm5vdCguZHJvcGRvd24pIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDFlbSAhaW1wb3J0YW50O1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiAwIDAuNzVlbSAwIDAgIWltcG9ydGFudDtcbn1cbi8qIFNlY29uZGFyeSAqL1xuLnVpLnNlY29uZGFyeS5tZW51IC5kcm9wZG93bi5pdGVtID4gLm1lbnUsXG4udWkudGV4dC5tZW51IC5kcm9wZG93bi5pdGVtID4gLm1lbnUge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBtYXJnaW4tdG9wOiAwLjM1NzE0Mjg2ZW07XG59XG4vKiBQb2ludGluZyAqL1xuLnVpLm1lbnUgLnBvaW50aW5nLmRyb3Bkb3duLml0ZW0gLm1lbnUge1xuICBtYXJnaW4tdG9wOiAwLjc1ZW07XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLm1lbnUgLnNlYXJjaC5kcm9wZG93bi5pdGVtID4gLnNlYXJjaCxcbi51aS5pbnZlcnRlZC5tZW51IC5zZWFyY2guZHJvcGRvd24uaXRlbSA+IC50ZXh0IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi8qIFZlcnRpY2FsICovXG4udWkudmVydGljYWwubWVudSAuZHJvcGRvd24uaXRlbSA+IGkuaWNvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgY29udGVudDogXCJcXGYwZGFcIjtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5kcm9wZG93bi5pdGVtIC5tZW51IHtcbiAgbGVmdDogMTAwJTtcbiAgLyogSUUgbmVlZHMgMCwgYWxsIG90aGVycyBzdXBwb3J0IG1heC1jb250ZW50IHRvIHNob3cgZHJvcGRvd24gaWNvbiBpbmxpbmUsIHNvIGtlZXAgYm90aCBzZXR0aW5ncyEgKi9cbiAgbWluLXdpZHRoOiAwO1xuICBtaW4td2lkdGg6IG1heC1jb250ZW50O1xuICBtYXJnaW46IDAgMCAwIDA7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4udWkudmVydGljYWwubWVudSAuZHJvcGRvd24uaXRlbS51cHdhcmQgLm1lbnUge1xuICBib3R0b206IDA7XG59XG4udWkudmVydGljYWwubWVudSAuZHJvcGRvd24uaXRlbTpub3QoLnVwd2FyZCkgLm1lbnUge1xuICB0b3A6IDA7XG59XG4udWkudmVydGljYWwubWVudSAuYWN0aXZlLmRyb3Bkb3duLml0ZW0ge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4udWkudmVydGljYWwubWVudSAuZHJvcGRvd24uYWN0aXZlLml0ZW0ge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogRXZlbmx5IERpdmlkZWQgKi9cbi51aS5pdGVtLm1lbnUgLmRyb3Bkb3duIC5tZW51IC5pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBMYWJlbHNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1lbnUgLml0ZW0gPiAubGFiZWw6bm90KC5mbG9hdGluZykge1xuICBtYXJnaW4tbGVmdDogMWVtO1xuICBwYWRkaW5nOiAwLjNlbSAwLjc4NTcxNDI5ZW07XG59XG4udWkudmVydGljYWwubWVudSAuaXRlbSA+IC5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IC0wLjE1ZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjE1ZW07XG4gIHBhZGRpbmc6IDAuM2VtIDAuNzg1NzE0MjllbTtcbn1cbi51aS5tZW51IC5pdGVtID4gLmZsb2F0aW5nLmxhYmVsIHtcbiAgcGFkZGluZzogMC4zZW0gMC43ODU3MTQyOWVtO1xufVxuLnVpLm1lbnUgLml0ZW0gPiAubGFiZWwge1xuICBiYWNrZ3JvdW5kOiAjOTk5O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5tZW51IC5pdGVtID4gLmltYWdlLmxhYmVsIGltZyB7XG4gIG1hcmdpbjogLTAuMjgzM2VtIDAuOGVtIC0wLjI4MzNlbSAtMC44ZW07XG4gIGhlaWdodDogMS41NjY2ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBJbWFnZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1lbnUgLml0ZW0gPiBpbWc6bm90KC51aSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogLTAuM2VtIDA7XG4gIHdpZHRoOiAyLjVlbTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gaW1nOm5vdCgudWkpOm9ubHktY2hpbGQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogYXV0bztcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgQ291cGxpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBMaXN0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1lbnUgZGl2aWRlciBzaG91bGRuJ3QgYXBwbHkgKi9cbi51aS5tZW51IC5saXN0IC5pdGVtOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU2lkZWJhclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2hvdyB2ZXJ0aWNhbCBkaXZpZGVycyBiZWxvdyBsYXN0ICovXG4udWkudmVydGljYWwuc2lkZWJhci5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4udWkudmVydGljYWwuc2lkZWJhci5tZW51ID4gLml0ZW06OmJlZm9yZSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDb250YWluZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkubWVudSA+IC51aS5jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkubWVudTpub3QoLnNlY29uZGFyeSk6bm90KC50ZXh0KTpub3QoLnRhYnVsYXIpOm5vdCguYm9yZGVybGVzcykgPiAuY29udGFpbmVyID4gLml0ZW06bm90KC5yaWdodCk6bm90KC5ib3JkZXJsZXNzKTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG4gIH1cbiAgLnVpLm1lbnU6bm90KC5zZWNvbmRhcnkpOm5vdCgudGV4dCk6bm90KC50YWJ1bGFyKTpub3QoLmJvcmRlcmxlc3MpID4gLmNvbnRhaW5lciA+IC5yaWdodC5pdGVtOm5vdCguYm9yZGVybGVzcyk6bGFzdC1jaGlsZCxcbiAgLnVpLm1lbnU6bm90KC5zZWNvbmRhcnkpOm5vdCgudGV4dCk6bm90KC50YWJ1bGFyKTpub3QoLmJvcmRlcmxlc3MpID4gLmNvbnRhaW5lciA+IC5yaWdodC5tZW51ID4gLml0ZW06bm90KC5ib3JkZXJsZXNzKTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5saW5rLm1lbnUgLml0ZW06aG92ZXIsXG4udWkubWVudSAuZHJvcGRvd24uaXRlbTpob3Zlcixcbi51aS5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4udWkubWVudSBhLml0ZW06aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgUHJlc3NlZFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubGluay5tZW51IC5pdGVtOmFjdGl2ZSxcbi51aS5tZW51IC5saW5rLml0ZW06YWN0aXZlLFxuLnVpLm1lbnUgYS5pdGVtOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLm1lbnUgLmFjdGl2ZS5pdGVtID4gaS5pY29uIHtcbiAgb3BhY2l0eTogMTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIEFjdGl2ZSBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWVudSAuYWN0aXZlLml0ZW06aG92ZXIsXG4udWkudmVydGljYWwubWVudSAuYWN0aXZlLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS5tZW51IC5pdGVtLmRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMC4zKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG5GbG9hdGVkIE1lbnUgLyBJdGVtXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMZWZ0IEZsb2F0ZWQgKi9cbi51aS5tZW51Om5vdCgudmVydGljYWwpIC5sZWZ0Lml0ZW0sXG4udWkubWVudTpub3QoLnZlcnRpY2FsKSAubGVmdC5tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4vKiBSaWdodCBGbG9hdGVkICovXG4udWkubWVudTpub3QoLnZlcnRpY2FsKSAucmlnaHQuaXRlbSxcbi51aS5tZW51Om5vdCgudmVydGljYWwpIC5yaWdodC5tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi51aS5tZW51Om5vdCgudmVydGljYWwpIDpub3QoLmRyb3Bkb3duKSA+IC5sZWZ0Lm1lbnUsXG4udWkubWVudTpub3QoLnZlcnRpY2FsKSA6bm90KC5kcm9wZG93bikgPiAucmlnaHQubWVudSB7XG4gIGRpc3BsYXk6IGluaGVyaXQ7XG59XG4vKiBDZW50ZXIgKi9cbi51aS5tZW51Om5vdCgudmVydGljYWwpIC5jZW50ZXIuaXRlbSxcbi51aS5tZW51Om5vdCgudmVydGljYWwpIC5jZW50ZXIubWVudSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLyogU3dhcHBlZCBCb3JkZXJzICovXG4udWkubWVudSAucmlnaHQuaXRlbTo6YmVmb3JlLFxuLnVpLm1lbnUgLnJpZ2h0Lm1lbnUgPiAuaXRlbTo6YmVmb3JlIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG59XG4vKiBSZW1vdmUgT3V0ZXIgQm9yZGVycyAqL1xuLnVpLm1lbnUgLmNlbnRlci5pdGVtOmxhc3QtY2hpbGQ6OmJlZm9yZSxcbi51aS5tZW51IC5jZW50ZXIubWVudSA+IC5pdGVtOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBWZXJ0aWNhbFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnZlcnRpY2FsLm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qIC0tLSBJdGVtIC0tLSAqL1xuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWkudmVydGljYWwubWVudSA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLyogLS0tIExhYmVsIC0tLSAqL1xuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiAubGFiZWwge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qIC0tLSBJY29uIC0tLSAqL1xuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiBpLmljb24sXG4udWkudmVydGljYWwubWVudSAuaXRlbSA+IGkuaWNvbnMge1xuICB3aWR0aDogMS4xOGVtO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMCAwIDAgMC41ZW07XG59XG4udWkudmVydGljYWwubWVudSAuaXRlbSA+IC5sYWJlbCArIGkuaWNvbiB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW46IDAgMC41ZW0gMCAwO1xufVxuLyogLS0tIEJvcmRlciAtLS0gKi9cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkudmVydGljYWwubWVudSAuaXRlbTpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLyogLS0tIFN1YiBNZW51IC0tLSAqL1xuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiAubWVudSB7XG4gIG1hcmdpbjogMC41ZW0gLTEuMTQyODU3MTRlbSAwO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgLm1lbnUgLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAwLjVlbSAxLjMzMzMzMzMzZW07XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gLm1lbnUgYS5pdGVtOmhvdmVyLFxuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gLm1lbnUgLmxpbmsuaXRlbTpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBWZXJ0aWNhbCBBY3RpdmUgKi9cbi51aS52ZXJ0aWNhbC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkudmVydGljYWwubWVudSA+IC5hY3RpdmUuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWkudmVydGljYWwubWVudSA+IC5hY3RpdmUuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51ID4gLmFjdGl2ZS5pdGVtOm9ubHktY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgLmFjdGl2ZS5pdGVtIC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBUYWJ1bGFyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkudGFidWxhci5tZW51IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDRkNGQ1O1xufVxuLnVpLnRhYnVsYXIuZmx1aWQubWVudSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpICFpbXBvcnRhbnQ7XG59XG4udWkudGFidWxhci5tZW51IC5pdGVtIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDAuOTI4NTcxNDNlbSAxLjQyODU3MTQzZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLnRhYnVsYXIubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIEhvdmVyICovXG4udWkudGFidWxhci5tZW51IC5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4vKiBBY3RpdmUgKi9cbi51aS50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6ICNkNGQ0ZDU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMCAwICFpbXBvcnRhbnQ7XG59XG4udWkudGFidWxhci5tZW51IC5hY3RpdmUuaXRlbTpob3ZlciB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi8qIENvdXBsaW5nIHdpdGggc2VnbWVudCBmb3IgYXR0YWNobWVudCAqL1xuLnVpLnRhYnVsYXIubWVudSB+IC5hdHRhY2hlZDpub3QoLnRvcCkuc2VnbWVudCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnRvcC5hdHRhY2hlZC5zZWdtZW50ICsgLnVpLmJvdHRvbS50YWJ1bGFyLm1lbnUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICBsZWZ0OiAtMXB4O1xufVxuLyogQm90dG9tIFZlcnRpY2FsIFRhYnVsYXIgKi9cbi51aS5ib3R0b20udGFidWxhci5tZW51IHtcbiAgYmFja2dyb3VuZDogbm9uZSB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q0ZDRkNTtcbn1cbi51aS5ib3R0b20udGFidWxhci5tZW51IC5pdGVtIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi51aS5ib3R0b20udGFidWxhci5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIGJvcmRlci1jb2xvcjogI2Q0ZDRkNTtcbiAgbWFyZ2luOiAtMXB4IDAgMCAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XG59XG4vKiBWZXJ0aWNhbCBUYWJ1bGFyIChMZWZ0KSAqL1xuLnVpLnZlcnRpY2FsLnRhYnVsYXIubWVudSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2Q0ZDRkNTtcbn1cbi51aS52ZXJ0aWNhbC50YWJ1bGFyLm1lbnUgLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuLnVpLnZlcnRpY2FsLnRhYnVsYXIubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICBib3JkZXItY29sb3I6ICNkNGQ0ZDU7XG4gIG1hcmdpbjogMCAtMXB4IDAgMDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwIDAgMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xufVxuLyogVmVydGljYWwgUmlnaHQgVGFidWxhciAqL1xuLnVpLnZlcnRpY2FsLnJpZ2h0LnRhYnVsYXIubWVudSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkNGQ0ZDU7XG59XG4udWkudmVydGljYWwucmlnaHQudGFidWxhci5tZW51IC5pdGVtIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cbi51aS52ZXJ0aWNhbC5yaWdodC50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm9yZGVyLWNvbG9yOiAjZDRkNGQ1O1xuICBtYXJnaW46IDAgMCAwIC0xcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDAgIWltcG9ydGFudDtcbn1cbi8qIERyb3Bkb3duICovXG4udWkudGFidWxhci5tZW51IC5hY3RpdmUuZHJvcGRvd24uaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4udWkuaW52ZXJ0ZWQudGFidWxhci5tZW51IC5hY3RpdmUuaXRlbSxcbi51aS5pbnZlcnRlZC50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjMWIxYzFkO1xuICBib3JkZXItY29sb3I6ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQudGFidWxhci5tZW51IC5pdGVtOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBQYWdpbmF0aW9uXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkucGFnaW5hdGlvbi5tZW51IHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi51aS5wYWdpbmF0aW9uLm1lbnUgLml0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDA7XG59XG4udWkuY29tcGFjdC5tZW51IC5pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwO1xufVxuLnVpLnBhZ2luYXRpb24ubWVudTpub3QoLndyYXBwaW5nKSAuaXRlbTpsYXN0LWNoaWxkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLnBhZ2luYXRpb24ubWVudSAuaXRlbSB7XG4gIG1pbi13aWR0aDogM2VtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWkucGFnaW5hdGlvbi5tZW51IC5pY29uLml0ZW0gaS5pY29uIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi8qIEFjdGl2ZSAqL1xuLnVpLnBhZ2luYXRpb24ubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItdG9wOiBub25lO1xuICBwYWRkaW5nLXRvcDogMC45Mjg1NzE0M2VtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgU2Vjb25kYXJ5XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc2Vjb25kYXJ5Lm1lbnUge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXJnaW4tbGVmdDogLTAuMzU3MTQyODZlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4zNTcxNDI4NmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiBJdGVtICovXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLml0ZW0ge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDAuOTI4NTcxNDNlbTtcbiAgbWFyZ2luOiAwIDAuMzU3MTQyODZlbTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLyogTm8gRGl2aWRlciAqL1xuLnVpLnNlY29uZGFyeS5tZW51IC5pdGVtOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4vKiBIZWFkZXIgKi9cbi51aS5zZWNvbmRhcnkubWVudSAuaGVhZGVyLml0ZW0ge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG59XG4vKiBJbWFnZSAqL1xuLnVpLnNlY29uZGFyeS5tZW51IC5pdGVtID4gaW1nOm5vdCgudWkpIHtcbiAgbWFyZ2luOiAwO1xufVxuLyogSG92ZXIgKi9cbi51aS5zZWNvbmRhcnkubWVudSAuZHJvcGRvd24uaXRlbTpob3Zlcixcbi51aS5zZWNvbmRhcnkubWVudSAubGluay5pdGVtOmhvdmVyLFxuLnVpLnNlY29uZGFyeS5tZW51IGEuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogQWN0aXZlICovXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4vKiBBY3RpdmUgSG92ZXIgKi9cbi51aS5zZWNvbmRhcnkubWVudSAuYWN0aXZlLml0ZW06aG92ZXIge1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qIEludmVydGVkICovXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgLmxpbmsuaXRlbTpub3QoLmRpc2FibGVkKSxcbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQubWVudSBhLml0ZW06bm90KC5kaXNhYmxlZCkge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5tZW51IC5kcm9wZG93bi5pdGVtOmhvdmVyLFxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgYS5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4vKiBGaXggaXRlbSBtYXJnaW5zICovXG4udWkuc2Vjb25kYXJ5Lml0ZW0ubWVudSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4udWkuc2Vjb25kYXJ5Lml0ZW0ubWVudSAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLnVpLnNlY29uZGFyeS5hdHRhY2hlZC5tZW51IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBTZWNvbmRhcnkgVmVydGljYWxcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFN1YiBNZW51ICovXG4udWkudmVydGljYWwuc2Vjb25kYXJ5Lm1lbnUgLml0ZW06bm90KC5kcm9wZG93bikgPiAubWVudSB7XG4gIG1hcmdpbjogMCAtMC45Mjg1NzE0M2VtO1xufVxuLnVpLnZlcnRpY2FsLnNlY29uZGFyeS5tZW51IC5pdGVtOm5vdCguZHJvcGRvd24pID4gLm1lbnUgPiAuaXRlbSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC41ZW0gMS4zMzMzMzMzM2VtO1xufVxuLnVpLnNlY29uZGFyeS52ZXJ0aWNhbC5tZW51ID4gLml0ZW0ge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDAuMzU3MTQyODZlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xufVxuLnVpLnNlY29uZGFyeS52ZXJ0aWNhbC5tZW51ID4gLmhlYWRlci5pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi8qIFN1YiBNZW51ICovXG4udWkudmVydGljYWwuc2Vjb25kYXJ5Lm1lbnUgLml0ZW0gPiAubWVudSAuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFNlY29uZGFyeSBQb2ludGluZ1xuICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLml0ZW0ge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICBtYXJnaW46IDAgMCAtMnB4O1xuICBwYWRkaW5nOiAwLjg1NzE0Mjg2ZW0gMS4xNDI4NTcxNGVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG59XG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuaXRlbSA+IC5sYWJlbDpub3QoLmZsb2F0aW5nKSB7XG4gIG1hcmdpbi10b3A6IC0wLjNlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuM2VtO1xufVxuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5pdGVtID4gLmNpcmN1bGFyLmxhYmVsIHtcbiAgbWFyZ2luLXRvcDogLTAuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC41ZW07XG59XG4vKiBJdGVtIFR5cGVzICovXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmhlYWRlci5pdGVtIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSkgIWltcG9ydGFudDtcbn1cbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAudGV4dC5pdGVtIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5pdGVtOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBIb3ZlciAqL1xuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5kcm9wZG93bi5pdGVtOmhvdmVyLFxuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgYS5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLyogUHJlc3NlZCAqL1xuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5kcm9wZG93bi5pdGVtOmFjdGl2ZSxcbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAubGluay5pdGVtOmFjdGl2ZSxcbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSBhLml0ZW06YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qIEFjdGl2ZSAqL1xuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogQWN0aXZlIEhvdmVyICovXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogQWN0aXZlIERyb3Bkb3duICovXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5kcm9wZG93bi5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi8qIFZlcnRpY2FsIFBvaW50aW5nICovXG4udWkuc2Vjb25kYXJ5LnZlcnRpY2FsLnBvaW50aW5nLm1lbnUge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnNlY29uZGFyeS52ZXJ0aWNhbC5wb2ludGluZy5tZW51IC5pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIC0ycHggMCAwO1xufVxuLyogVmVydGljYWwgQWN0aXZlICovXG4udWkuc2Vjb25kYXJ5LnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5wb2ludGluZy5tZW51IHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUgLml0ZW06bm90KC5kaXNhYmxlZCkge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5oZWFkZXIuaXRlbSB7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBIb3ZlciAqL1xuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUgYS5pdGVtOmhvdmVyIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4vKiBBY3RpdmUgKi9cbi51aS51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFRleHQgTWVudVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnRleHQubWVudSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAxZW0gLTAuNWVtO1xufVxuLnVpLnRleHQubWVudSAuaXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjM1NzE0Mjg2ZW0gMC41ZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xufVxuLyogQm9yZGVyICovXG4udWkudGV4dC5tZW51IC5pdGVtOjpiZWZvcmUsXG4udWkudGV4dC5tZW51IC5tZW51IC5pdGVtOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4vKiBIZWFkZXIgKi9cbi51aS50ZXh0Lm1lbnUgLmhlYWRlci5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4vKiBJbWFnZSAqL1xuLnVpLnRleHQubWVudSAuaXRlbSA+IGltZzpub3QoLnVpKSB7XG4gIG1hcmdpbjogMDtcbn1cbi8qIC0tLSBmbHVpZCB0ZXh0IC0tLSAqL1xuLnVpLnRleHQuaXRlbS5tZW51IC5pdGVtIHtcbiAgbWFyZ2luOiAwO1xufVxuLyogLS0tIHZlcnRpY2FsIHRleHQgLS0tICovXG4udWkudmVydGljYWwudGV4dC5tZW51IHtcbiAgbWFyZ2luOiAxZW0gMDtcbn1cbi51aS52ZXJ0aWNhbC50ZXh0Lm1lbnU6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLnZlcnRpY2FsLnRleHQubWVudTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi51aS52ZXJ0aWNhbC50ZXh0Lm1lbnUgLml0ZW0ge1xuICBtYXJnaW46IDAuNTcxNDI4NTdlbSAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG4udWkudmVydGljYWwudGV4dC5tZW51IC5pdGVtID4gaS5pY29uIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMCAwLjM1NzE0Mjg2ZW0gMCAwO1xufVxuLnVpLnZlcnRpY2FsLnRleHQubWVudSAuaGVhZGVyLml0ZW0ge1xuICBtYXJnaW46IDAuNTcxNDI4NTdlbSAwIDAuNzE0Mjg1NzFlbTtcbn1cbi8qIFZlcnRpY2FsIFN1YiBNZW51ICovXG4udWkudmVydGljYWwudGV4dC5tZW51IC5pdGVtOm5vdCguZHJvcGRvd24pID4gLm1lbnUge1xuICBtYXJnaW46IDA7XG59XG4udWkudmVydGljYWwudGV4dC5tZW51IC5pdGVtOm5vdCguZHJvcGRvd24pID4gLm1lbnUgPiAuaXRlbSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC41ZW0gMDtcbn1cbi8qIC0tLSBob3ZlciAtLS0gKi9cbi51aS50ZXh0Lm1lbnUgLml0ZW06aG92ZXIge1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi8qIC0tLSBhY3RpdmUgLS0tICovXG4udWkudGV4dC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogLS0tIGFjdGl2ZSBob3ZlciAtLS0gKi9cbi51aS50ZXh0Lm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vKiBEaXNhYmxlIEJhcmlhdGlvbnMgKi9cbi51aS50ZXh0LnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkudGV4dC5hdHRhY2hlZC5tZW51IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQudGV4dC5tZW51LFxuLnVpLmludmVydGVkLnRleHQubWVudSAuaXRlbSxcbi51aS5pbnZlcnRlZC50ZXh0Lm1lbnUgLml0ZW06aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGV4dC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLyogRmx1aWQgKi9cbi51aS5mbHVpZC50ZXh0Lm1lbnUge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSWNvbiBPbmx5XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBWZXJ0aWNhbCBNZW51ICovXG4udWkudmVydGljYWwuaWNvbi5tZW51IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbn1cbi8qIEl0ZW0gKi9cbi51aS5pY29uLm1lbnUgLml0ZW0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKiBJY29uICovXG4udWkuaWNvbi5tZW51IC5pdGVtID4gaS5pY29uOm5vdCguZHJvcGRvd24pIHtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAxO1xufVxuLyogSWNvbiBHbHlwaCAqL1xuLnVpLmljb24ubWVudSBpLmljb246OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG59XG4vKiAoeCkgSXRlbSBJY29uICovXG4udWkubWVudSAuaWNvbi5pdGVtID4gaS5pY29uIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLyogVmVydGljYWwgSWNvbiAqL1xuLnVpLnZlcnRpY2FsLmljb24ubWVudSAuaXRlbSA+IGkuaWNvbjpub3QoLmRyb3Bkb3duKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAxO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZmxvYXQ6IG5vbmU7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmljb24ubWVudSAuaXRlbSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMYWJlbGVkIEljb25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1lbnUgKi9cbi51aS5sYWJlbGVkLmljb24ubWVudSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qIEl0ZW0gKi9cbi51aS5sYWJlbGVkLmljb24ubWVudSAuaXRlbSB7XG4gIG1pbi13aWR0aDogNmVtO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLyogSWNvbiAqL1xuLnVpLmxhYmVsZWQuaWNvbi5tZW51ID4gLnJpZ2h0Lm1lbnUgPiAuaXRlbSA+IGkuaWNvbjpub3QoLmRyb3Bkb3duKSxcbi51aS5sYWJlbGVkLmljb24ubWVudSA+IC5pdGVtID4gaS5pY29uOm5vdCguZHJvcGRvd24pIHtcbiAgaGVpZ2h0OiAxZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFlbSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgYXV0byAwLjVyZW0gIWltcG9ydGFudDtcbn1cbi8qIEZsdWlkICovXG4udWkuZmx1aWQubGFiZWxlZC5pY29uLm1lbnUgPiAuaXRlbSB7XG4gIG1pbi13aWR0aDogMDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGFja2FibGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLnN0YWNrYWJsZS5tZW51IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC51aS5zdGFja2FibGUubWVudS5wb2ludGluZyAuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC51aS5zdGFja2FibGUubWVudSAuaXRlbSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuc3RhY2thYmxlLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbiAgfVxuICAudWkuc3RhY2thYmxlLm1lbnUgLmxlZnQubWVudSxcbiAgLnVpLnN0YWNrYWJsZS5tZW51IC5sZWZ0Lml0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5zdGFja2FibGUubWVudSAucmlnaHQubWVudSxcbiAgLnVpLnN0YWNrYWJsZS5tZW51IC5yaWdodC5pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5zdGFja2FibGUubWVudSAuY2VudGVyLm1lbnUsXG4gIC51aS5zdGFja2FibGUubWVudSAuY2VudGVyLml0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5tZW51IC5yaWdodC5tZW51LFxuICAudWkuc3RhY2thYmxlLm1lbnUgLmNlbnRlci5tZW51LFxuICAudWkuc3RhY2thYmxlLm1lbnUgLmxlZnQubWVudSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS51aS5tZW51IC5wcmltYXJ5LmFjdGl2ZS5pdGVtLFxuLnVpLnVpLnByaW1hcnkubWVudSAuYWN0aXZlLml0ZW06aG92ZXIsXG4udWkudWkucHJpbWFyeS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLnVpLnVpLm1lbnUgLnJlZC5hY3RpdmUuaXRlbSxcbi51aS51aS5yZWQubWVudSAuYWN0aXZlLml0ZW06aG92ZXIsXG4udWkudWkucmVkLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG4udWkudWkudWkubWVudSAub3JhbmdlLmFjdGl2ZS5pdGVtLFxuLnVpLnVpLm9yYW5nZS5tZW51IC5hY3RpdmUuaXRlbTpob3Zlcixcbi51aS51aS5vcmFuZ2UubWVudSAuYWN0aXZlLml0ZW0ge1xuICBjb2xvcjogI2YyNzExYztcbn1cbi51aS51aS51aS5tZW51IC55ZWxsb3cuYWN0aXZlLml0ZW0sXG4udWkudWkueWVsbG93Lm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyLFxuLnVpLnVpLnllbGxvdy5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLnVpLnVpLm1lbnUgLm9saXZlLmFjdGl2ZS5pdGVtLFxuLnVpLnVpLm9saXZlLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyLFxuLnVpLnVpLm9saXZlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgY29sb3I6ICNiNWNjMTg7XG59XG4udWkudWkudWkubWVudSAuZ3JlZW4uYWN0aXZlLml0ZW0sXG4udWkudWkuZ3JlZW4ubWVudSAuYWN0aXZlLml0ZW06aG92ZXIsXG4udWkudWkuZ3JlZW4ubWVudSAuYWN0aXZlLml0ZW0ge1xuICBjb2xvcjogIzIxYmE0NTtcbn1cbi51aS51aS51aS5tZW51IC50ZWFsLmFjdGl2ZS5pdGVtLFxuLnVpLnVpLnRlYWwubWVudSAuYWN0aXZlLml0ZW06aG92ZXIsXG4udWkudWkudGVhbC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLnVpLnVpLm1lbnUgLmJsdWUuYWN0aXZlLml0ZW0sXG4udWkudWkuYmx1ZS5tZW51IC5hY3RpdmUuaXRlbTpob3Zlcixcbi51aS51aS5ibHVlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgY29sb3I6ICMyMTg1ZDA7XG59XG4udWkudWkudWkubWVudSAudmlvbGV0LmFjdGl2ZS5pdGVtLFxuLnVpLnVpLnZpb2xldC5tZW51IC5hY3RpdmUuaXRlbTpob3Zlcixcbi51aS51aS52aW9sZXQubWVudSAuYWN0aXZlLml0ZW0ge1xuICBjb2xvcjogIzY0MzVjOTtcbn1cbi51aS51aS51aS5tZW51IC5wdXJwbGUuYWN0aXZlLml0ZW0sXG4udWkudWkucHVycGxlLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyLFxuLnVpLnVpLnB1cnBsZS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLnVpLnVpLm1lbnUgLnBpbmsuYWN0aXZlLml0ZW0sXG4udWkudWkucGluay5tZW51IC5hY3RpdmUuaXRlbTpob3Zlcixcbi51aS51aS5waW5rLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgY29sb3I6ICNlMDM5OTc7XG59XG4udWkudWkudWkubWVudSAuYnJvd24uYWN0aXZlLml0ZW0sXG4udWkudWkuYnJvd24ubWVudSAuYWN0aXZlLml0ZW06aG92ZXIsXG4udWkudWkuYnJvd24ubWVudSAuYWN0aXZlLml0ZW0ge1xuICBjb2xvcjogI2E1NjczZjtcbn1cbi51aS51aS51aS5tZW51IC5ncmV5LmFjdGl2ZS5pdGVtLFxuLnVpLnVpLmdyZXkubWVudSAuYWN0aXZlLml0ZW06aG92ZXIsXG4udWkudWkuZ3JleS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLnVpLnVpLm1lbnUgLmJsYWNrLmFjdGl2ZS5pdGVtLFxuLnVpLnVpLmJsYWNrLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyLFxuLnVpLnVpLmJsYWNrLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmludmVydGVkLm1lbnUge1xuICBib3JkZXI6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiBNZW51IEl0ZW0gKi9cbi51aS5pbnZlcnRlZC5tZW51IC5pdGVtLFxuLnVpLmludmVydGVkLm1lbnUgLml0ZW0gPiBhOm5vdCgudWkpIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQubWVudSAuaXRlbS5tZW51IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4vKiAtLS0gQm9yZGVyIC0tLSAqL1xuLnVpLmludmVydGVkLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG59XG4udWkudmVydGljYWwuaW52ZXJ0ZWQubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbn1cbi8qIFN1YiBNZW51ICovXG4udWkudmVydGljYWwuaW52ZXJ0ZWQubWVudSAubWVudSAuaXRlbSxcbi51aS52ZXJ0aWNhbC5pbnZlcnRlZC5tZW51IC5tZW51IC5pdGVtIGE6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLyogSGVhZGVyICovXG4udWkuaW52ZXJ0ZWQubWVudSAuaGVhZGVyLml0ZW0ge1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogRGlzYWJsZWQgKi9cbi51aS51aS5pbnZlcnRlZC5tZW51IC5pdGVtLmRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMjI1LCAyMjUsIDIyNSwgMC4zKTtcbn1cbi8qIC0tLSBIb3ZlciAtLS0gKi9cbi51aS5saW5rLmludmVydGVkLm1lbnUgLml0ZW06aG92ZXIsXG4udWkuaW52ZXJ0ZWQubWVudSAuZHJvcGRvd24uaXRlbTpob3Zlcixcbi51aS5pbnZlcnRlZC5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4udWkuaW52ZXJ0ZWQubWVudSBhLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS52ZXJ0aWNhbC5pbnZlcnRlZC5tZW51IC5pdGVtIC5tZW51IGEuaXRlbTpob3Zlcixcbi51aS52ZXJ0aWNhbC5pbnZlcnRlZC5tZW51IC5pdGVtIC5tZW51IC5saW5rLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4vKiAtLS0gUHJlc3NlZCAtLS0gKi9cbi51aS5pbnZlcnRlZC5tZW51IGEuaXRlbTphY3RpdmUsXG4udWkuaW52ZXJ0ZWQubWVudSAubGluay5pdGVtOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLyogLS0tIEFjdGl2ZSAtLS0gKi9cbi51aS5pbnZlcnRlZC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6ICMzZDNlM2Y7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQudmVydGljYWwubWVudSAuaXRlbSAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzNkM2UzZjtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG4vKiAtLS0gQWN0aXZlIEhvdmVyIC0tLSAqL1xuLnVpLmludmVydGVkLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzNkM2UzZjtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjM2QzZTNmO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZsb2F0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbG9hdGVkLm1lbnUge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDAuNXJlbSAwIDA7XG59XG4udWkuZmxvYXRlZC5tZW51IC5pdGVtOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkucmlnaHQuZmxvYXRlZC5tZW51IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDAgMCAwIDAuNXJlbTtcbn1cbi51aS5jZW50ZXIuYWxpZ25lZC5tZW51Om5vdCguZmx1aWQpLFxuLnVpLmNlbnRlcmVkLm1lbnU6bm90KC5mbHVpZCkge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBtYXJnaW4tbGVmdDogNTAlO1xufVxuLnVpLmNlbnRlci5hbGlnbmVkLm1lbnUgLml0ZW0sXG4udWkuY2VudGVyZWQubWVudSAuaXRlbSB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkudWkudWkuaW52ZXJ0ZWQubWVudSAucHJpbWFyeS5hY3RpdmUuaXRlbSxcbi51aS51aS5pbnZlcnRlZC5wcmltYXJ5Lm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLmludmVydGVkLnByaW1hcnkubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLnVpLmludmVydGVkLnByaW1hcnkubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcucHJpbWFyeS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ZDJiNTk7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQubWVudSAucmVkLmFjdGl2ZS5pdGVtLFxuLnVpLnVpLmludmVydGVkLnJlZC5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiMjgyODtcbn1cbi51aS5pbnZlcnRlZC5yZWQubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLnVpLmludmVydGVkLnJlZC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5yZWQubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDAxOTE5O1xufVxuLnVpLnVpLnVpLmludmVydGVkLm1lbnUgLm9yYW5nZS5hY3RpdmUuaXRlbSxcbi51aS51aS5pbnZlcnRlZC5vcmFuZ2UubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjcxMWM7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS51aS5pbnZlcnRlZC5vcmFuZ2UubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcub3JhbmdlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNjIwMjtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5tZW51IC55ZWxsb3cuYWN0aXZlLml0ZW0sXG4udWkudWkuaW52ZXJ0ZWQueWVsbG93Lm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLmludmVydGVkLnllbGxvdy5tZW51IC5pdGVtOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkudWkuaW52ZXJ0ZWQueWVsbG93Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLnllbGxvdy5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWFlMDA7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQubWVudSAub2xpdmUuYWN0aXZlLml0ZW0sXG4udWkudWkuaW52ZXJ0ZWQub2xpdmUubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNWNjMTg7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLnVpLmludmVydGVkLm9saXZlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLm9saXZlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E3YmQwZDtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5tZW51IC5ncmVlbi5hY3RpdmUuaXRlbSxcbi51aS51aS5pbnZlcnRlZC5ncmVlbi5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYmE0NTtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5tZW51IC5pdGVtOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkudWkuaW52ZXJ0ZWQuZ3JlZW4ubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcuZ3JlZW4ubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTZhYjM5O1xufVxuLnVpLnVpLnVpLmludmVydGVkLm1lbnUgLnRlYWwuYWN0aXZlLml0ZW0sXG4udWkudWkuaW52ZXJ0ZWQudGVhbC5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjVhZDtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS51aS5pbnZlcnRlZC50ZWFsLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLnRlYWwubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Yzk1O1xufVxuLnVpLnVpLnVpLmludmVydGVkLm1lbnUgLmJsdWUuYWN0aXZlLml0ZW0sXG4udWkudWkuaW52ZXJ0ZWQuYmx1ZS5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVkMDtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS51aS5pbnZlcnRlZC5ibHVlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLmJsdWUubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTY3OGMyO1xufVxuLnVpLnVpLnVpLmludmVydGVkLm1lbnUgLnZpb2xldC5hY3RpdmUuaXRlbSxcbi51aS51aS5pbnZlcnRlZC52aW9sZXQubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDM1Yzk7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0Lm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS51aS5pbnZlcnRlZC52aW9sZXQubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcudmlvbGV0Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU4MjliYjtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5tZW51IC5wdXJwbGUuYWN0aXZlLml0ZW0sXG4udWkudWkuaW52ZXJ0ZWQucHVycGxlLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5tZW51IC5pdGVtOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkudWkuaW52ZXJ0ZWQucHVycGxlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLnB1cnBsZS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NjI3YmE7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQubWVudSAucGluay5hY3RpdmUuaXRlbSxcbi51aS51aS5pbnZlcnRlZC5waW5rLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTAzOTk3O1xufVxuLnVpLmludmVydGVkLnBpbmsubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLnVpLmludmVydGVkLnBpbmsubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcucGluay5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNjFhOGQ7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQubWVudSAuYnJvd24uYWN0aXZlLml0ZW0sXG4udWkudWkuaW52ZXJ0ZWQuYnJvd24ubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhNTY3M2Y7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24ubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLnVpLmludmVydGVkLmJyb3duLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLmJyb3duLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3NWIzMztcbn1cbi51aS51aS51aS5pbnZlcnRlZC5tZW51IC5ncmV5LmFjdGl2ZS5pdGVtLFxuLnVpLnVpLmludmVydGVkLmdyZXkubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5tZW51IC5pdGVtOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkudWkuaW52ZXJ0ZWQuZ3JleS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5ncmV5Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgzODM4Mztcbn1cbi51aS51aS51aS5pbnZlcnRlZC5tZW51IC5ibGFjay5hY3RpdmUuaXRlbSxcbi51aS51aS5pbnZlcnRlZC5ibGFjay5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5tZW51IC5pdGVtOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkudWkuaW52ZXJ0ZWQuYmxhY2subWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcuYmxhY2subWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjcyOTJhO1xufVxuLnVpLnVpLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRml0dGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZml0dGVkLm1lbnUgLml0ZW0sXG4udWkuZml0dGVkLm1lbnUgLml0ZW0gLm1lbnUgLml0ZW0sXG4udWkubWVudSAuZml0dGVkLml0ZW0ge1xuICBwYWRkaW5nOiAwO1xufVxuLnVpLmhvcml6b250YWxseS5maXR0ZWQubWVudSAuaXRlbSxcbi51aS5ob3Jpem9udGFsbHkuZml0dGVkLm1lbnUgLml0ZW0gLm1lbnUgLml0ZW0sXG4udWkubWVudSAuaG9yaXpvbnRhbGx5LmZpdHRlZC5pdGVtIHtcbiAgcGFkZGluZy10b3A6IDAuOTI4NTcxNDNlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuOTI4NTcxNDNlbTtcbn1cbi51aS52ZXJ0aWNhbGx5LmZpdHRlZC5tZW51IC5pdGVtLFxuLnVpLnZlcnRpY2FsbHkuZml0dGVkLm1lbnUgLml0ZW0gLm1lbnUgLml0ZW0sXG4udWkubWVudSAudmVydGljYWxseS5maXR0ZWQuaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogMS4xNDI4NTcxNGVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjE0Mjg1NzE0ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIEJvcmRlcmxlc3NcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5ib3JkZXJsZXNzLm1lbnUgLml0ZW06OmJlZm9yZSxcbi51aS5ib3JkZXJsZXNzLm1lbnUgLml0ZW0gLm1lbnUgLml0ZW06OmJlZm9yZSxcbi51aS5tZW51IC5ib3JkZXJsZXNzLml0ZW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQ29tcGFjdFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY29tcGFjdC5tZW51IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi51aS5jb21wYWN0LnZlcnRpY2FsLm1lbnUge1xuICAvKiBJRSBoYWNrIHRvIG1ha2UgZHJvcGRvd24gaWNvbnMgYXBwZWFyIGlubGluZSAqL1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnVpLmNvbXBhY3QubWVudTpub3QoLnNlY29uZGFyeSkgLml0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDA7XG59XG4udWkuY29tcGFjdC5tZW51IC5pdGVtOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkuY29tcGFjdC52ZXJ0aWNhbC5tZW51IHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cbi51aS5jb21wYWN0LnZlcnRpY2FsLm1lbnUgLml0ZW06bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBGbHVpZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWVudS5mbHVpZCxcbi51aS52ZXJ0aWNhbC5tZW51LmZsdWlkIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBFdmVubHkgU2l6ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLm1lbnUgPiAuaXRlbSB7XG4gIGZsZXg6IDE7XG59XG4udWlbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0ubWVudSA+IC5pdGVtLFxuLnVpLml0ZW0ubWVudSxcbi51aS5pdGVtLm1lbnUgLml0ZW0ge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4udWkuYXR0YWNoZWRbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0ubWVudTpub3QoLnRhYnVsYXIpLFxuLnVpLmF0dGFjaGVkLml0ZW0ubWVudTpub3QoLnRhYnVsYXIpIHtcbiAgbWFyZ2luOiAwIC0xcHggIWltcG9ydGFudDtcbn1cbi51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5tZW51ID4gLml0ZW06bGFzdC1jaGlsZDo6YmVmb3JlLFxuLnVpLml0ZW0ubWVudSAuaXRlbTpsYXN0LWNoaWxkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLm1lbnUudHdvLml0ZW0gLml0ZW0ge1xuICB3aWR0aDogNTAlO1xufVxuLnVpLm1lbnUudGhyZWUuaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAzMy4zMzMlO1xufVxuLnVpLm1lbnUuZm91ci5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDI1JTtcbn1cbi51aS5tZW51LmZpdmUuaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAyMCU7XG59XG4udWkubWVudS5zaXguaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAxNi42NjYlO1xufVxuLnVpLm1lbnUuc2V2ZW4uaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAxNC4yODUlO1xufVxuLnVpLm1lbnUuZWlnaHQuaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAxMi41JTtcbn1cbi51aS5tZW51Lm5pbmUuaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAxMS4xMSU7XG59XG4udWkubWVudS50ZW4uaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAxMCU7XG59XG4udWkubWVudS5lbGV2ZW4uaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiA5LjA5JTtcbn1cbi51aS5tZW51LnR3ZWx2ZS5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDguMzMzJTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBGaXhlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1lbnUuZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMTtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5tZW51LmZpeGVkLFxuLnVpLm1lbnUuZml4ZWQgLml0ZW06Zmlyc3QtY2hpbGQsXG4udWkubWVudS5maXhlZCAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuLnVpLmZpeGVkLm1lbnUsXG4udWlbY2xhc3MqPVwidG9wIGZpeGVkXCJdLm1lbnUge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG59XG4udWlbY2xhc3MqPVwidG9wIGZpeGVkXCJdLm1lbnUge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGZpeGVkXCJdLm1lbnUge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTAwJTtcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gZml4ZWRcIl0ubWVudSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGZpeGVkXCJdLm1lbnUge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLyogQ291cGxpbmcgd2l0aCBHcmlkICovXG4udWkuZml4ZWQubWVudSArIC51aS5ncmlkIHtcbiAgcGFkZGluZy10b3A6IDIuNzVyZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFBvaW50aW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5wb2ludGluZy5tZW51IC5pdGVtOjphZnRlciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbWFyZ2luOiAwLjVweCAwIDA7XG4gIHdpZHRoOiAwLjU3MTQyODU3ZW07XG4gIGhlaWdodDogMC41NzE0Mjg1N2VtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDRkNGQ1O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDRkNGQ1O1xuICB6LWluZGV4OiAyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZTtcbn1cbi51aS52ZXJ0aWNhbC5wb2ludGluZy5tZW51IC5pdGVtOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgbWFyZ2luOiAwIC0wLjVweCAwIDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkNGQ0ZDU7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkNGQ0ZDU7XG59XG4udWkucG9pbnRpbmcubWVudSAudWkuZHJvcGRvd24gLm1lbnUgLml0ZW06OmFmdGVyLFxuLnVpLnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBBY3RpdmUgKi9cbi51aS5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLnVpLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5kcm9wZG93bi5pdGVtOjphZnRlciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qIERvbid0IGRvdWJsZSB1cCBwb2ludGVycyAqL1xuLnVpLnBvaW50aW5nLm1lbnUgLmRyb3Bkb3duLmFjdGl2ZS5pdGVtOjphZnRlcixcbi51aS5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbSAubWVudSAuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIENvbG9ycyAqL1xuLnVpLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG59XG4udWkucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbn1cbi51aS5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xufVxuLnVpLnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG59XG4udWkudmVydGljYWwucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbn1cbi51aS52ZXJ0aWNhbC5wb2ludGluZy5tZW51IC5tZW51IC5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLmZsdWlkLnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLnByaW1hcnkuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZDMzY2Nztcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5zZWNvbmRhcnkuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4ZDMxNztcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5yZWQuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiMjgyODtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5vcmFuZ2UuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNzExYztcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC55ZWxsb3cuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiYmQwODtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5vbGl2ZS5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjVjYzE4O1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLmdyZWVuLmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMWJhNDU7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAudGVhbC5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLmJsdWUuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVkMDtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC52aW9sZXQuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVjOTtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5wdXJwbGUuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzMzNjODtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5waW5rLmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMDM5OTc7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAuYnJvd24uYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1NjczZjtcbn1cbi51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5ncmV5LmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAuYmxhY2suYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEF0dGFjaGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNaWRkbGUgKi9cbi51aS5hdHRhY2hlZC5tZW51IHtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbjogMCAtMXB4O1xuICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmF0dGFjaGVkICsgLnVpLmF0dGFjaGVkLm1lbnU6bm90KC50b3ApIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi8qIFRvcCAqL1xuLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5tZW51IHtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0b3A6IDA7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWkubWVudVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl06Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLyogQm90dG9tICovXG4udWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLm1lbnUge1xuICBib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ubWVudTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qIEF0dGFjaGVkIE1lbnUgSXRlbSAqL1xuLnVpLnRvcC5hdHRhY2hlZC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAgMCAwO1xufVxuLnVpLmJvdHRvbS5hdHRhY2hlZC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwLjI4NTcxNDI5cmVtO1xufVxuLyogVGFidWxhciBBdHRhY2hlZCAqL1xuLnVpLmF0dGFjaGVkLm1lbnU6bm90KC50YWJ1bGFyKTpub3QoLnRleHQpIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q0ZDRkNTtcbn1cbi51aS5hdHRhY2hlZC5pbnZlcnRlZC5tZW51IHtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5pbnZlcnRlZC50YWJ1bGFyLm1lbnUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzU1NTtcbn1cbi51aS5hdHRhY2hlZC50YWJ1bGFyLm1lbnUge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS53cmFwcGluZy5tZW51IHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnVpLndyYXBwaW5nLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xufVxuLnVpLndyYXBwaW5nLm1lbnUgLml0ZW06Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkud3JhcHBpbmcubWVudTpub3QoLnNlY29uZGFyeSk6bm90KC50ZXh0KTpub3QoLnRhYnVsYXIpOm5vdCguYm9yZGVybGVzcykgLml0ZW06bGFzdC1vZi10eXBlLFxuLnVpLndyYXBwaW5nLm1lbnU6bm90KC5zZWNvbmRhcnkpOm5vdCgudGV4dCk6bm90KC50YWJ1bGFyKTpub3QoLmJvcmRlcmxlc3MpIC5pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkud3JhcHBlZC5tZW51Om5vdCguc2Vjb25kYXJ5KTpub3QoLnRleHQpOm5vdCgudGFidWxhcik6bm90KC5ib3JkZXJsZXNzKSAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4udWkud3JhcHBlZC5tZW51Om5vdCguc2Vjb25kYXJ5KTpub3QoLnRleHQpOm5vdCgudGFidWxhcik6bm90KC5ib3JkZXJsZXNzKSAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWVudSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IHtcbiAgd2lkdGg6IDE1cmVtO1xufVxuLnVpLm1pbmkubWVudSxcbi51aS5taW5pLm1lbnUgLmRyb3Bkb3duLFxuLnVpLm1pbmkubWVudSAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS5taW5pLnZlcnRpY2FsLm1lbnU6bm90KC5pY29uKSB7XG4gIHdpZHRoOiA5cmVtO1xufVxuLnVpLnRpbnkubWVudSxcbi51aS50aW55Lm1lbnUgLmRyb3Bkb3duLFxuLnVpLnRpbnkubWVudSAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS50aW55LnZlcnRpY2FsLm1lbnU6bm90KC5pY29uKSB7XG4gIHdpZHRoOiAxMXJlbTtcbn1cbi51aS5zbWFsbC5tZW51LFxuLnVpLnNtYWxsLm1lbnUgLmRyb3Bkb3duLFxuLnVpLnNtYWxsLm1lbnUgLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkuc21hbGwudmVydGljYWwubWVudTpub3QoLmljb24pIHtcbiAgd2lkdGg6IDEzcmVtO1xufVxuLnVpLmxhcmdlLm1lbnUsXG4udWkubGFyZ2UubWVudSAuZHJvcGRvd24sXG4udWkubGFyZ2UubWVudSAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS4wNzE0Mjg1N3JlbTtcbn1cbi51aS5sYXJnZS52ZXJ0aWNhbC5tZW51Om5vdCguaWNvbikge1xuICB3aWR0aDogMThyZW07XG59XG4udWkuYmlnLm1lbnUsXG4udWkuYmlnLm1lbnUgLmRyb3Bkb3duLFxuLnVpLmJpZy5tZW51IC5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy52ZXJ0aWNhbC5tZW51Om5vdCguaWNvbikge1xuICB3aWR0aDogMjByZW07XG59XG4udWkuaHVnZS5tZW51LFxuLnVpLmh1Z2UubWVudSAuZHJvcGRvd24sXG4udWkuaHVnZS5tZW51IC5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAxLjIxNDI4NTcxcmVtO1xufVxuLnVpLmh1Z2UudmVydGljYWwubWVudTpub3QoLmljb24pIHtcbiAgd2lkdGg6IDIycmVtO1xufVxuLnVpLm1hc3NpdmUubWVudSxcbi51aS5tYXNzaXZlLm1lbnUgLmRyb3Bkb3duLFxuLnVpLm1hc3NpdmUubWVudSAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5tYXNzaXZlLnZlcnRpY2FsLm1lbnU6bm90KC5pY29uKSB7XG4gIHdpZHRoOiAyNXJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSW52ZXJ0ZWQgZHJvcGRvd25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1lbnUgLnVpLmludmVydGVkLmludmVydGVkLmRyb3Bkb3duLml0ZW0gLm1lbnUge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLm1lbnUgLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpICFpbXBvcnRhbnQ7XG59XG4udWkubWVudSAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUgPiAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpICFpbXBvcnRhbnQ7XG59XG4udWkubWVudSAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkgIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSAhaW1wb3J0YW50O1xufVxuLnVpLm1lbnUgLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51ID4gLnNlbGVjdGVkLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgIWltcG9ydGFudDtcbn1cbi8qIFZlcnRpY2FsICovXG4udWkudmVydGljYWwubWVudSAuaW52ZXJ0ZWQuZHJvcGRvd24uaXRlbSAubWVudSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLnRvcC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6ICM2QzM2Njc7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnRvcC5tZW51IC5kcm9wZG93bi5pdGVtOmhvdmVyLFxuLnVpLnRvcC5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4udWkudG9wLm1lbnUgYS5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzZDMzY2NztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBBY3RpdmUgSG92ZXIgKi9cbi51aS50b3AubWVudSAuYWN0aXZlLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNkMzNjY3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIE1lc3NhZ2VcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNZXNzYWdlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSGVhZGVyICovXG4vKiBQYXJhZ3JhcGggKi9cbi8qIExpc3QgKi9cbi8qIEljb24gKi9cbi8qIENsb3NlIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJY29uIE1lc3NhZ2UgKi9cbi8qIEF0dGFjaGVkICovXG4vKiBGbG9hdGluZyAqL1xuLyogQ29sb3JzICovXG4vKiBXYXJuaW5nIC8gUG9zaXRpdmUgLyBOZWdhdGl2ZSAvIEluZm8gKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNZXNzYWdlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLm1lc3NhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgbWFyZ2luOiAxZW0gMDtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmOTtcbiAgcGFkZGluZzogMWVtIDEuNWVtO1xuICBsaW5lLWhlaWdodDogMS40Mjg1ZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZSwgY29sb3IgMC4xcyBlYXNlLCBiYWNrZ3JvdW5kIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMjIpIGluc2V0LCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG59XG4udWkubWVzc2FnZTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4udWkubWVzc2FnZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSGVhZGVyICovXG4udWkubWVzc2FnZSAuaGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luOiAtMC4xNDI4NTcxNGVtIDAgMCAwO1xufVxuLyogRGVmYXVsdCBmb250IHNpemUgKi9cbi51aS5tZXNzYWdlIC5oZWFkZXI6bm90KC51aSkge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRlbTtcbn1cbi8qIFBhcmFncmFwaCAqL1xuLnVpLm1lc3NhZ2UgcCB7XG4gIG9wYWNpdHk6IDAuODU7XG4gIG1hcmdpbjogMC43NWVtIDA7XG59XG4udWkubWVzc2FnZSBwOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5tZXNzYWdlIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udWkubWVzc2FnZSAuaGVhZGVyICsgcCB7XG4gIG1hcmdpbi10b3A6IDAuMjVlbTtcbn1cbi8qIExpc3QgKi9cbi51aS5tZXNzYWdlIC5saXN0Om5vdCgudWkpIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZzogMDtcbiAgb3BhY2l0eTogMC44NTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICBtYXJnaW46IDAuNWVtIDAgMDtcbn1cbi51aS5tZXNzYWdlIC5saXN0Om5vdCgudWkpOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5tZXNzYWdlIC5saXN0Om5vdCgudWkpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnVpLm1lc3NhZ2UgLmxpc3Q6bm90KC51aSkgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMC4zZW0gMWVtO1xuICBwYWRkaW5nOiAwO1xufVxuLnVpLm1lc3NhZ2UgLmxpc3Q6bm90KC51aSkgbGk6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCLigKJcIjtcbiAgbGVmdDogLTFlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4udWkubWVzc2FnZSAubGlzdDpub3QoLnVpKSBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qIEljb24gKi9cbi51aS5pY29uLm1lc3NhZ2UgPiAuaWNvbnMsXG4udWkuaWNvbi5tZXNzYWdlID4gaS5pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjZlbTtcbn1cbi51aS5pY29uLm1lc3NhZ2UgPiAuaWNvbnM6bGFzdC1jaGlsZCxcbi51aS5pY29uLm1lc3NhZ2UgPiBpLmljb246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbjogMCAwIDAgMC42ZW07XG59XG4vKiBDbG9zZSBJY29uICovXG4udWkubWVzc2FnZSA+IC5jbG9zZS5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgdG9wOiAwLjc4NTc1ZW07XG4gIHJpZ2h0OiAwLjVlbTtcbiAgb3BhY2l0eTogMC43O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZTtcbn1cbi51aS5tZXNzYWdlID4gLmNsb3NlLmljb246aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLyogRmlyc3QgLyBMYXN0IEVsZW1lbnQgKi9cbi51aS5tZXNzYWdlID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5tZXNzYWdlID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmRyb3Bkb3duIC5tZW51ID4gLm1lc3NhZ2Uge1xuICBtYXJnaW46IDAgLTFweDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIFZpc2libGVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnZpc2libGUudmlzaWJsZS52aXNpYmxlLnZpc2libGUubWVzc2FnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLmljb24udmlzaWJsZS52aXNpYmxlLnZpc2libGUudmlzaWJsZS5tZXNzYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEhpZGRlblxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaGlkZGVuLmhpZGRlbi5oaWRkZW4uaGlkZGVuLm1lc3NhZ2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuY2VudGVyZWQubWVzc2FnZSxcbi51aS5jZW50ZXIuYWxpZ25lZC5tZXNzYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi51aS5jZW50ZXJlZC5tZXNzYWdlID4gLmNvbnRlbnQsXG4udWkuY2VudGVyLmFsaWduZWQubWVzc2FnZSA+IC5jb250ZW50IHtcbiAgZmxleDogMCAwIGF1dG87XG59XG4udWkucmlnaHQuYWxpZ25lZC5tZXNzYWdlIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBDb21wYWN0XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY29tcGFjdC5tZXNzYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4udWkuY29tcGFjdC5pY29uLm1lc3NhZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgd2lkdGg6IGF1dG87XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBBdHRhY2hlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmF0dGFjaGVkLm1lc3NhZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMCAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIG1hcmdpbi1yaWdodDogLTFweDtcbn1cbi51aS5hdHRhY2hlZCArIC51aS5hdHRhY2hlZC5tZXNzYWdlOm5vdCgudG9wKTpub3QoLmJvdHRvbSkge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnVpLmJvdHRvbS5hdHRhY2hlZC5tZXNzYWdlIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQsIDAgMXB4IDJweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuYm90dG9tLmF0dGFjaGVkLm1lc3NhZ2U6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cbi51aS5hdHRhY2hlZC5pY29uLm1lc3NhZ2Uge1xuICB3aWR0aDogYXV0bztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgSWNvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmljb24ubWVzc2FnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnVpLmljb24ubWVzc2FnZSA+IC5pY29ucyxcbi51aS5pY29uLm1lc3NhZ2UgPiBpLmljb246bm90KC5jbG9zZSkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAzZW07XG4gIG9wYWNpdHk6IDAuODtcbn1cbi51aS5pY29uLm1lc3NhZ2UgPiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi51aS5pY29uLm1lc3NhZ2UgPiAuaWNvbnMgKyAuY29udGVudCxcbi51aS5pY29uLm1lc3NhZ2UgPiBpLmljb246bm90KC5jbG9zZSkgKyAuY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi51aS5pY29uLm1lc3NhZ2UgPiBpLmNpcmN1bGFyIHtcbiAgd2lkdGg6IDFlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZsb2F0aW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmxvYXRpbmcubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMjIpIGluc2V0LCAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDb2xvcnMgKi9cbi51aS5wb3NpdGl2ZS5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmZmNTtcbiAgY29sb3I6ICMyYzY2MmQ7XG59XG4udWkucG9zaXRpdmUubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5wb3NpdGl2ZS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNhM2MyOTMgaW5zZXQsIDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5mbG9hdGluZy5wb3NpdGl2ZS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNhM2MyOTMgaW5zZXQsIDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnBvc2l0aXZlLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjMWE1MzFiO1xufVxuLnVpLmludmVydGVkLnBvc2l0aXZlLm1lc3NhZ2UsXG4udWkuaW52ZXJ0ZWQucG9zaXRpdmUubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICNhM2MyOTM7XG59XG4udWkubmVnYXRpdmUubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY2ZjY7XG4gIGNvbG9yOiAjOWYzYTM4O1xufVxuLnVpLm5lZ2F0aXZlLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQubmVnYXRpdmUubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZTBiNGI0IGluc2V0LCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG59XG4udWkuZmxvYXRpbmcubmVnYXRpdmUubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZTBiNGI0IGluc2V0LCAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5uZWdhdGl2ZS5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzkxMmQyYjtcbn1cbi51aS5pbnZlcnRlZC5uZWdhdGl2ZS5tZXNzYWdlLFxuLnVpLmludmVydGVkLm5lZ2F0aXZlLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjZTBiNGI0O1xufVxuLnVpLmVycm9yLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmNmY2O1xuICBjb2xvcjogIzlmM2EzODtcbn1cbi51aS5lcnJvci5tZXNzYWdlLFxuLnVpLmF0dGFjaGVkLmVycm9yLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2UwYjRiNCBpbnNldCwgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLmZsb2F0aW5nLmVycm9yLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2UwYjRiNCBpbnNldCwgMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuZXJyb3IubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICM5MTJkMmI7XG59XG4udWkuaW52ZXJ0ZWQuZXJyb3IubWVzc2FnZSxcbi51aS5pbnZlcnRlZC5lcnJvci5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogI2VjZDFkMTtcbn1cbi51aS5pbmZvLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmZmZmO1xuICBjb2xvcjogIzI3NmY4Njtcbn1cbi51aS5pbmZvLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQuaW5mby5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNhOWQ1ZGUgaW5zZXQsIDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5mbG9hdGluZy5pbmZvLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2E5ZDVkZSBpbnNldCwgMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuaW5mby5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzBlNTY2Yztcbn1cbi51aS5pbnZlcnRlZC5pbmZvLm1lc3NhZ2UsXG4udWkuaW52ZXJ0ZWQuaW5mby5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogI2M2ZTNlOTtcbn1cbi51aS5zdWNjZXNzLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmZmY1O1xuICBjb2xvcjogIzJjNjYyZDtcbn1cbi51aS5zdWNjZXNzLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQuc3VjY2Vzcy5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNhM2MyOTMgaW5zZXQsIDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5mbG9hdGluZy5zdWNjZXNzLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2EzYzI5MyBpbnNldCwgMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc3VjY2Vzcy5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzFhNTMxYjtcbn1cbi51aS5pbnZlcnRlZC5zdWNjZXNzLm1lc3NhZ2UsXG4udWkuaW52ZXJ0ZWQuc3VjY2Vzcy5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogI2I5ZDFhZDtcbn1cbi51aS53YXJuaW5nLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmYWYzO1xuICBjb2xvcjogIzU3M2EwODtcbn1cbi51aS53YXJuaW5nLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQud2FybmluZy5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNjOWJhOWIgaW5zZXQsIDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5mbG9hdGluZy53YXJuaW5nLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2M5YmE5YiBpbnNldCwgMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkud2FybmluZy5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzc5NGIwMjtcbn1cbi51aS5pbnZlcnRlZC53YXJuaW5nLm1lc3NhZ2UsXG4udWkuaW52ZXJ0ZWQud2FybmluZy5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogI2Q3Y2NiNTtcbn1cbi51aS5wcmltYXJ5Lm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGZmO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLnByaW1hcnkubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5wcmltYXJ5Lm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzZDMzY2NyBpbnNldCwgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLmZsb2F0aW5nLnByaW1hcnkubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNkMzNjY3IGluc2V0LCAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5wcmltYXJ5Lm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiByZ2JhKDI0MiwgMjQyLCAyNDIsIDAuOSk7XG59XG4udWkuc2Vjb25kYXJ5Lm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLnNlY29uZGFyeS5tZXNzYWdlLFxuLnVpLmF0dGFjaGVkLnNlY29uZGFyeS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM4OGQzMTcgaW5zZXQsIDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5mbG9hdGluZy5zZWNvbmRhcnkubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjODhkMzE3IGluc2V0LCAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5zZWNvbmRhcnkubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6IHJnYmEoMjQyLCAyNDIsIDI0MiwgMC45KTtcbn1cbi51aS5yZWQubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmU4ZTY7XG4gIGNvbG9yOiAjZGIyODI4O1xufVxuLnVpLnJlZC5tZXNzYWdlLFxuLnVpLmF0dGFjaGVkLnJlZC5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkYjI4MjggaW5zZXQsIDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5mbG9hdGluZy5yZWQubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZGIyODI4IGluc2V0LCAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5yZWQubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICNjODIxMjE7XG59XG4udWkub3JhbmdlLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZGRlO1xuICBjb2xvcjogI2YyNzExYztcbn1cbi51aS5vcmFuZ2UubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5vcmFuZ2UubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZjI3MTFjIGluc2V0LCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG59XG4udWkuZmxvYXRpbmcub3JhbmdlLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2YyNzExYyBpbnNldCwgMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkub3JhbmdlLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjZTc2NDBkO1xufVxuLnVpLnllbGxvdy5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjhkYjtcbiAgY29sb3I6ICNiNTgxMDU7XG59XG4udWkueWVsbG93Lm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQueWVsbG93Lm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2I1ODEwNSBpbnNldCwgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLmZsb2F0aW5nLnllbGxvdy5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNiNTgxMDUgaW5zZXQsIDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnllbGxvdy5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzljNmYwNDtcbn1cbi51aS5vbGl2ZS5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmRlZjtcbiAgY29sb3I6ICM4YWJjMWU7XG59XG4udWkub2xpdmUubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5vbGl2ZS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM4YWJjMWUgaW5zZXQsIDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5mbG9hdGluZy5vbGl2ZS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM4YWJjMWUgaW5zZXQsIDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLm9saXZlLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjN2FhNjFhO1xufVxuLnVpLmdyZWVuLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVmOWU3O1xuICBjb2xvcjogIzFlYmMzMDtcbn1cbi51aS5ncmVlbi5tZXNzYWdlLFxuLnVpLmF0dGFjaGVkLmdyZWVuLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzFlYmMzMCBpbnNldCwgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLmZsb2F0aW5nLmdyZWVuLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzFlYmMzMCBpbnNldCwgMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuZ3JlZW4ubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICMxYWE2MmE7XG59XG4udWkudGVhbC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxZjdmNztcbiAgY29sb3I6ICMxMGEzYTM7XG59XG4udWkudGVhbC5tZXNzYWdlLFxuLnVpLmF0dGFjaGVkLnRlYWwubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMTBhM2EzIGluc2V0LCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG59XG4udWkuZmxvYXRpbmcudGVhbC5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMxMGEzYTMgaW5zZXQsIDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnRlYWwubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICMwZThjOGM7XG59XG4udWkuYmx1ZS5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBmZjtcbiAgY29sb3I6ICMyMTg1ZDA7XG59XG4udWkuYmx1ZS5tZXNzYWdlLFxuLnVpLmF0dGFjaGVkLmJsdWUubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjMjE4NWQwIGluc2V0LCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG59XG4udWkuZmxvYXRpbmcuYmx1ZS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICMyMTg1ZDAgaW5zZXQsIDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLmJsdWUubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICMxZTc3YmE7XG59XG4udWkudmlvbGV0Lm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlN2ZmO1xuICBjb2xvcjogIzY0MzVjOTtcbn1cbi51aS52aW9sZXQubWVzc2FnZSxcbi51aS5hdHRhY2hlZC52aW9sZXQubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNjQzNWM5IGluc2V0LCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG59XG4udWkuZmxvYXRpbmcudmlvbGV0Lm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzY0MzVjOSBpbnNldCwgMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkudmlvbGV0Lm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjNWEzMGI1O1xufVxuLnVpLnB1cnBsZS5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZTdmZjtcbiAgY29sb3I6ICNhMzMzYzg7XG59XG4udWkucHVycGxlLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQucHVycGxlLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2EzMzNjOCBpbnNldCwgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLmZsb2F0aW5nLnB1cnBsZS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNhMzMzYzggaW5zZXQsIDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnB1cnBsZS5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzkyMmViNDtcbn1cbi51aS5waW5rLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlM2ZiO1xuICBjb2xvcjogI2UwMzk5Nztcbn1cbi51aS5waW5rLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQucGluay5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNlMDM5OTcgaW5zZXQsIDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5mbG9hdGluZy5waW5rLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2UwMzk5NyBpbnNldCwgMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkucGluay5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogI2RkMjM4Yjtcbn1cbi51aS5icm93bi5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZTJkMztcbiAgY29sb3I6ICNhNTY3M2Y7XG59XG4udWkuYnJvd24ubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5icm93bi5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNhNTY3M2YgaW5zZXQsIDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5mbG9hdGluZy5icm93bi5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNhNTY3M2YgaW5zZXQsIDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLmJyb3duLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjOTM1YjM4O1xufVxuLnVpLmdyZXkubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLmdyZXkubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5ncmV5Lm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzc2NzY3NiBpbnNldCwgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLmZsb2F0aW5nLmdyZXkubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNzY3Njc2IGluc2V0LCAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5ncmV5Lm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjNjk2OTY5O1xufVxuLnVpLmJsYWNrLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmJsYWNrLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLm1pbmkubWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOWVtO1xufVxuLnVpLnRpbnkubWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xufVxuLnVpLnNtYWxsLm1lc3NhZ2Uge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbn1cbi51aS5sYXJnZS5tZXNzYWdlIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG59XG4udWkuYmlnLm1lc3NhZ2Uge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjllbTtcbn1cbi51aS5odWdlLm1lc3NhZ2Uge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNlbTtcbn1cbi51aS5tYXNzaXZlLm1lc3NhZ2Uge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFRhYmxlXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFRhYmxlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBQYXJ0c1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUYWJsZSBSb3cgKi9cbi8qIFRhYmxlIENlbGwgKi9cbi8qIFRhYmxlIEhlYWRlciAqL1xuLyogVGFibGUgRm9vdGVyICovXG4vKiBSZXNwb25zaXZlIFNpemUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmluaXRpb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgQ291cGxpbmdzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEVycm9yICovXG4vKiBXYXJuaW5nICovXG4vKiBBY3RpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEF0dGFjaGVkICovXG4vKiBTdHJpcGVkICovXG4vKiBTZWxlY3RhYmxlICovXG4vKiBTb3J0YWJsZSAqL1xuLyogQ29sb3JzICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQmFzaWMgKi9cbi8qIFBhZGRlZCAqL1xuLyogQ29tcGFjdCAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiBTdHVjayAqL1xuLyogU2l6ZXMgKi9cbi8qIFJlc2l6YWJsZSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUYWJsZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFByb3RvdHlwZSAqL1xuLnVpLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIG1hcmdpbjogMWVtIDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cbi51aS50YWJsZTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4udWkudGFibGU6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udWkudGFibGUgPiB0aGVhZCxcbi51aS50YWJsZSA+IHRib2R5IHtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFBhcnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVGFibGUgQ29udGVudCAqL1xuLnVpLnRhYmxlIHRoLFxuLnVpLnRhYmxlIHRkIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZTtcbn1cbi8qIFJvd3NwYW4gaGVscGVyIGNsYXNzICovXG4udWkudGFibGUgdGgucm93c3Bhbm5lZCxcbi51aS50YWJsZSB0ZC5yb3dzcGFubmVkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIEhlYWRlcnMgKi9cbi51aS50YWJsZSA+IHRoZWFkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCB7XG4gIGN1cnNvcjogYXV0bztcbiAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIHBhZGRpbmc6IDAuOTI4NTcxNDNlbSAwLjc4NTcxNDI5ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuLnVpLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG4udWkudGFibGUgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGg6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAgMCAwO1xufVxuLnVpLnRhYmxlID4gdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAuMjg1NzE0MjlyZW0gMCAwO1xufVxuLnVpLnRhYmxlID4gdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoOm9ubHktY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMCAwO1xufVxuLyogRm9vdGVyICovXG4udWkudGFibGUgPiB0Zm9vdCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICBjdXJzb3I6IGF1dG87XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDAuNzg1NzE0MjllbTtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4udWkudGFibGUgPiB0Zm9vdCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cbi51aS50YWJsZSA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRoOmZpcnN0LWNoaWxkLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGg6bGFzdC1jaGlsZCxcbi51aS50YWJsZSA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRkOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwO1xufVxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGg6b25seS1jaGlsZCxcbi51aS50YWJsZSA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRkOm9ubHktY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLyogVGFibGUgUm93ICovXG4udWkudGFibGUgPiB0ciA+IHRkLFxuLnVpLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS50YWJsZSA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4udWkudGFibGUgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGQge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLyogUmVwZWF0ZWQgdGJvZHkgKi9cbi51aS50YWJsZSA+IHRib2R5ICsgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgPiB0ZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4vKiBUYWJsZSBDZWxscyAqL1xuLnVpLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuLnVpLnRhYmxlID4gdHIgPiB0ZCB7XG4gIHBhZGRpbmc6IDAuNzg1NzE0MjllbSAwLjc4NTcxNDI5ZW07XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG4vKiBJY29ucyAqL1xuLnVpLnRhYmxlID4gaS5pY29uIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuLnVpLnRhYmxlID4gaS5pY29uOm9ubHktY2hpbGQge1xuICBtYXJnaW46IDA7XG59XG4vKiBUYWJsZSBTZWdtZW50ICovXG4udWkudGFibGUuc2VnbWVudCB7XG4gIHBhZGRpbmc6IDA7XG59XG4udWkudGFibGUuc2VnbWVudDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLnRhYmxlLnNlZ21lbnQuc3RhY2tlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRoZWFkLFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0aGVhZCA+IHRyLFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0Zm9vdCxcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGZvb3QgPiB0cixcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGJvZHksXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRyLFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0Ym9keSA+IHRyLFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0ciA+IHRoOm5vdCgucm93c3Bhbm5lZCksXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRoZWFkID4gdHIgPiB0aDpub3QoLnJvd3NwYW5uZWQpLFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0Ym9keSA+IHRyID4gdGg6bm90KC5yb3dzcGFubmVkKSxcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGZvb3QgPiB0ciA+IHRoOm5vdCgucm93c3Bhbm5lZCksXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRyID4gdGQ6bm90KC5yb3dzcGFubmVkKSxcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGJvZHkgPiB0ciA+IHRkOm5vdCgucm93c3Bhbm5lZCksXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRmb290ID4gdHIgPiB0ZDpub3QoLnJvd3NwYW5uZWQpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGhlYWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRmb290IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0cixcbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGhlYWQgPiB0cixcbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGJvZHkgPiB0cixcbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGZvb3QgPiB0ciB7XG4gICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRyID4gdGgsXG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRoZWFkID4gdHIgPiB0aCxcbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGJvZHkgPiB0ciA+IHRoLFxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0Zm9vdCA+IHRyID4gdGgsXG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRyID4gdGQsXG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRib2R5ID4gdHIgPiB0ZCxcbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjI1ZW0gMC43NWVtO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSA+IHRmb290ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0Zm9vdCA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC8qIERlZmluaXRpb24gVGFibGUgKi9cbiAgLnVpLmRlZmluaXRpb24udGFibGU6bm90KC51bnN0YWNrYWJsZSkgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwicHJpbWFyeSBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICM2QzM2NjcgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInByaW1hcnkgbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICM2QzM2NjcgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInByaW1hcnkgbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjNTRjOGZmIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJwcmltYXJ5IG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjNTRjOGZmIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJzZWNvbmRhcnkgbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjODhkMzE3IGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJzZWNvbmRhcnkgbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICM4OGQzMTcgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInNlY29uZGFyeSBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICM1NDU0NTQgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInNlY29uZGFyeSBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzU0NTQ1NCBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwicmVkIG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2RiMjgyOCBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwicmVkIG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZGIyODI4IGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJyZWQgbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjZmY2OTVlIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJyZWQgbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNmZjY5NWUgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cIm9yYW5nZSBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNmMjcxMWMgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cIm9yYW5nZSBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgI2YyNzExYyBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwib3JhbmdlIG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2ZmODUxYiBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwib3JhbmdlIG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZmY4NTFiIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJ5ZWxsb3cgbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjZmJiZDA4IGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJ5ZWxsb3cgbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNmYmJkMDggaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInllbGxvdyBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNmZmUyMWYgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInllbGxvdyBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgI2ZmZTIxZiBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwib2xpdmUgbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjYjVjYzE4IGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJvbGl2ZSBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgI2I1Y2MxOCBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwib2xpdmUgbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjZDllNzc4IGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJvbGl2ZSBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgI2Q5ZTc3OCBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwiZ3JlZW4gbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjMjFiYTQ1IGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJncmVlbiBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzIxYmE0NSBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwiZ3JlZW4gbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjMmVjYzQwIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJncmVlbiBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzJlY2M0MCBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwidGVhbCBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICMwMGI1YWQgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInRlYWwgbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICMwMGI1YWQgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInRlYWwgbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjNmRmZmZmIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJ0ZWFsIG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjNmRmZmZmIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJibHVlIG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzIxODVkMCBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwiYmx1ZSBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzIxODVkMCBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwiYmx1ZSBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICM1NGM4ZmYgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cImJsdWUgbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICM1NGM4ZmYgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInZpb2xldCBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICM2NDM1YzkgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInZpb2xldCBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzY0MzVjOSBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwidmlvbGV0IG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2EyOTFmYiBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwidmlvbGV0IG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjYTI5MWZiIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJwdXJwbGUgbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjYTMzM2M4IGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJwdXJwbGUgbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNhMzMzYzggaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInB1cnBsZSBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNkYzczZmYgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInB1cnBsZSBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgI2RjNzNmZiBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwicGluayBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNlMDM5OTcgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInBpbmsgbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNlMDM5OTcgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cInBpbmsgbWFya2VkXCJdLmxlZnQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjZmY4ZWRmIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJwaW5rIG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZmY4ZWRmIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJicm93biBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNhNTY3M2YgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cImJyb3duIG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjYTU2NzNmIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJicm93biBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNkNjdjMWMgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cImJyb3duIG1hcmtlZFwiXS5yaWdodCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZDY3YzFjIGluc2V0O1xuICB9XG4gIC51aS51aS51aS51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cltjbGFzcyo9XCJncmV5IG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzc2NzY3NiBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwiZ3JleSBtYXJrZWRcIl0ucmlnaHQge1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzc2NzY3NiBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwiZ3JleSBtYXJrZWRcIl0ubGVmdCB7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNkY2RkZGUgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cImdyZXkgbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNkY2RkZGUgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cImJsYWNrIG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzFiMWMxZCBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwiYmxhY2sgbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICMxYjFjMWQgaW5zZXQ7XG4gIH1cbiAgLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyW2NsYXNzKj1cImJsYWNrIG1hcmtlZFwiXS5sZWZ0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzU0NTQ1NCBpbnNldDtcbiAgfVxuICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHJbY2xhc3MqPVwiYmxhY2sgbWFya2VkXCJdLnJpZ2h0IHtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICM1NDU0NTQgaW5zZXQ7XG4gIH1cbiAgLnVpLnNjcm9sbGluZy50YWJsZS5zaG9ydCA+IHRib2R5IHtcbiAgICBtYXgtaGVpZ2h0OiA2Ljc0OTgzOTI5ZW07XG4gIH1cbiAgLnJlc2l6YWJsZS51aS5zY3JvbGxpbmcudGFibGUuc2hvcnQgPiB0Ym9keSB7XG4gICAgaGVpZ2h0OiA2Ljc0OTgzOTI5ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdID4gdGJvZHkge1xuICAgIG1heC1oZWlnaHQ6IDQuNDk5ODkyODZlbTtcbiAgfVxuICAucmVzaXphYmxlLnVpLnNjcm9sbGluZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdID4gdGJvZHkge1xuICAgIGhlaWdodDogNC40OTk4OTI4NmVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcudGFibGUgPiB0Ym9keSB7XG4gICAgbWF4LWhlaWdodDogOC45OTk3ODU3MWVtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHkge1xuICAgIGhlaWdodDogOC45OTk3ODU3MWVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcudGFibGUubG9uZyA+IHRib2R5IHtcbiAgICBtYXgtaGVpZ2h0OiAxNy45OTk1NzE0M2VtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnRhYmxlLmxvbmcgPiB0Ym9keSB7XG4gICAgaGVpZ2h0OiAxNy45OTk1NzE0M2VtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcudGFibGVbY2xhc3MqPVwidmVyeSBsb25nXCJdID4gdGJvZHkge1xuICAgIG1heC1oZWlnaHQ6IDI2Ljk5OTM1NzE0ZW07XG4gIH1cbiAgLnJlc2l6YWJsZS51aS5zY3JvbGxpbmcudGFibGVbY2xhc3MqPVwidmVyeSBsb25nXCJdID4gdGJvZHkge1xuICAgIGhlaWdodDogMjYuOTk5MzU3MTRlbTtcbiAgfVxuICAudWkub3ZlcmZsb3dpbmcudGFibGUuc2hvcnQge1xuICAgIG1heC1oZWlnaHQ6IDExLjI0OTczMjE0ZW07XG4gIH1cbiAgLnVpLm92ZXJmbG93aW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDcuNDk5ODIxNDNlbTtcbiAgfVxuICAudWkub3ZlcmZsb3dpbmcudGFibGUge1xuICAgIG1heC1oZWlnaHQ6IDE0Ljk5OTY0Mjg2ZW07XG4gIH1cbiAgLnVpLm92ZXJmbG93aW5nLnRhYmxlLmxvbmcge1xuICAgIG1heC1oZWlnaHQ6IDI5Ljk5OTI4NTcxZW07XG4gIH1cbiAgLnVpLm92ZXJmbG93aW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSB7XG4gICAgbWF4LWhlaWdodDogNDQuOTk4OTI4NTdlbTtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNjcm9sbGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkuc2Nyb2xsaW5nLnRhYmxlLnNob3J0ID4gdGJvZHkge1xuICAgIG1heC1oZWlnaHQ6IDguOTk5Nzg1NzFlbTtcbiAgfVxuICAucmVzaXphYmxlLnVpLnNjcm9sbGluZy50YWJsZS5zaG9ydCA+IHRib2R5IHtcbiAgICBoZWlnaHQ6IDguOTk5Nzg1NzFlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiB0Ym9keSB7XG4gICAgbWF4LWhlaWdodDogNS45OTk4NTcxNGVtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiB0Ym9keSB7XG4gICAgaGVpZ2h0OiA1Ljk5OTg1NzE0ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRib2R5IHtcbiAgICBtYXgtaGVpZ2h0OiAxMS45OTk3MTQyOWVtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHkge1xuICAgIGhlaWdodDogMTEuOTk5NzE0MjllbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnRhYmxlLmxvbmcgPiB0Ym9keSB7XG4gICAgbWF4LWhlaWdodDogMjMuOTk5NDI4NTdlbTtcbiAgfVxuICAucmVzaXphYmxlLnVpLnNjcm9sbGluZy50YWJsZS5sb25nID4gdGJvZHkge1xuICAgIGhlaWdodDogMjMuOTk5NDI4NTdlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSA+IHRib2R5IHtcbiAgICBtYXgtaGVpZ2h0OiAzNS45OTkxNDI4NmVtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSA+IHRib2R5IHtcbiAgICBoZWlnaHQ6IDM1Ljk5OTE0Mjg2ZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLnNjcm9sbGluZy50YWJsZS5zaG9ydCA+IHRib2R5IHtcbiAgICBtYXgtaGVpZ2h0OiAxMy40OTk2Nzg1N2VtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnRhYmxlLnNob3J0ID4gdGJvZHkge1xuICAgIGhlaWdodDogMTMuNDk5Njc4NTdlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiB0Ym9keSB7XG4gICAgbWF4LWhlaWdodDogOC45OTk3ODU3MWVtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiB0Ym9keSB7XG4gICAgaGVpZ2h0OiA4Ljk5OTc4NTcxZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRib2R5IHtcbiAgICBtYXgtaGVpZ2h0OiAxNy45OTk1NzE0M2VtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHkge1xuICAgIGhlaWdodDogMTcuOTk5NTcxNDNlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnRhYmxlLmxvbmcgPiB0Ym9keSB7XG4gICAgbWF4LWhlaWdodDogMzUuOTk5MTQyODZlbTtcbiAgfVxuICAucmVzaXphYmxlLnVpLnNjcm9sbGluZy50YWJsZS5sb25nID4gdGJvZHkge1xuICAgIGhlaWdodDogMzUuOTk5MTQyODZlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSA+IHRib2R5IHtcbiAgICBtYXgtaGVpZ2h0OiA1My45OTg3MTQyOWVtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSA+IHRib2R5IHtcbiAgICBoZWlnaHQ6IDUzLjk5ODcxNDI5ZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS5zY3JvbGxpbmcudGFibGUuc2hvcnQgPiB0Ym9keSB7XG4gICAgbWF4LWhlaWdodDogMTcuOTk5NTcxNDNlbTtcbiAgfVxuICAucmVzaXphYmxlLnVpLnNjcm9sbGluZy50YWJsZS5zaG9ydCA+IHRib2R5IHtcbiAgICBoZWlnaHQ6IDE3Ljk5OTU3MTQzZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdID4gdGJvZHkge1xuICAgIG1heC1oZWlnaHQ6IDExLjk5OTcxNDI5ZW07XG4gIH1cbiAgLnJlc2l6YWJsZS51aS5zY3JvbGxpbmcudGFibGVbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSA+IHRib2R5IHtcbiAgICBoZWlnaHQ6IDExLjk5OTcxNDI5ZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRib2R5IHtcbiAgICBtYXgtaGVpZ2h0OiAyMy45OTk0Mjg1N2VtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHkge1xuICAgIGhlaWdodDogMjMuOTk5NDI4NTdlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnRhYmxlLmxvbmcgPiB0Ym9keSB7XG4gICAgbWF4LWhlaWdodDogNDcuOTk4ODU3MTRlbTtcbiAgfVxuICAucmVzaXphYmxlLnVpLnNjcm9sbGluZy50YWJsZS5sb25nID4gdGJvZHkge1xuICAgIGhlaWdodDogNDcuOTk4ODU3MTRlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSA+IHRib2R5IHtcbiAgICBtYXgtaGVpZ2h0OiA3MS45OTgyODU3MWVtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSA+IHRib2R5IHtcbiAgICBoZWlnaHQ6IDcxLjk5ODI4NTcxZW07XG4gIH1cbn1cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Ym9keSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG59XG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQgPiB0cixcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdCA+IHRyLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRib2R5ID4gdHIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG59XG5Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTogbm9uZSkge1xuICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQsXG4gIC51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdCxcbiAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRib2R5IHtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gIH1cbn1cbi8qIENhbW91ZmxhZ2Ugc2Nyb2xsYmFycywgd2UgbmVlZCB0aGVtIG9ubHkgdG8gZ2FpbiB0aGUgc2FtZSB3aWR0aCBhcyB0Ym9keSAqL1xuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkIHtcbiAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbiAgY29sb3I6ICNmOWZhZmI7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Qge1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xuICBjb2xvcjogI2Y5ZmFmYjtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290IHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG5Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTogbm9uZSkge1xuICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQsXG4gIC51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdCB7XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiBjdXJyZW50Q29sb3IgY3VycmVudENvbG9yO1xuICB9XG59XG4vKiBJRSBzY3JvbGxiYXIgY29sb3IgbmVlZHMgaGV4IHZhbHVlcyAqL1xuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZCxcbiAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290IHtcbiAgICBzY3JvbGxiYXItZmFjZS1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIHNjcm9sbGJhci1zaGFkb3ctY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBzY3JvbGxiYXItdHJhY2stY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBzY3JvbGxiYXItYXJyb3ctY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQge1xuICAgIGNvbG9yOiAjZjlmYWZiO1xuICB9XG4gIC51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdCB7XG4gICAgY29sb3I6ICNmOWZhZmI7XG4gIH1cbiAgLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkIHtcbiAgICBjb2xvcjogIzI1MjUyNTtcbiAgfVxuICAudWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Qge1xuICAgIGNvbG9yOiAjMjUyNTI1O1xuICB9XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRib2R5Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOndpbmRvdy1pbmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KTtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Ym9keSB7XG4gIC8qIElFMTEgKi9cbiAgc2Nyb2xsYmFyLWZhY2UtY29sb3I6ICM2NTY1NjU7XG4gIHNjcm9sbGJhci1zaGFkb3ctY29sb3I6ICM2NTY1NjU7XG4gIHNjcm9sbGJhci10cmFjay1jb2xvcjogIzMyMzIzMjtcbiAgc2Nyb2xsYmFyLWFycm93LWNvbG9yOiAjMzIzMjMyO1xufVxuQHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6IG5vbmUpIHtcbiAgLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRib2R5IHtcbiAgICAvKiBmaXJlZm94OiBmaXJzdCBjb2xvciB0aHVtYiwgc2Vjb25kIHRyYWNrICovXG4gICAgc2Nyb2xsYmFyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgfVxufVxuLnVpLnJlc2l6YWJsZS5zY3JvbGxpbmcudGFibGUgPiB0Ym9keSB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgT3ZlcmZsb3dpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5vdmVyZmxvd2luZy50YWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVpLm92ZXJmbG93aW5nLnRhYmxlLnNob3J0IHtcbiAgICBtYXgtaGVpZ2h0OiAxMy40OTk2Nzg1N2VtO1xuICB9XG4gIC51aS5vdmVyZmxvd2luZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIHtcbiAgICBtYXgtaGVpZ2h0OiA4Ljk5OTc4NTcxZW07XG4gIH1cbiAgLnVpLm92ZXJmbG93aW5nLnRhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiAxNy45OTk1NzE0M2VtO1xuICB9XG4gIC51aS5vdmVyZmxvd2luZy50YWJsZS5sb25nIHtcbiAgICBtYXgtaGVpZ2h0OiAzNS45OTkxNDI4NmVtO1xuICB9XG4gIC51aS5vdmVyZmxvd2luZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDUzLjk5ODcxNDI5ZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLm92ZXJmbG93aW5nLnRhYmxlLnNob3J0IHtcbiAgICBtYXgtaGVpZ2h0OiAxNy45OTk1NzE0M2VtO1xuICB9XG4gIC51aS5vdmVyZmxvd2luZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIHtcbiAgICBtYXgtaGVpZ2h0OiAxMS45OTk3MTQyOWVtO1xuICB9XG4gIC51aS5vdmVyZmxvd2luZy50YWJsZSB7XG4gICAgbWF4LWhlaWdodDogMjMuOTk5NDI4NTdlbTtcbiAgfVxuICAudWkub3ZlcmZsb3dpbmcudGFibGUubG9uZyB7XG4gICAgbWF4LWhlaWdodDogNDcuOTk4ODU3MTRlbTtcbiAgfVxuICAudWkub3ZlcmZsb3dpbmcudGFibGVbY2xhc3MqPVwidmVyeSBsb25nXCJdIHtcbiAgICBtYXgtaGVpZ2h0OiA3MS45OTgyODU3MWVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkub3ZlcmZsb3dpbmcudGFibGUuc2hvcnQge1xuICAgIG1heC1oZWlnaHQ6IDIyLjQ5OTQ2NDI5ZW07XG4gIH1cbiAgLnVpLm92ZXJmbG93aW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDE0Ljk5OTY0Mjg2ZW07XG4gIH1cbiAgLnVpLm92ZXJmbG93aW5nLnRhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiAyOS45OTkyODU3MWVtO1xuICB9XG4gIC51aS5vdmVyZmxvd2luZy50YWJsZS5sb25nIHtcbiAgICBtYXgtaGVpZ2h0OiA1OS45OTg1NzE0M2VtO1xuICB9XG4gIC51aS5vdmVyZmxvd2luZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDg5Ljk5Nzg1NzE0ZW07XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb3VwbGluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFVJIEltYWdlICovXG4udWkudGFibGUgLmNvbGxhcHNpbmcgLmltYWdlLFxuLnVpLnRhYmxlIC5jb2xsYXBzaW5nIC5pbWFnZSBpbWcge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDb21wbGV4XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zdHJ1Y3R1cmVkLnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cbi51aS5zdHJ1Y3R1cmVkLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cbi51aS5zdHJ1Y3R1cmVkLnNvcnRhYmxlLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnN0cnVjdHVyZWQuYmFzaWMudGFibGUgPiB0ciA+IHRoLFxuLnVpLnN0cnVjdHVyZWQuYmFzaWMudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4udWkuc3RydWN0dXJlZC5iYXNpYy50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbi51aS5zdHJ1Y3R1cmVkLmJhc2ljLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cbi51aS5zdHJ1Y3R1cmVkLmNlbGxlZC50YWJsZSA+IHRyID4gdGgsXG4udWkuc3RydWN0dXJlZC5jZWxsZWQudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4udWkuc3RydWN0dXJlZC5jZWxsZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4udWkuc3RydWN0dXJlZC5jZWxsZWQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsXG4udWkuc3RydWN0dXJlZC5jZWxsZWQudGFibGUgPiB0ciA+IHRkLFxuLnVpLnN0cnVjdHVyZWQuY2VsbGVkLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuLnVpLnN0cnVjdHVyZWQuY2VsbGVkLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgRGVmaW5pdGlvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRlZmluaXRpb24udGFibGUgPiB0aGVhZDpub3QoLmZ1bGwtd2lkdGgpID4gdHIgPiB0aDpmaXJzdC1jaGlsZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBib3gtc2hhZG93OiAtMC4xZW0gLTAuMmVtIDAgMC4xZW0gI0ZGRkZGRjtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLnVpLmRlZmluaXRpb24udGFibGUgPiB0aGVhZDpub3QoLmZ1bGwtd2lkdGgpID4gdHIgPiB0aDpmaXJzdC1jaGlsZDpub3QoOmVtcHR5KSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLnVpLmRlZmluaXRpb24udGFibGUgPiB0Zm9vdDpub3QoLmZ1bGwtd2lkdGgpID4gdHIgPiB0aDpmaXJzdC1jaGlsZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBib3gtc2hhZG93OiAtMC4xZW0gMC4yZW0gMCAwLjFlbSAjRkZGRkZGO1xuICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4vKiBIaWdobGlnaHQgRGVmaW5pbmcgQ29sdW1uICovXG4udWkuZGVmaW5pdGlvbi50YWJsZSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQ6bm90KC5pZ25vcmVkKSxcbi51aS5kZWZpbml0aW9uLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkOm5vdCguaWdub3JlZCksXG4udWkuZGVmaW5pdGlvbi50YWJsZSA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZDpub3QoLmlnbm9yZWQpLFxuLnVpLmRlZmluaXRpb24udGFibGUgdHIgdGQuZGVmaW5pdGlvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgdGV4dC10cmFuc2Zvcm06IFwiXCI7XG4gIGJveC1zaGFkb3c6IFwiXCI7XG4gIHRleHQtYWxpZ246IFwiXCI7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBwYWRkaW5nLWxlZnQ6IFwiXCI7XG4gIHBhZGRpbmctcmlnaHQ6IFwiXCI7XG59XG4vKiBGaXggMm5kIENvbHVtbiAqL1xuLnVpLmRlZmluaXRpb24udGFibGUgPiB0aGVhZDpub3QoLmZ1bGwtd2lkdGgpID4gdHIgPiB0aDpudGgtY2hpbGQoMikge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuZGVmaW5pdGlvbi50YWJsZSA+IHRmb290Om5vdCguZnVsbC13aWR0aCkgPiB0ciA+IHRoOm50aC1jaGlsZCgyKSxcbi51aS5kZWZpbml0aW9uLnRhYmxlID4gdGZvb3Q6bm90KC5mdWxsLXdpZHRoKSA+IHRyID4gdGQ6bnRoLWNoaWxkKDIpIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLmRlZmluaXRpb24udGFibGUgPiB0ciA+IHRkOm50aC1jaGlsZCgyKSxcbi51aS5kZWZpbml0aW9uLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkOm50aC1jaGlsZCgyKSB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUG9zaXRpdmVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS51aS51aS50YWJsZSB0ci5wb3NpdGl2ZSxcbi51aS51aS50YWJsZSB0ZC5wb3NpdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwICNhM2MyOTMgaW5zZXQ7XG4gIGJhY2tncm91bmQ6ICNmY2ZmZjU7XG4gIGNvbG9yOiAjMmM2NjJkO1xufVxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLnBvc2l0aXZlLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLnBvc2l0aXZlIHtcbiAgYmFja2dyb3VuZDogI2EzYzI5MztcbiAgY29sb3I6ICMyYzY2MmQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgTmVnYXRpdmVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS51aS51aS50YWJsZSB0ci5uZWdhdGl2ZSxcbi51aS51aS50YWJsZSB0ZC5uZWdhdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwICNlMGI0YjQgaW5zZXQ7XG4gIGJhY2tncm91bmQ6ICNmZmY2ZjY7XG4gIGNvbG9yOiAjOWYzYTM4O1xufVxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLm5lZ2F0aXZlLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLm5lZ2F0aXZlIHtcbiAgYmFja2dyb3VuZDogI2UwYjRiNDtcbiAgY29sb3I6ICM5ZjNhMzg7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEVycm9yXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkudWkudWkudWkudGFibGUgdHIuZXJyb3IsXG4udWkudWkudGFibGUgdGQuZXJyb3Ige1xuICBib3gtc2hhZG93OiAwIDAgMCAjZTBiNGI0IGluc2V0O1xuICBiYWNrZ3JvdW5kOiAjZmZmNmY2O1xuICBjb2xvcjogIzlmM2EzODtcbn1cbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5lcnJvcixcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZC5lcnJvciB7XG4gIGJhY2tncm91bmQ6ICNlMGI0YjQ7XG4gIGNvbG9yOiAjOWYzYTM4O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFdhcm5pbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS51aS51aS50YWJsZSB0ci53YXJuaW5nLFxuLnVpLnVpLnRhYmxlIHRkLndhcm5pbmcge1xuICBib3gtc2hhZG93OiAwIDAgMCAjYzliYTliIGluc2V0O1xuICBiYWNrZ3JvdW5kOiAjZmZmYWYzO1xuICBjb2xvcjogIzU3M2EwODtcbn1cbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci53YXJuaW5nLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjZWVjOTdlO1xuICBjb2xvcjogIzU3M2EwODtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBBY3RpdmVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS51aS51aS50YWJsZSB0ci5hY3RpdmUsXG4udWkudWkudGFibGUgdGQuYWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjg3KSBpbnNldDtcbiAgYmFja2dyb3VuZDogI2UwZTBlMDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIuYWN0aXZlLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNhMGEwYTA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkudWkudWkudGFibGUgdHIuZGlzYWJsZWQgdGQsXG4udWkudWkudWkudGFibGUgdHIgdGQuZGlzYWJsZWQsXG4udWkudGFibGUgdHIuZGlzYWJsZWQ6aG92ZXIsXG4udWkudGFibGUgdHI6aG92ZXIgdGQuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMC4zKTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YWNrYWJsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0aGVhZCxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0aGVhZCA+IHRyLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRmb290LFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRmb290ID4gdHIsXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGJvZHksXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGJvZHkgPiB0cixcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0cixcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bm90KC5yb3dzcGFubmVkKSxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Ym9keSA+IHRyID4gdGg6bm90KC5yb3dzcGFubmVkKSxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Zm9vdCA+IHRyID4gdGg6bm90KC5yb3dzcGFubmVkKSxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0ciA+IHRoOm5vdCgucm93c3Bhbm5lZCksXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkOm5vdCgucm93c3Bhbm5lZCksXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkOm5vdCgucm93c3Bhbm5lZCksXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdHIgPiB0ZDpub3QoLnJvd3NwYW5uZWQpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0aGVhZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Zm9vdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0aGVhZCA+IHRyLFxuICAudWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRib2R5ID4gdHIsXG4gIC51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGZvb3QgPiB0cixcbiAgLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0ciB7XG4gICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdHIgPiB0aCxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRyID4gdGQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMC4yNWVtIDAuNzVlbTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC8qIERlZmluaXRpb24gVGFibGUgKi9cbiAgLnVpLmRlZmluaXRpb25bY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJwcmltYXJ5IG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICM2QzM2NjcgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJwcmltYXJ5IG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzZDMzY2NyBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInByaW1hcnkgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzU0YzhmZiBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInByaW1hcnkgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjNTRjOGZmIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwic2Vjb25kYXJ5IG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICM4OGQzMTcgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJzZWNvbmRhcnkgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjODhkMzE3IGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwic2Vjb25kYXJ5IG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICM1NDU0NTQgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJzZWNvbmRhcnkgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjNTQ1NDU0IGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwicmVkIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNkYjI4MjggaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJyZWQgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZGIyODI4IGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwicmVkIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNmZjY5NWUgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJyZWQgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZmY2OTVlIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwib3JhbmdlIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNmMjcxMWMgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJvcmFuZ2UgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZjI3MTFjIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwib3JhbmdlIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNmZjg1MWIgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJvcmFuZ2UgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZmY4NTFiIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwieWVsbG93IG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNmYmJkMDggaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJ5ZWxsb3cgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZmJiZDA4IGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwieWVsbG93IG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNmZmUyMWYgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJ5ZWxsb3cgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZmZlMjFmIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwib2xpdmUgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgI2I1Y2MxOCBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cIm9saXZlIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgI2I1Y2MxOCBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cIm9saXZlIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNkOWU3NzggaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJvbGl2ZSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNkOWU3NzggaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJncmVlbiBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjMjFiYTQ1IGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwiZ3JlZW4gbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjMjFiYTQ1IGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiZ3JlZW4gbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzJlY2M0MCBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cImdyZWVuIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzJlY2M0MCBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cInRlYWwgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzAwYjVhZCBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cInRlYWwgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjMDBiNWFkIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwidGVhbCBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjNmRmZmZmIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwidGVhbCBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICM2ZGZmZmYgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJibHVlIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICMyMTg1ZDAgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJibHVlIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgIzIxODVkMCBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cImJsdWUgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgMC4yZW0gMCAwIDAgIzU0YzhmZiBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cImJsdWUgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjNTRjOGZmIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwidmlvbGV0IG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICM2NDM1YzkgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJ2aW9sZXQgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjNjQzNWM5IGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwidmlvbGV0IG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNhMjkxZmIgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJ2aW9sZXQgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjYTI5MWZiIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwicHVycGxlIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNhMzMzYzggaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJwdXJwbGUgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjYTMzM2M4IGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwicHVycGxlIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNkYzczZmYgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJwdXJwbGUgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZGM3M2ZmIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwicGluayBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjZTAzOTk3IGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwicGluayBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNlMDM5OTcgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJwaW5rIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNmZjhlZGYgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJwaW5rIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgI2ZmOGVkZiBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cImJyb3duIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNhNTY3M2YgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJicm93biBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICNhNTY3M2YgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJicm93biBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjZDY3YzFjIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiYnJvd24gbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjZDY3YzFjIGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwiZ3JleSBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjNzY3Njc2IGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwiZ3JleSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICM3Njc2NzYgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJncmV5IG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICNkY2RkZGUgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJncmV5IG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAtMC4yZW0gMCAwIDAgI2RjZGRkZSBpbnNldDtcbn1cbi51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRyW2NsYXNzKj1cImJsYWNrIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIDAuMmVtIDAgMCAwICMxYjFjMWQgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cltjbGFzcyo9XCJibGFjayBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldCwgLTAuMmVtIDAgMCAwICMxYjFjMWQgaW5zZXQ7XG59XG4udWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJibGFjayBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0LCAwLjJlbSAwIDAgMCAjNTQ1NDU0IGluc2V0O1xufVxuLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiYmxhY2sgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQsIC0wLjJlbSAwIDAgMCAjNTQ1NDU0IGluc2V0O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgVGV4dCBBbGlnbm1lbnRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS50YWJsZVtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0sXG4udWkudGFibGUgW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udWkudGFibGVbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0sXG4udWkudGFibGUgW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnVpLnRhYmxlW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0sXG4udWkudGFibGUgW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0ge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBWZXJ0aWNhbCBBbGlnbm1lbnRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS50YWJsZVtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXSxcbi51aS50YWJsZSBbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnVpLnRhYmxlW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdLFxuLnVpLnRhYmxlIFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4udWkudGFibGVbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0sXG4udWkudGFibGUgW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENvbGxhcHNpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS50YWJsZSB0aC5jb2xsYXBzaW5nLFxuLnVpLnRhYmxlIHRkLmNvbGxhcHNpbmcge1xuICB3aWR0aDogMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZpeGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZml4ZWQudGFibGUge1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuLnVpLmZpeGVkLnRhYmxlIHRoLFxuLnVpLmZpeGVkLnRhYmxlIHRkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIFNlbGVjdGFibGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlID4gdGJvZHkgPiB0cjpob3Zlcixcbi51aS50YWJsZSB0Ym9keSB0ciB0ZC5zZWxlY3RhYmxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4udWkudWkuc2VsZWN0YWJsZS5pbnZlcnRlZC50YWJsZSA+IHRib2R5ID4gdHI6aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdGJvZHkgdHIgdGQuc2VsZWN0YWJsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLyogU2VsZWN0YWJsZSBDZWxsIExpbmsgKi9cbi51aS50YWJsZSB0Ym9keSB0ciB0ZC5zZWxlY3RhYmxlIHtcbiAgcGFkZGluZzogMDtcbn1cbi51aS50YWJsZSB0Ym9keSB0ciB0ZC5zZWxlY3RhYmxlID4gYTpub3QoLnVpKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi51aS50YWJsZTpub3QoLmNvbXBhY3QpIHRib2R5IHRyIHRkLnNlbGVjdGFibGUgPiBhOm5vdCgudWkpIHtcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDAuNzg1NzE0MjllbTtcbn1cbi51aS50YWJsZSA+IHRyID4gdGQuc2VsZWN0YWJsZSxcbi51aS50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5zZWxlY3RhYmxlLFxuLnVpLnNlbGVjdGFibGUudGFibGUgPiB0Ym9keSA+IHRyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgPiB0ciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi8qIE90aGVyIFN0YXRlcyAqL1xuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHIuZXJyb3I6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5lcnJvcjpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLmVycm9yIHtcbiAgYmFja2dyb3VuZDogI2ZmZTdlNztcbiAgY29sb3I6ICM5NDM2MzQ7XG59XG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci53YXJuaW5nOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUud2FybmluZzpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjZmZmNGU0O1xuICBjb2xvcjogIzQ5MzEwNztcbn1cbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyLmFjdGl2ZTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLmFjdGl2ZTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNlMGUwZTA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHIucG9zaXRpdmU6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5wb3NpdGl2ZTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLnBvc2l0aXZlIHtcbiAgYmFja2dyb3VuZDogI2Y3ZmZlNjtcbiAgY29sb3I6ICMyNzViMjg7XG59XG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci5uZWdhdGl2ZTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLm5lZ2F0aXZlOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQubmVnYXRpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZlN2U3O1xuICBjb2xvcjogIzk0MzYzNDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBBdHRhY2hlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNaWRkbGUgKi9cbi51aS5hdHRhY2hlZC50YWJsZSB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW46IDAgLTFweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gIG1heC13aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q0ZDRkNTtcbn1cbi51aS5hdHRhY2hlZCArIC51aS5hdHRhY2hlZC50YWJsZTpub3QoLnRvcCkge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLyogVG9wICovXG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLnRhYmxlIHtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0b3A6IDA7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDAgMDtcbn1cbi51aS50YWJsZVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl06Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLyogQm90dG9tICovXG4udWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLnRhYmxlIHtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICB0b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0udGFibGU6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU3RyaXBlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGFibGUgU3RyaXBpbmcgKi9cbi51aS5zdHJpcGVkLnRhYmxlID4gdHI6bnRoLWNoaWxkKDJuKSxcbi51aS5zdHJpcGVkLnRhYmxlID4gdGJvZHkgPiB0cjpudGgtY2hpbGQoMm4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCA1MCwgMC4wMik7XG59XG4vKiBTdHJpcGVzICovXG4udWkuaW52ZXJ0ZWQuc3RyaXBlZC50YWJsZSA+IHRyOm50aC1jaGlsZCgybiksXG4udWkuaW52ZXJ0ZWQuc3RyaXBlZC50YWJsZSA+IHRib2R5ID4gdHI6bnRoLWNoaWxkKDJuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG59XG4vKiBBbGxvdyBzdHJpcGVkIGFjdGl2ZSBob3ZlciAqL1xuLnVpLnN0cmlwZWQuc2VsZWN0YWJsZS5zZWxlY3RhYmxlLnNlbGVjdGFibGUudGFibGUgdGJvZHkgdHIuYWN0aXZlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2VmZWZlZjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgU2luZ2xlIExpbmVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnRhYmxlW2NsYXNzKj1cInNpbmdsZSBsaW5lXCJdLFxuLnVpLnRhYmxlIFtjbGFzcyo9XCJzaW5nbGUgbGluZVwiXSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnByaW1hcnkudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjNkMzNjY3O1xufVxuLnVpLmludmVydGVkLnByaW1hcnkudGFibGUge1xuICBiYWNrZ3JvdW5kOiAjNkMzNjY3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFNhbWUgY29sb3IgZm9yIGJhY2tncm91bmQgYW5kIGNvbG9yIHRvIGNhbW91ZmxhZ2UgdGhlIHNjcm9sbGJhciAqL1xuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnByaW1hcnksXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICNkZGY0ZmY7XG4gIGNvbG9yOiAjZGRmNGZmO1xufVxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnByaW1hcnkgPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnByaW1hcnkgPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnByaW1hcnkgPiB0ciA+IHRkLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnByaW1hcnkgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5wcmltYXJ5LFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjNkMzNjY3O1xuICBjb2xvcjogIzZDMzY2Nztcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5wcmltYXJ5ID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5wcmltYXJ5ID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5wcmltYXJ5ID4gdHIgPiB0ZCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5wcmltYXJ5ID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyW2NsYXNzKj1cInByaW1hcnkgY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0aFtjbGFzcyo9XCJwcmltYXJ5IGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGRbY2xhc3MqPVwicHJpbWFyeSBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyLnByaW1hcnk6bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRoLnByaW1hcnk6bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRkLnByaW1hcnk6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2RkZjRmZjtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwicHJpbWFyeSBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInByaW1hcnkgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJwcmltYXJ5IGNvbG9yZWRcIl0gPiB0ZCxcbi51aS50YWJsZSA+IHRoZWFkID4gdHIucHJpbWFyeTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIucHJpbWFyeTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIucHJpbWFyeTpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwicHJpbWFyeSBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoW2NsYXNzKj1cInByaW1hcnkgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJwcmltYXJ5IGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIucHJpbWFyeTpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGgucHJpbWFyeTpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGQucHJpbWFyeTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjNkMzNjY3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwicHJpbWFyeSBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInByaW1hcnkgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJwcmltYXJ5IGNvbG9yZWRcIl0gPiB0ZCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHIucHJpbWFyeTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIucHJpbWFyeTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIucHJpbWFyeTpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwicHJpbWFyeSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwicHJpbWFyeSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwicHJpbWFyeSBjb2xvcmVkXCJdLFxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHIucHJpbWFyeTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5wcmltYXJ5Om5vdCgubWFya2VkKTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLnByaW1hcnk6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2QzZjFmZjtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cInByaW1hcnkgY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cInByaW1hcnkgY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cInByaW1hcnkgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyLnByaW1hcnk6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUucHJpbWFyeTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5wcmltYXJ5Om5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICMyMWI4ZmY7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cInByaW1hcnkgbWFya2VkXCJdLmxlZnQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwicHJpbWFyeSBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICM2QzM2NjcgaW5zZXQ7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwicHJpbWFyeSBtYXJrZWRcIl0ucmlnaHQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwicHJpbWFyeSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgIzZDMzY2NyBpbnNldDtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJwcmltYXJ5IG1hcmtlZFwiXS5sZWZ0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInByaW1hcnkgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjNTRjOGZmIGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInByaW1hcnkgbWFya2VkXCJdLnJpZ2h0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInByaW1hcnkgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICM1NGM4ZmYgaW5zZXQ7XG59XG4udWkuc2Vjb25kYXJ5LnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgIzg4ZDMxNztcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkudGFibGUge1xuICBiYWNrZ3JvdW5kOiAjODhkMzE3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFNhbWUgY29sb3IgZm9yIGJhY2tncm91bmQgYW5kIGNvbG9yIHRvIGNhbW91ZmxhZ2UgdGhlIHNjcm9sbGJhciAqL1xuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnNlY29uZGFyeSxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjZGRkZGRkO1xuICBjb2xvcjogI2RkZGRkZDtcbn1cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5zZWNvbmRhcnkgPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnNlY29uZGFyeSA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuc2Vjb25kYXJ5ID4gdHIgPiB0ZCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5zZWNvbmRhcnkgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5zZWNvbmRhcnksXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Quc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogIzg4ZDMxNztcbiAgY29sb3I6ICM4OGQzMTc7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuc2Vjb25kYXJ5ID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5zZWNvbmRhcnkgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnNlY29uZGFyeSA+IHRyID4gdGQsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Quc2Vjb25kYXJ5ID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyW2NsYXNzKj1cInNlY29uZGFyeSBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRoW2NsYXNzKj1cInNlY29uZGFyeSBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRkW2NsYXNzKj1cInNlY29uZGFyeSBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyLnNlY29uZGFyeTpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGguc2Vjb25kYXJ5Om5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0ZC5zZWNvbmRhcnk6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2RkZGRkZDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwic2Vjb25kYXJ5IGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwic2Vjb25kYXJ5IGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwic2Vjb25kYXJ5IGNvbG9yZWRcIl0gPiB0ZCxcbi51aS50YWJsZSA+IHRoZWFkID4gdHIuc2Vjb25kYXJ5Om5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5zZWNvbmRhcnk6bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLnNlY29uZGFyeTpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwic2Vjb25kYXJ5IGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGhbY2xhc3MqPVwic2Vjb25kYXJ5IGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwic2Vjb25kYXJ5IGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIuc2Vjb25kYXJ5Om5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aC5zZWNvbmRhcnk6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLnNlY29uZGFyeTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjODhkMzE3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwic2Vjb25kYXJ5IGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwic2Vjb25kYXJ5IGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwic2Vjb25kYXJ5IGNvbG9yZWRcIl0gPiB0ZCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHIuc2Vjb25kYXJ5Om5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci5zZWNvbmRhcnk6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLnNlY29uZGFyeTpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwic2Vjb25kYXJ5IGNvbG9yZWRcIl06aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJzZWNvbmRhcnkgY29sb3JlZFwiXTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cInNlY29uZGFyeSBjb2xvcmVkXCJdLFxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHIuc2Vjb25kYXJ5Om5vdCgubWFya2VkKTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLnNlY29uZGFyeTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5zZWNvbmRhcnk6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2UyZTJlMjtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cInNlY29uZGFyeSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwic2Vjb25kYXJ5IGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJzZWNvbmRhcnkgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyLnNlY29uZGFyeTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5zZWNvbmRhcnk6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQuc2Vjb25kYXJ5Om5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICM2ZTZlNmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cInNlY29uZGFyeSBtYXJrZWRcIl0ubGVmdCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJzZWNvbmRhcnkgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjODhkMzE3IGluc2V0O1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cInNlY29uZGFyeSBtYXJrZWRcIl0ucmlnaHQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwic2Vjb25kYXJ5IG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjODhkMzE3IGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInNlY29uZGFyeSBtYXJrZWRcIl0ubGVmdCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJzZWNvbmRhcnkgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjNTQ1NDU0IGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInNlY29uZGFyeSBtYXJrZWRcIl0ucmlnaHQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwic2Vjb25kYXJ5IG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjNTQ1NDU0IGluc2V0O1xufVxuLnVpLnJlZC50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICNkYjI4Mjg7XG59XG4udWkuaW52ZXJ0ZWQucmVkLnRhYmxlIHtcbiAgYmFja2dyb3VuZDogI2RiMjgyODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBTYW1lIGNvbG9yIGZvciBiYWNrZ3JvdW5kIGFuZCBjb2xvciB0byBjYW1vdWZsYWdlIHRoZSBzY3JvbGxiYXIgKi9cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5yZWQsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QucmVkIHtcbiAgYmFja2dyb3VuZDogI2ZmZTFkZjtcbiAgY29sb3I6ICNmZmUxZGY7XG59XG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQucmVkID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5yZWQgPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnJlZCA+IHRyID4gdGQsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QucmVkID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjZGIyODI4O1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnJlZCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5yZWQge1xuICBiYWNrZ3JvdW5kOiAjZGIyODI4O1xuICBjb2xvcjogI2RiMjgyODtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5yZWQgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnJlZCA+IHRyID4gdGgsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQucmVkID4gdHIgPiB0ZCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5yZWQgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkudWkudWkudGFibGUgdHJbY2xhc3MqPVwicmVkIGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGhbY2xhc3MqPVwicmVkIGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGRbY2xhc3MqPVwicmVkIGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkudGFibGUgdHIucmVkOm5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0aC5yZWQ6bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRkLnJlZDpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZmZlMWRmO1xuICBjb2xvcjogI2RiMjgyODtcbn1cbi51aS50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwicmVkIGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwicmVkIGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwicmVkIGNvbG9yZWRcIl0gPiB0ZCxcbi51aS50YWJsZSA+IHRoZWFkID4gdHIucmVkOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5yZWQ6bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLnJlZDpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjZGIyODI4O1xufVxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInJlZCBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoW2NsYXNzKj1cInJlZCBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInJlZCBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLnJlZDpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGgucmVkOm5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZC5yZWQ6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2RiMjgyODtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cInJlZCBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInJlZCBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInJlZCBjb2xvcmVkXCJdID4gdGQsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0aGVhZCA+IHRyLnJlZDpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIucmVkOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci5yZWQ6bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cInJlZCBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwicmVkIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJyZWQgY29sb3JlZFwiXSxcbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyLnJlZDpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5yZWQ6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQucmVkOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNmZmQ3ZDU7XG4gIGNvbG9yOiAjZGIyODI4O1xufVxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwicmVkIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJyZWQgY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cInJlZCBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHIucmVkOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLnJlZDpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5yZWQ6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2ZmMzkyYjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwicmVkIG1hcmtlZFwiXS5sZWZ0LFxuLnVpLnRhYmxlIHRyW2NsYXNzKj1cInJlZCBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICNkYjI4MjggaW5zZXQ7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwicmVkIG1hcmtlZFwiXS5yaWdodCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJyZWQgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICNkYjI4MjggaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwicmVkIG1hcmtlZFwiXS5sZWZ0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInJlZCBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICNmZjY5NWUgaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwicmVkIG1hcmtlZFwiXS5yaWdodCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJyZWQgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICNmZjY5NWUgaW5zZXQ7XG59XG4udWkub3JhbmdlLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgI2YyNzExYztcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UudGFibGUge1xuICBiYWNrZ3JvdW5kOiAjZjI3MTFjO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFNhbWUgY29sb3IgZm9yIGJhY2tncm91bmQgYW5kIGNvbG9yIHRvIGNhbW91ZmxhZ2UgdGhlIHNjcm9sbGJhciAqL1xuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLm9yYW5nZSxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kOiAjZmZlN2QxO1xuICBjb2xvcjogI2ZmZTdkMTtcbn1cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5vcmFuZ2UgPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290Lm9yYW5nZSA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQub3JhbmdlID4gdHIgPiB0ZCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5vcmFuZ2UgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNmMjcxMWM7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQub3JhbmdlLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290Lm9yYW5nZSB7XG4gIGJhY2tncm91bmQ6ICNmMjcxMWM7XG4gIGNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLm9yYW5nZSA+IHRyID4gdGgsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Qub3JhbmdlID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5vcmFuZ2UgPiB0ciA+IHRkLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290Lm9yYW5nZSA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS51aS51aS50YWJsZSB0cltjbGFzcyo9XCJvcmFuZ2UgY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0aFtjbGFzcyo9XCJvcmFuZ2UgY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0ZFtjbGFzcyo9XCJvcmFuZ2UgY29sb3JlZFwiXSxcbi51aS51aS51aS51aS50YWJsZSB0ci5vcmFuZ2U6bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRoLm9yYW5nZTpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGQub3JhbmdlOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNmZmU3ZDE7XG4gIGNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJvcmFuZ2UgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJvcmFuZ2UgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJvcmFuZ2UgY29sb3JlZFwiXSA+IHRkLFxuLnVpLnRhYmxlID4gdGhlYWQgPiB0ci5vcmFuZ2U6bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLm9yYW5nZTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIub3JhbmdlOm5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNmMjcxMWM7XG59XG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwib3JhbmdlIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGhbY2xhc3MqPVwib3JhbmdlIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwib3JhbmdlIGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIub3JhbmdlOm5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aC5vcmFuZ2U6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLm9yYW5nZTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZjI3MTFjO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwib3JhbmdlIGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwib3JhbmdlIGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwib3JhbmdlIGNvbG9yZWRcIl0gPiB0ZCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHIub3JhbmdlOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci5vcmFuZ2U6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLm9yYW5nZTpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwib3JhbmdlIGNvbG9yZWRcIl06aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJvcmFuZ2UgY29sb3JlZFwiXTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cIm9yYW5nZSBjb2xvcmVkXCJdLFxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHIub3JhbmdlOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLm9yYW5nZTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5vcmFuZ2U6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2ZhZTFjYztcbiAgY29sb3I6ICNmMjcxMWM7XG59XG4udWkudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJvcmFuZ2UgY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cIm9yYW5nZSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwib3JhbmdlIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0ci5vcmFuZ2U6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUub3JhbmdlOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLm9yYW5nZTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZTc2YjAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJvcmFuZ2UgbWFya2VkXCJdLmxlZnQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwib3JhbmdlIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgI2YyNzExYyBpbnNldDtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJvcmFuZ2UgbWFya2VkXCJdLnJpZ2h0LFxuLnVpLnRhYmxlIHRyW2NsYXNzKj1cIm9yYW5nZSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgI2YyNzExYyBpbnNldDtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJvcmFuZ2UgbWFya2VkXCJdLmxlZnQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwib3JhbmdlIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgI2ZmODUxYiBpbnNldDtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJvcmFuZ2UgbWFya2VkXCJdLnJpZ2h0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cIm9yYW5nZSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgI2ZmODUxYiBpbnNldDtcbn1cbi51aS55ZWxsb3cudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjZmJiZDA4O1xufVxuLnVpLmludmVydGVkLnllbGxvdy50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICNmYmJkMDg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogU2FtZSBjb2xvciBmb3IgYmFja2dyb3VuZCBhbmQgY29sb3IgdG8gY2Ftb3VmbGFnZSB0aGUgc2Nyb2xsYmFyICovXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQueWVsbG93LFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnllbGxvdyB7XG4gIGJhY2tncm91bmQ6ICNmZmY5ZDI7XG4gIGNvbG9yOiAjZmZmOWQyO1xufVxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnllbGxvdyA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QueWVsbG93ID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC55ZWxsb3cgPiB0ciA+IHRkLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnllbGxvdyA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI2I1ODEwNTtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC55ZWxsb3csXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QueWVsbG93IHtcbiAgYmFja2dyb3VuZDogI2ZiYmQwODtcbiAgY29sb3I6ICNmYmJkMDg7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQueWVsbG93ID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC55ZWxsb3cgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnllbGxvdyA+IHRyID4gdGQsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QueWVsbG93ID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyW2NsYXNzKj1cInllbGxvdyBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRoW2NsYXNzKj1cInllbGxvdyBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRkW2NsYXNzKj1cInllbGxvdyBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyLnllbGxvdzpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGgueWVsbG93Om5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0ZC55ZWxsb3c6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2ZmZjlkMjtcbiAgY29sb3I6ICNiNTgxMDU7XG59XG4udWkudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cInllbGxvdyBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInllbGxvdyBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInllbGxvdyBjb2xvcmVkXCJdID4gdGQsXG4udWkudGFibGUgPiB0aGVhZCA+IHRyLnllbGxvdzpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIueWVsbG93Om5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci55ZWxsb3c6bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI2I1ODEwNTtcbn1cbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJ5ZWxsb3cgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aFtjbGFzcyo9XCJ5ZWxsb3cgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJ5ZWxsb3cgY29sb3JlZFwiXSxcbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci55ZWxsb3c6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoLnllbGxvdzpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGQueWVsbG93Om5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNmYmJkMDg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJ5ZWxsb3cgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJ5ZWxsb3cgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJ5ZWxsb3cgY29sb3JlZFwiXSA+IHRkLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0ci55ZWxsb3c6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLnllbGxvdzpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIueWVsbG93Om5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJ5ZWxsb3cgY29sb3JlZFwiXTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cInllbGxvdyBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwieWVsbG93IGNvbG9yZWRcIl0sXG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci55ZWxsb3c6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUueWVsbG93Om5vdCgubWFya2VkKTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLnllbGxvdzpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZmJmNWNjO1xuICBjb2xvcjogI2I1ODEwNTtcbn1cbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cInllbGxvdyBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwieWVsbG93IGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJ5ZWxsb3cgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyLnllbGxvdzpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZS55ZWxsb3c6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQueWVsbG93Om5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNlYmNkMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cInllbGxvdyBtYXJrZWRcIl0ubGVmdCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJ5ZWxsb3cgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjZmJiZDA4IGluc2V0O1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cInllbGxvdyBtYXJrZWRcIl0ucmlnaHQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwieWVsbG93IG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjZmJiZDA4IGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInllbGxvdyBtYXJrZWRcIl0ubGVmdCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJ5ZWxsb3cgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjZmZlMjFmIGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInllbGxvdyBtYXJrZWRcIl0ucmlnaHQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwieWVsbG93IG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjZmZlMjFmIGluc2V0O1xufVxuLnVpLm9saXZlLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgI2I1Y2MxODtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICNiNWNjMTg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogU2FtZSBjb2xvciBmb3IgYmFja2dyb3VuZCBhbmQgY29sb3IgdG8gY2Ftb3VmbGFnZSB0aGUgc2Nyb2xsYmFyICovXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQub2xpdmUsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Qub2xpdmUge1xuICBiYWNrZ3JvdW5kOiAjZjdmYWU0O1xuICBjb2xvcjogI2Y3ZmFlNDtcbn1cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5vbGl2ZSA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Qub2xpdmUgPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLm9saXZlID4gdHIgPiB0ZCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5vbGl2ZSA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogIzhhYmMxZTtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5vbGl2ZSxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5vbGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNiNWNjMTg7XG4gIGNvbG9yOiAjYjVjYzE4O1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLm9saXZlID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5vbGl2ZSA+IHRyID4gdGgsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQub2xpdmUgPiB0ciA+IHRkLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290Lm9saXZlID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyW2NsYXNzKj1cIm9saXZlIGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGhbY2xhc3MqPVwib2xpdmUgY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0ZFtjbGFzcyo9XCJvbGl2ZSBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyLm9saXZlOm5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0aC5vbGl2ZTpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGQub2xpdmU6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2Y3ZmFlNDtcbiAgY29sb3I6ICM4YWJjMWU7XG59XG4udWkudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cIm9saXZlIGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwib2xpdmUgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJvbGl2ZSBjb2xvcmVkXCJdID4gdGQsXG4udWkudGFibGUgPiB0aGVhZCA+IHRyLm9saXZlOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5vbGl2ZTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIub2xpdmU6bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogIzhhYmMxZTtcbn1cbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJvbGl2ZSBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoW2NsYXNzKj1cIm9saXZlIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwib2xpdmUgY29sb3JlZFwiXSxcbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5vbGl2ZTpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGgub2xpdmU6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLm9saXZlOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNiNWNjMTg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJvbGl2ZSBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cIm9saXZlIGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwib2xpdmUgY29sb3JlZFwiXSA+IHRkLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0ci5vbGl2ZTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIub2xpdmU6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLm9saXZlOm5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJvbGl2ZSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwib2xpdmUgY29sb3JlZFwiXTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cIm9saXZlIGNvbG9yZWRcIl0sXG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci5vbGl2ZTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5vbGl2ZTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5vbGl2ZTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZjZmYWRhO1xuICBjb2xvcjogIzhhYmMxZTtcbn1cbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cIm9saXZlIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJvbGl2ZSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwib2xpdmUgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyLm9saXZlOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLm9saXZlOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLm9saXZlOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNkMmU3NDU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cIm9saXZlIG1hcmtlZFwiXS5sZWZ0LFxuLnVpLnRhYmxlIHRyW2NsYXNzKj1cIm9saXZlIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgI2I1Y2MxOCBpbnNldDtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJvbGl2ZSBtYXJrZWRcIl0ucmlnaHQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwib2xpdmUgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICNiNWNjMTggaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwib2xpdmUgbWFya2VkXCJdLmxlZnQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwib2xpdmUgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjZDllNzc4IGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cIm9saXZlIG1hcmtlZFwiXS5yaWdodCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJvbGl2ZSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgI2Q5ZTc3OCBpbnNldDtcbn1cbi51aS5ncmVlbi50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICMyMWJhNDU7XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4udGFibGUge1xuICBiYWNrZ3JvdW5kOiAjMjFiYTQ1O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFNhbWUgY29sb3IgZm9yIGJhY2tncm91bmQgYW5kIGNvbG9yIHRvIGNhbW91ZmxhZ2UgdGhlIHNjcm9sbGJhciAqL1xuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmdyZWVuLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmdyZWVuIHtcbiAgYmFja2dyb3VuZDogI2Q1ZjVkOTtcbiAgY29sb3I6ICNkNWY1ZDk7XG59XG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuZ3JlZW4gPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmdyZWVuID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5ncmVlbiA+IHRyID4gdGQsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuZ3JlZW4gPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICMxZWJjMzA7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuZ3JlZW4sXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuZ3JlZW4ge1xuICBiYWNrZ3JvdW5kOiAjMjFiYTQ1O1xuICBjb2xvcjogIzIxYmE0NTtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5ncmVlbiA+IHRyID4gdGgsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuZ3JlZW4gPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmdyZWVuID4gdHIgPiB0ZCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5ncmVlbiA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS51aS51aS50YWJsZSB0cltjbGFzcyo9XCJncmVlbiBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRoW2NsYXNzKj1cImdyZWVuIGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGRbY2xhc3MqPVwiZ3JlZW4gY29sb3JlZFwiXSxcbi51aS51aS51aS51aS50YWJsZSB0ci5ncmVlbjpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGguZ3JlZW46bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRkLmdyZWVuOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNkNWY1ZDk7XG4gIGNvbG9yOiAjMWViYzMwO1xufVxuLnVpLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJncmVlbiBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cImdyZWVuIGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwiZ3JlZW4gY29sb3JlZFwiXSA+IHRkLFxuLnVpLnRhYmxlID4gdGhlYWQgPiB0ci5ncmVlbjpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIuZ3JlZW46bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLmdyZWVuOm5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICMxZWJjMzA7XG59XG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiZ3JlZW4gY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aFtjbGFzcyo9XCJncmVlbiBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cImdyZWVuIGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIuZ3JlZW46bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoLmdyZWVuOm5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZC5ncmVlbjpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjMjFiYTQ1O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwiZ3JlZW4gY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJncmVlbiBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cImdyZWVuIGNvbG9yZWRcIl0gPiB0ZCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHIuZ3JlZW46bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLmdyZWVuOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci5ncmVlbjpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwiZ3JlZW4gY29sb3JlZFwiXTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cImdyZWVuIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJncmVlbiBjb2xvcmVkXCJdLFxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHIuZ3JlZW46bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUuZ3JlZW46bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQuZ3JlZW46bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2QyZWVkNTtcbiAgY29sb3I6ICMxZWJjMzA7XG59XG4udWkudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJncmVlbiBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwiZ3JlZW4gY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cImdyZWVuIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0ci5ncmVlbjpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5ncmVlbjpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5ncmVlbjpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjMWVhOTJlO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJncmVlbiBtYXJrZWRcIl0ubGVmdCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJncmVlbiBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICMyMWJhNDUgaW5zZXQ7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwiZ3JlZW4gbWFya2VkXCJdLnJpZ2h0LFxuLnVpLnRhYmxlIHRyW2NsYXNzKj1cImdyZWVuIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjMjFiYTQ1IGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cImdyZWVuIG1hcmtlZFwiXS5sZWZ0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cImdyZWVuIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgIzJlY2M0MCBpbnNldDtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJncmVlbiBtYXJrZWRcIl0ucmlnaHQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiZ3JlZW4gbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICMyZWNjNDAgaW5zZXQ7XG59XG4udWkudGVhbC50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICMwMGI1YWQ7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICMwMGI1YWQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogU2FtZSBjb2xvciBmb3IgYmFja2dyb3VuZCBhbmQgY29sb3IgdG8gY2Ftb3VmbGFnZSB0aGUgc2Nyb2xsYmFyICovXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQudGVhbCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC50ZWFsIHtcbiAgYmFja2dyb3VuZDogI2UyZmZmZjtcbiAgY29sb3I6ICNlMmZmZmY7XG59XG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQudGVhbCA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QudGVhbCA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQudGVhbCA+IHRyID4gdGQsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QudGVhbCA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogIzEwYTNhMztcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC50ZWFsLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnRlYWwge1xuICBiYWNrZ3JvdW5kOiAjMDBiNWFkO1xuICBjb2xvcjogIzAwYjVhZDtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC50ZWFsID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC50ZWFsID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC50ZWFsID4gdHIgPiB0ZCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC50ZWFsID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyW2NsYXNzKj1cInRlYWwgY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0aFtjbGFzcyo9XCJ0ZWFsIGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGRbY2xhc3MqPVwidGVhbCBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyLnRlYWw6bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRoLnRlYWw6bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRkLnRlYWw6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2UyZmZmZjtcbiAgY29sb3I6ICMxMGEzYTM7XG59XG4udWkudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cInRlYWwgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJ0ZWFsIGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwidGVhbCBjb2xvcmVkXCJdID4gdGQsXG4udWkudGFibGUgPiB0aGVhZCA+IHRyLnRlYWw6bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLnRlYWw6bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLnRlYWw6bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogIzEwYTNhMztcbn1cbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJ0ZWFsIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGhbY2xhc3MqPVwidGVhbCBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInRlYWwgY29sb3JlZFwiXSxcbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci50ZWFsOm5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aC50ZWFsOm5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZC50ZWFsOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICMwMGI1YWQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJ0ZWFsIGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwidGVhbCBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInRlYWwgY29sb3JlZFwiXSA+IHRkLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0ci50ZWFsOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci50ZWFsOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci50ZWFsOm5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJ0ZWFsIGNvbG9yZWRcIl06aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJ0ZWFsIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJ0ZWFsIGNvbG9yZWRcIl0sXG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci50ZWFsOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLnRlYWw6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQudGVhbDpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZDhmZmZmO1xuICBjb2xvcjogIzEwYTNhMztcbn1cbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cInRlYWwgY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cInRlYWwgY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cInRlYWwgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyLnRlYWw6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUudGVhbDpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC50ZWFsOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICMzYWZmZmY7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cInRlYWwgbWFya2VkXCJdLmxlZnQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwidGVhbCBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICMwMGI1YWQgaW5zZXQ7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwidGVhbCBtYXJrZWRcIl0ucmlnaHQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwidGVhbCBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgIzAwYjVhZCBpbnNldDtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJ0ZWFsIG1hcmtlZFwiXS5sZWZ0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInRlYWwgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjNmRmZmZmIGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInRlYWwgbWFya2VkXCJdLnJpZ2h0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInRlYWwgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICM2ZGZmZmYgaW5zZXQ7XG59XG4udWkuYmx1ZS50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICMyMTg1ZDA7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICMyMTg1ZDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogU2FtZSBjb2xvciBmb3IgYmFja2dyb3VuZCBhbmQgY29sb3IgdG8gY2Ftb3VmbGFnZSB0aGUgc2Nyb2xsYmFyICovXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuYmx1ZSxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5ibHVlIHtcbiAgYmFja2dyb3VuZDogI2RkZjRmZjtcbiAgY29sb3I6ICNkZGY0ZmY7XG59XG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuYmx1ZSA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuYmx1ZSA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuYmx1ZSA+IHRyID4gdGQsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuYmx1ZSA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogIzIxODVkMDtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5ibHVlLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmJsdWUge1xuICBiYWNrZ3JvdW5kOiAjMjE4NWQwO1xuICBjb2xvcjogIzIxODVkMDtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5ibHVlID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5ibHVlID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5ibHVlID4gdHIgPiB0ZCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5ibHVlID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyW2NsYXNzKj1cImJsdWUgY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0aFtjbGFzcyo9XCJibHVlIGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGRbY2xhc3MqPVwiYmx1ZSBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyLmJsdWU6bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRoLmJsdWU6bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRkLmJsdWU6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2RkZjRmZjtcbiAgY29sb3I6ICMyMTg1ZDA7XG59XG4udWkudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cImJsdWUgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJibHVlIGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwiYmx1ZSBjb2xvcmVkXCJdID4gdGQsXG4udWkudGFibGUgPiB0aGVhZCA+IHRyLmJsdWU6bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLmJsdWU6bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLmJsdWU6bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogIzIxODVkMDtcbn1cbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJibHVlIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGhbY2xhc3MqPVwiYmx1ZSBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cImJsdWUgY29sb3JlZFwiXSxcbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5ibHVlOm5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aC5ibHVlOm5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZC5ibHVlOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICMyMTg1ZDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJibHVlIGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwiYmx1ZSBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cImJsdWUgY29sb3JlZFwiXSA+IHRkLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0ci5ibHVlOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci5ibHVlOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci5ibHVlOm5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJibHVlIGNvbG9yZWRcIl06aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJibHVlIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJibHVlIGNvbG9yZWRcIl0sXG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci5ibHVlOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLmJsdWU6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQuYmx1ZTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZDNmMWZmO1xuICBjb2xvcjogIzIxODVkMDtcbn1cbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cImJsdWUgY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cImJsdWUgY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cImJsdWUgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyLmJsdWU6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUuYmx1ZTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5ibHVlOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICMyMWI4ZmY7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cImJsdWUgbWFya2VkXCJdLmxlZnQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwiYmx1ZSBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICMyMTg1ZDAgaW5zZXQ7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwiYmx1ZSBtYXJrZWRcIl0ucmlnaHQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwiYmx1ZSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgIzIxODVkMCBpbnNldDtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJibHVlIG1hcmtlZFwiXS5sZWZ0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cImJsdWUgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjNTRjOGZmIGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cImJsdWUgbWFya2VkXCJdLnJpZ2h0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cImJsdWUgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICM1NGM4ZmYgaW5zZXQ7XG59XG4udWkudmlvbGV0LnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgIzY0MzVjOTtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQudGFibGUge1xuICBiYWNrZ3JvdW5kOiAjNjQzNWM5O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFNhbWUgY29sb3IgZm9yIGJhY2tncm91bmQgYW5kIGNvbG9yIHRvIGNhbW91ZmxhZ2UgdGhlIHNjcm9sbGJhciAqL1xuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnZpb2xldCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC52aW9sZXQge1xuICBiYWNrZ3JvdW5kOiAjZWNlOWZlO1xuICBjb2xvcjogI2VjZTlmZTtcbn1cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC52aW9sZXQgPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnZpb2xldCA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQudmlvbGV0ID4gdHIgPiB0ZCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC52aW9sZXQgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICM2NDM1Yzk7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQudmlvbGV0LFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnZpb2xldCB7XG4gIGJhY2tncm91bmQ6ICM2NDM1Yzk7XG4gIGNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnZpb2xldCA+IHRyID4gdGgsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QudmlvbGV0ID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC52aW9sZXQgPiB0ciA+IHRkLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnZpb2xldCA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS51aS51aS50YWJsZSB0cltjbGFzcyo9XCJ2aW9sZXQgY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0aFtjbGFzcyo9XCJ2aW9sZXQgY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0ZFtjbGFzcyo9XCJ2aW9sZXQgY29sb3JlZFwiXSxcbi51aS51aS51aS51aS50YWJsZSB0ci52aW9sZXQ6bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRoLnZpb2xldDpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGQudmlvbGV0Om5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNlY2U5ZmU7XG4gIGNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJ2aW9sZXQgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJ2aW9sZXQgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJ2aW9sZXQgY29sb3JlZFwiXSA+IHRkLFxuLnVpLnRhYmxlID4gdGhlYWQgPiB0ci52aW9sZXQ6bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLnZpb2xldDpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIudmlvbGV0Om5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICM2NDM1Yzk7XG59XG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwidmlvbGV0IGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGhbY2xhc3MqPVwidmlvbGV0IGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwidmlvbGV0IGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIudmlvbGV0Om5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aC52aW9sZXQ6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLnZpb2xldDpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjNjQzNWM5O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwidmlvbGV0IGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwidmlvbGV0IGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwidmlvbGV0IGNvbG9yZWRcIl0gPiB0ZCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHIudmlvbGV0Om5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci52aW9sZXQ6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLnZpb2xldDpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwidmlvbGV0IGNvbG9yZWRcIl06aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJ2aW9sZXQgY29sb3JlZFwiXTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cInZpb2xldCBjb2xvcmVkXCJdLFxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHIudmlvbGV0Om5vdCgubWFya2VkKTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLnZpb2xldDpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC52aW9sZXQ6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2UzZGVmZjtcbiAgY29sb3I6ICM2NDM1Yzk7XG59XG4udWkudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJ2aW9sZXQgY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cInZpb2xldCBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwidmlvbGV0IGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0ci52aW9sZXQ6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUudmlvbGV0Om5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLnZpb2xldDpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjNzQ1YWZmO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJ2aW9sZXQgbWFya2VkXCJdLmxlZnQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwidmlvbGV0IG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgIzY0MzVjOSBpbnNldDtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJ2aW9sZXQgbWFya2VkXCJdLnJpZ2h0LFxuLnVpLnRhYmxlIHRyW2NsYXNzKj1cInZpb2xldCBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgIzY0MzVjOSBpbnNldDtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJ2aW9sZXQgbWFya2VkXCJdLmxlZnQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwidmlvbGV0IG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgI2EyOTFmYiBpbnNldDtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJ2aW9sZXQgbWFya2VkXCJdLnJpZ2h0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cInZpb2xldCBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgI2EyOTFmYiBpbnNldDtcbn1cbi51aS5wdXJwbGUudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjYTMzM2M4O1xufVxuLnVpLmludmVydGVkLnB1cnBsZS50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICNhMzMzYzg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogU2FtZSBjb2xvciBmb3IgYmFja2dyb3VuZCBhbmQgY29sb3IgdG8gY2Ftb3VmbGFnZSB0aGUgc2Nyb2xsYmFyICovXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQucHVycGxlLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnB1cnBsZSB7XG4gIGJhY2tncm91bmQ6ICNmOGUzZmY7XG4gIGNvbG9yOiAjZjhlM2ZmO1xufVxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnB1cnBsZSA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QucHVycGxlID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5wdXJwbGUgPiB0ciA+IHRkLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnB1cnBsZSA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI2EzMzNjODtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5wdXJwbGUsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QucHVycGxlIHtcbiAgYmFja2dyb3VuZDogI2EzMzNjODtcbiAgY29sb3I6ICNhMzMzYzg7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQucHVycGxlID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5wdXJwbGUgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnB1cnBsZSA+IHRyID4gdGQsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QucHVycGxlID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyW2NsYXNzKj1cInB1cnBsZSBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRoW2NsYXNzKj1cInB1cnBsZSBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRkW2NsYXNzKj1cInB1cnBsZSBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyLnB1cnBsZTpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGgucHVycGxlOm5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0ZC5wdXJwbGU6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2Y4ZTNmZjtcbiAgY29sb3I6ICNhMzMzYzg7XG59XG4udWkudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cInB1cnBsZSBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInB1cnBsZSBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInB1cnBsZSBjb2xvcmVkXCJdID4gdGQsXG4udWkudGFibGUgPiB0aGVhZCA+IHRyLnB1cnBsZTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIucHVycGxlOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5wdXJwbGU6bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI2EzMzNjODtcbn1cbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJwdXJwbGUgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aFtjbGFzcyo9XCJwdXJwbGUgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJwdXJwbGUgY29sb3JlZFwiXSxcbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5wdXJwbGU6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoLnB1cnBsZTpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGQucHVycGxlOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNhMzMzYzg7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJwdXJwbGUgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJwdXJwbGUgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJwdXJwbGUgY29sb3JlZFwiXSA+IHRkLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0ci5wdXJwbGU6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLnB1cnBsZTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIucHVycGxlOm5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJwdXJwbGUgY29sb3JlZFwiXTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cInB1cnBsZSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwicHVycGxlIGNvbG9yZWRcIl0sXG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci5wdXJwbGU6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUucHVycGxlOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLnB1cnBsZTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZjVkOWZmO1xuICBjb2xvcjogI2EzMzNjODtcbn1cbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cInB1cnBsZSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwicHVycGxlIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJwdXJwbGUgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyLnB1cnBsZTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5wdXJwbGU6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQucHVycGxlOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNjZjQwZmY7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cInB1cnBsZSBtYXJrZWRcIl0ubGVmdCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJwdXJwbGUgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjYTMzM2M4IGluc2V0O1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cInB1cnBsZSBtYXJrZWRcIl0ucmlnaHQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwicHVycGxlIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjYTMzM2M4IGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInB1cnBsZSBtYXJrZWRcIl0ubGVmdCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJwdXJwbGUgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjZGM3M2ZmIGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cInB1cnBsZSBtYXJrZWRcIl0ucmlnaHQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwicHVycGxlIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjZGM3M2ZmIGluc2V0O1xufVxuLnVpLnBpbmsudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjZTAzOTk3O1xufVxuLnVpLmludmVydGVkLnBpbmsudGFibGUge1xuICBiYWNrZ3JvdW5kOiAjZTAzOTk3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFNhbWUgY29sb3IgZm9yIGJhY2tncm91bmQgYW5kIGNvbG9yIHRvIGNhbW91ZmxhZ2UgdGhlIHNjcm9sbGJhciAqL1xuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnBpbmssXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QucGluayB7XG4gIGJhY2tncm91bmQ6ICNmZmU4Zjk7XG4gIGNvbG9yOiAjZmZlOGY5O1xufVxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnBpbmsgPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnBpbmsgPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLnBpbmsgPiB0ciA+IHRkLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LnBpbmsgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNlMDM5OTc7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQucGluayxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5waW5rIHtcbiAgYmFja2dyb3VuZDogI2UwMzk5NztcbiAgY29sb3I6ICNlMDM5OTc7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQucGluayA+IHRyID4gdGgsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QucGluayA+IHRyID4gdGgsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQucGluayA+IHRyID4gdGQsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QucGluayA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS51aS51aS50YWJsZSB0cltjbGFzcyo9XCJwaW5rIGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGhbY2xhc3MqPVwicGluayBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRkW2NsYXNzKj1cInBpbmsgY29sb3JlZFwiXSxcbi51aS51aS51aS51aS50YWJsZSB0ci5waW5rOm5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0aC5waW5rOm5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0ZC5waW5rOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNmZmU4Zjk7XG4gIGNvbG9yOiAjZTAzOTk3O1xufVxuLnVpLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJwaW5rIGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwicGluayBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInBpbmsgY29sb3JlZFwiXSA+IHRkLFxuLnVpLnRhYmxlID4gdGhlYWQgPiB0ci5waW5rOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5waW5rOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5waW5rOm5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNlMDM5OTc7XG59XG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwicGluayBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoW2NsYXNzKj1cInBpbmsgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJwaW5rIGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIucGluazpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGgucGluazpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGQucGluazpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZTAzOTk3O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwicGluayBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cInBpbmsgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJwaW5rIGNvbG9yZWRcIl0gPiB0ZCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHIucGluazpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIucGluazpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIucGluazpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwicGluayBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwicGluayBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwicGluayBjb2xvcmVkXCJdLFxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHIucGluazpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5waW5rOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLnBpbms6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2ZmZGVmNjtcbiAgY29sb3I6ICNlMDM5OTc7XG59XG4udWkudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJwaW5rIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJwaW5rIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJwaW5rIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0ci5waW5rOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLnBpbms6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQucGluazpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZmY1YmQxO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJwaW5rIG1hcmtlZFwiXS5sZWZ0LFxuLnVpLnRhYmxlIHRyW2NsYXNzKj1cInBpbmsgbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjZTAzOTk3IGluc2V0O1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cInBpbmsgbWFya2VkXCJdLnJpZ2h0LFxuLnVpLnRhYmxlIHRyW2NsYXNzKj1cInBpbmsgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICNlMDM5OTcgaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwicGluayBtYXJrZWRcIl0ubGVmdCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJwaW5rIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgI2ZmOGVkZiBpbnNldDtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJwaW5rIG1hcmtlZFwiXS5yaWdodCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJwaW5rIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjZmY4ZWRmIGluc2V0O1xufVxuLnVpLmJyb3duLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgI2E1NjczZjtcbn1cbi51aS5pbnZlcnRlZC5icm93bi50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICNhNTY3M2Y7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogU2FtZSBjb2xvciBmb3IgYmFja2dyb3VuZCBhbmQgY29sb3IgdG8gY2Ftb3VmbGFnZSB0aGUgc2Nyb2xsYmFyICovXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuYnJvd24sXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuYnJvd24ge1xuICBiYWNrZ3JvdW5kOiAjZjdlNWQyO1xuICBjb2xvcjogI2Y3ZTVkMjtcbn1cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5icm93biA+IHRyID4gdGgsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuYnJvd24gPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmJyb3duID4gdHIgPiB0ZCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5icm93biA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI2E1NjczZjtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5icm93bixcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5icm93biB7XG4gIGJhY2tncm91bmQ6ICNhNTY3M2Y7XG4gIGNvbG9yOiAjYTU2NzNmO1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmJyb3duID4gdHIgPiB0aCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5icm93biA+IHRyID4gdGgsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuYnJvd24gPiB0ciA+IHRkLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmJyb3duID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyW2NsYXNzKj1cImJyb3duIGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGhbY2xhc3MqPVwiYnJvd24gY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0ZFtjbGFzcyo9XCJicm93biBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLnRhYmxlIHRyLmJyb3duOm5vdCgubWFya2VkKSxcbi51aS51aS50YWJsZSB0aC5icm93bjpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGQuYnJvd246bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2Y3ZTVkMjtcbiAgY29sb3I6ICNhNTY3M2Y7XG59XG4udWkudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cImJyb3duIGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwiYnJvd24gY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJicm93biBjb2xvcmVkXCJdID4gdGQsXG4udWkudGFibGUgPiB0aGVhZCA+IHRyLmJyb3duOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ci5icm93bjpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIuYnJvd246bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI2E1NjczZjtcbn1cbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJicm93biBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoW2NsYXNzKj1cImJyb3duIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwiYnJvd24gY29sb3JlZFwiXSxcbi51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5icm93bjpub3QoLm1hcmtlZCksXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGguYnJvd246bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLmJyb3duOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNhNTY3M2Y7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJicm93biBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cImJyb3duIGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwiYnJvd24gY29sb3JlZFwiXSA+IHRkLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGhlYWQgPiB0ci5icm93bjpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIuYnJvd246bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLmJyb3duOm5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJicm93biBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwiYnJvd24gY29sb3JlZFwiXTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cImJyb3duIGNvbG9yZWRcIl0sXG4udWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci5icm93bjpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5icm93bjpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5icm93bjpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZWZlMGNmO1xuICBjb2xvcjogI2E1NjczZjtcbn1cbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cImJyb3duIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZVtjbGFzcyo9XCJicm93biBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwiYnJvd24gY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyLmJyb3duOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLmJyb3duOm5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLmJyb3duOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNiMDYyMGY7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnRhYmxlIHRkW2NsYXNzKj1cImJyb3duIG1hcmtlZFwiXS5sZWZ0LFxuLnVpLnRhYmxlIHRyW2NsYXNzKj1cImJyb3duIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgI2E1NjczZiBpbnNldDtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJicm93biBtYXJrZWRcIl0ucmlnaHQsXG4udWkudGFibGUgdHJbY2xhc3MqPVwiYnJvd24gbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICNhNTY3M2YgaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwiYnJvd24gbWFya2VkXCJdLmxlZnQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiYnJvd24gbWFya2VkXCJdLmxlZnQge1xuICBib3gtc2hhZG93OiAwLjJlbSAwIDAgMCAjZDY3YzFjIGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cImJyb3duIG1hcmtlZFwiXS5yaWdodCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJicm93biBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgI2Q2N2MxYyBpbnNldDtcbn1cbi51aS5ncmV5LnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgIzc2NzY3Njtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LnRhYmxlIHtcbiAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBTYW1lIGNvbG9yIGZvciBiYWNrZ3JvdW5kIGFuZCBjb2xvciB0byBjYW1vdWZsYWdlIHRoZSBzY3JvbGxiYXIgKi9cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5ncmV5LFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmdyZXkge1xuICBiYWNrZ3JvdW5kOiAjZGNkZGRlO1xuICBjb2xvcjogI2RjZGRkZTtcbn1cbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5ncmV5ID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5ncmV5ID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5ncmV5ID4gdHIgPiB0ZCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5ncmV5ID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmdyZXksXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuZ3JleSB7XG4gIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmdyZXkgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmdyZXkgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmdyZXkgPiB0ciA+IHRkLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmdyZXkgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkudWkudWkudGFibGUgdHJbY2xhc3MqPVwiZ3JleSBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRoW2NsYXNzKj1cImdyZXkgY29sb3JlZFwiXSxcbi51aS51aS50YWJsZSB0ZFtjbGFzcyo9XCJncmV5IGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkudGFibGUgdHIuZ3JleTpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGguZ3JleTpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGQuZ3JleTpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjZGNkZGRlO1xuICBjb2xvcjogIzc2NzY3Njtcbn1cbi51aS50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwiZ3JleSBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cImdyZXkgY29sb3JlZFwiXSA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJncmV5IGNvbG9yZWRcIl0gPiB0ZCxcbi51aS50YWJsZSA+IHRoZWFkID4gdHIuZ3JleTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIuZ3JleTpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIuZ3JleTpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cImdyZXkgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aFtjbGFzcyo9XCJncmV5IGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwiZ3JleSBjb2xvcmVkXCJdLFxuLnVpLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLmdyZXk6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoLmdyZXk6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLmdyZXk6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0aGVhZCA+IHRyW2NsYXNzKj1cImdyZXkgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJncmV5IGNvbG9yZWRcIl0gPiB0aCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwiZ3JleSBjb2xvcmVkXCJdID4gdGQsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0aGVhZCA+IHRyLmdyZXk6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLmdyZXk6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLmdyZXk6bm90KC5tYXJrZWQpID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyW2NsYXNzKj1cImdyZXkgY29sb3JlZFwiXTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cImdyZXkgY29sb3JlZFwiXTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cImdyZXkgY29sb3JlZFwiXSxcbi51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyLmdyZXk6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUuZ3JleTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5ncmV5Om5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICNjMmM0YzU7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwiZ3JleSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwiZ3JleSBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwiZ3JleSBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHIuZ3JleTpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5ncmV5Om5vdCgubWFya2VkKTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLmdyZXk6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogI2MyYzRjNTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwiZ3JleSBtYXJrZWRcIl0ubGVmdCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJncmV5IG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgIzc2NzY3NiBpbnNldDtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJncmV5IG1hcmtlZFwiXS5yaWdodCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJncmV5IG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjNzY3Njc2IGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cImdyZXkgbWFya2VkXCJdLmxlZnQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiZ3JleSBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICNkY2RkZGUgaW5zZXQ7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwiZ3JleSBtYXJrZWRcIl0ucmlnaHQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiZ3JleSBtYXJrZWRcIl0ucmlnaHQge1xuICBib3gtc2hhZG93OiAtMC4yZW0gMCAwIDAgI2RjZGRkZSBpbnNldDtcbn1cbi51aS5ibGFjay50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICMxYjFjMWQ7XG59XG4udWkuaW52ZXJ0ZWQuYmxhY2sudGFibGUge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFNhbWUgY29sb3IgZm9yIGJhY2tncm91bmQgYW5kIGNvbG9yIHRvIGNhbW91ZmxhZ2UgdGhlIHNjcm9sbGJhciAqL1xuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmJsYWNrLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmJsYWNrIHtcbiAgYmFja2dyb3VuZDogIzU0NTQ1NDtcbiAgY29sb3I6ICM1NDU0NTQ7XG59XG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuYmxhY2sgPiB0ciA+IHRoLFxuLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290LmJsYWNrID4gdHIgPiB0aCxcbi51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5ibGFjayA+IHRyID4gdGQsXG4udWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuYmxhY2sgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQuYmxhY2ssXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuYmxhY2sge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5ibGFjayA+IHRyID4gdGgsXG4udWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuYmxhY2sgPiB0ciA+IHRoLFxuLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLmJsYWNrID4gdHIgPiB0ZCxcbi51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5ibGFjayA+IHRyID4gdGQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS51aS51aS51aS50YWJsZSB0cltjbGFzcyo9XCJibGFjayBjb2xvcmVkXCJdLFxuLnVpLnVpLnRhYmxlIHRoW2NsYXNzKj1cImJsYWNrIGNvbG9yZWRcIl0sXG4udWkudWkudGFibGUgdGRbY2xhc3MqPVwiYmxhY2sgY29sb3JlZFwiXSxcbi51aS51aS51aS51aS50YWJsZSB0ci5ibGFjazpub3QoLm1hcmtlZCksXG4udWkudWkudGFibGUgdGguYmxhY2s6bm90KC5tYXJrZWQpLFxuLnVpLnVpLnRhYmxlIHRkLmJsYWNrOm5vdCgubWFya2VkKSB7XG4gIGJhY2tncm91bmQ6ICM1NDU0NTQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJibGFjayBjb2xvcmVkXCJdID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cImJsYWNrIGNvbG9yZWRcIl0gPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwiYmxhY2sgY29sb3JlZFwiXSA+IHRkLFxuLnVpLnRhYmxlID4gdGhlYWQgPiB0ci5ibGFjazpub3QoLm1hcmtlZCkgPiB0aCxcbi51aS50YWJsZSA+IHRmb290ID4gdHIuYmxhY2s6bm90KC5tYXJrZWQpID4gdGgsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyLmJsYWNrOm5vdCgubWFya2VkKSA+IHRkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiYmxhY2sgY29sb3JlZFwiXSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0aFtjbGFzcyo9XCJibGFjayBjb2xvcmVkXCJdLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cImJsYWNrIGNvbG9yZWRcIl0sXG4udWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIuYmxhY2s6bm90KC5tYXJrZWQpLFxuLnVpLnVpLmludmVydGVkLnRhYmxlIHRoLmJsYWNrOm5vdCgubWFya2VkKSxcbi51aS51aS5pbnZlcnRlZC50YWJsZSB0ZC5ibGFjazpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwiYmxhY2sgY29sb3JlZFwiXSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJibGFjayBjb2xvcmVkXCJdID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cImJsYWNrIGNvbG9yZWRcIl0gPiB0ZCxcbi51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHIuYmxhY2s6bm90KC5tYXJrZWQpID4gdGgsXG4udWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyLmJsYWNrOm5vdCgubWFya2VkKSA+IHRoLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ci5ibGFjazpub3QoLm1hcmtlZCkgPiB0ZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwiYmxhY2sgY29sb3JlZFwiXTpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cImJsYWNrIGNvbG9yZWRcIl06aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJibGFjayBjb2xvcmVkXCJdLFxuLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHIuYmxhY2s6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUuYmxhY2s6bm90KC5tYXJrZWQpOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQuYmxhY2s6bm90KC5tYXJrZWQpIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJibGFjayBjb2xvcmVkXCJdOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLnNlbGVjdGFibGVbY2xhc3MqPVwiYmxhY2sgY29sb3JlZFwiXTpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkW2NsYXNzKj1cImJsYWNrIGNvbG9yZWRcIl0sXG4udWkudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0ci5ibGFjazpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5ibGFjazpub3QoLm1hcmtlZCk6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5ibGFjazpub3QoLm1hcmtlZCkge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi51aS50YWJsZSB0ZFtjbGFzcyo9XCJibGFjayBtYXJrZWRcIl0ubGVmdCxcbi51aS50YWJsZSB0cltjbGFzcyo9XCJibGFjayBtYXJrZWRcIl0ubGVmdCB7XG4gIGJveC1zaGFkb3c6IDAuMmVtIDAgMCAwICMxYjFjMWQgaW5zZXQ7XG59XG4udWkudGFibGUgdGRbY2xhc3MqPVwiYmxhY2sgbWFya2VkXCJdLnJpZ2h0LFxuLnVpLnRhYmxlIHRyW2NsYXNzKj1cImJsYWNrIG1hcmtlZFwiXS5yaWdodCB7XG4gIGJveC1zaGFkb3c6IC0wLjJlbSAwIDAgMCAjMWIxYzFkIGluc2V0O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cImJsYWNrIG1hcmtlZFwiXS5sZWZ0LFxuLnVpLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cImJsYWNrIG1hcmtlZFwiXS5sZWZ0IHtcbiAgYm94LXNoYWRvdzogMC4yZW0gMCAwIDAgIzU0NTQ1NCBpbnNldDtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSB0ZFtjbGFzcyo9XCJibGFjayBtYXJrZWRcIl0ucmlnaHQsXG4udWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiYmxhY2sgbWFya2VkXCJdLnJpZ2h0IHtcbiAgYm94LXNoYWRvdzogLTAuMmVtIDAgMCAwICM1NDU0NTQgaW5zZXQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgQ29sdW1uIENvdW50XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBHcmlkIEJhc2VkICovXG4udWkub25lLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLnR3by5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogNTAlO1xufVxuLnVpLnRocmVlLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG59XG4udWkuZm91ci5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogMjUlO1xufVxuLnVpLmZpdmUuY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IDIwJTtcbn1cbi51aS5zaXguY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbn1cbi51aS5zZXZlbi5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogMTQuMjg1NzE0MjklO1xufVxuLnVpLmVpZ2h0LmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiAxMi41JTtcbn1cbi51aS5uaW5lLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiAxMS4xMTExMTExMSU7XG59XG4udWkudGVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiAxMCU7XG59XG4udWkuZWxldmVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiA5LjA5MDkwOTA5JTtcbn1cbi51aS50d2VsdmUuY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IDguMzMzMzMzMzMlO1xufVxuLnVpLnRoaXJ0ZWVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiA3LjY5MjMwNzY5JTtcbn1cbi51aS5mb3VydGVlbi5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogNy4xNDI4NTcxNCU7XG59XG4udWkuZmlmdGVlbi5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogNi42NjY2NjY2NyU7XG59XG4udWkuc2l4dGVlbi5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogNi4yNSU7XG59XG4vKiBDb2x1bW4gV2lkdGggKi9cbi51aS50YWJsZSB0aC5vbmUud2lkZSxcbi51aS50YWJsZSB0ZC5vbmUud2lkZSB7XG4gIHdpZHRoOiA2LjI1JTtcbn1cbi51aS50YWJsZSB0aC50d28ud2lkZSxcbi51aS50YWJsZSB0ZC50d28ud2lkZSB7XG4gIHdpZHRoOiAxMi41JTtcbn1cbi51aS50YWJsZSB0aC50aHJlZS53aWRlLFxuLnVpLnRhYmxlIHRkLnRocmVlLndpZGUge1xuICB3aWR0aDogMTguNzUlO1xufVxuLnVpLnRhYmxlIHRoLmZvdXIud2lkZSxcbi51aS50YWJsZSB0ZC5mb3VyLndpZGUge1xuICB3aWR0aDogMjUlO1xufVxuLnVpLnRhYmxlIHRoLmZpdmUud2lkZSxcbi51aS50YWJsZSB0ZC5maXZlLndpZGUge1xuICB3aWR0aDogMzEuMjUlO1xufVxuLnVpLnRhYmxlIHRoLnNpeC53aWRlLFxuLnVpLnRhYmxlIHRkLnNpeC53aWRlIHtcbiAgd2lkdGg6IDM3LjUlO1xufVxuLnVpLnRhYmxlIHRoLnNldmVuLndpZGUsXG4udWkudGFibGUgdGQuc2V2ZW4ud2lkZSB7XG4gIHdpZHRoOiA0My43NSU7XG59XG4udWkudGFibGUgdGguZWlnaHQud2lkZSxcbi51aS50YWJsZSB0ZC5laWdodC53aWRlIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi51aS50YWJsZSB0aC5uaW5lLndpZGUsXG4udWkudGFibGUgdGQubmluZS53aWRlIHtcbiAgd2lkdGg6IDU2LjI1JTtcbn1cbi51aS50YWJsZSB0aC50ZW4ud2lkZSxcbi51aS50YWJsZSB0ZC50ZW4ud2lkZSB7XG4gIHdpZHRoOiA2Mi41JTtcbn1cbi51aS50YWJsZSB0aC5lbGV2ZW4ud2lkZSxcbi51aS50YWJsZSB0ZC5lbGV2ZW4ud2lkZSB7XG4gIHdpZHRoOiA2OC43NSU7XG59XG4udWkudGFibGUgdGgudHdlbHZlLndpZGUsXG4udWkudGFibGUgdGQudHdlbHZlLndpZGUge1xuICB3aWR0aDogNzUlO1xufVxuLnVpLnRhYmxlIHRoLnRoaXJ0ZWVuLndpZGUsXG4udWkudGFibGUgdGQudGhpcnRlZW4ud2lkZSB7XG4gIHdpZHRoOiA4MS4yNSU7XG59XG4udWkudGFibGUgdGguZm91cnRlZW4ud2lkZSxcbi51aS50YWJsZSB0ZC5mb3VydGVlbi53aWRlIHtcbiAgd2lkdGg6IDg3LjUlO1xufVxuLnVpLnRhYmxlIHRoLmZpZnRlZW4ud2lkZSxcbi51aS50YWJsZSB0ZC5maWZ0ZWVuLndpZGUge1xuICB3aWR0aDogOTMuNzUlO1xufVxuLnVpLnRhYmxlIHRoLnNpeHRlZW4ud2lkZSxcbi51aS50YWJsZSB0ZC5zaXh0ZWVuLndpZGUge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNvcnRhYmxlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc29ydGFibGUudGFibGUgPiB0aGVhZCA+IHRyID4gdGgge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmNlbGxlZC5zb3J0YWJsZS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aC5zb3J0ZWQsXG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkOmhvdmVyIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4udWkuc29ydGFibGUudGFibGUgPiB0aGVhZCA+IHRyID4gdGg6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMWVtO1xuICB3aWR0aDogYXV0bztcbiAgb3BhY2l0eTogMC44O1xuICBtYXJnaW46IDAgMCAwIDAuNWVtO1xuICBmb250LWZhbWlseTogXCJJY29uc1wiO1xufVxuLnVpLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoLmFzY2VuZGluZzo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZjBkOFwiO1xufVxuLnVpLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoLmRlc2NlbmRpbmc6OmFmdGVyIHtcbiAgY29udGVudDogXCJcXGYwZDdcIjtcbn1cbi8qIEhvdmVyICovXG4udWkuc29ydGFibGUudGFibGUgdGguZGlzYWJsZWQ6aG92ZXIge1xuICBjdXJzb3I6IGF1dG87XG4gIGNvbG9yOiByZ2JhKDQwLCA0MCwgNDAsIDAuMyk7XG59XG4udWkuc29ydGFibGUudGFibGUgPiB0aGVhZCA+IHRyID4gdGg6aG92ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLnVpLnNvcnRhYmxlLnRhYmxlOm5vdCguYmFzaWMpID4gdGhlYWQgPiB0ciA+IHRoOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbi8qIFNvcnRlZCAqL1xuLnVpLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoLnNvcnRlZCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLnVpLnNvcnRhYmxlLnRhYmxlOm5vdCguYmFzaWMpIHRoZWFkIHRoLnNvcnRlZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi8qIFNvcnRlZCBIb3ZlciAqL1xuLnVpLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoLnNvcnRlZDpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLnVpLnNvcnRhYmxlLnRhYmxlOm5vdCguYmFzaWMpIHRoZWFkIHRoLnNvcnRlZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoLnNvcnRlZCB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLmludmVydGVkLnNvcnRhYmxlLnRhYmxlOm5vdCguYmFzaWMpIHRoZWFkIHRoLnNvcnRlZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcbn1cbi51aS5pbnZlcnRlZC5zb3J0YWJsZS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpob3ZlciB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLmludmVydGVkLnNvcnRhYmxlLnRhYmxlOm5vdCguYmFzaWMpID4gdGhlYWQgPiB0ciA+IHRoOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC4wNSkpO1xufVxuLnVpLmludmVydGVkLnNvcnRhYmxlLnRhYmxlOm5vdCguYmFzaWMpID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRleHQgQ29sb3IgKi9cbi51aS5pbnZlcnRlZC50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbi51aS51aS5pbnZlcnRlZC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbi51aS51aS5pbnZlcnRlZC50YWJsZSA+IHRyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbi51aS51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLFxuLnVpLmludmVydGVkLnRhYmxlID4gdHIgPiB0ZCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyLmRpc2FibGVkIHRkLFxuLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLmRpc2FibGVkLFxuLnVpLmludmVydGVkLnRhYmxlIHRyLmRpc2FibGVkOmhvdmVyIHRkLFxuLnVpLmludmVydGVkLnRhYmxlIHRyOmhvdmVyIHRkLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDIyNSwgMjI1LCAyMjUsIDAuMyk7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuZGlzYWJsZWQ6bm90KFtjbGFzcz1cImRpc2FibGVkXCJdKSxcbi51aS5pbnZlcnRlZC50YWJsZSB0ci5kaXNhYmxlZDpub3QoW2NsYXNzPVwiZGlzYWJsZWRcIl0pIHRkLFxuLnVpLmludmVydGVkLnRhYmxlIHRyLmRpc2FibGVkIHRkW2NsYXNzXTpub3QoLmRpc2FibGVkKSxcbi51aS5pbnZlcnRlZC50YWJsZSB0cjpob3ZlciB0ZC5kaXNhYmxlZDpub3QoW2NsYXNzPVwiZGlzYWJsZWRcIl0pIHtcbiAgY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMC4zKTtcbn1cbi8qIERlZmluaXRpb24gKi9cbi51aS5pbnZlcnRlZC5kZWZpbml0aW9uLnRhYmxlID4gdGZvb3Q6bm90KC5mdWxsLXdpZHRoKSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4udWkuaW52ZXJ0ZWQuZGVmaW5pdGlvbi50YWJsZSA+IHRoZWFkOm5vdCguZnVsbC13aWR0aCkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5kZWZpbml0aW9uLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuLnVpLmludmVydGVkLmRlZmluaXRpb24udGFibGUgPiB0Zm9vdCA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4udWkuaW52ZXJ0ZWQuZGVmaW5pdGlvbi50YWJsZSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sbGFwc2luZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNvbGxhcHNpbmcudGFibGUge1xuICB3aWR0aDogYXV0bztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgQmFzaWNcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5iYXNpYy50YWJsZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmJhc2ljLnRhYmxlID4gdGhlYWQsXG4udWkuYmFzaWMudGFibGUgPiB0Zm9vdCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYmFzaWMudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4udWkuYmFzaWMudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4udWkuYmFzaWMudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsXG4udWkuYmFzaWMudGFibGUgPiB0ciA+IHRoIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuLnVpLmJhc2ljLnRhYmxlID4gdGJvZHkgPiB0ciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkuYmFzaWMudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4udWkuYmFzaWMudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQsXG4udWkuYmFzaWMudGFibGUgPiB0ciA+IHRkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4udWkuYmFzaWMuc3RyaXBlZC50YWJsZSA+IHRib2R5ID4gdHI6bnRoLWNoaWxkKDJuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG4vKiBWZXJ5IEJhc2ljICovXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZSB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgPiB0ciA+IHRoLFxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGU6bm90KC5zb3J0YWJsZSk6bm90KC5zdHJpcGVkKSA+IHRoZWFkID4gdHIgPiB0aCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgPiB0Ym9keSA+IHRyID4gdGgsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpID4gdGZvb3QgPiB0ciA+IHRoLFxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGU6bm90KC5zb3J0YWJsZSk6bm90KC5zdHJpcGVkKSA+IHRyID4gdGQsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpID4gdGJvZHkgPiB0ciA+IHRkIHtcbiAgcGFkZGluZzogXCJcIjtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGU6bm90KC5zb3J0YWJsZSk6bm90KC5zdHJpcGVkKSA+IHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpID4gdGZvb3QgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGU6bm90KC5zb3J0YWJsZSk6bm90KC5zdHJpcGVkKSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGU6bm90KC5zb3J0YWJsZSk6bm90KC5zdHJpcGVkKSA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpID4gdGhlYWQgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpID4gdGJvZHkgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpID4gdGZvb3QgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpID4gdHIgPiB0ZDpsYXN0LWNoaWxkLFxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGU6bm90KC5zb3J0YWJsZSk6bm90KC5zdHJpcGVkKSA+IHRib2R5ID4gdHIgPiB0ZDpsYXN0LWNoaWxkLFxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGU6bm90KC5zb3J0YWJsZSk6bm90KC5zdHJpcGVkKSA+IHRmb290ID4gdHIgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBDZWxsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jZWxsZWQudGFibGUgPiB0ciA+IHRoLFxuLnVpLmNlbGxlZC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbi51aS5jZWxsZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4udWkuY2VsbGVkLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLFxuLnVpLmNlbGxlZC50YWJsZSA+IHRyID4gdGQsXG4udWkuY2VsbGVkLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuLnVpLmNlbGxlZC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLmludmVydGVkLmNlbGxlZC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCxcbi51aS5pbnZlcnRlZC5jZWxsZWQudGFibGUgPiB0ciA+IHRkIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4udWkuY2VsbGVkLnRhYmxlID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbi51aS5jZWxsZWQudGFibGUgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4udWkuY2VsbGVkLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuLnVpLmNlbGxlZC50YWJsZSA+IHRmb290ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbi51aS5jZWxsZWQudGFibGUgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuLnVpLmNlbGxlZC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbi51aS5jZWxsZWQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBQYWRkZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5wYWRkZWQudGFibGUgPiB0ciA+IHRoLFxuLnVpLnBhZGRlZC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbi51aS5wYWRkZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4udWkucGFkZGVkLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoIHtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFlbTtcbn1cbi51aS5wYWRkZWQudGFibGUgPiB0ciA+IHRoLFxuLnVpLnBhZGRlZC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbi51aS5wYWRkZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4udWkucGFkZGVkLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLFxuLnVpLnBhZGRlZC50YWJsZSA+IHRyID4gdGQsXG4udWkucGFkZGVkLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuLnVpLnBhZGRlZC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gIHBhZGRpbmc6IDFlbSAxZW07XG59XG4vKiBWZXJ5ICovXG4udWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udGFibGUgPiB0ciA+IHRoLFxuLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcbiAgcGFkZGluZy1yaWdodDogMS41ZW07XG59XG4udWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udGFibGUgPiB0ciA+IHRkLFxuLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgcGFkZGluZzogMS41ZW0gMS41ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQ29tcGFjdFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNvbXBhY3QudGFibGUgPiB0ciA+IHRoLFxuLnVpLmNvbXBhY3QudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4udWkuY29tcGFjdC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbi51aS5jb21wYWN0LnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjdlbTtcbiAgcGFkZGluZy1yaWdodDogMC43ZW07XG59XG4udWkuY29tcGFjdC50YWJsZSA+IHRyID4gdGQsXG4udWkuY29tcGFjdC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCxcbi51aS5jb21wYWN0LnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgcGFkZGluZzogMC41ZW0gMC43ZW07XG59XG4vKiBWZXJ5ICovXG4udWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnRhYmxlID4gdHIgPiB0aCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0udGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4udWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS50YWJsZSA+IHRmb290ID4gdHIgPiB0aCB7XG4gIHBhZGRpbmctbGVmdDogMC42ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNmVtO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS50YWJsZSA+IHRyID4gdGQsXG4udWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gIHBhZGRpbmc6IDAuNGVtIDAuNmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFN0dWNrXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc3R1Y2sudGFibGU6bm90KC5pbnZlcnRlZCkge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuLnVpLnN0dWNrLnRhYmxlOm5vdCguaW52ZXJ0ZWQpID4gdGhlYWQgPiB0ciB7XG4gIGJhY2tncm91bmQ6ICNmOWZhZmI7XG59XG4udWkuc3R1Y2sudGFibGU6bm90KC5pbnZlcnRlZCkgPiB0Ym9keSA+IHRyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cbi51aS5zdHVjay50YWJsZTpub3QoLmludmVydGVkKSA+IHRmb290ID4gdHIge1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xufVxuLnVpLnN0dWNrLnRhYmxlOm5vdCguaW52ZXJ0ZWQpLmJhc2ljID4gdGhlYWQgPiB0cixcbi51aS5zdHVjay50YWJsZTpub3QoLmludmVydGVkKS5iYXNpYyA+IHRmb290ID4gdHIge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnN0dWNrLnRhYmxlID4gdGhlYWQgPiB0ciB7XG4gIGJhY2tncm91bmQ6ICMyNTI1MjU7XG59XG4udWkuaW52ZXJ0ZWQuc3R1Y2sudGFibGUgPiB0Ym9keSA+IHRyIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbn1cbi51aS5pbnZlcnRlZC5zdHVjay50YWJsZSA+IHRmb290ID4gdHIge1xuICBiYWNrZ3JvdW5kOiAjMjUyNTI1O1xufVxuLnVpLmludmVydGVkLnN0dWNrLnRhYmxlLmJhc2ljID4gdGhlYWQgPiB0cixcbi51aS5pbnZlcnRlZC5zdHVjay50YWJsZS5iYXNpYyA+IHRmb290ID4gdHIge1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xufVxuLnVpLmhlYWQuc3R1Y2sudGFibGUgPiB0aGVhZCxcbi51aS5mb290LnN0dWNrLnRhYmxlID4gdGZvb3Qge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB6LWluZGV4OiA4MDA7XG59XG4udWkuaGVhZC5zdHVjay50YWJsZSB7XG4gIGJvcmRlci10b3A6IDA7XG59XG4udWkuaGVhZC5zdHVjay50YWJsZSA+IHRoZWFkIHtcbiAgdG9wOiAwO1xuICBib3R0b206IGF1dG87XG59XG4udWkuaGVhZC5zdHVjay50YWJsZSA+IHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkuaGVhZC5zdHVjay50YWJsZS5pbnZlcnRlZCA+IHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4udWkuZm9vdC5zdHVjay50YWJsZSB7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG4udWkuZm9vdC5zdHVjay50YWJsZSA+IHRmb290IHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG59XG4udWkuZm9vdC5zdHVjay50YWJsZSA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRkLFxuLnVpLmZvb3Quc3R1Y2sudGFibGUgPiB0Zm9vdCA+IHRyOmxhc3QtY2hpbGQgPiB0aCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkuZm9vdC5zdHVjay50YWJsZS5pbnZlcnRlZCA+IHRmb290ID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCxcbi51aS5mb290LnN0dWNrLnRhYmxlLmludmVydGVkID4gdGZvb3QgPiB0cjpmaXJzdC1jaGlsZCA+IHRoIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi51aS5maXJzdC5zdHVjay50YWJsZSB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuLnVpLmZpcnN0LnN0dWNrLnRhYmxlIHRoOmZpcnN0LWNoaWxkLFxuLnVpLmZpcnN0LnN0dWNrLnRhYmxlIHRkOmZpcnN0LWNoaWxkIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG59XG4udWkuZmlyc3Quc3R1Y2sudGFibGUuaW52ZXJ0ZWQgdGg6Zmlyc3QtY2hpbGQsXG4udWkuZmlyc3Quc3R1Y2sudGFibGUuaW52ZXJ0ZWQgdGQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi51aS5sYXN0LnN0dWNrLnRhYmxlIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLnVpLmxhc3Quc3R1Y2sudGFibGUgdGg6bGFzdC1jaGlsZCxcbi51aS5sYXN0LnN0dWNrLnRhYmxlIHRkOmxhc3QtY2hpbGQge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICByaWdodDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xufVxuLnVpLmxhc3Quc3R1Y2sudGFibGUuaW52ZXJ0ZWQgdGg6bGFzdC1jaGlsZCxcbi51aS5sYXN0LnN0dWNrLnRhYmxlLmludmVydGVkIHRkOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4udWkuY2VsbGVkLmZpcnN0LnN0dWNrLnRhYmxlIHRoOmZpcnN0LWNoaWxkLFxuLnVpLmNlbGxlZC5maXJzdC5zdHVjay50YWJsZSB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS5jZWxsZWQubGFzdC5zdHVjay50YWJsZSB0aDpsYXN0LWNoaWxkLFxuLnVpLmNlbGxlZC5sYXN0LnN0dWNrLnRhYmxlIHRkOmxhc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS5pbnZlcnRlZC5jZWxsZWQuZmlyc3Quc3R1Y2sudGFibGUgdGg6Zmlyc3QtY2hpbGQsXG4udWkuaW52ZXJ0ZWQuY2VsbGVkLmZpcnN0LnN0dWNrLnRhYmxlIHRkOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLnVpLmludmVydGVkLmNlbGxlZC5sYXN0LnN0dWNrLnRhYmxlIHRoOmxhc3QtY2hpbGQsXG4udWkuaW52ZXJ0ZWQuY2VsbGVkLmxhc3Quc3R1Y2sudGFibGUgdGQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFN0YW5kYXJkICovXG4udWkudGFibGUge1xuICBmb250LXNpemU6IDFlbTtcbn1cbi51aS5taW5pLnRhYmxlIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLnRpbnkudGFibGUge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkuc21hbGwudGFibGUge1xuICBmb250LXNpemU6IDAuOWVtO1xufVxuLnVpLmxhcmdlLnRhYmxlIHtcbiAgZm9udC1zaXplOiAxLjFlbTtcbn1cbi51aS5iaWcudGFibGUge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG4udWkuaHVnZS50YWJsZSB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLnRhYmxlIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVmFyaWF0aW9ucyAqL1xuLnVpLnRhYmxlIC5maXhlZCB7XG4gIG1pbi13aWR0aDogMTJlbTtcbn1cbi8qIFZpZXdzICovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBBZFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxMyBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIEFkdmVydGlzZW1lbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgQWR2ZXJ0aXNlbWVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5hZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDFlbSAwO1xufVxuLnVpLmFkOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwO1xufVxuLnVpLmFkOmxhc3QtY2hpbGQge1xuICBtYXJnaW46IDA7XG59XG4udWkuYWQgaWZyYW1lIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb21tb25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTGVhZGVyYm9hcmQgKi9cbi51aS5sZWFkZXJib2FyZC5hZCB7XG4gIHdpZHRoOiA3MjhweDtcbiAgaGVpZ2h0OiA5MHB4O1xufVxuLyogTWVkaXVtIFJlY3RhbmdsZSAqL1xuLnVpW2NsYXNzKj1cIm1lZGl1bSByZWN0YW5nbGVcIl0uYWQge1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogMjUwcHg7XG59XG4vKiBMYXJnZSBSZWN0YW5nbGUgKi9cbi51aVtjbGFzcyo9XCJsYXJnZSByZWN0YW5nbGVcIl0uYWQge1xuICB3aWR0aDogMzM2cHg7XG4gIGhlaWdodDogMjgwcHg7XG59XG4vKiBIYWxmIFBhZ2UgKi9cbi51aVtjbGFzcyo9XCJoYWxmIHBhZ2VcIl0uYWQge1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogNjAwcHg7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU3F1YXJlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTcXVhcmUgKi9cbi51aS5zcXVhcmUuYWQge1xuICB3aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMjUwcHg7XG59XG4vKiBTbWFsbCBTcXVhcmUgKi9cbi51aVtjbGFzcyo9XCJzbWFsbCBzcXVhcmVcIl0uYWQge1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogMjAwcHg7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBSZWN0YW5nbGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNtYWxsIFJlY3RhbmdsZSAqL1xuLnVpW2NsYXNzKj1cInNtYWxsIHJlY3RhbmdsZVwiXS5hZCB7XG4gIHdpZHRoOiAxODBweDtcbiAgaGVpZ2h0OiAxNTBweDtcbn1cbi8qIFZlcnRpY2FsIFJlY3RhbmdsZSAqL1xuLnVpW2NsYXNzKj1cInZlcnRpY2FsIHJlY3RhbmdsZVwiXS5hZCB7XG4gIHdpZHRoOiAyNDBweDtcbiAgaGVpZ2h0OiA0MDBweDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBCdXR0b25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5idXR0b24uYWQge1xuICB3aWR0aDogMTIwcHg7XG4gIGhlaWdodDogOTBweDtcbn1cbi51aVtjbGFzcyo9XCJzcXVhcmUgYnV0dG9uXCJdLmFkIHtcbiAgd2lkdGg6IDEyNXB4O1xuICBoZWlnaHQ6IDEyNXB4O1xufVxuLnVpW2NsYXNzKj1cInNtYWxsIGJ1dHRvblwiXS5hZCB7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTa3lzY3JhcGVyc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2t5c2NyYXBlciAqL1xuLnVpLnNreXNjcmFwZXIuYWQge1xuICB3aWR0aDogMTIwcHg7XG4gIGhlaWdodDogNjAwcHg7XG59XG4vKiBXaWRlIFNreXNjcmFwZXIgKi9cbi51aVtjbGFzcyo9XCJ3aWRlIHNreXNjcmFwZXJcIl0uYWQge1xuICB3aWR0aDogMTYwcHg7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQmFubmVyc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQmFubmVyICovXG4udWkuYmFubmVyLmFkIHtcbiAgd2lkdGg6IDQ2OHB4O1xuICBoZWlnaHQ6IDYwcHg7XG59XG4vKiBWZXJ0aWNhbCBCYW5uZXIgKi9cbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbCBiYW5uZXJcIl0uYWQge1xuICB3aWR0aDogMTIwcHg7XG4gIGhlaWdodDogMjQwcHg7XG59XG4vKiBUb3AgQmFubmVyICovXG4udWlbY2xhc3MqPVwidG9wIGJhbm5lclwiXS5hZCB7XG4gIHdpZHRoOiA5MzBweDtcbiAgaGVpZ2h0OiAxODBweDtcbn1cbi8qIEhhbGYgQmFubmVyICovXG4udWlbY2xhc3MqPVwiaGFsZiBiYW5uZXJcIl0uYWQge1xuICB3aWR0aDogMjM0cHg7XG4gIGhlaWdodDogNjBweDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgQm9hcmRzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExlYWRlcmJvYXJkICovXG4udWlbY2xhc3MqPVwibGFyZ2UgbGVhZGVyYm9hcmRcIl0uYWQge1xuICB3aWR0aDogOTcwcHg7XG4gIGhlaWdodDogOTBweDtcbn1cbi8qIEJpbGxib2FyZCAqL1xuLnVpLmJpbGxib2FyZC5hZCB7XG4gIHdpZHRoOiA5NzBweDtcbiAgaGVpZ2h0OiAyNTBweDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhbm9yYW1hXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQYW5vcmFtYSAqL1xuLnVpLnBhbm9yYW1hLmFkIHtcbiAgd2lkdGg6IDk4MHB4O1xuICBoZWlnaHQ6IDEyMHB4O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIE5ldGJvYXJkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBOZXRib2FyZCAqL1xuLnVpLm5ldGJvYXJkLmFkIHtcbiAgd2lkdGg6IDU4MHB4O1xuICBoZWlnaHQ6IDQwMHB4O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIE1vYmlsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTGFyZ2UgTW9iaWxlIEJhbm5lciAqL1xuLnVpW2NsYXNzKj1cImxhcmdlIG1vYmlsZSBiYW5uZXJcIl0uYWQge1xuICB3aWR0aDogMzIwcHg7XG4gIGhlaWdodDogMTAwcHg7XG59XG4vKiBNb2JpbGUgTGVhZGVyYm9hcmQgKi9cbi51aVtjbGFzcyo9XCJtb2JpbGUgbGVhZGVyYm9hcmRcIl0uYWQge1xuICB3aWR0aDogMzIwcHg7XG4gIGhlaWdodDogNTBweDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgICAgIFR5cGVzXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIE1vYmlsZSBTaXplcyAqL1xuLnVpLm1vYmlsZS5hZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS5tb2JpbGUuYWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmNlbnRlcmVkLmFkIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi51aS50ZXN0LmFkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjNTQ1NDU0O1xufVxuLnVpLnRlc3QuYWQ6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgY29udGVudDogXCJBZFwiO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLm1vYmlsZS50ZXN0LmFkOjphZnRlciB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xufVxuLnVpLnRlc3QuYWRbZGF0YS10ZXh0XTo6YWZ0ZXIge1xuICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIENhcmRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgQ2FyZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFZpZXdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTaGFkb3cgKi9cbi8qIENhcmQgKi9cbi8qIENhcmQgR3JvdXAgKi9cbi8qIENvbnNlY3V0aXZlIENhcmRzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEltYWdlICovXG4vKiBDb250ZW50ICovXG4vKiBIZWFkZXIgKi9cbi8qIE1ldGFkYXRhICovXG4vKiBJY29ucyAqL1xuLyogTGlua3MgKi9cbi8qIERlc2NyaXB0aW9uICovXG4vKiBDb250ZW50IEltYWdlICovXG4vKiBBdmF0YXIgSW1hZ2UgKi9cbi8qIFBhcmFncmFwaCAqL1xuLyogRGltbWVyICovXG4vKiBBZGRpdGlvbmFsIENvbnRlbnQgKi9cbi8qIEV4dHJhIExpbmtzICovXG4vKiBCdXR0b25zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogTG9hZGluZyBEaW1tZXIgKi9cbi8qIExvYWRpbmcgU3Bpbm5lciAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExpbmsgKi9cbi8qIEhvcml6b250YWwgKi9cbi8qIFJhaXNlZCAqL1xuLyogQmFzaWMgUmFpc2VkICovXG4vKiBDYXJkIENvdW50ICovXG4vKiBTdGFja2FibGUgKi9cbi8qIFNpemVzICovXG4vKiBDb2xvcmVkICovXG4vKiBJbnZlcnRlZCAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIENhcmRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMjkwcHg7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgI2Q0ZDRkNSwgMCAwIDAgMXB4ICNkNGQ0ZDU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xuICB6LWluZGV4OiBcIlwiO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG4udWkuY2FyZCB7XG4gIG1hcmdpbjogMWVtIDA7XG59XG4udWkuY2FyZHMgPiAuY2FyZCBhLFxuLnVpLmNhcmQgYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi51aS5jYXJkOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5jYXJkOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIENhcmRzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jYXJkcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogLTAuODc1ZW0gLTAuNWVtO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4udWkuY2FyZHMgPiAuY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMC44NzVlbSAwLjVlbTtcbiAgZmxvYXQ6IG5vbmU7XG59XG4vKiBDbGVhcmluZyAqL1xuLnVpLmNhcmRzOjphZnRlcixcbi51aS5jYXJkOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIiBcIjtcbiAgaGVpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogQ29uc2VjdXRpdmUgQ2FyZCBHcm91cHMgUHJlc2VydmUgUm93IFNwYWNpbmcgKi9cbi51aS5jYXJkcyB+IC51aS5jYXJkcyB7XG4gIG1hcmdpbi10b3A6IDAuODc1ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICBSb3VuZGVkIEVkZ2VzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jYXJkcyA+IC5jYXJkID4gOmZpcnN0LWNoaWxkLFxuLnVpLmNhcmQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMCAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gOmxhc3QtY2hpbGQsXG4udWkuY2FyZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiA6b25seS1jaGlsZCxcbi51aS5jYXJkID4gOm9ubHktY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSW1hZ2VzXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5pbWFnZSxcbi51aS5jYXJkID4gLmltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMCAwIGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5pbWFnZSA+IGltZyxcbi51aS5jYXJkID4gLmltYWdlID4gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5pbWFnZTpub3QoLnVpKSA+IGltZyxcbi51aS5jYXJkID4gLmltYWdlOm5vdCgudWkpID4gaW1nIHtcbiAgYm9yZGVyOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50LFxuLnVpLmNhcmQgPiAuY29udGVudCB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDFlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50OjphZnRlcixcbi51aS5jYXJkID4gLmNvbnRlbnQ6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBoZWlnaHQ6IDA7XG4gIGNsZWFyOiBib3RoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gLmhlYWRlcixcbi51aS5jYXJkID4gLmNvbnRlbnQgPiAuaGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogXCJcIjtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuLyogRGVmYXVsdCBIZWFkZXIgU2l6ZSAqL1xuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IC5oZWFkZXI6bm90KC51aSksXG4udWkuY2FyZCA+IC5jb250ZW50ID4gLmhlYWRlcjpub3QoLnVpKSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEuMjg1NzE0MjllbTtcbiAgbWFyZ2luLXRvcDogLTAuMjE0MjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjg1NzE0MjllbTtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiAubWV0YSArIC5kZXNjcmlwdGlvbixcbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiAuaGVhZGVyICsgLmRlc2NyaXB0aW9uLFxuLnVpLmNhcmQgPiAuY29udGVudCA+IC5tZXRhICsgLmRlc2NyaXB0aW9uLFxuLnVpLmNhcmQgPiAuY29udGVudCA+IC5oZWFkZXIgKyAuZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS1cbiAgICAgRmxvYXRlZCBDb250ZW50XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jYXJkcyA+IC5jYXJkIFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0sXG4udWkuY2FyZCBbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4udWkuY2FyZHMgPiAuY2FyZCBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSxcbi51aS5jYXJkIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEFsaWduZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jYXJkcyA+IC5jYXJkIFtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0sXG4udWkuY2FyZCBbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi51aS5jYXJkcyA+IC5jYXJkIFtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXSxcbi51aS5jYXJkIFtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aS5jYXJkcyA+IC5jYXJkIFtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLFxuLnVpLmNhcmQgW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0ge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBDb250ZW50IEltYWdlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2FyZHMgPiAuY2FyZCAuY29udGVudCBpbWcsXG4udWkuY2FyZCAuY29udGVudCBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiBcIlwiO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgaW1nLmF2YXRhcixcbi51aS5jYXJkcyA+IC5jYXJkIC5hdmF0YXIgaW1nLFxuLnVpLmNhcmQgaW1nLmF2YXRhcixcbi51aS5jYXJkIC5hdmF0YXIgaW1nIHtcbiAgd2lkdGg6IDJlbTtcbiAgaGVpZ2h0OiAyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgRGVzY3JpcHRpb25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiAuZGVzY3JpcHRpb24sXG4udWkuY2FyZCA+IC5jb250ZW50ID4gLmRlc2NyaXB0aW9uIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNjgpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCBwLFxuLnVpLmNhcmQgPiAuY29udGVudCBwIHtcbiAgbWFyZ2luOiAwIDAgMC41ZW07XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IHA6bGFzdC1jaGlsZCxcbi51aS5jYXJkID4gLmNvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgTWV0YVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNhcmRzID4gLmNhcmQgLm1ldGEsXG4udWkuY2FyZCAubWV0YSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgLm1ldGEgKixcbi51aS5jYXJkIC5tZXRhICoge1xuICBtYXJnaW4tcmlnaHQ6IDAuM2VtO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgLm1ldGEgOmxhc3QtY2hpbGQsXG4udWkuY2FyZCAubWV0YSA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi51aS5jYXJkcyA+IC5jYXJkIC5tZXRhIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLFxuLnVpLmNhcmQgLm1ldGEgW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBHZW5lcmljICovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IGE6bm90KC51aSksXG4udWkuY2FyZCA+IC5jb250ZW50IGE6bm90KC51aSkge1xuICBjb2xvcjogXCJcIjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCBhOm5vdCgudWkpOmhvdmVyLFxuLnVpLmNhcmQgPiAuY29udGVudCBhOm5vdCgudWkpOmhvdmVyIHtcbiAgY29sb3I6IFwiXCI7XG59XG4vKiBIZWFkZXIgKi9cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiBhLmhlYWRlcixcbi51aS5jYXJkID4gLmNvbnRlbnQgPiBhLmhlYWRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IGEuaGVhZGVyOmhvdmVyLFxuLnVpLmNhcmQgPiAuY29udGVudCA+IGEuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICMxZTcwYmY7XG59XG4vKiBNZXRhICovXG4udWkuY2FyZHMgPiAuY2FyZCAubWV0YSA+IGE6bm90KC51aSksXG4udWkuY2FyZCAubWV0YSA+IGE6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgLm1ldGEgPiBhOm5vdCgudWkpOmhvdmVyLFxuLnVpLmNhcmQgLm1ldGEgPiBhOm5vdCgudWkpOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQnV0dG9uc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNhcmRzID4gLmNhcmQgPiAuYnV0dG9ucyxcbi51aS5jYXJkID4gLmJ1dHRvbnMsXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5idXR0b24sXG4udWkuY2FyZCA+IC5idXR0b24ge1xuICBtYXJnaW46IDAgLTFweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5idXR0b25zOmxhc3QtY2hpbGQsXG4udWkuY2FyZCA+IC5idXR0b25zOmxhc3QtY2hpbGQsXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5idXR0b246bGFzdC1jaGlsZCxcbi51aS5jYXJkID4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgQmFzaWNcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jYXJkczpub3QoLnJhaXNlZCkgPiAuYmFzaWMuY2FyZDpub3QoLnJhaXNlZCksXG4udWkudWkudWkuYmFzaWMuY2FyZHM6bm90KC5yYWlzZWQpID4gLmNhcmQ6bm90KC5yYWlzZWQpLFxuLnVpLnVpLnVpLmJhc2ljLmNhcmQ6bm90KC5yYWlzZWQpIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5jYXJkczpub3QoLnJhaXNlZCkgPiAuYmFzaWMuY2FyZDpub3QoLnJhaXNlZCkgPiAuYnV0dG9ucyxcbi51aS51aS51aS5iYXNpYy5jYXJkczpub3QoLnJhaXNlZCkgPiAuY2FyZDpub3QoLnJhaXNlZCkgPiAuYnV0dG9ucyxcbi51aS51aS51aS5iYXNpYy5jYXJkOm5vdCgucmFpc2VkKSA+IC5idXR0b25zLFxuLnVpLmNhcmRzOm5vdCgucmFpc2VkKSA+IC5iYXNpYy5jYXJkOm5vdCgucmFpc2VkKSA+IC5idXR0b24sXG4udWkudWkudWkuYmFzaWMuY2FyZHM6bm90KC5yYWlzZWQpID4gLmNhcmQ6bm90KC5yYWlzZWQpID4gLmJ1dHRvbixcbi51aS51aS51aS5iYXNpYy5jYXJkOm5vdCgucmFpc2VkKSA+IC5idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLnVpLnVpLnVpLnVpLmJhc2ljLmNhcmQ6bm90KC5yYWlzZWQpOmhvdmVyLFxuLnVpLnVpLnVpLnVpLnVpLmJhc2ljLmNhcmRzOm5vdCgucmFpc2VkKSAuY2FyZDpub3QoLnJhaXNlZCk6aG92ZXIge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpbW1lclxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2FyZHMgPiAuY2FyZCAuZGltbWVyLFxuLnVpLmNhcmQgLmRpbW1lciB7XG4gIGJhY2tncm91bmQ6IFwiXCI7XG4gIHotaW5kZXg6IDEwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgTGFiZWxzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tU3Rhci0tLS0tICovXG4vKiBJY29uICovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IC5zdGFyLmljb24sXG4udWkuY2FyZCA+IC5jb250ZW50IC5zdGFyLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDAuNzU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgLnN0YXIuaWNvbjpob3Zlcixcbi51aS5jYXJkID4gLmNvbnRlbnQgLnN0YXIuaWNvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiAjZmZiNzBhO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCAuYWN0aXZlLnN0YXIuaWNvbixcbi51aS5jYXJkID4gLmNvbnRlbnQgLmFjdGl2ZS5zdGFyLmljb24ge1xuICBjb2xvcjogI2ZmZTYyMztcbn1cbi8qIC0tLS0tTGlrZS0tLS0tICovXG4vKiBJY29uICovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IC5saWtlLmljb24sXG4udWkuY2FyZCA+IC5jb250ZW50IC5saWtlLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDAuNzU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgLmxpa2UuaWNvbjpob3Zlcixcbi51aS5jYXJkID4gLmNvbnRlbnQgLmxpa2UuaWNvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiAjZmYyNzMzO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCAuYWN0aXZlLmxpa2UuaWNvbixcbi51aS5jYXJkID4gLmNvbnRlbnQgLmFjdGl2ZS5saWtlLmljb24ge1xuICBjb2xvcjogI2ZmMjczMztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEV4dHJhIENvbnRlbnRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNhcmRzID4gLmNhcmQgPiAuZXh0cmEsXG4udWkuY2FyZCA+IC5leHRyYSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICBmbGV4LWdyb3c6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuZXh0cmEgYTpub3QoLnVpKSxcbi51aS5jYXJkID4gLmV4dHJhIGE6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuZXh0cmEgYTpub3QoLnVpKTpob3Zlcixcbi51aS5jYXJkID4gLmV4dHJhIGE6bm90KC51aSk6aG92ZXIge1xuICBjb2xvcjogIzFlNzBiZjtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBEaXNhYmxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRpc2FibGVkLmNhcmQge1xuICBvcGFjaXR5OiAwLjQ1O1xuICBjb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjMpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExvYWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5sb2FkaW5nLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG59XG4udWkubG9hZGluZy5jYXJkOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICB6LWluZGV4OiAxMDA7XG59XG4udWkubG9hZGluZy5jYXJkOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMS41ZW0gMCAwIC0xLjVlbTtcbiAgd2lkdGg6IDNlbTtcbiAgaGVpZ2h0OiAzZW07XG4gIGFuaW1hdGlvbjogbG9hZGVyIDAuNnMgaW5maW5pdGUgbGluZWFyO1xuICBib3JkZXI6IDAuMmVtIHNvbGlkICM3Njc2NzY7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB6LWluZGV4OiAxMDE7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEhvcml6b250YWxcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmhvcml6b250YWwuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkLmhvcml6b250YWwge1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtaW4td2lkdGg6IDI3MHB4O1xuICB3aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi51aS5ob3Jpem9udGFsLmNhcmRzID4gLmNhcmQgPiAuaW1hZ2UsXG4udWkuY2FyZC5ob3Jpem9udGFsID4gLmltYWdlIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwIDAgMC4yODU3MTQyOXJlbTtcbiAgd2lkdGg6IDE1MHB4O1xufVxuLnVpLmhvcml6b250YWwuY2FyZHMgPiAuY2FyZCA+IC5pbWFnZSA+IGltZyxcbi51aS5jYXJkLmhvcml6b250YWwgPiAuaW1hZ2UgPiBpbWcge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwIDAgMC4yODU3MTQyOXJlbTtcbn1cbi51aS5ob3Jpem9udGFsLmNhcmRzID4gLmNhcmQgPiAuaW1hZ2U6bGFzdC1jaGlsZCA+IGltZyxcbi51aS5jYXJkLmhvcml6b250YWwgPiAuaW1hZ2U6bGFzdC1jaGlsZCA+IGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDA7XG59XG4udWkuaG9yaXpvbnRhbC5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQsXG4udWkuaG9yaXpvbnRhbC5jYXJkID4gLmNvbnRlbnQge1xuICBib3JkZXItdG9wOiBub25lO1xuICBmbGV4LWJhc2lzOiAxcHg7XG59XG4udWkuaG9yaXpvbnRhbC5jYXJkcyA+IC5jYXJkID4gLmV4dHJhLFxuLnVpLmhvcml6b250YWwuY2FyZCA+IC5leHRyYSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFJhaXNlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2FyZHMgPiAucmFpc2VkLmNhcmQsXG4udWkucmFpc2VkLmNhcmRzID4gLmNhcmQsXG4udWkucmFpc2VkLmNhcmQge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkucmFpc2VkLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5yYWlzZWQuY2FyZDpob3ZlcixcbmEudWkucmFpc2VkLmNhcmQ6aG92ZXIsXG4udWkubGluay5yYWlzZWQuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjI1KTtcbn1cbi51aS5iYXNpYy5jYXJkcyA+IC5yYWlzZWQuY2FyZCxcbi51aS5iYXNpYy5yYWlzZWQuY2FyZHMgPiAuY2FyZCxcbi51aS5yYWlzZWQuY2FyZHMgPiAuYmFzaWMuY2FyZCxcbi51aS5iYXNpYy5yYWlzZWQuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLmJhc2ljLnJhaXNlZC5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5jYXJkcyAuYmFzaWMucmFpc2VkLmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5jYXJkcyAucmFpc2VkLmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5yYWlzZWQuY2FyZHMgLmNhcmQ6aG92ZXIsXG5hLnVpLmJhc2ljLnJhaXNlZC5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMucmFpc2VkLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjI1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQ2VudGVyZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNlbnRlcmVkLmNhcmRzIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4udWkuY2VudGVyZWQuY2FyZCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBGbHVpZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmx1aWQuY2FyZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDk5OTlweDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIExpbmtcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNhcmRzIGEuY2FyZCxcbi51aS5saW5rLmNhcmRzIC5jYXJkLFxuYS51aS5jYXJkLFxuLnVpLmxpbmsuY2FyZCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbi51aS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZDpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogNTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjYmNiZGJkLCAwIDAgMCAxcHggI2Q0ZDRkNTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5wcmltYXJ5LmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAucHJpbWFyeS5jYXJkLFxuLnVpLnByaW1hcnkuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgIzZDMzY2NywgMCAxcHggM3B4IDAgI2Q0ZDRkNTtcbn1cbi51aS5jYXJkcyBhLnByaW1hcnkuY2FyZDpob3Zlcixcbi51aS5wcmltYXJ5LmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLnByaW1hcnkuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5wcmltYXJ5LmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkucHJpbWFyeS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsucHJpbWFyeS5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjNWQyYjU5LCAwIDFweCAzcHggMCAjYmNiZGJkO1xufVxuLnVpLmNhcmRzID4gLmJhc2ljLnByaW1hcnkuY2FyZCxcbi51aS5iYXNpYy5wcmltYXJ5LmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuY2FyZHMgPiAucHJpbWFyeS5jYXJkLFxuLnVpLmJhc2ljLnByaW1hcnkuY2FyZCB7XG4gIGJhY2tncm91bmQ6ICM1NGM4ZmY7XG59XG4udWkuYmFzaWMuY2FyZHMgYS5wcmltYXJ5LmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgYS5iYXNpYy5wcmltYXJ5LmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMucHJpbWFyeS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5jYXJkcyAuYmFzaWMucHJpbWFyeS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5wcmltYXJ5LmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5jYXJkcyAucHJpbWFyeS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLnByaW1hcnkuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLnByaW1hcnkuY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMyMWI4ZmY7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5jYXJkcyA+IC5jYXJkLFxuLnVpLmludmVydGVkLmNhcmRzID4gLnByaW1hcnkuY2FyZCxcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmNhcmQge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgIzU0YzhmZiwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS5wcmltYXJ5LmNhcmQ6aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5wcmltYXJ5LmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5jYXJkcyAucHJpbWFyeS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmludmVydGVkLnByaW1hcnkuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLnByaW1hcnkuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjMjFiOGZmLCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5iYXNpYy5wcmltYXJ5LmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQucHJpbWFyeS5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzID4gLnByaW1hcnkuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5wcmltYXJ5LmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjNkMzNjY3O1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEuYmFzaWMucHJpbWFyeS5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzIGEucHJpbWFyeS5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLnByaW1hcnkuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLmJhc2ljLnByaW1hcnkuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQucHJpbWFyeS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgLnByaW1hcnkuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5pbnZlcnRlZC5wcmltYXJ5LmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5wcmltYXJ5LmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNWQyYjU5O1xufVxuLnVpLnNlY29uZGFyeS5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLnNlY29uZGFyeS5jYXJkLFxuLnVpLnNlY29uZGFyeS5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjODhkMzE3LCAwIDFweCAzcHggMCAjZDRkNGQ1O1xufVxuLnVpLmNhcmRzIGEuc2Vjb25kYXJ5LmNhcmQ6aG92ZXIsXG4udWkuc2Vjb25kYXJ5LmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLnNlY29uZGFyeS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLnNlY29uZGFyeS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLnNlY29uZGFyeS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuc2Vjb25kYXJ5LmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICM5OGYwMTMsIDAgMXB4IDNweCAwICNiY2JkYmQ7XG59XG4udWkuY2FyZHMgPiAuYmFzaWMuc2Vjb25kYXJ5LmNhcmQsXG4udWkuYmFzaWMuc2Vjb25kYXJ5LmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuY2FyZHMgPiAuc2Vjb25kYXJ5LmNhcmQsXG4udWkuYmFzaWMuc2Vjb25kYXJ5LmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjNTQ1NDU0O1xufVxuLnVpLmJhc2ljLmNhcmRzIGEuc2Vjb25kYXJ5LmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgYS5iYXNpYy5zZWNvbmRhcnkuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5zZWNvbmRhcnkuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLmJhc2ljLnNlY29uZGFyeS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5zZWNvbmRhcnkuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmNhcmRzIC5zZWNvbmRhcnkuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5zZWNvbmRhcnkuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLnNlY29uZGFyeS5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzZlNmU2ZTtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuY2FyZHMgPiAuY2FyZCxcbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5zZWNvbmRhcnkuY2FyZCxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjNTQ1NDU0LCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLnNlY29uZGFyeS5jYXJkOmhvdmVyLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5zZWNvbmRhcnkuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5zZWNvbmRhcnkuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5pbnZlcnRlZC5zZWNvbmRhcnkuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLnNlY29uZGFyeS5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICM2ZTZlNmUsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzID4gLmJhc2ljLnNlY29uZGFyeS5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLnNlY29uZGFyeS5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzID4gLnNlY29uZGFyeS5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLnNlY29uZGFyeS5jYXJkIHtcbiAgYmFja2dyb3VuZDogIzg4ZDMxNztcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLmJhc2ljLnNlY29uZGFyeS5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzIGEuc2Vjb25kYXJ5LmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5iYXNpYy5zZWNvbmRhcnkuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5jYXJkcyAuc2Vjb25kYXJ5LmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5zZWNvbmRhcnkuY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM5OGYwMTM7XG59XG4udWkucmVkLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAucmVkLmNhcmQsXG4udWkucmVkLmNhcmQge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICNkYjI4MjgsIDAgMXB4IDNweCAwICNkNGQ0ZDU7XG59XG4udWkuY2FyZHMgYS5yZWQuY2FyZDpob3Zlcixcbi51aS5yZWQuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsucmVkLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5jYXJkcyAucmVkLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkucmVkLmNhcmQ6aG92ZXIsXG4udWkubGluay5yZWQuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgI2QwMTkxOSwgMCAxcHggM3B4IDAgI2JjYmRiZDtcbn1cbi51aS5jYXJkcyA+IC5iYXNpYy5yZWQuY2FyZCxcbi51aS5iYXNpYy5yZWQuY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5jYXJkcyA+IC5yZWQuY2FyZCxcbi51aS5iYXNpYy5yZWQuY2FyZCB7XG4gIGJhY2tncm91bmQ6ICNmZjY5NWU7XG59XG4udWkuYmFzaWMuY2FyZHMgYS5yZWQuY2FyZDpob3Zlcixcbi51aS5jYXJkcyBhLmJhc2ljLnJlZC5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLnJlZC5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5jYXJkcyAuYmFzaWMucmVkLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLnJlZC5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuY2FyZHMgLnJlZC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLnJlZC5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMucmVkLmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmYzOTJiO1xufVxuLnVpLmludmVydGVkLnJlZC5jYXJkcyA+IC5jYXJkLFxuLnVpLmludmVydGVkLmNhcmRzID4gLnJlZC5jYXJkLFxuLnVpLmludmVydGVkLnJlZC5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICNmZjY5NWUsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEucmVkLmNhcmQ6aG92ZXIsXG4udWkuaW52ZXJ0ZWQucmVkLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLnJlZC5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLnJlZC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmludmVydGVkLnJlZC5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQucmVkLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgI2ZmMzkyYiwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuYmFzaWMucmVkLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQucmVkLmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgPiAucmVkLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQucmVkLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjZGIyODI4O1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEuYmFzaWMucmVkLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgYS5yZWQuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5yZWQuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLmJhc2ljLnJlZC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5yZWQuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmNhcmRzIC5yZWQuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5pbnZlcnRlZC5yZWQuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLnJlZC5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2QwMTkxOTtcbn1cbi51aS5vcmFuZ2UuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5vcmFuZ2UuY2FyZCxcbi51aS5vcmFuZ2UuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgI2YyNzExYywgMCAxcHggM3B4IDAgI2Q0ZDRkNTtcbn1cbi51aS5jYXJkcyBhLm9yYW5nZS5jYXJkOmhvdmVyLFxuLnVpLm9yYW5nZS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5vcmFuZ2UuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5vcmFuZ2UuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5vcmFuZ2UuY2FyZDpob3Zlcixcbi51aS5saW5rLm9yYW5nZS5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjZjI2MjAyLCAwIDFweCAzcHggMCAjYmNiZGJkO1xufVxuLnVpLmNhcmRzID4gLmJhc2ljLm9yYW5nZS5jYXJkLFxuLnVpLmJhc2ljLm9yYW5nZS5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmNhcmRzID4gLm9yYW5nZS5jYXJkLFxuLnVpLmJhc2ljLm9yYW5nZS5jYXJkIHtcbiAgYmFja2dyb3VuZDogI2ZmODUxYjtcbn1cbi51aS5iYXNpYy5jYXJkcyBhLm9yYW5nZS5jYXJkOmhvdmVyLFxuLnVpLmNhcmRzIGEuYmFzaWMub3JhbmdlLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMub3JhbmdlLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5iYXNpYy5vcmFuZ2UuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMub3JhbmdlLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5jYXJkcyAub3JhbmdlLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMub3JhbmdlLmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5vcmFuZ2UuY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlNzZiMDA7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLmNhcmRzID4gLmNhcmQsXG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAub3JhbmdlLmNhcmQsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmNhcmQge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgI2ZmODUxYiwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS5vcmFuZ2UuY2FyZDpob3Zlcixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQub3JhbmdlLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5jYXJkcyAub3JhbmdlLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuaW52ZXJ0ZWQub3JhbmdlLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5vcmFuZ2UuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjZTc2YjAwLCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5iYXNpYy5vcmFuZ2UuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5vcmFuZ2UuY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyA+IC5vcmFuZ2UuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5vcmFuZ2UuY2FyZCB7XG4gIGJhY2tncm91bmQ6ICNmMjcxMWM7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS5iYXNpYy5vcmFuZ2UuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyBhLm9yYW5nZS5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLm9yYW5nZS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5jYXJkcyAuYmFzaWMub3JhbmdlLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLm9yYW5nZS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgLm9yYW5nZS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLmludmVydGVkLm9yYW5nZS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQub3JhbmdlLmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjI2MjAyO1xufVxuLnVpLnllbGxvdy5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLnllbGxvdy5jYXJkLFxuLnVpLnllbGxvdy5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjZmJiZDA4LCAwIDFweCAzcHggMCAjZDRkNGQ1O1xufVxuLnVpLmNhcmRzIGEueWVsbG93LmNhcmQ6aG92ZXIsXG4udWkueWVsbG93LmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLnllbGxvdy5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLnllbGxvdy5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLnllbGxvdy5jYXJkOmhvdmVyLFxuLnVpLmxpbmsueWVsbG93LmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICNlYWFlMDAsIDAgMXB4IDNweCAwICNiY2JkYmQ7XG59XG4udWkuY2FyZHMgPiAuYmFzaWMueWVsbG93LmNhcmQsXG4udWkuYmFzaWMueWVsbG93LmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuY2FyZHMgPiAueWVsbG93LmNhcmQsXG4udWkuYmFzaWMueWVsbG93LmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjZmZlMjFmO1xufVxuLnVpLmJhc2ljLmNhcmRzIGEueWVsbG93LmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgYS5iYXNpYy55ZWxsb3cuY2FyZDpob3Zlcixcbi51aS5iYXNpYy55ZWxsb3cuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLmJhc2ljLnllbGxvdy5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy55ZWxsb3cuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmNhcmRzIC55ZWxsb3cuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy55ZWxsb3cuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLnllbGxvdy5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ViY2QwMDtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cuY2FyZHMgPiAuY2FyZCxcbi51aS5pbnZlcnRlZC5jYXJkcyA+IC55ZWxsb3cuY2FyZCxcbi51aS5pbnZlcnRlZC55ZWxsb3cuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjZmZlMjFmLCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLnllbGxvdy5jYXJkOmhvdmVyLFxuLnVpLmludmVydGVkLnllbGxvdy5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC55ZWxsb3cuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC55ZWxsb3cuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5pbnZlcnRlZC55ZWxsb3cuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLnllbGxvdy5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICNlYmNkMDAsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzID4gLmJhc2ljLnllbGxvdy5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLnllbGxvdy5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzID4gLnllbGxvdy5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLnllbGxvdy5jYXJkIHtcbiAgYmFja2dyb3VuZDogI2ZiYmQwODtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLmJhc2ljLnllbGxvdy5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzIGEueWVsbG93LmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQueWVsbG93LmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5iYXNpYy55ZWxsb3cuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQueWVsbG93LmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5jYXJkcyAueWVsbG93LmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMuaW52ZXJ0ZWQueWVsbG93LmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC55ZWxsb3cuY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlYWFlMDA7XG59XG4udWkub2xpdmUuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5vbGl2ZS5jYXJkLFxuLnVpLm9saXZlLmNhcmQge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICNiNWNjMTgsIDAgMXB4IDNweCAwICNkNGQ0ZDU7XG59XG4udWkuY2FyZHMgYS5vbGl2ZS5jYXJkOmhvdmVyLFxuLnVpLm9saXZlLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLm9saXZlLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5jYXJkcyAub2xpdmUuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5vbGl2ZS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsub2xpdmUuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgI2E3YmQwZCwgMCAxcHggM3B4IDAgI2JjYmRiZDtcbn1cbi51aS5jYXJkcyA+IC5iYXNpYy5vbGl2ZS5jYXJkLFxuLnVpLmJhc2ljLm9saXZlLmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuY2FyZHMgPiAub2xpdmUuY2FyZCxcbi51aS5iYXNpYy5vbGl2ZS5jYXJkIHtcbiAgYmFja2dyb3VuZDogI2Q5ZTc3ODtcbn1cbi51aS5iYXNpYy5jYXJkcyBhLm9saXZlLmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgYS5iYXNpYy5vbGl2ZS5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLm9saXZlLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5iYXNpYy5vbGl2ZS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5vbGl2ZS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuY2FyZHMgLm9saXZlLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMub2xpdmUuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLm9saXZlLmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZDJlNzQ1O1xufVxuLnVpLmludmVydGVkLm9saXZlLmNhcmRzID4gLmNhcmQsXG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAub2xpdmUuY2FyZCxcbi51aS5pbnZlcnRlZC5vbGl2ZS5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICNkOWU3NzgsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEub2xpdmUuY2FyZDpob3Zlcixcbi51aS5pbnZlcnRlZC5vbGl2ZS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5vbGl2ZS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLm9saXZlLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuaW52ZXJ0ZWQub2xpdmUuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLm9saXZlLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgI2QyZTc0NSwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuYmFzaWMub2xpdmUuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5vbGl2ZS5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzID4gLm9saXZlLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQub2xpdmUuY2FyZCB7XG4gIGJhY2tncm91bmQ6ICNiNWNjMTg7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS5iYXNpYy5vbGl2ZS5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzIGEub2xpdmUuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5vbGl2ZS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5jYXJkcyAuYmFzaWMub2xpdmUuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQub2xpdmUuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmNhcmRzIC5vbGl2ZS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLmludmVydGVkLm9saXZlLmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5vbGl2ZS5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2E3YmQwZDtcbn1cbi51aS5ncmVlbi5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLmdyZWVuLmNhcmQsXG4udWkuZ3JlZW4uY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgIzIxYmE0NSwgMCAxcHggM3B4IDAgI2Q0ZDRkNTtcbn1cbi51aS5jYXJkcyBhLmdyZWVuLmNhcmQ6aG92ZXIsXG4udWkuZ3JlZW4uY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuZ3JlZW4uY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5ncmVlbi5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmdyZWVuLmNhcmQ6aG92ZXIsXG4udWkubGluay5ncmVlbi5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjMTZhYjM5LCAwIDFweCAzcHggMCAjYmNiZGJkO1xufVxuLnVpLmNhcmRzID4gLmJhc2ljLmdyZWVuLmNhcmQsXG4udWkuYmFzaWMuZ3JlZW4uY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5jYXJkcyA+IC5ncmVlbi5jYXJkLFxuLnVpLmJhc2ljLmdyZWVuLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjMmVjYzQwO1xufVxuLnVpLmJhc2ljLmNhcmRzIGEuZ3JlZW4uY2FyZDpob3Zlcixcbi51aS5jYXJkcyBhLmJhc2ljLmdyZWVuLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuZ3JlZW4uY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLmJhc2ljLmdyZWVuLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmdyZWVuLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5jYXJkcyAuZ3JlZW4uY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5ncmVlbi5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuZ3JlZW4uY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxZWE5MmU7XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4uY2FyZHMgPiAuY2FyZCxcbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5ncmVlbi5jYXJkLFxuLnVpLmludmVydGVkLmdyZWVuLmNhcmQge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgIzJlY2M0MCwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS5ncmVlbi5jYXJkOmhvdmVyLFxuLnVpLmludmVydGVkLmdyZWVuLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmdyZWVuLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5jYXJkcyAuZ3JlZW4uY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5pbnZlcnRlZC5ncmVlbi5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuZ3JlZW4uY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjMWVhOTJlLCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5iYXNpYy5ncmVlbi5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmdyZWVuLmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgPiAuZ3JlZW4uY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5ncmVlbi5jYXJkIHtcbiAgYmFja2dyb3VuZDogIzIxYmE0NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLmJhc2ljLmdyZWVuLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgYS5ncmVlbi5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLmdyZWVuLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5iYXNpYy5ncmVlbi5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5ncmVlbi5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgLmdyZWVuLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMuaW52ZXJ0ZWQuZ3JlZW4uY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmdyZWVuLmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMTZhYjM5O1xufVxuLnVpLnRlYWwuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC50ZWFsLmNhcmQsXG4udWkudGVhbC5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjMDBiNWFkLCAwIDFweCAzcHggMCAjZDRkNGQ1O1xufVxuLnVpLmNhcmRzIGEudGVhbC5jYXJkOmhvdmVyLFxuLnVpLnRlYWwuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsudGVhbC5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLnRlYWwuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS50ZWFsLmNhcmQ6aG92ZXIsXG4udWkubGluay50ZWFsLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICMwMDljOTUsIDAgMXB4IDNweCAwICNiY2JkYmQ7XG59XG4udWkuY2FyZHMgPiAuYmFzaWMudGVhbC5jYXJkLFxuLnVpLmJhc2ljLnRlYWwuY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5jYXJkcyA+IC50ZWFsLmNhcmQsXG4udWkuYmFzaWMudGVhbC5jYXJkIHtcbiAgYmFja2dyb3VuZDogIzZkZmZmZjtcbn1cbi51aS5iYXNpYy5jYXJkcyBhLnRlYWwuY2FyZDpob3Zlcixcbi51aS5jYXJkcyBhLmJhc2ljLnRlYWwuY2FyZDpob3Zlcixcbi51aS5iYXNpYy50ZWFsLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5iYXNpYy50ZWFsLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLnRlYWwuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmNhcmRzIC50ZWFsLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMudGVhbC5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMudGVhbC5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzNhZmZmZjtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLmNhcmRzID4gLmNhcmQsXG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAudGVhbC5jYXJkLFxuLnVpLmludmVydGVkLnRlYWwuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjNmRmZmZmLCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLnRlYWwuY2FyZDpob3Zlcixcbi51aS5pbnZlcnRlZC50ZWFsLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLnRlYWwuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC50ZWFsLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuaW52ZXJ0ZWQudGVhbC5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQudGVhbC5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICMzYWZmZmYsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzID4gLmJhc2ljLnRlYWwuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC50ZWFsLmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgPiAudGVhbC5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLnRlYWwuY2FyZCB7XG4gIGJhY2tncm91bmQ6ICMwMGI1YWQ7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS5iYXNpYy50ZWFsLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgYS50ZWFsLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQudGVhbC5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5jYXJkcyAuYmFzaWMudGVhbC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC50ZWFsLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5jYXJkcyAudGVhbC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLmludmVydGVkLnRlYWwuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLnRlYWwuY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMwMDljOTU7XG59XG4udWkuYmx1ZS5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLmJsdWUuY2FyZCxcbi51aS5ibHVlLmNhcmQge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICMyMTg1ZDAsIDAgMXB4IDNweCAwICNkNGQ0ZDU7XG59XG4udWkuY2FyZHMgYS5ibHVlLmNhcmQ6aG92ZXIsXG4udWkuYmx1ZS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5ibHVlLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5jYXJkcyAuYmx1ZS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJsdWUuY2FyZDpob3Zlcixcbi51aS5saW5rLmJsdWUuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgIzE2NzhjMiwgMCAxcHggM3B4IDAgI2JjYmRiZDtcbn1cbi51aS5jYXJkcyA+IC5iYXNpYy5ibHVlLmNhcmQsXG4udWkuYmFzaWMuYmx1ZS5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmNhcmRzID4gLmJsdWUuY2FyZCxcbi51aS5iYXNpYy5ibHVlLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjNTRjOGZmO1xufVxuLnVpLmJhc2ljLmNhcmRzIGEuYmx1ZS5jYXJkOmhvdmVyLFxuLnVpLmNhcmRzIGEuYmFzaWMuYmx1ZS5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmJsdWUuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLmJhc2ljLmJsdWUuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuYmx1ZS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuY2FyZHMgLmJsdWUuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5ibHVlLmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5ibHVlLmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjFiOGZmO1xufVxuLnVpLmludmVydGVkLmJsdWUuY2FyZHMgPiAuY2FyZCxcbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5ibHVlLmNhcmQsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICM1NGM4ZmYsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEuYmx1ZS5jYXJkOmhvdmVyLFxuLnVpLmludmVydGVkLmJsdWUuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuYmx1ZS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLmJsdWUuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5pbnZlcnRlZC5ibHVlLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5ibHVlLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgIzIxYjhmZiwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuYmFzaWMuYmx1ZS5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmJsdWUuY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyA+IC5ibHVlLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYmx1ZS5jYXJkIHtcbiAgYmFja2dyb3VuZDogIzIxODVkMDtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLmJhc2ljLmJsdWUuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyBhLmJsdWUuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5ibHVlLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5iYXNpYy5ibHVlLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmJsdWUuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmNhcmRzIC5ibHVlLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMuaW52ZXJ0ZWQuYmx1ZS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuYmx1ZS5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzE2NzhjMjtcbn1cbi51aS52aW9sZXQuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC52aW9sZXQuY2FyZCxcbi51aS52aW9sZXQuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgIzY0MzVjOSwgMCAxcHggM3B4IDAgI2Q0ZDRkNTtcbn1cbi51aS5jYXJkcyBhLnZpb2xldC5jYXJkOmhvdmVyLFxuLnVpLnZpb2xldC5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay52aW9sZXQuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmNhcmRzIC52aW9sZXQuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS52aW9sZXQuY2FyZDpob3Zlcixcbi51aS5saW5rLnZpb2xldC5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjNTgyOWJiLCAwIDFweCAzcHggMCAjYmNiZGJkO1xufVxuLnVpLmNhcmRzID4gLmJhc2ljLnZpb2xldC5jYXJkLFxuLnVpLmJhc2ljLnZpb2xldC5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmNhcmRzID4gLnZpb2xldC5jYXJkLFxuLnVpLmJhc2ljLnZpb2xldC5jYXJkIHtcbiAgYmFja2dyb3VuZDogI2EyOTFmYjtcbn1cbi51aS5iYXNpYy5jYXJkcyBhLnZpb2xldC5jYXJkOmhvdmVyLFxuLnVpLmNhcmRzIGEuYmFzaWMudmlvbGV0LmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMudmlvbGV0LmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5iYXNpYy52aW9sZXQuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMudmlvbGV0LmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5jYXJkcyAudmlvbGV0LmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMudmlvbGV0LmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy52aW9sZXQuY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM3NDVhZmY7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0LmNhcmRzID4gLmNhcmQsXG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAudmlvbGV0LmNhcmQsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmNhcmQge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgI2EyOTFmYiwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS52aW9sZXQuY2FyZDpob3Zlcixcbi51aS5pbnZlcnRlZC52aW9sZXQuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQudmlvbGV0LmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5jYXJkcyAudmlvbGV0LmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuaW52ZXJ0ZWQudmlvbGV0LmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC52aW9sZXQuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjNzQ1YWZmLCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5iYXNpYy52aW9sZXQuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC52aW9sZXQuY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyA+IC52aW9sZXQuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC52aW9sZXQuY2FyZCB7XG4gIGJhY2tncm91bmQ6ICM2NDM1Yzk7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS5iYXNpYy52aW9sZXQuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyBhLnZpb2xldC5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLnZpb2xldC5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5jYXJkcyAuYmFzaWMudmlvbGV0LmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLnZpb2xldC5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgLnZpb2xldC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLmludmVydGVkLnZpb2xldC5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQudmlvbGV0LmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNTgyOWJiO1xufVxuLnVpLnB1cnBsZS5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLnB1cnBsZS5jYXJkLFxuLnVpLnB1cnBsZS5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjYTMzM2M4LCAwIDFweCAzcHggMCAjZDRkNGQ1O1xufVxuLnVpLmNhcmRzIGEucHVycGxlLmNhcmQ6aG92ZXIsXG4udWkucHVycGxlLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLnB1cnBsZS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLnB1cnBsZS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLnB1cnBsZS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsucHVycGxlLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICM5NjI3YmEsIDAgMXB4IDNweCAwICNiY2JkYmQ7XG59XG4udWkuY2FyZHMgPiAuYmFzaWMucHVycGxlLmNhcmQsXG4udWkuYmFzaWMucHVycGxlLmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuY2FyZHMgPiAucHVycGxlLmNhcmQsXG4udWkuYmFzaWMucHVycGxlLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjZGM3M2ZmO1xufVxuLnVpLmJhc2ljLmNhcmRzIGEucHVycGxlLmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgYS5iYXNpYy5wdXJwbGUuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5wdXJwbGUuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLmJhc2ljLnB1cnBsZS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5wdXJwbGUuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmNhcmRzIC5wdXJwbGUuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5wdXJwbGUuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLnB1cnBsZS5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2NmNDBmZjtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuY2FyZHMgPiAuY2FyZCxcbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5wdXJwbGUuY2FyZCxcbi51aS5pbnZlcnRlZC5wdXJwbGUuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjZGM3M2ZmLCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLnB1cnBsZS5jYXJkOmhvdmVyLFxuLnVpLmludmVydGVkLnB1cnBsZS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5wdXJwbGUuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5wdXJwbGUuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5pbnZlcnRlZC5wdXJwbGUuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLnB1cnBsZS5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICNjZjQwZmYsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzID4gLmJhc2ljLnB1cnBsZS5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLnB1cnBsZS5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzID4gLnB1cnBsZS5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLnB1cnBsZS5jYXJkIHtcbiAgYmFja2dyb3VuZDogI2EzMzNjODtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLmJhc2ljLnB1cnBsZS5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLmNhcmRzIGEucHVycGxlLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQucHVycGxlLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5iYXNpYy5wdXJwbGUuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQucHVycGxlLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5jYXJkcyAucHVycGxlLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMuaW52ZXJ0ZWQucHVycGxlLmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5wdXJwbGUuY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM5NjI3YmE7XG59XG4udWkucGluay5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLnBpbmsuY2FyZCxcbi51aS5waW5rLmNhcmQge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICNlMDM5OTcsIDAgMXB4IDNweCAwICNkNGQ0ZDU7XG59XG4udWkuY2FyZHMgYS5waW5rLmNhcmQ6aG92ZXIsXG4udWkucGluay5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5waW5rLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5jYXJkcyAucGluay5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLnBpbmsuY2FyZDpob3Zlcixcbi51aS5saW5rLnBpbmsuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgI2U2MWE4ZCwgMCAxcHggM3B4IDAgI2JjYmRiZDtcbn1cbi51aS5jYXJkcyA+IC5iYXNpYy5waW5rLmNhcmQsXG4udWkuYmFzaWMucGluay5jYXJkcyA+IC5jYXJkLFxuLnVpLmJhc2ljLmNhcmRzID4gLnBpbmsuY2FyZCxcbi51aS5iYXNpYy5waW5rLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjZmY4ZWRmO1xufVxuLnVpLmJhc2ljLmNhcmRzIGEucGluay5jYXJkOmhvdmVyLFxuLnVpLmNhcmRzIGEuYmFzaWMucGluay5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLnBpbmsuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLmJhc2ljLnBpbmsuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMucGluay5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuY2FyZHMgLnBpbmsuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5waW5rLmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5waW5rLmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmY1YmQxO1xufVxuLnVpLmludmVydGVkLnBpbmsuY2FyZHMgPiAuY2FyZCxcbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5waW5rLmNhcmQsXG4udWkuaW52ZXJ0ZWQucGluay5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICNmZjhlZGYsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEucGluay5jYXJkOmhvdmVyLFxuLnVpLmludmVydGVkLnBpbmsuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQucGluay5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLnBpbmsuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5pbnZlcnRlZC5waW5rLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5waW5rLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgI2ZmNWJkMSwgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuYmFzaWMucGluay5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLnBpbmsuY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyA+IC5waW5rLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQucGluay5jYXJkIHtcbiAgYmFja2dyb3VuZDogI2UwMzk5Nztcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLmJhc2ljLnBpbmsuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyBhLnBpbmsuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5waW5rLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5iYXNpYy5waW5rLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLnBpbmsuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmNhcmRzIC5waW5rLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMuaW52ZXJ0ZWQucGluay5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQucGluay5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2U2MWE4ZDtcbn1cbi51aS5icm93bi5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLmJyb3duLmNhcmQsXG4udWkuYnJvd24uY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgI2E1NjczZiwgMCAxcHggM3B4IDAgI2Q0ZDRkNTtcbn1cbi51aS5jYXJkcyBhLmJyb3duLmNhcmQ6aG92ZXIsXG4udWkuYnJvd24uY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYnJvd24uY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5icm93bi5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJyb3duLmNhcmQ6aG92ZXIsXG4udWkubGluay5icm93bi5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjOTc1YjMzLCAwIDFweCAzcHggMCAjYmNiZGJkO1xufVxuLnVpLmNhcmRzID4gLmJhc2ljLmJyb3duLmNhcmQsXG4udWkuYmFzaWMuYnJvd24uY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5jYXJkcyA+IC5icm93bi5jYXJkLFxuLnVpLmJhc2ljLmJyb3duLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjZDY3YzFjO1xufVxuLnVpLmJhc2ljLmNhcmRzIGEuYnJvd24uY2FyZDpob3Zlcixcbi51aS5jYXJkcyBhLmJhc2ljLmJyb3duLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuYnJvd24uY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLmJhc2ljLmJyb3duLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmJyb3duLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5jYXJkcyAuYnJvd24uY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5icm93bi5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuYnJvd24uY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNiMDYyMGY7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uY2FyZHMgPiAuY2FyZCxcbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5icm93bi5jYXJkLFxuLnVpLmludmVydGVkLmJyb3duLmNhcmQge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjNTU1LCAwIDJweCAwIDAgI2Q2N2MxYywgMCAwIDAgMXB4ICM1NTU7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS5icm93bi5jYXJkOmhvdmVyLFxuLnVpLmludmVydGVkLmJyb3duLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmJyb3duLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5jYXJkcyAuYnJvd24uY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5pbnZlcnRlZC5icm93bi5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuYnJvd24uY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjYjA2MjBmLCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyA+IC5iYXNpYy5icm93bi5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmJyb3duLmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgPiAuYnJvd24uY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5icm93bi5jYXJkIHtcbiAgYmFja2dyb3VuZDogI2E1NjczZjtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLmJhc2ljLmJyb3duLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgYS5icm93bi5jYXJkOmhvdmVyLFxuLnVpLmJhc2ljLmludmVydGVkLmJyb3duLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5iYXNpYy5icm93bi5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5icm93bi5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgLmJyb3duLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMuaW52ZXJ0ZWQuYnJvd24uY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmJyb3duLmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjOTc1YjMzO1xufVxuLnVpLmdyZXkuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5ncmV5LmNhcmQsXG4udWkuZ3JleS5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkNGQ0ZDUsIDAgMnB4IDAgMCAjNzY3Njc2LCAwIDFweCAzcHggMCAjZDRkNGQ1O1xufVxuLnVpLmNhcmRzIGEuZ3JleS5jYXJkOmhvdmVyLFxuLnVpLmdyZXkuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuZ3JleS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLmdyZXkuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5ncmV5LmNhcmQ6aG92ZXIsXG4udWkubGluay5ncmV5LmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICM4MzgzODMsIDAgMXB4IDNweCAwICNiY2JkYmQ7XG59XG4udWkuY2FyZHMgPiAuYmFzaWMuZ3JleS5jYXJkLFxuLnVpLmJhc2ljLmdyZXkuY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5jYXJkcyA+IC5ncmV5LmNhcmQsXG4udWkuYmFzaWMuZ3JleS5jYXJkIHtcbiAgYmFja2dyb3VuZDogI2RjZGRkZTtcbn1cbi51aS5iYXNpYy5jYXJkcyBhLmdyZXkuY2FyZDpob3Zlcixcbi51aS5jYXJkcyBhLmJhc2ljLmdyZXkuY2FyZDpob3Zlcixcbi51aS5iYXNpYy5ncmV5LmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5iYXNpYy5ncmV5LmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmdyZXkuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmNhcmRzIC5ncmV5LmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuYmFzaWMuZ3JleS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuZ3JleS5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2MyYzRjNTtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LmNhcmRzID4gLmNhcmQsXG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuZ3JleS5jYXJkLFxuLnVpLmludmVydGVkLmdyZXkuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjZGNkZGRlLCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLmdyZXkuY2FyZDpob3Zlcixcbi51aS5pbnZlcnRlZC5ncmV5LmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmdyZXkuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5ncmV5LmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEudWkuaW52ZXJ0ZWQuZ3JleS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuZ3JleS5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICNjMmM0YzUsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzID4gLmJhc2ljLmdyZXkuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5ncmV5LmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgPiAuZ3JleS5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmdyZXkuY2FyZCB7XG4gIGJhY2tncm91bmQ6ICM3Njc2NzY7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS5iYXNpYy5ncmV5LmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgYS5ncmV5LmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuZ3JleS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5jYXJkcyAuYmFzaWMuZ3JleS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5ncmV5LmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5jYXJkcyAuZ3JleS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLmludmVydGVkLmdyZXkuY2FyZDpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmdyZXkuY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM4MzgzODM7XG59XG4udWkuYmxhY2suY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5ibGFjay5jYXJkLFxuLnVpLmJsYWNrLmNhcmQge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2Q0ZDRkNSwgMCAycHggMCAwICMxYjFjMWQsIDAgMXB4IDNweCAwICNkNGQ0ZDU7XG59XG4udWkuY2FyZHMgYS5ibGFjay5jYXJkOmhvdmVyLFxuLnVpLmJsYWNrLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmJsYWNrLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5jYXJkcyAuYmxhY2suY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5ibGFjay5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmxhY2suY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZDRkNGQ1LCAwIDJweCAwIDAgIzI3MjkyYSwgMCAxcHggM3B4IDAgI2JjYmRiZDtcbn1cbi51aS5jYXJkcyA+IC5iYXNpYy5ibGFjay5jYXJkLFxuLnVpLmJhc2ljLmJsYWNrLmNhcmRzID4gLmNhcmQsXG4udWkuYmFzaWMuY2FyZHMgPiAuYmxhY2suY2FyZCxcbi51aS5iYXNpYy5ibGFjay5jYXJkIHtcbiAgYmFja2dyb3VuZDogIzU0NTQ1NDtcbn1cbi51aS5jYXJkcyA+IC5iYXNpYy5ibGFjay5jYXJkIC5oZWFkZXIsXG4udWkuYmFzaWMuYmxhY2suY2FyZHMgPiAuY2FyZCAuaGVhZGVyLFxuLnVpLmJhc2ljLmNhcmRzID4gLmJsYWNrLmNhcmQgLmhlYWRlcixcbi51aS5iYXNpYy5ibGFjay5jYXJkIC5oZWFkZXIsXG4udWkuY2FyZHMgPiAuYmFzaWMuYmxhY2suY2FyZCAuY29udGVudCxcbi51aS5iYXNpYy5ibGFjay5jYXJkcyA+IC5jYXJkIC5jb250ZW50LFxuLnVpLmJhc2ljLmNhcmRzID4gLmJsYWNrLmNhcmQgLmNvbnRlbnQsXG4udWkuYmFzaWMuYmxhY2suY2FyZCAuY29udGVudCxcbi51aS5jYXJkcyA+IC5iYXNpYy5ibGFjay5jYXJkIC5tZXRhLFxuLnVpLmJhc2ljLmJsYWNrLmNhcmRzID4gLmNhcmQgLm1ldGEsXG4udWkuYmFzaWMuY2FyZHMgPiAuYmxhY2suY2FyZCAubWV0YSxcbi51aS5iYXNpYy5ibGFjay5jYXJkIC5tZXRhLFxuLnVpLmNhcmRzID4gLmJhc2ljLmJsYWNrLmNhcmQgLmRlc2NyaXB0aW9uLFxuLnVpLmJhc2ljLmJsYWNrLmNhcmRzID4gLmNhcmQgLmRlc2NyaXB0aW9uLFxuLnVpLmJhc2ljLmNhcmRzID4gLmJsYWNrLmNhcmQgLmRlc2NyaXB0aW9uLFxuLnVpLmJhc2ljLmJsYWNrLmNhcmQgLmRlc2NyaXB0aW9uIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuYmFzaWMuY2FyZHMgYS5ibGFjay5jYXJkOmhvdmVyLFxuLnVpLmNhcmRzIGEuYmFzaWMuYmxhY2suY2FyZDpob3Zlcixcbi51aS5iYXNpYy5ibGFjay5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5jYXJkcyAuYmFzaWMuYmxhY2suY2FyZDpub3QoLmljb24pOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuYmxhY2suY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmNhcmRzIC5ibGFjay5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmJhc2ljLmJsYWNrLmNhcmQ6aG92ZXIsXG4udWkubGluay5iYXNpYy5ibGFjay5jYXJkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5jYXJkcyA+IC5jYXJkLFxuLnVpLmludmVydGVkLmNhcmRzID4gLmJsYWNrLmNhcmQsXG4udWkuaW52ZXJ0ZWQuYmxhY2suY2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMnB4IDAgMCAjNTQ1NDU0LCAwIDAgMCAxcHggIzU1NTtcbn1cbi51aS5pbnZlcnRlZC5jYXJkcyBhLmJsYWNrLmNhcmQ6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmxhY2suY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuYmxhY2suY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmludmVydGVkLmNhcmRzIC5ibGFjay5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG5hLnVpLmludmVydGVkLmJsYWNrLmNhcmQ6aG92ZXIsXG4udWkubGluay5pbnZlcnRlZC5ibGFjay5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzU1NSwgMCAycHggMCAwICMwMDAwMDAsIDAgMCAwIDFweCAjNTU1O1xufVxuLnVpLmludmVydGVkLmNhcmRzID4gLmJhc2ljLmJsYWNrLmNhcmQsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYmxhY2suY2FyZHMgPiAuY2FyZCxcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyA+IC5ibGFjay5jYXJkLFxuLnVpLmJhc2ljLmludmVydGVkLmJsYWNrLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xufVxuLnVpLmludmVydGVkLmNhcmRzIGEuYmFzaWMuYmxhY2suY2FyZDpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5jYXJkcyBhLmJsYWNrLmNhcmQ6aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYmxhY2suY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLmJhc2ljLmJsYWNrLmNhcmQ6bm90KC5pY29uKTpob3Zlcixcbi51aS5saW5rLmJhc2ljLmludmVydGVkLmJsYWNrLmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4udWkubGluay5iYXNpYy5pbnZlcnRlZC5jYXJkcyAuYmxhY2suY2FyZDpub3QoLmljb24pOmhvdmVyLFxuYS51aS5iYXNpYy5pbnZlcnRlZC5ibGFjay5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuYmFzaWMuaW52ZXJ0ZWQuYmxhY2suY2FyZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMyNzI5MmE7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIENhcmQgQ291bnRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5vbmUuY2FyZHMge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLnVpLm9uZS5jYXJkcyA+IC5jYXJkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkudHdvLmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIG1hcmdpbi1yaWdodDogLTFlbTtcbn1cbi51aS50d28uY2FyZHMgPiAuY2FyZCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG4gIG1hcmdpbi1yaWdodDogMWVtO1xufVxuLnVpLnRocmVlLmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIG1hcmdpbi1yaWdodDogLTFlbTtcbn1cbi51aS50aHJlZS5jYXJkcyA+IC5jYXJkIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMzMzMzMlIC0gMmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG59XG4udWkuZm91ci5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiAtMC43NWVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjc1ZW07XG59XG4udWkuZm91ci5jYXJkcyA+IC5jYXJkIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMS41ZW0pO1xuICBtYXJnaW4tbGVmdDogMC43NWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVlbTtcbn1cbi51aS5maXZlLmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjc1ZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNzVlbTtcbn1cbi51aS5maXZlLmNhcmRzID4gLmNhcmQge1xuICB3aWR0aDogY2FsYygyMCUgLSAxLjVlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1ZW07XG4gIG1hcmdpbi1yaWdodDogMC43NWVtO1xufVxuLnVpLnNpeC5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiAtMC43NWVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjc1ZW07XG59XG4udWkuc2l4LmNhcmRzID4gLmNhcmQge1xuICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY2NjY2NjQlIC0gMS41ZW0pO1xuICBtYXJnaW4tbGVmdDogMC43NWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVlbTtcbn1cbi51aS5zZXZlbi5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiAtMC41ZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNWVtO1xufVxuLnVpLnNldmVuLmNhcmRzID4gLmNhcmQge1xuICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3MTQyODUlIC0gMWVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xufVxuLnVpLmVpZ2h0LmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41ZW07XG59XG4udWkuZWlnaHQuY2FyZHMgPiAuY2FyZCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMWVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICBmb250LXNpemU6IDExcHg7XG59XG4udWkubmluZS5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiAtMC41ZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNWVtO1xufVxuLnVpLm5pbmUuY2FyZHMgPiAuY2FyZCB7XG4gIHdpZHRoOiBjYWxjKDExLjExMTExMTExMTExMTExJSAtIDFlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuLnVpLnRlbi5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiAtMC41ZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNWVtO1xufVxuLnVpLnRlbi5jYXJkcyA+IC5jYXJkIHtcbiAgd2lkdGg6IGNhbGMoMTAlIC0gMWVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIERvdWJsaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1vYmlsZSBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS50d28uZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAudWkudHdvLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAudWkudGhyZWUuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuICAudWkudGhyZWUuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG4gIC51aS5mb3VyLmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xZW07XG4gIH1cbiAgLnVpLmZvdXIuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG4gIC51aS5maXZlLmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xZW07XG4gIH1cbiAgLnVpLmZpdmUuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG4gIC51aS5zaXguZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuICAudWkuc2l4LmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuICAudWkuc2V2ZW4uZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuICAudWkuc2V2ZW4uZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMzMzMzMlIC0gMmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG4gIC51aS5laWdodC5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICB9XG4gIC51aS5laWdodC5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzMzMzMyUgLSAyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbiAgLnVpLm5pbmUuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuICAudWkubmluZS5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzMzMzMyUgLSAyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbiAgLnVpLnRlbi5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICB9XG4gIC51aS50ZW4uZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMzMzMzMlIC0gMmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG59XG4vKiBUYWJsZXQgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC51aS50d28uZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAudWkudHdvLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAudWkudGhyZWUuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuICAudWkudGhyZWUuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG4gIC51aS5mb3VyLmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xZW07XG4gIH1cbiAgLnVpLmZvdXIuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG4gIC51aS5maXZlLmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xZW07XG4gIH1cbiAgLnVpLmZpdmUuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMzMzMzMlIC0gMmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG4gIC51aS5zaXguZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuICAudWkuc2l4LmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMzMzMzJSAtIDJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuICAudWkuZWlnaHQuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuICAudWkuZWlnaHQuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMzMzMzMlIC0gMmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG4gIC51aS5laWdodC5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjc1ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43NWVtO1xuICB9XG4gIC51aS5laWdodC5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjVlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNzVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNzVlbTtcbiAgfVxuICAudWkubmluZS5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjc1ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43NWVtO1xuICB9XG4gIC51aS5uaW5lLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuNWVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC43NWVtO1xuICAgIG1hcmdpbi1yaWdodDogMC43NWVtO1xuICB9XG4gIC51aS50ZW4uZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC43NWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNzVlbTtcbiAgfVxuICAudWkudGVuLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuNWVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC43NWVtO1xuICAgIG1hcmdpbi1yaWdodDogMC43NWVtO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgU3RhY2thYmxlXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLnN0YWNrYWJsZS5jYXJkcyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAudWkuc3RhY2thYmxlLmNhcmRzIC5jYXJkOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5jYXJkcyA+IC5jYXJkIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMWVtIDFlbTtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJlbSkgIWltcG9ydGFudDtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpemVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNhcmRzID4gLmNhcmQge1xuICBmb250LXNpemU6IDFlbTtcbn1cbi51aS5taW5pLmNhcmQsXG4udWkubWluaS5jYXJkcyAuY2FyZCB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS50aW55LmNhcmQsXG4udWkudGlueS5jYXJkcyAuY2FyZCB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS5zbWFsbC5jYXJkLFxuLnVpLnNtYWxsLmNhcmRzIC5jYXJkIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLmxhcmdlLmNhcmQsXG4udWkubGFyZ2UuY2FyZHMgLmNhcmQge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkuYmlnLmNhcmQsXG4udWkuYmlnLmNhcmRzIC5jYXJkIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLmh1Z2UuY2FyZCxcbi51aS5odWdlLmNhcmRzIC5jYXJkIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuLnVpLm1hc3NpdmUuY2FyZCxcbi51aS5tYXNzaXZlLmNhcmRzIC5jYXJkIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmludmVydGVkLmNhcmRzID4gLmNhcmQsXG4udWkuaW52ZXJ0ZWQuY2FyZCB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICM1NTUsIDAgMCAwIDFweCAjNTU1O1xufVxuLyogQ29udGVudCAqL1xuLnVpLmludmVydGVkLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCxcbi51aS5pbnZlcnRlZC5jYXJkID4gLmNvbnRlbnQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cbi8qIEhlYWRlciAqL1xuLnVpLmludmVydGVkLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IC5oZWFkZXIsXG4udWkuaW52ZXJ0ZWQuY2FyZCA+IC5jb250ZW50ID4gLmhlYWRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gYS5oZWFkZXIsXG4udWkuaW52ZXJ0ZWQuY2FyZCA+IC5jb250ZW50ID4gYS5oZWFkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IGEuaGVhZGVyOmhvdmVyLFxuLnVpLmludmVydGVkLmNhcmQgPiAuY29udGVudCA+IGEuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICMxZTcwYmY7XG59XG4vKiBEZXNjcmlwdGlvbiAqL1xuLnVpLmludmVydGVkLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IC5kZXNjcmlwdGlvbixcbi51aS5pbnZlcnRlZC5jYXJkID4gLmNvbnRlbnQgPiAuZGVzY3JpcHRpb24ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xufVxuLyogTWV0YSAqL1xuLnVpLmludmVydGVkLmNhcmRzID4gLmNhcmQgLm1ldGEsXG4udWkuaW52ZXJ0ZWQuY2FyZCAubWV0YSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCAubWV0YSA+IGE6bm90KC51aSksXG4udWkuaW52ZXJ0ZWQuY2FyZCAubWV0YSA+IGE6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVpLmludmVydGVkLmNhcmRzID4gLmNhcmQgLm1ldGEgPiBhOm5vdCgudWkpOmhvdmVyLFxuLnVpLmludmVydGVkLmNhcmQgLm1ldGEgPiBhOm5vdCgudWkpOmhvdmVyIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4vKiBFeHRyYSAqL1xuLnVpLmludmVydGVkLmNhcmRzID4gLmNhcmQgPiAuZXh0cmEsXG4udWkuaW52ZXJ0ZWQuY2FyZCA+IC5leHRyYSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCA+IC5leHRyYSBhOm5vdCgudWkpLFxuLnVpLmludmVydGVkLmNhcmQgPiAuZXh0cmEgYTpub3QoLnVpKSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4udWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCA+IC5leHRyYSBhOm5vdCgudWkpOmhvdmVyLFxuLnVpLmludmVydGVkLmNhcmQgPiAuZXh0cmEgYTpub3QoLnVpKTpob3ZlciB7XG4gIGNvbG9yOiAjMWU3MGJmO1xufVxuLyogTGluayBjYXJkKHMpICovXG4udWkuaW52ZXJ0ZWQuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmludmVydGVkLmxpbmsuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbmEuaW52ZXJ0ZWQudWkuY2FyZDpob3Zlcixcbi51aS5pbnZlcnRlZC5saW5rLmNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xufVxuLyogTG9hZGluZyAqL1xuLnVpLmludmVydGVkLmxvYWRpbmcuY2FyZCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmxvYWRpbmcuY2FyZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gQ29tbWVudFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFZpZXdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBFbGVtZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENvbW1lbnQgKi9cbi8qIE5lc3RlZCBDb21tZW50ICovXG4vKiBBdmF0YXIgKi9cbi8qIENvbnRlbnQgKi9cbi8qIEF1dGhvciAqL1xuLyogTWV0YWRhdGEgKi9cbi8qIFRleHQgKi9cbi8qIEFjdGlvbnMgKi9cbi8qIFJlcGx5ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhyZWFkZWQgKi9cbi8qIE1pbmltYWwgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGFuZGFyZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgQ29tbWVudHNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNvbW1lbnRzIHtcbiAgbWFyZ2luOiAxLjVlbSAwO1xuICBtYXgtd2lkdGg6IDY1MHB4O1xufVxuLnVpLmNvbW1lbnRzOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5jb21tZW50czpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbW1lbnRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNvbW1lbnRzIC5jb21tZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXJnaW46IDAuNWVtIDAgMDtcbiAgcGFkZGluZzogMC41ZW0gMCAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgTmVzdGVkIENvbW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jb21tZW50cyAuY29tbWVudCA+IC5jb21tZW50cyB7XG4gIG1hcmdpbjogMCAwIDAuNWVtIDAuNWVtO1xuICBwYWRkaW5nOiAxZW0gMCAxZW0gMWVtO1xufVxuLnVpLmNvbW1lbnRzIC5jb21tZW50ID4gLmNvbW1lbnRzOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cbi51aS5jb21tZW50cyAuY29tbWVudCA+IC5jb21tZW50cyAuY29tbWVudCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBBdmF0YXJcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jb21tZW50cyAuY29tbWVudCAuYXZhdGFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyLjVlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwLjJlbSAwIDA7XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQgaW1nLmF2YXRhcixcbi51aS5jb21tZW50cyAuY29tbWVudCAuYXZhdGFyIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNvbW1lbnRzIC5jb21tZW50ID4gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qIElmIHRoZXJlIGlzIGFuIGF2YXRhciBtb3ZlIGNvbnRlbnQgb3ZlciAqL1xuLnVpLmNvbW1lbnRzIC5jb21tZW50ID4gLmF2YXRhciB+IC5jb250ZW50IHtcbiAgbWFyZ2luLWxlZnQ6IDMuNWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEF1dGhvclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hdXRob3Ige1xuICBmb250LXNpemU6IDFlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLmNvbW1lbnRzIC5jb21tZW50IGEuYXV0aG9yIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnVpLmNvbW1lbnRzIC5jb21tZW50IGEuYXV0aG9yOmhvdmVyIHtcbiAgY29sb3I6ICMxZTcwYmY7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgTWV0YWRhdGFcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jb21tZW50cyAuY29tbWVudCAubWV0YWRhdGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xufVxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5tZXRhZGF0YSA+ICoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAwLjVlbSAwIDA7XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQgLm1ldGFkYXRhID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBDb21tZW50IFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNvbW1lbnRzIC5jb21tZW50IC50ZXh0IHtcbiAgbWFyZ2luOiAwLjI1ZW0gMCAwLjVlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgVXNlciBBY3Rpb25zXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY29tbWVudHMgLmNvbW1lbnQgLmFjdGlvbnMge1xuICBmb250LXNpemU6IDAuODc1ZW07XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQgLmFjdGlvbnMgYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMC43NWVtIDAgMDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cbi51aS5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyBhOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQgLmFjdGlvbnMgYS5hY3RpdmUsXG4udWkuY29tbWVudHMgLmNvbW1lbnQgLmFjdGlvbnMgYTpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIFJlcGx5IEZvcm1cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jb21tZW50cyA+IC5yZXBseS5mb3JtIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5yZXBseS5mb3JtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDFlbTtcbn1cbi51aS5jb21tZW50cyAucmVwbHkuZm9ybSB0ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBoZWlnaHQ6IDEyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuY29sbGFwc2VkLmNvbW1lbnRzLFxuLnVpLmNvbW1lbnRzIC5jb2xsYXBzZWQuY29tbWVudHMsXG4udWkuY29tbWVudHMgLmNvbGxhcHNlZC5jb21tZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgVGhyZWFkZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS50aHJlYWRlZC5jb21tZW50cyAuY29tbWVudCA+IC5jb21tZW50cyB7XG4gIG1hcmdpbjogLTEuNWVtIDAgLTFlbSAxLjI1ZW07XG4gIHBhZGRpbmc6IDNlbSAwIDJlbSAyLjI1ZW07XG4gIGJveC1zaGFkb3c6IC0xcHggMCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgTWluaW1hbFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1pbmltYWwuY29tbWVudHMgLmNvbW1lbnQgLmFjdGlvbnMge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xufVxuLnVpLm1pbmltYWwuY29tbWVudHMgLmNvbW1lbnQgPiAuY29udGVudDpob3ZlciA+IC5hY3Rpb25zIHtcbiAgb3BhY2l0eTogMTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY29tbWVudHMge1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkubWluaS5jb21tZW50cyB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS50aW55LmNvbW1lbnRzIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnNtYWxsLmNvbW1lbnRzIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLmxhcmdlLmNvbW1lbnRzIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy5jb21tZW50cyB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5odWdlLmNvbW1lbnRzIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuLnVpLm1hc3NpdmUuY29tbWVudHMge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW52ZXJ0ZWQuY29tbWVudHMgLmNvbW1lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLmludmVydGVkLmNvbW1lbnRzIC5jb21tZW50IC5hdXRob3IsXG4udWkuaW52ZXJ0ZWQuY29tbWVudHMgLmNvbW1lbnQgLnRleHQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLmNvbW1lbnRzIC5jb21tZW50IC5tZXRhZGF0YSxcbi51aS5pbnZlcnRlZC5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyBhIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51aS5pbnZlcnRlZC5jb21tZW50cyAuY29tbWVudCBhLmF1dGhvcjpob3Zlcixcbi51aS5pbnZlcnRlZC5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyBhLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyBhOmhvdmVyIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udWkuaW52ZXJ0ZWQudGhyZWFkZWQuY29tbWVudHMgLmNvbW1lbnQgPiAuY29tbWVudHMge1xuICBib3gtc2hhZG93OiAtMXB4IDAgMCAjNTU1O1xufVxuLnVpLmRpc2FibGVkLmNvbW1lbnRzLFxuLnVpLmNvbW1lbnRzIC5kaXNhYmxlZC5jb21tZW50IHtcbiAgb3BhY2l0eTogMC40NTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEZlZWRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgRmVlZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRmVlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRXZlbnQgKi9cbi8qIEV2ZW50IExhYmVsICovXG4vKiBJY29uIExhYmVsICovXG4vKiBJbWFnZSBMYWJlbCAqL1xuLyogVGV4dCBMYWJlbCAqL1xuLyogVWkgbGFiZWwgKi9cbi8qIENvbnRlbnQgdy8gTGFiZWwgKi9cbi8qIENvbnRlbnQgKi9cbi8qIERhdGUgKi9cbi8qIFN1bW1hcnkgKi9cbi8qIFN1bW1hcnkgSW1hZ2UgKi9cbi8qIFN1bW1hcnkgRGF0ZSAqL1xuLyogVXNlciAqL1xuLyogRXh0cmEgU3VtbWFyeSBEYXRhICovXG4vKiBFeHRyYSBJbWFnZXMgKi9cbi8qIEV4dHJhIFRleHQgKi9cbi8qIE1ldGFkYXRhIEdyb3VwICovXG4vKiBMaWtlICovXG4vKiBNZXRhZGF0YSBEaXZpZGVyICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQ29ubmVjdGVkICovXG4vKiBEaXZpZGVkICovXG4vKiBPcmRlcmVkICovXG4vKiBJbnZlcnRlZCAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEFjdGl2aXR5IEZlZWRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuZmVlZCB7XG4gIG1hcmdpbjogMWVtIDA7XG59XG4udWkuZmVlZDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4udWkuZmVlZDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRXZlbnQgKi9cbi51aS5mZWVkID4gLmV2ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuMjE0Mjg1NzFyZW0gMDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLnVpLmZlZWQ6bm90KC5jb25uZWN0ZWQpID4gLmV2ZW50OmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG4udWkuZmVlZCA+IC5ldmVudDpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG4vKiBFdmVudCBMYWJlbCAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiAyLjVlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAubGFiZWwgLmljb24ge1xuICBvcGFjaXR5OiAxO1xuICBmb250LXNpemU6IDEuNWVtO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC4yNWVtO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCA+IC50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCA+IC50ZXh0LnVpIHtcbiAgbWFyZ2luLXRvcDogMC42NWVtO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAubGFiZWwgPiAudGV4dC5tdWx0aWxpbmUge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAubGFiZWwgPiAudGV4dC5tdWx0aWxpbmUudWkge1xuICBtYXJnaW4tdG9wOiAwLjNlbTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsID4gLnVpLmxhYmVsIHtcbiAgbWFyZ2luLXRvcDogMC40ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsICsgLmNvbnRlbnQge1xuICBtYXJnaW46IDAuNWVtIDAgMC4zNTcxNDI4NmVtIDEuMTQyODU3MTRlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQ29udGVudCAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQ6bGFzdC1jaGlsZCA+IC5jb250ZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG4vKiBMaW5rICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIERhdGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLmRhdGUge1xuICBtYXJnaW46IC0wLjVyZW0gMCAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFN1bW1hcnlcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLnN1bW1hcnkge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4vKiBTdW1tYXJ5IEltYWdlICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5zdW1tYXJ5IGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTBlbTtcbiAgbWFyZ2luOiAtMC4yNWVtIDAuMjVlbSAwIDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIElubGluZSBEYXRlXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGF0ZSBpbnNpZGUgU3VtbWFyeSAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuc3VtbWFyeSA+IC5kYXRlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDAuODU3MTQyODZlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBtYXJnaW46IDAgMCAwIDAuNWVtO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuc3VtbWFyeSA+IC5kYXRlOm5vdCguZmxvYXRlZCkge1xuICBmbG9hdDogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgVXNlclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAudXNlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAudXNlciBpbWcge1xuICBtYXJnaW46IC0wLjI1ZW0gMC4yNWVtIDAgMDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTBlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBFeHRyYSBTdW1tYXJ5XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5leHRyYSB7XG4gIG1hcmdpbjogMC41ZW0gMCAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIEltYWdlcyAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuZXh0cmEuaW1hZ2VzIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAuMjVlbSAwIDA7XG4gIHdpZHRoOiA2ZW07XG59XG4vKiBUZXh0ICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5leHRyYS50ZXh0IHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIE1ldGFcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xuICBtYXJnaW46IDAuNWVtIDAgMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSA+ICoge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1ZW07XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gKjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC0xZW07XG4gIG9wYWNpdHk6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgLmxpa2Uge1xuICBjb2xvcjogXCJcIjtcbiAgdHJhbnNpdGlvbjogMC4ycyBjb2xvciBlYXNlO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSAubGlrZTpob3ZlciBpLmljb24ge1xuICBjb2xvcjogI2ZmMjczMztcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgLmFjdGl2ZS5saWtlIGkuaWNvbiB7XG4gIGNvbG9yOiAjZWY0MDRhO1xufVxuLyogRmlyc3QgZWxlbWVudCAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSA+IDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSA+IDpmaXJzdC1jaGlsZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogQWN0aW9uICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIGEsXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gaS5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIGE6aG92ZXIsXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIGE6aG92ZXIgaS5pY29uLFxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSA+IGkuaWNvbjpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBydGw6cmVuYW1lICovXG4udWkuZmVlZCAucmlnaHQuZmxvYXRlZCB7XG4gIGZsb2F0OiByaWdodDtcbn1cbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDpub3QoOmxhc3QtY2hpbGQpOjpiZWZvcmUge1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGxlZnQ6IDEuMmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMi4xZW07XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMS41ZW0pO1xufVxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50ID4gLmxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnVpLmludmVydGVkLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLnVpLmRpdmlkZWQuZmVlZCA+IC5ldmVudDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLmludmVydGVkLmRpdmlkZWQuZmVlZCA+IC5ldmVudCB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsW2RhdGEtdGV4dF06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS10ZXh0KTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsW2RhdGEtdGV4dF06OmJlZm9yZSxcbi51aS5vcmRlcmVkLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGhlaWdodDogMi41ZW07XG4gIGJhY2tncm91bmQ6ICNiYmJiYmI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBhZGRpbmctdG9wOiAwLjZlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC4zZW07XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLnVpLm9yZGVyZWQuZmVlZCB7XG4gIGNvdW50ZXItcmVzZXQ6IG9yZGVyZWQ7XG59XG4udWkub3JkZXJlZC5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb3VudGVyLWluY3JlbWVudDogb3JkZXJlZDtcbiAgY29udGVudDogY291bnRlcihvcmRlcmVkKTtcbn1cbi51aS5vcmRlcmVkLmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSxcbi51aS5vcmRlcmVkLmZlZWQgPiAuZXZlbnQgPiAuYmFzaWMubGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2JiYmJiYjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnVpLm9yZGVyZWQuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSB7XG4gIHRvcDogMi43ZW07XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMi41ZW0pO1xufVxuLyogd29ya2Fyb3VuZCB1bnRpbCBhbGwgYnJvd3NlcnMgc3VwcG9ydCA6aGFzKCkgKi9cbi51aS5jb25uZWN0ZWQubGFiZWxlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAubGFiZWxlZC5ldmVudDo6YmVmb3JlIHtcbiAgdG9wOiA0Ljg1ZW07XG4gIGhlaWdodDogY2FsYygxMDAlIC0gNC42NDk5OTk5OTk5OTk5OTk1ZW0pO1xufVxuQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoLmYpKSB7XG4gIC51aS5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDpoYXMoPiAubGFiZWxbZGF0YS10ZXh0XSA+ICopOjpiZWZvcmUsXG4gIC51aS5vcmRlcmVkLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50Omhhcyg+IC5sYWJlbCA+ICopOjpiZWZvcmUge1xuICAgIHRvcDogNC44NWVtO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gNC42NDk5OTk5OTk5OTk5OTk1ZW0pO1xuICB9XG59XG4udWkuZmVlZCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5taW5pLmZlZWQge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG4udWkudGlueS5mZWVkIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnNtYWxsLmZlZWQge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkubGFyZ2UuZmVlZCB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5iaWcuZmVlZCB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5odWdlLmZlZWQge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5mZWVkIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG59XG4udWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCBpLmljb24ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVpLmludmVydGVkLmZlZWQgPiAuZXZlbnQgPiAubGFiZWwgLnRleHQ6bm90KC51aSkge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLmRhdGUsXG4udWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIC5saWtlIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51aS5pbnZlcnRlZC5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLnN1bW1hcnksXG4udWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5leHRyYS50ZXh0IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgLmxpa2U6aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS5pbnZlcnRlZC5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgLmFjdGl2ZS5saWtlIGkuaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4vKiBBY3Rpb24gKi9cbi51aS5pbnZlcnRlZC5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgYSxcbi51aS5pbnZlcnRlZC5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgPiBpLmljb24ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVpLmludmVydGVkLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSBhOmhvdmVyLFxuLnVpLmludmVydGVkLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSBhOmhvdmVyIGkuaWNvbixcbi51aS5pbnZlcnRlZC5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgPiBpLmljb246aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC5wcmltYXJ5LmxhYmVsOjpiZWZvcmUsXG4udWkucHJpbWFyeS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNkMzNjY3O1xufVxuLnVpLnByaW1hcnkuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5wcmltYXJ5LmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM2QzM2Njc7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLmludmVydGVkLnByaW1hcnkuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzU0YzhmZjtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLnByaW1hcnkuYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS5wcmltYXJ5LmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQucHJpbWFyeS5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnByaW1hcnkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzU0YzhmZjtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLnByaW1hcnkuYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjNTRjOGZmO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAuc2Vjb25kYXJ5LmxhYmVsOjpiZWZvcmUsXG4udWkuc2Vjb25kYXJ5LmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM4OGQzMTc7XG59XG4udWkuc2Vjb25kYXJ5LmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAuc2Vjb25kYXJ5LmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM4OGQzMTc7XG59XG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM1NDU0NTQ7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC5zZWNvbmRhcnkuYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS5zZWNvbmRhcnkuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICM4OGQzMTc7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC5zZWNvbmRhcnkubGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzU0NTQ1NDtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogIzU0NTQ1NDtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLnJlZC5sYWJlbDo6YmVmb3JlLFxuLnVpLnJlZC5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZGIyODI4O1xufVxuLnVpLnJlZC5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLnJlZC5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGIyODI4O1xufVxuLnVpLmludmVydGVkLnJlZC5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLmludmVydGVkLnJlZC5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2OTVlO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAucmVkLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkucmVkLmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZGIyODI4O1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQucmVkLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQucmVkLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmZjY5NWU7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC5yZWQuYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICNmZjY5NWU7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC5vcmFuZ2UubGFiZWw6OmJlZm9yZSxcbi51aS5vcmFuZ2UuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2YyNzExYztcbn1cbi51aS5vcmFuZ2UuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5vcmFuZ2UuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2YyNzExYztcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5pbnZlcnRlZC5vcmFuZ2UuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2ZmODUxYjtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLm9yYW5nZS5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLm9yYW5nZS5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogI2YyNzExYztcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLm9yYW5nZS5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLm9yYW5nZS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmY4NTFiO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZmY4NTFiO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAueWVsbG93LmxhYmVsOjpiZWZvcmUsXG4udWkueWVsbG93LmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmYmJkMDg7XG59XG4udWkueWVsbG93LmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAueWVsbG93LmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNmYmJkMDg7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAuaW52ZXJ0ZWQueWVsbG93LmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNmZmUyMWY7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC55ZWxsb3cuYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS55ZWxsb3cuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICNmYmJkMDg7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC55ZWxsb3cubGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC55ZWxsb3cuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2ZmZTIxZjtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLnllbGxvdy5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogI2ZmZTIxZjtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLm9saXZlLmxhYmVsOjpiZWZvcmUsXG4udWkub2xpdmUuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2I1Y2MxODtcbn1cbi51aS5vbGl2ZS5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLm9saXZlLmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNiNWNjMTg7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5pbnZlcnRlZC5vbGl2ZS5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZDllNzc4O1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAub2xpdmUuYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS5vbGl2ZS5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogI2I1Y2MxODtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLm9saXZlLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQub2xpdmUuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2Q5ZTc3ODtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLm9saXZlLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICNkOWU3Nzg7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC5ncmVlbi5sYWJlbDo6YmVmb3JlLFxuLnVpLmdyZWVuLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMyMWJhNDU7XG59XG4udWkuZ3JlZW4uY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5ncmVlbi5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLmludmVydGVkLmdyZWVuLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAuaW52ZXJ0ZWQuZ3JlZW4uZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzJlY2M0MDtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLmdyZWVuLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkuZ3JlZW4uYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICMyMWJhNDU7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC5ncmVlbi5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLmdyZWVuLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMyZWNjNDA7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC5ncmVlbi5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjMmVjYzQwO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAudGVhbC5sYWJlbDo6YmVmb3JlLFxuLnVpLnRlYWwuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzAwYjVhZDtcbn1cbi51aS50ZWFsLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAudGVhbC5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBiNWFkO1xufVxuLnVpLmludmVydGVkLnRlYWwuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5pbnZlcnRlZC50ZWFsLmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM2ZGZmZmY7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC50ZWFsLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkudGVhbC5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogIzAwYjVhZDtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLnRlYWwubGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC50ZWFsLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM2ZGZmZmY7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC50ZWFsLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogIzZkZmZmZjtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLmJsdWUubGFiZWw6OmJlZm9yZSxcbi51aS5ibHVlLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMyMTg1ZDA7XG59XG4udWkuYmx1ZS5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLmJsdWUuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzIxODVkMDtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAuaW52ZXJ0ZWQuYmx1ZS5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTRjOGZmO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAuYmx1ZS5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLmJsdWUuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICMyMTg1ZDA7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC5ibHVlLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNTRjOGZmO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC52aW9sZXQubGFiZWw6OmJlZm9yZSxcbi51aS52aW9sZXQuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzY0MzVjOTtcbn1cbi51aS52aW9sZXQuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC52aW9sZXQuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzY0MzVjOTtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5pbnZlcnRlZC52aW9sZXQuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2EyOTFmYjtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLnZpb2xldC5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLnZpb2xldC5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogIzY0MzVjOTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLnZpb2xldC5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnZpb2xldC5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjYTI5MWZiO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjYTI5MWZiO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAucHVycGxlLmxhYmVsOjpiZWZvcmUsXG4udWkucHVycGxlLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNhMzMzYzg7XG59XG4udWkucHVycGxlLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAucHVycGxlLmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNhMzMzYzg7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAuaW52ZXJ0ZWQucHVycGxlLmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNkYzczZmY7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC5wdXJwbGUuYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS5wdXJwbGUuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICNhMzMzYzg7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC5wdXJwbGUubGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5wdXJwbGUuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2RjNzNmZjtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLnB1cnBsZS5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogI2RjNzNmZjtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLnBpbmsubGFiZWw6OmJlZm9yZSxcbi51aS5waW5rLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNlMDM5OTc7XG59XG4udWkucGluay5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLnBpbmsuZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2UwMzk5Nztcbn1cbi51aS5pbnZlcnRlZC5waW5rLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAuaW52ZXJ0ZWQucGluay5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY4ZWRmO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAucGluay5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLnBpbmsuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICNlMDM5OTc7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC5waW5rLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQucGluay5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmY4ZWRmO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuaW52ZXJ0ZWQucGluay5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICNmZjhlZGY7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC5icm93bi5sYWJlbDo6YmVmb3JlLFxuLnVpLmJyb3duLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNhNTY3M2Y7XG59XG4udWkuYnJvd24uY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5icm93bi5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTU2NzNmO1xufVxuLnVpLmludmVydGVkLmJyb3duLmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAuaW52ZXJ0ZWQuYnJvd24uZXZlbnQ6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2Q2N2MxYztcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLmJyb3duLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkuYnJvd24uYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICNhNTY3M2Y7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC5icm93bi5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLmJyb3duLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNkNjdjMWM7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC5icm93bi5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZDY3YzFjO1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAuZ3JleS5sYWJlbDo6YmVmb3JlLFxuLnVpLmdyZXkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzc2NzY3Njtcbn1cbi51aS5ncmV5LmNvbm5lY3RlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4udWkuY29ubmVjdGVkLmZlZWQgPiAuZ3JleS5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLmludmVydGVkLmdyZXkuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5pbnZlcnRlZC5ncmV5LmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNkY2RkZGU7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC5ncmV5LmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkuZ3JleS5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogIzc2NzY3Njtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLmdyZXkubGFiZWw6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5ncmV5LmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNkY2RkZGU7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5pbnZlcnRlZC5ncmV5LmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogI2RjZGRkZTtcbn1cbi51aS51aS5mZWVkID4gLmV2ZW50ID4gLmJsYWNrLmxhYmVsOjpiZWZvcmUsXG4udWkuYmxhY2suZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbn1cbi51aS5ibGFjay5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuLnVpLmNvbm5lY3RlZC5mZWVkID4gLmJsYWNrLmV2ZW50OjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMxYjFjMWQ7XG59XG4udWkuaW52ZXJ0ZWQuYmxhY2suY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbi51aS5jb25uZWN0ZWQuZmVlZCA+IC5pbnZlcnRlZC5ibGFjay5ldmVudDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTQ1NDU0O1xufVxuLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAuYmxhY2suYmFzaWMubGFiZWw6OmJlZm9yZSxcbi51aS5ibGFjay5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLmJsYWNrLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQuYmxhY2suZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzU0NTQ1NDtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLmJsYWNrLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICM1NDU0NTQ7XG59XG4udWkudWkuZmVlZCA+IC5ldmVudCA+IC5iYXNpYy5sYWJlbDo6YmVmb3JlLFxuLnVpLnVpLnVpLmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi51aS5kaXNhYmxlZC5mZWVkLFxuLnVpLmZlZWQgLmRpc2FibGVkLmV2ZW50IHtcbiAgb3BhY2l0eTogMC40NTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEl0ZW1cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgSXRlbVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFZpZXdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBHcm91cCAqL1xuLyogSXRlbSAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbWFnZSAqL1xuLyogQ29udGVudCAqL1xuLyogSGVhZGVyICovXG4vKiBNZXRhZGF0YSAqL1xuLyogSWNvbnMgKi9cbi8qIEFjdGlvbnMgKi9cbi8qIExpbmtzICovXG4vKiBEZXNjcmlwdGlvbiAqL1xuLyogQ29udGVudCBJbWFnZSAqL1xuLyogQXZhdGFyIEltYWdlICovXG4vKiBQYXJhZ3JhcGggKi9cbi8qIEFkZGl0aW9uYWwgQ29udGVudCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFJlbGF4ZWQgKi9cbi8qIERpdmlkZWQgKi9cbi8qIFVuc3RhY2thYmxlICovXG4vKiBJbnZlcnRlZCAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEl0ZW1cbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLml0ZW1zID4gLml0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDFlbSAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2U7XG4gIHotaW5kZXg6IFwiXCI7XG59XG4udWkuaXRlbXMgPiAuaXRlbSBhIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEl0ZW1zXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pdGVtcyB7XG4gIG1hcmdpbjogMS41ZW0gMDtcbn1cbi51aS5pdGVtczpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi51aS5pdGVtczpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEl0ZW1cbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLml0ZW1zID4gLml0ZW06OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBoZWlnaHQ6IDA7XG4gIGNsZWFyOiBib3RoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkuaXRlbXMgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4udWkuaXRlbXMgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBJbWFnZXNcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1heC1oZWlnaHQ6IFwiXCI7XG4gIGFsaWduLXNlbGY6IHN0YXJ0O1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgPiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlOm9ubHktY2hpbGQgPiBpbWcge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LXNpemU6IDFlbTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCIgXCI7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlICsgLmNvbnRlbnQge1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGFsaWduLXNlbGY6IHN0YXJ0O1xuICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCA+IC5oZWFkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogLTAuMjE0MjVlbSAwIDA7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG59XG4vKiBEZWZhdWx0IEhlYWRlciBTaXplICovXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gLmhlYWRlcjpub3QoLnVpKSB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZsb2F0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pdGVtcyA+IC5pdGVtIFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0ge1xuICBmbG9hdDogbGVmdDtcbn1cbi51aS5pdGVtcyA+IC5pdGVtIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIENvbnRlbnQgSW1hZ2VcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pdGVtcyA+IC5pdGVtIC5jb250ZW50IGltZyB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgd2lkdGg6IFwiXCI7XG59XG4udWkuaXRlbXMgPiAuaXRlbSBpbWcuYXZhdGFyLFxuLnVpLml0ZW1zID4gLml0ZW0gLmF2YXRhciBpbWcge1xuICB3aWR0aDogXCJcIjtcbiAgaGVpZ2h0OiBcIlwiO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIERlc2NyaXB0aW9uXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gLmRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogMC42ZW07XG4gIG1heC13aWR0aDogbm9uZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODVlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IHAge1xuICBtYXJnaW46IDAgMCAwLjVlbTtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgTWV0YVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEge1xuICBtYXJnaW46IDAuNWVtIDAgMC41ZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEgKiB7XG4gIG1hcmdpbi1yaWdodDogMC4zZW07XG59XG4udWkuaXRlbXMgPiAuaXRlbSAubWV0YSA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi51aS5pdGVtcyA+IC5pdGVtIC5tZXRhIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMC4zZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogR2VuZXJpYyAqL1xuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCBhOm5vdCgudWkpIHtcbiAgY29sb3I6IFwiXCI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgYTpub3QoLnVpKTpob3ZlciB7XG4gIGNvbG9yOiBcIlwiO1xufVxuLyogSGVhZGVyICovXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gYS5oZWFkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiBhLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjMWU3MGJmO1xufVxuLyogTWV0YSAqL1xuLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEgPiBhOm5vdCgudWkpIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cbi51aS5pdGVtcyA+IC5pdGVtIC5tZXRhID4gYTpub3QoLnVpKTpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgTGFiZWxzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tU3Rhci0tLS0tICovXG4vKiBJY29uICovXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5mYXZvcml0ZS5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwLjc1O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5mYXZvcml0ZS5pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6ICNmZmI3MGE7XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5hY3RpdmUuZmF2b3JpdGUuaWNvbiB7XG4gIGNvbG9yOiAjZmZlNjIzO1xufVxuLyogLS0tLS1MaWtlLS0tLS0gKi9cbi8qIEljb24gKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmxpa2UuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC43NTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAubGlrZS5pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6ICNmZjI3MzM7XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5hY3RpdmUubGlrZS5pY29uIHtcbiAgY29sb3I6ICNmZjI3MzM7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tXG4gICAgICBFeHRyYSBDb250ZW50XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pdGVtcyA+IC5pdGVtIC5leHRyYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG1hcmdpbjogMC41cmVtIDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gLmV4dHJhID4gKiB7XG4gIG1hcmdpbjogMC4yNXJlbSAwLjVyZW0gMC4yNXJlbSAwO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gLmV4dHJhID4gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICBtYXJnaW46IDAuMjVyZW0gMCAwLjI1cmVtIDAuNXJlbTtcbn1cbi51aS5pdGVtcyA+IC5pdGVtIC5leHRyYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCIgXCI7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgUmVzcG9uc2l2ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIERlZmF1bHQgSW1hZ2UgV2lkdGggKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlOm5vdCgudWkpIHtcbiAgd2lkdGg6IDE3NXB4O1xufVxuLyogVGFibGV0IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudWkuaXRlbXMgPiAuaXRlbSB7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgfVxuICAudWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZTpub3QoLnVpKSB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICB9XG4gIC51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlICsgLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMCAwIDFlbTtcbiAgfVxufVxuLyogTW9iaWxlIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLml0ZW1zOm5vdCgudW5zdGFja2FibGUpID4gLml0ZW0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAyZW0gMDtcbiAgfVxuICAudWkuaXRlbXM6bm90KC51bnN0YWNrYWJsZSkgPiAuaXRlbSA+IC5pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC51aS5pdGVtczpub3QoLnVuc3RhY2thYmxlKSA+IC5pdGVtID4gLmltYWdlLFxuICAudWkuaXRlbXM6bm90KC51bnN0YWNrYWJsZSkgPiAuaXRlbSA+IC5pbWFnZSA+IGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXgtaGVpZ2h0OiAyNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5pdGVtczpub3QoLnVuc3RhY2thYmxlKSA+IC5pdGVtID4gLmltYWdlICsgLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuNWVtIDAgMDtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQWxpZ25lZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSArIFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXS5jb250ZW50IHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlICsgW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdLmNvbnRlbnQge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSArIFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXS5jb250ZW50IHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgUmVsYXhlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnJlbGF4ZWQuaXRlbXMgPiAuaXRlbSB7XG4gIG1hcmdpbjogMS41ZW0gMDtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uaXRlbXMgPiAuaXRlbSB7XG4gIG1hcmdpbjogMmVtIDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRGl2aWRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZGl2aWRlZC5pdGVtcyA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMWVtIDA7XG59XG4udWkuZGl2aWRlZC5pdGVtcyA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLnVpLmRpdmlkZWQuaXRlbXMgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLyogUmVsYXhlZCBEaXZpZGVkICovXG4udWkucmVsYXhlZC5kaXZpZGVkLml0ZW1zID4gLml0ZW0ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEuNWVtIDA7XG59XG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmRpdmlkZWQuaXRlbXMgPiAuaXRlbSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMmVtIDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBMaW5rXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pdGVtcyBhLml0ZW06aG92ZXIsXG4udWkubGluay5pdGVtcyA+IC5pdGVtOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnVpLml0ZW1zIGEuaXRlbTpob3ZlciAuY29udGVudCAuaGVhZGVyLFxuLnVpLmxpbmsuaXRlbXMgPiAuaXRlbTpob3ZlciAuY29udGVudCAuaGVhZGVyIHtcbiAgY29sb3I6ICMxZTcwYmY7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaXRlbXMgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLm1pbmkuaXRlbXMgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOWVtO1xufVxuLnVpLnRpbnkuaXRlbXMgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xufVxuLnVpLnNtYWxsLml0ZW1zID4gLml0ZW0ge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbn1cbi51aS5sYXJnZS5pdGVtcyA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG59XG4udWkuYmlnLml0ZW1zID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjllbTtcbn1cbi51aS5odWdlLml0ZW1zID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNlbTtcbn1cbi51aS5tYXNzaXZlLml0ZW1zID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFVuc3RhY2thYmxlXG4gICAgLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkudW5zdGFja2FibGUuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSxcbiAgLnVpLnVuc3RhY2thYmxlLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgPiBpbWcge1xuICAgIHdpZHRoOiAxMjVweCAhaW1wb3J0YW50O1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4udWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtIC5leHRyYSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4udWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gLmhlYWRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gLmRlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtIC5tZXRhIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cbi51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgYTpub3QoLnVpKSB7XG4gIGNvbG9yOiAjNTdhNGVmO1xufVxuLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCBhOm5vdCgudWkpOmhvdmVyIHtcbiAgY29sb3I6ICM0MTgzYzQ7XG59XG4udWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gYS5oZWFkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCA+IGEuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSAubWV0YSA+IGE6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gLm1ldGEgPiBhOm5vdCgudWkpOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmZhdm9yaXRlLmljb246aG92ZXIge1xuICBjb2xvcjogI2ZmYzYzZDtcbn1cbi51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmFjdGl2ZS5mYXZvcml0ZS5pY29uIHtcbiAgY29sb3I6ICNmZmVjNTY7XG59XG4udWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5saWtlLmljb246aG92ZXIge1xuICBjb2xvcjogI2ZmNWE2Mztcbn1cbi51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmFjdGl2ZS5saWtlLmljb24ge1xuICBjb2xvcjogI2ZmNWE2Mztcbn1cbi51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtIC5leHRyYSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWkuaW52ZXJ0ZWQuaXRlbXMgYS5pdGVtOmhvdmVyIC5jb250ZW50IC5oZWFkZXIsXG4udWkuaW52ZXJ0ZWQubGluay5pdGVtcyA+IC5pdGVtOmhvdmVyIC5jb250ZW50IC5oZWFkZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS5pbnZlcnRlZC5kaXZpZGVkLml0ZW1zID4gLml0ZW0ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLnVpLmludmVydGVkLmRpdmlkZWQuaXRlbXMgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4udWkuZGlzYWJsZWQuaXRlbXMsXG4udWkuaXRlbXMgPiAuZGlzYWJsZWQuaXRlbSB7XG4gIG9wYWNpdHk6IDAuNDU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBTdGF0aXN0aWNcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFN0YXRpc3RpY1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFZpZXdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBHcm91cCAqL1xuLyogR3JvdXAgRWxlbWVudCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBWYWx1ZSAqL1xuLyogTGFiZWwgKi9cbi8qIFRleHQgKi9cbi8qIExhYmVsIEltYWdlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGbG9hdGVkICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSXRlbSBXaWR0aCAqL1xuLyogU3RhY2thYmxlICovXG4vKiBTaXplICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBTdGF0aXN0aWNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBTdGFuZGFsb25lICovXG4udWkuc3RhdGlzdGljIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMWVtIDA7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi51aS5zdGF0aXN0aWMgKyAudWkuc3RhdGlzdGljIHtcbiAgbWFyZ2luOiAwIDAgMCAxLjVlbTtcbn1cbi51aS5zdGF0aXN0aWM6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLnN0YXRpc3RpYzpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBHcm91cFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdyb3VwZWQgKi9cbi51aS5zdGF0aXN0aWNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi51aS5zdGF0aXN0aWNzID4gLnN0YXRpc3RpYyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwIDEuNWVtIDFlbTtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLnVpLnN0YXRpc3RpY3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDFlbSAtMS41ZW0gLTFlbTtcbn1cbi8qIENsZWFyaW5nICovXG4udWkuc3RhdGlzdGljczo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCIgXCI7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi51aS5zdGF0aXN0aWNzOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhbHVlXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgY29sb3I6ICMxYjFjMWQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIExhYmVsXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAubGFiZWwsXG4udWkuc3RhdGlzdGljID4gLmxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qIFRvcCBMYWJlbCAqL1xuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC5sYWJlbCB+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWMgPiAubGFiZWwgfiAudmFsdWUge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLyogQm90dG9tIExhYmVsICovXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlIH4gLmxhYmVsLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSB+IC5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEljb24gVmFsdWVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSA+IGkuaWNvbixcbi51aS5zdGF0aXN0aWMgPiAudmFsdWUgPiBpLmljb24ge1xuICBvcGFjaXR5OiAxO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgIFRleHQgVmFsdWVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlLFxuLnVpLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlIHtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgbWluLWhlaWdodDogMmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlICsgLmxhYmVsLFxuLnVpLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlICsgLmxhYmVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEltYWdlIFZhbHVlXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUgaW1nLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSBpbWcge1xuICBtYXgtaGVpZ2h0OiAzcmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBDb3VudFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkudGVuLnN0YXRpc3RpY3Mge1xuICBtYXJnaW46IDAgMCAtMWVtO1xufVxuLnVpLnRlbi5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IDEwJTtcbiAgbWFyZ2luOiAwIDAgMWVtO1xufVxuLnVpLm5pbmUuc3RhdGlzdGljcyB7XG4gIG1hcmdpbjogMCAwIC0xZW07XG59XG4udWkubmluZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IDExLjExMTExMTExJTtcbiAgbWFyZ2luOiAwIDAgMWVtO1xufVxuLnVpLmVpZ2h0LnN0YXRpc3RpY3Mge1xuICBtYXJnaW46IDAgMCAtMWVtO1xufVxuLnVpLmVpZ2h0LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gIG1pbi13aWR0aDogMTIuNSU7XG4gIG1hcmdpbjogMCAwIDFlbTtcbn1cbi51aS5zZXZlbi5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiAwIDAgLTFlbTtcbn1cbi51aS5zZXZlbi5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IDE0LjI4NTcxNDI5JTtcbiAgbWFyZ2luOiAwIDAgMWVtO1xufVxuLnVpLnNpeC5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiAwIDAgLTFlbTtcbn1cbi51aS5zaXguc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgbWluLXdpZHRoOiAxNi42NjY2NjY2NyU7XG4gIG1hcmdpbjogMCAwIDFlbTtcbn1cbi51aS5maXZlLnN0YXRpc3RpY3Mge1xuICBtYXJnaW46IDAgMCAtMWVtO1xufVxuLnVpLmZpdmUuc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgbWluLXdpZHRoOiAyMCU7XG4gIG1hcmdpbjogMCAwIDFlbTtcbn1cbi51aS5mb3VyLnN0YXRpc3RpY3Mge1xuICBtYXJnaW46IDAgMCAtMWVtO1xufVxuLnVpLmZvdXIuc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgbWluLXdpZHRoOiAyNSU7XG4gIG1hcmdpbjogMCAwIDFlbTtcbn1cbi51aS50aHJlZS5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiAwIDAgLTFlbTtcbn1cbi51aS50aHJlZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgbWFyZ2luOiAwIDAgMWVtO1xufVxuLnVpLnR3by5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiAwIDAgLTFlbTtcbn1cbi51aS50d28uc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgbWluLXdpZHRoOiA1MCU7XG4gIG1hcmdpbjogMCAwIDFlbTtcbn1cbi51aS5vbmUuc3RhdGlzdGljcyB7XG4gIG1hcmdpbjogMCAwIC0xZW07XG59XG4udWkub25lLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIDAgMWVtO1xufVxuLnVpLmZsdWlkLnN0YXRpc3RpYyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBIb3Jpem9udGFsXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWMge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljcyB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXJnaW46IDFlbSAwO1xufVxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzID4gLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlIHtcbiAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xufVxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlID4gaS5pY29uLFxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlID4gaS5pY29uIHtcbiAgd2lkdGg6IDEuMThlbTtcbn1cbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC5sYWJlbCxcbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMCAwLjc1ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmludmVydGVkLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5zdGF0aXN0aWMgLnZhbHVlIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLmxhYmVsLFxuLnVpLmludmVydGVkLnN0YXRpc3RpYyAubGFiZWwge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5wcmltYXJ5LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5wcmltYXJ5LnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5wcmltYXJ5LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLmludmVydGVkLnByaW1hcnkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLnByaW1hcnkuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLnByaW1hcnkuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICM1NGM4ZmY7XG59XG4udWkuc2Vjb25kYXJ5LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5zZWNvbmRhcnkuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnNlY29uZGFyeS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogIzg4ZDMxNztcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLnNlY29uZGFyeS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjNTQ1NDU0O1xufVxuLnVpLnJlZC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAucmVkLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5yZWQuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG4udWkuaW52ZXJ0ZWQucmVkLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC5yZWQuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLnJlZC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI2ZmNjk1ZTtcbn1cbi51aS5vcmFuZ2Uuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLm9yYW5nZS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkub3JhbmdlLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQub3JhbmdlLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5vcmFuZ2Uuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNmZjg1MWI7XG59XG4udWkueWVsbG93LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC55ZWxsb3cuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnllbGxvdy5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI2ZiYmQwODtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLnllbGxvdy5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjZmZlMjFmO1xufVxuLnVpLm9saXZlLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5vbGl2ZS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkub2xpdmUuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNiNWNjMTg7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLm9saXZlLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5vbGl2ZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI2Q5ZTc3ODtcbn1cbi51aS5ncmVlbi5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuZ3JlZW4uc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmdyZWVuLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLmludmVydGVkLmdyZWVuLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC5ncmVlbi5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICMyZWNjNDA7XG59XG4udWkudGVhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAudGVhbC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkudGVhbC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogIzAwYjVhZDtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC50ZWFsLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC50ZWFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjNmRmZmZmO1xufVxuLnVpLmJsdWUuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmJsdWUuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmJsdWUuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICMyMTg1ZDA7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQuYmx1ZS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogIzU0YzhmZjtcbn1cbi51aS52aW9sZXQuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLnZpb2xldC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkudmlvbGV0LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLmludmVydGVkLnZpb2xldC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQudmlvbGV0LnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC52aW9sZXQuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNhMjkxZmI7XG59XG4udWkucHVycGxlLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5wdXJwbGUuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnB1cnBsZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI2EzMzNjODtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLnB1cnBsZS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQucHVycGxlLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjZGM3M2ZmO1xufVxuLnVpLnBpbmsuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLnBpbmsuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnBpbmsuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNlMDM5OTc7XG59XG4udWkuaW52ZXJ0ZWQucGluay5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQucGluay5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQucGluay5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI2ZmOGVkZjtcbn1cbi51aS5icm93bi5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuYnJvd24uc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmJyb3duLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjYTU2NzNmO1xufVxuLnVpLmludmVydGVkLmJyb3duLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC5icm93bi5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQuYnJvd24uc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNkNjdjMWM7XG59XG4udWkuZ3JleS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuZ3JleS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuZ3JleS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogIzc2NzY3Njtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC5ncmV5LnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5ncmV5LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjZGNkZGRlO1xufVxuLnVpLmJsYWNrLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5ibGFjay5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuYmxhY2suc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4udWkuaW52ZXJ0ZWQuYmxhY2suc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLmJsYWNrLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5ibGFjay5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogIzU0NTQ1NDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZsb2F0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aVtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0uc3RhdGlzdGljIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAyZW0gMWVtIDA7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXS5zdGF0aXN0aWMge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMCAwIDFlbSAyZW07XG59XG4udWkuZmxvYXRlZC5zdGF0aXN0aWM6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGFja2FibGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLnN0YWNrYWJsZS5zdGF0aXN0aWNzIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5zdGFja2FibGUuc3RhdGlzdGljcyA+IC5zdGF0aXN0aWMge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMXJlbSAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1lZGl1bSAqL1xuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IDRyZW07XG59XG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IDNyZW07XG59XG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICBmb250LXNpemU6IDJyZW07XG59XG4udWkubWluaS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkubWluaS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IDEuNXJlbTtcbn1cbi51aS5taW5pLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLm1pbmkuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IDEuNXJlbTtcbn1cbi51aS5taW5pLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlLFxuLnVpLm1pbmkuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkudGlueS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkudGlueS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IDJyZW07XG59XG4udWkudGlueS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS50aW55Lmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuLnVpLnRpbnkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkudGlueS5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5zbWFsbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc21hbGwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiAzcmVtO1xufVxuLnVpLnNtYWxsLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnNtYWxsLmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuLnVpLnNtYWxsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlLFxuLnVpLnNtYWxsLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLmxhcmdlLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5sYXJnZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IDVyZW07XG59XG4udWkubGFyZ2UuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkubGFyZ2UuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IDRyZW07XG59XG4udWkubGFyZ2Uuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkubGFyZ2Uuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICBmb250LXNpemU6IDIuNXJlbTtcbn1cbi51aS5iaWcuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmJpZy5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IDUuNXJlbTtcbn1cbi51aS5iaWcuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuYmlnLmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiA0LjVyZW07XG59XG4udWkuYmlnLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlLFxuLnVpLmJpZy5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xufVxuLnVpLmh1Z2Uuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmh1Z2Uuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiA2cmVtO1xufVxuLnVpLmh1Z2UuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaHVnZS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogNXJlbTtcbn1cbi51aS5odWdlLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlLFxuLnVpLmh1Z2Uuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICBmb250LXNpemU6IDIuNXJlbTtcbn1cbi51aS5tYXNzaXZlLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5tYXNzaXZlLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogN3JlbTtcbn1cbi51aS5tYXNzaXZlLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLm1hc3NpdmUuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IDZyZW07XG59XG4udWkubWFzc2l2ZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSxcbi51aS5tYXNzaXZlLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlIHtcbiAgZm9udC1zaXplOiAzcmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBNb2R1bGVzICovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBBY2NvcmRpb25cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEFjY29yZGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRpdGxlICovXG4vKiBJY29uICovXG4vKiBDaGlsZCBBY2NvcmRpb24gKi9cbi8qIENvbnRlbnQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU3R5bGVkICovXG4vKiBDb250ZW50ICovXG4vKiBDaGlsZCBDb250ZW50ICovXG4vKiBTdHlsZWQgVGl0bGUgKi9cbi8qIFN0eWxlZCBUaXRsZSBTdGF0ZXMgKi9cbi8qIFN0eWxlZCBDaGlsZCBUaXRsZSBTdGF0ZXMgKi9cbi8qIEludmVydGVkICovXG4vKiBDb21wYWN0ICovXG4vKiBWZXJ5IENvbXBhY3QgKi9cbi8qIFN0eWxlZCBDb21wYWN0ICovXG4vKiBTdHlsZWQgVmVyeSBDb21wYWN0ICovXG4vKiBCYXNpYyBTdHlsZWQgKi9cbi8qIFRyZWUgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBBY2NvcmRpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuYWNjb3JkaW9uLFxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgbWFyZ2luOiAxZW0gMCAwO1xuICBwYWRkaW5nOiAwO1xufVxuLyogVGl0bGUgKi9cbi51aS5hY2NvcmRpb24ubWVudSAuaXRlbSA+IC50aXRsZSxcbi51aS5hY2NvcmRpb24gPiAudGl0bGUsXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAudGl0bGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDAuNWVtIDA7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDFlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLyogRGVmYXVsdCBTdHlsaW5nICovXG4udWkuYWNjb3JkaW9uOm5vdCguc3R5bGVkKSAudGl0bGUgfiAuY29udGVudCxcbi51aS5hY2NvcmRpb246bm90KC5zdHlsZWQpIC5hY2NvcmRpb24gLnRpdGxlIH4gLmNvbnRlbnQge1xuICBtYXJnaW46IFwiXCI7XG4gIHBhZGRpbmc6IDAuNWVtIDAgMWVtO1xufVxuLnVpLmFjY29yZGlvbjpub3QoLnN0eWxlZCkgLnRpdGxlIH4gLmNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLyogQXJyb3cgKi9cbi51aS5hY2NvcmRpb24gLnVpLmhlYWRlciA+IC5kcm9wZG93bi5pY29uLFxuLnVpLmFjY29yZGlvbiAudGl0bGUgPiAuZHJvcGRvd24uaWNvbixcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGUgPiAuZHJvcGRvd24uaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIG9wYWNpdHk6IDE7XG4gIHdpZHRoOiAxLjI1ZW07XG4gIGhlaWdodDogMWVtO1xuICBtYXJnaW46IDAgMC4yNXJlbSAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlLCBvcGFjaXR5IDAuMXMgZWFzZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG4udWkuYWNjb3JkaW9uIC51aS5oZWFkZXIgPiAuZHJvcGRvd24uaWNvbi5yaWdodCxcbi51aS5hY2NvcmRpb24gLnRpdGxlID4gLmRyb3Bkb3duLmljb24ucmlnaHQsXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24gLnRpdGxlID4gLmRyb3Bkb3duLmljb24ucmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1lbnUgKi9cbi51aS5hY2NvcmRpb24ubWVudSAuaXRlbSAudGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbn1cbi51aS5hY2NvcmRpb24ubWVudSAuaXRlbSAudGl0bGUgPiAuZHJvcGRvd24uaWNvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwIDAuMjVyZW0gMCAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuLyogSGVhZGVyICovXG4udWkuYWNjb3JkaW9uIC51aS5oZWFkZXIgPiAuZHJvcGRvd24uaWNvbiB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBtYXJnaW46IDAgMC4yNXJlbSAwIDA7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmFjY29yZGlvbltvcGVuXSA+IC50aXRsZSA+IC5kcm9wZG93bi5pY29uLFxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uW29wZW5dID4gLnRpdGxlID4gLmRyb3Bkb3duLmljb24sXG4udWkuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUgPiAuZHJvcGRvd24uaWNvbixcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlID4gLmRyb3Bkb3duLmljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG4udWkuYWNjb3JkaW9uLm1lbnUgLml0ZW0gLmFjdGl2ZS50aXRsZSA+IC5kcm9wZG93bi5pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFN0eWxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnN0eWxlZC5hY2NvcmRpb24ge1xuICB3aWR0aDogNjAwcHg7XG59XG4udWkuc3R5bGVkLmFjY29yZGlvbixcbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24ge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpLCAwIDAgMCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5zdHlsZWQuYWNjb3JkaW9uID4gLnRpdGxlLFxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC50aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZSwgY29sb3IgMC4xcyBlYXNlO1xufVxuLnVpLnN0eWxlZC5hY2NvcmRpb24gPiAudGl0bGU6Zmlyc3QtY2hpbGQsXG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi8qIENvbnRlbnQgKi9cbi51aS5zdHlsZWQuYWNjb3JkaW9uID4gLmNvbnRlbnQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuNWVtIDFlbSAxLjVlbTtcbn1cbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAuY29udGVudCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC41ZW0gMWVtIDEuNWVtO1xufVxuLyogSG92ZXIgKi9cbi51aS5zdHlsZWQuYWNjb3JkaW9uID4gLnRpdGxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC50aXRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIEFjdGl2ZSAqL1xuLnVpLnN0eWxlZC5hY2NvcmRpb25bb3Blbl0gPiAudGl0bGUsXG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbltvcGVuXSA+IC50aXRsZSxcbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBDb21wYWN0XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IFN0eWxpbmcgKi9cbi51aS5jb21wYWN0LmFjY29yZGlvbjpub3QoLnN0eWxlZCkgPiAudGl0bGUsXG4udWkuY29tcGFjdC5hY2NvcmRpb246bm90KC5zdHlsZWQpIC5hY2NvcmRpb24gPiAudGl0bGUge1xuICBwYWRkaW5nOiAwLjI1ZW0gMDtcbn1cbi51aS5jb21wYWN0LmFjY29yZGlvbjpub3QoLnN0eWxlZCkgLnRpdGxlIH4gLmNvbnRlbnQsXG4udWkuY29tcGFjdC5hY2NvcmRpb246bm90KC5zdHlsZWQpIC5hY2NvcmRpb24gLnRpdGxlIH4gLmNvbnRlbnQge1xuICBwYWRkaW5nOiAwLjI1ZW0gMCAwLjVlbTtcbn1cbi8qIFN0eWxlZCAqL1xuLnVpLmNvbXBhY3Quc3R5bGVkLmFjY29yZGlvbiA+IC50aXRsZSxcbi51aS5jb21wYWN0LnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC50aXRsZSB7XG4gIHBhZGRpbmc6IDAuMzc1ZW0gMC41ZW07XG59XG4udWkuY29tcGFjdC5zdHlsZWQuYWNjb3JkaW9uIC50aXRsZSB+IC5jb250ZW50LFxuLnVpLmNvbXBhY3Quc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIC50aXRsZSB+IC5jb250ZW50IHtcbiAgcGFkZGluZzogMC4yNWVtIDAuNWVtIDAuNzVlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgVmVyeSBDb21wYWN0XG4gIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5hY2NvcmRpb246bm90KC5zdHlsZWQpID4gLnRpdGxlLFxuLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5hY2NvcmRpb246bm90KC5zdHlsZWQpIC5hY2NvcmRpb24gPiAudGl0bGUge1xuICBwYWRkaW5nOiAwLjEyNWVtIDA7XG59XG4udWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmFjY29yZGlvbjpub3QoLnN0eWxlZCkgLnRpdGxlIH4gLmNvbnRlbnQsXG4udWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmFjY29yZGlvbjpub3QoLnN0eWxlZCkgLmFjY29yZGlvbiAudGl0bGUgfiAuY29udGVudCB7XG4gIHBhZGRpbmc6IDAuMTI1ZW0gMCAwLjI1ZW07XG59XG4udWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnN0eWxlZC5hY2NvcmRpb24gPiAudGl0bGUsXG4udWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC50aXRsZSB7XG4gIHBhZGRpbmc6IDAuMTg3NWVtIDAuMjVlbTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0uc3R5bGVkLmFjY29yZGlvbiAudGl0bGUgfiAuY29udGVudCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0uc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIC50aXRsZSB+IC5jb250ZW50IHtcbiAgcGFkZGluZzogMC4xMjVlbSAwLjI1ZW0gMC4zNzVlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgTm90IEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYWNjb3JkaW9uOm5vdChkZXRhaWxzKSAudGl0bGUgfiAuY29udGVudDpub3QoLmFjdGl2ZSksXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb246bm90KGRldGFpbHMpIC50aXRsZSB+IC5jb250ZW50Om5vdCguYWN0aXZlKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZsdWlkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmx1aWQuYWNjb3JkaW9uLFxuLnVpLmZsdWlkLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbnZlcnRlZC5hY2NvcmRpb24ubWVudSAuaXRlbSA+IC50aXRsZSxcbi51aS5pbnZlcnRlZC5hY2NvcmRpb24gPiAudGl0bGUsXG4udWkuaW52ZXJ0ZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAudGl0bGUge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLnN0eWxlZC5hY2NvcmRpb24sXG4udWkuaW52ZXJ0ZWQuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSwgMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi51aS5pbnZlcnRlZC5zdHlsZWQuYWNjb3JkaW9uID4gLnRpdGxlLFxuLnVpLmludmVydGVkLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC50aXRsZSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4vKiBIb3ZlciAqL1xuLnVpLmludmVydGVkLnN0eWxlZC5hY2NvcmRpb24gPiAudGl0bGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAudGl0bGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi8qIEFjdGl2ZSAqL1xuLnVpLmludmVydGVkLnN0eWxlZC5hY2NvcmRpb25bb3Blbl0gPiAudGl0bGUsXG4udWkuaW52ZXJ0ZWQuc3R5bGVkLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLmludmVydGVkLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbltvcGVuXSA+IC50aXRsZSxcbi51aS5pbnZlcnRlZC5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uLFxuLnVpLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gPiAudGl0bGUsXG4udWkuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlIHtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLnVpLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gPiAudGl0bGU6aG92ZXIsXG4udWkuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmJhc2ljLnN0eWxlZC5hY2NvcmRpb25bb3Blbl0gPiAudGl0bGUsXG4udWkuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlLFxuLnVpLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbltvcGVuXSA+IC50aXRsZSxcbi51aS5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi51aS5pbnZlcnRlZC5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uID4gLnRpdGxlLFxuLnVpLmludmVydGVkLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC50aXRsZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xufVxuLnVpLmludmVydGVkLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gPiAudGl0bGU6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuYmFzaWMuc3R5bGVkLmFjY29yZGlvbltvcGVuXSA+IC50aXRsZSxcbi51aS5pbnZlcnRlZC5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUsXG4udWkuaW52ZXJ0ZWQuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uW29wZW5dID4gLnRpdGxlLFxuLnVpLmludmVydGVkLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLnRyZWUuYWNjb3JkaW9uOm5vdCguc3R5bGVkKSAudGl0bGUgfiAuY29udGVudCxcbi51aS50cmVlLmFjY29yZGlvbjpub3QoLnN0eWxlZCkgLmFjY29yZGlvbiAudGl0bGUgfiAuY29udGVudCB7XG4gIHBhZGRpbmc6IDA7XG59XG4udWkudHJlZS5hY2NvcmRpb24gPiAuY29udGVudCxcbi51aS50cmVlLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLmNvbnRlbnQge1xuICBtYXJnaW4tbGVmdDogMS43ZW07XG59XG4udWkudHJlZS5hY2NvcmRpb24gLmFjY29yZGlvbiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBBY2NvcmRpb247XG4gIHNyYzogdXJsKFwiZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7YmFzZTY0LGQwOUdSazlVVkU4QUFBUkVBQXNBQUFBQUJrQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCRFJrWWdBQUFDN0FBQUFRb0FBQUUvai9meHdVWkdWRTBBQUFRVUFBQUFIQUFBQUJ5TnF2eFFSMFJGUmdBQUEvZ0FBQUFjQUFBQUlBQW5BQmhQVXk4eUFBQUJZQUFBQUVJQUFBQmdUYWRXNW1OdFlYQUFBQUtNQUFBQVVRQUFBV0FGWnVLRGFHVmhaQUFBQVFnQUFBQXlBQUFBTmc4elQ4dG9hR1ZoQUFBQlBBQUFBQm9BQUFBa0Fwa0E1bWh0ZEhnQUFBUXdBQUFBRXdBQUFCWUJ0d0FTYldGNGNBQUFBVmdBQUFBR0FBQUFCZ0FHVUFCdVlXMWxBQUFCcEFBQUFPWUFBQUdxL0hBaFdYQnZjM1FBQUFMZ0FBQUFEQUFBQUNBQUF3QUFlSnhqWUdSZ1lBRGk4S1dSc3ZIOE5sOFp1SmtZUU9EODM4WHZRUFQ5aEd4TklPWEpzSjB4RDBoek1JQ2xBUnpzQ2NvQUFIaWNZMkJrWUdCODhQOEJrR1FBZyswd0JoeXdBZ0JnamdPQUFBQUFBRkFBQUFZQUFIaWNZMkJtT004NGdZR1ZnWUhSaHpHTmdZSEJIVXAvWlpCa2FHRkFCWXdDU0p5QU5OY1VCZ2NHaGcrM0dCLzhmd0NVZk1DZ0FGSURWNkFBaEl3QVJWY01Kd0FBZUp4MWpyRk93ekFVUlUvU05LZ0ZJVmdRNnVTUktXb2xaamFRT25RQnFRTmIybHBScE1xVzNIVG93aGV3OFU5SS9CVTM3V09qdG15ZmQvM3V0WUVidnNuNEc3bHhSc210Y2M0RkQ4WUQ2VS9HaGZqTmVNZ2x5YmpVL0RRZU0rRkhycXdZMlFzbnpyZ1NuVGpubW52amdmU3BjU0YrTmg1eXg3dHhLZjNEZU13algzMXNvcWFqSmRDb3FMczI2SHpGcTl5ejFXVlM2WnY5dGs1bm12OFZsMHBJN0NSSFhUaG1WUG9mUzU5MmJReHVWazNQR0YrT2hrNldSaEhoR05PM2VUYlNWaHkwejFtcmE2SFY5MVl5eGRDNXhnZXZGTDl4cTRPYnIrTWl4bER4Qy9IVE9yc0FBSGljWTJCZ1lHYUFZQmtHUmdZUWlBTHlHTUY4RmdZN0lNM0Z3TUhBQklTTURBb2ZidjMvKy84L1dKWENoNXRnTnVQL3gyQStSQzhiVUMwRFVCOHJXSWdOaUprWThBSm0vTkpESGdBQUxxb094Z0FBQUhpY1kyQm13QXNBQUgwQUJIaWNQWTdCU3NOQUVJWm5razJ6bGhnMUpLQVl4T3JKaTZSZXBNZEM4U0tlZkFKUDRrVkJ6Q3RrTnc3WmplSzFqOUMzOFJuNkNPNUNEcnBwaWd3TU04UC9mLzhnTUFhSUdMNCt2RDA5UHdKNmdMQ3dwMkFuYU04OGUrN2JRMGFSVHhFN0djUFJmZkpMOUQ5RUlYMmJXK3NGT1h6dTVRRDdPU3dQY3VBNVhpZXcwNU44Q0lERExpU1F1VHFHU1ZtVTAvS3FLRytLeGF4djgrbGxNVVJ2SHdCQWdSSnJmRWVDRWFMbnM5SGRSeHpIUC9GcWFWNHlhcHRXSzI1U2t3Wkt1NFZhMHJVU1dqWVZWYno3Q3FtcWhaQlNpTm9kcUdxazVsMnZGcXJXMVBKNHRXYkdxWnhWS2EzMWh0QTZnbU4yYVRCd0JvYnp1WXNVMVlZa0doZXlaVkJxTGpLS3huOGNTbXZ1QUFCNG5HTmdaR0JnNEFGaUFRWUpCaVlnelFMRUlKb1JnZ0VGYlFCQUFBQUFBUUFBQUFEZVRPMDRBQUFBQU0vOW8rNEFBQUFBMzJCcktYaWNZMkJBQUVZUXNaMUJpSUVCQUFQcEFNc0FcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLyogRHJvcGRvd24gSWNvbiAqL1xuLnVpLmFjY29yZGlvbiAudWkuaGVhZGVyID4gLmRyb3Bkb3duLmljb24sXG4udWkuYWNjb3JkaW9uIC50aXRsZSA+IC5kcm9wZG93bi5pY29uLFxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIC50aXRsZSA+IC5kcm9wZG93bi5pY29uIHtcbiAgZm9udC1mYW1pbHk6IEFjY29yZGlvbjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWkuYWNjb3JkaW9uIC51aS5oZWFkZXIgPiAuZHJvcGRvd24uaWNvbjo6YmVmb3JlLFxuLnVpLmFjY29yZGlvbiAudGl0bGUgPiAuZHJvcGRvd24uaWNvbjo6YmVmb3JlLFxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIC50aXRsZSA+IC5kcm9wZG93bi5pY29uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkYVwiIC8qIHJ0bDogXCJcXGYwZDlcIiAqLztcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFVzZXIgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gQ2FsZW5kYXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENhbGVuZGFyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgUG9wdXBcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuY2FsZW5kYXIucG9wdXAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4udWkuY2FsZW5kYXIucG9wdXAuaW52ZXJ0ZWQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMyYjJiMmI7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ2FsZW5kYXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuY2FsZW5kYXIgLmNhbGVuZGFyOmZvY3VzLFxuLnVpLmNhbGVuZGFyLnBvcHVwOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBHcmlkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmNhbGVuZGFyLnBvcHVwIC51aS5ncmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4udWkuY2FsZW5kYXIucG9wdXAgLnVpLmdyaWQgPiAuY29sdW1uIHtcbiAgd2lkdGg6IGF1dG87XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGFibGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlLnllYXIsXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlLm1vbnRoLFxuLnVpLmNhbGVuZGFyIC51aS50YWJsZS5taW51dGUge1xuICBtaW4td2lkdGg6IDE1ZW07XG59XG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlLmRheSB7XG4gIG1pbi13aWR0aDogMThlbTtcbn1cbi51aS5jYWxlbmRhciAudWkudGFibGUuZGF5LmFuZHdlZWsge1xuICBtaW4td2lkdGg6IDIyZW07XG59XG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlLmhvdXIge1xuICBtaW4td2lkdGg6IDIwZW07XG59XG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRoLFxuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0ciB0ZCB7XG4gIHBhZGRpbmc6IDAuNWVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0ciB0aCB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0ciB0aCBpLmljb24ge1xuICBtYXJnaW46IDA7XG59XG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyOmZpcnN0LWNoaWxkIHRoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlLmRheSB0cjpmaXJzdC1jaGlsZCB0aCB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS5jYWxlbmRhciAudWkudGFibGUuZGF5IHRyOm50aC1jaGlsZCgyKSB0aCB7XG4gIHBhZGRpbmctdG9wOiAwLjJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuM2VtO1xufVxuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0ciB0ZCB7XG4gIHBhZGRpbmctbGVmdDogMC4xZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuMWVtO1xufVxuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0ciAubGluayB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi51aS5jYWxlbmRhciAudWkudGFibGUgdHIgLnByZXYubGluayB7XG4gIHdpZHRoOiAxNC4yODU3MTQyOSU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbn1cbi51aS5jYWxlbmRhciAudWkudGFibGUgdHIgLm5leHQubGluayB7XG4gIHdpZHRoOiAxNC4yODU3MTQyOSU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG59XG4udWkudWkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIC5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGNvbG9yOiByZ2JhKDQwLCA0MCwgNDAsIDAuMyk7XG59XG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIC5hZGphY2VudDpub3QoLmRpc2FibGVkKTpub3QoLmFjdGl2ZSkge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDMpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jYWxlbmRhciAudWkudGFibGUgdHIgdGQudG9kYXkge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi51aS5jYWxlbmRhciAudWkudGFibGUgdHIgdGQucmFuZ2Uge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5jYWxlbmRhcjpub3QoLmRpc2FibGVkKTpmb2N1cyAudWkudGFibGUgdGJvZHkgdHIgdGQuZm9jdXMsXG4udWkuY2FsZW5kYXI6bm90KC5kaXNhYmxlZCkucG9wdXAuYWN0aXZlIC51aS50YWJsZSB0Ym9keSB0ciB0ZC5mb2N1cyB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAjODViN2Q5O1xufVxuLnVpLmludmVydGVkLmNhbGVuZGFyIC51aS50YWJsZS5pbnZlcnRlZCB0ciB0ZC5yYW5nZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmludmVydGVkLmNhbGVuZGFyOm5vdCguZGlzYWJsZWQpIC5jYWxlbmRhcjpmb2N1cyAudWkudGFibGUuaW52ZXJ0ZWQgdGJvZHkgdHIgdGQuZm9jdXMsXG4udWkuaW52ZXJ0ZWQuY2FsZW5kYXI6bm90KC5kaXNhYmxlZCkucG9wdXAuYWN0aXZlIC51aS50YWJsZS5pbnZlcnRlZCB0Ym9keSB0ciB0ZC5mb2N1cyB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAjODViN2Q5O1xufVxuLnVpLmludmVydGVkLmNhbGVuZGFyIC51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ciAuZGlzYWJsZWQge1xuICBjb2xvcjogcmdiYSgyMjUsIDIyNSwgMjI1LCAwLjMpO1xufVxuLnVpLmludmVydGVkLmNhbGVuZGFyIC51aS5pbnZlcnRlZC50YWJsZSB0ciAuYWRqYWNlbnQ6bm90KC5kaXNhYmxlZCk6bm90KC5hY3RpdmUpIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyKTtcbn1cbi51aS51aS51aS5jYWxlbmRhci5wb3B1cCA+IC51aS51aS5ncmlkIHtcbiAgbWFyZ2luOiAtMXJlbTtcbn1cbi51aS51aS51aS5jYWxlbmRhci5wb3B1cCA+IC51aS51aS5ncmlkID4gLmNvbHVtbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi51aS51aS51aS5jYWxlbmRhci5wb3B1cCA+IC51aS51aS5ncmlkID4gLmNvbHVtbjpub3QoOmZpcnN0LWNoaWxkKSA+IC51aS50YWJsZSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4udWkudWkudWkuY2FsZW5kYXIucG9wdXAgPiAudWkudWkuZ3JpZCA+IC5jb2x1bW46bm90KDpsYXN0LWNoaWxkKSB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG4udWkudWkudWkuY2FsZW5kYXIucG9wdXAgPiAudWkudWkuZ3JpZCA+IC5jb2x1bW46bm90KDpsYXN0LWNoaWxkKSA+IC51aS50YWJsZSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5taW5pLmNhbGVuZGFyLFxuLnVpLm1pbmkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRoLFxuLnVpLm1pbmkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRkIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLm1pbmkuY2FsZW5kYXIgLnVpLnRhYmxlLnllYXIsXG4udWkubWluaS5jYWxlbmRhciAudWkudGFibGUubW9udGgsXG4udWkubWluaS5jYWxlbmRhciAudWkudGFibGUubWludXRlIHtcbiAgbWluLXdpZHRoOiAxMS43ODU3MTQyOWVtO1xufVxuLnVpLm1pbmkuY2FsZW5kYXIgLnVpLnRhYmxlLmRheSB7XG4gIG1pbi13aWR0aDogMTQuMTQyODU3MTRlbTtcbn1cbi51aS5taW5pLmNhbGVuZGFyIC51aS50YWJsZS5kYXkuYW5kd2VlayB7XG4gIG1pbi13aWR0aDogMTcuMjg1NzE0MjllbTtcbn1cbi51aS5taW5pLmNhbGVuZGFyIC51aS50YWJsZS5ob3VyIHtcbiAgbWluLXdpZHRoOiAxNS43MTQyODU3MWVtO1xufVxuLnVpLnRpbnkuY2FsZW5kYXIsXG4udWkudGlueS5jYWxlbmRhciAudWkudGFibGUgdHIgdGgsXG4udWkudGlueS5jYWxlbmRhciAudWkudGFibGUgdHIgdGQge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkudGlueS5jYWxlbmRhciAudWkudGFibGUueWVhcixcbi51aS50aW55LmNhbGVuZGFyIC51aS50YWJsZS5tb250aCxcbi51aS50aW55LmNhbGVuZGFyIC51aS50YWJsZS5taW51dGUge1xuICBtaW4td2lkdGg6IDEyLjg1NzE0Mjg2ZW07XG59XG4udWkudGlueS5jYWxlbmRhciAudWkudGFibGUuZGF5IHtcbiAgbWluLXdpZHRoOiAxNS40Mjg1NzE0M2VtO1xufVxuLnVpLnRpbnkuY2FsZW5kYXIgLnVpLnRhYmxlLmRheS5hbmR3ZWVrIHtcbiAgbWluLXdpZHRoOiAxOC44NTcxNDI4NmVtO1xufVxuLnVpLnRpbnkuY2FsZW5kYXIgLnVpLnRhYmxlLmhvdXIge1xuICBtaW4td2lkdGg6IDE3LjE0Mjg1NzE0ZW07XG59XG4udWkuc21hbGwuY2FsZW5kYXIsXG4udWkuc21hbGwuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRoLFxuLnVpLnNtYWxsLmNhbGVuZGFyIC51aS50YWJsZSB0ciB0ZCB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbi51aS5zbWFsbC5jYWxlbmRhciAudWkudGFibGUueWVhcixcbi51aS5zbWFsbC5jYWxlbmRhciAudWkudGFibGUubW9udGgsXG4udWkuc21hbGwuY2FsZW5kYXIgLnVpLnRhYmxlLm1pbnV0ZSB7XG4gIG1pbi13aWR0aDogMTMuOTI4NTcxNDNlbTtcbn1cbi51aS5zbWFsbC5jYWxlbmRhciAudWkudGFibGUuZGF5IHtcbiAgbWluLXdpZHRoOiAxNi43MTQyODU3MWVtO1xufVxuLnVpLnNtYWxsLmNhbGVuZGFyIC51aS50YWJsZS5kYXkuYW5kd2VlayB7XG4gIG1pbi13aWR0aDogMjAuNDI4NTcxNDNlbTtcbn1cbi51aS5zbWFsbC5jYWxlbmRhciAudWkudGFibGUuaG91ciB7XG4gIG1pbi13aWR0aDogMTguNTcxNDI4NTdlbTtcbn1cbi51aS5sYXJnZS5jYWxlbmRhcixcbi51aS5sYXJnZS5jYWxlbmRhciAudWkudGFibGUgdHIgdGgsXG4udWkubGFyZ2UuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRkIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmxhcmdlLmNhbGVuZGFyIC51aS50YWJsZS55ZWFyLFxuLnVpLmxhcmdlLmNhbGVuZGFyIC51aS50YWJsZS5tb250aCxcbi51aS5sYXJnZS5jYWxlbmRhciAudWkudGFibGUubWludXRlIHtcbiAgbWluLXdpZHRoOiAxNy4xNDI4NTcxNGVtO1xufVxuLnVpLmxhcmdlLmNhbGVuZGFyIC51aS50YWJsZS5kYXkge1xuICBtaW4td2lkdGg6IDIwLjU3MTQyODU3ZW07XG59XG4udWkubGFyZ2UuY2FsZW5kYXIgLnVpLnRhYmxlLmRheS5hbmR3ZWVrIHtcbiAgbWluLXdpZHRoOiAyNS4xNDI4NTcxNGVtO1xufVxuLnVpLmxhcmdlLmNhbGVuZGFyIC51aS50YWJsZS5ob3VyIHtcbiAgbWluLXdpZHRoOiAyMi44NTcxNDI4NmVtO1xufVxuLnVpLmJpZy5jYWxlbmRhcixcbi51aS5iaWcuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRoLFxuLnVpLmJpZy5jYWxlbmRhciAudWkudGFibGUgdHIgdGQge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG4udWkuYmlnLmNhbGVuZGFyIC51aS50YWJsZS55ZWFyLFxuLnVpLmJpZy5jYWxlbmRhciAudWkudGFibGUubW9udGgsXG4udWkuYmlnLmNhbGVuZGFyIC51aS50YWJsZS5taW51dGUge1xuICBtaW4td2lkdGg6IDE5LjI4NTcxNDI5ZW07XG59XG4udWkuYmlnLmNhbGVuZGFyIC51aS50YWJsZS5kYXkge1xuICBtaW4td2lkdGg6IDIzLjE0Mjg1NzE0ZW07XG59XG4udWkuYmlnLmNhbGVuZGFyIC51aS50YWJsZS5kYXkuYW5kd2VlayB7XG4gIG1pbi13aWR0aDogMjguMjg1NzE0MjllbTtcbn1cbi51aS5iaWcuY2FsZW5kYXIgLnVpLnRhYmxlLmhvdXIge1xuICBtaW4td2lkdGg6IDI1LjcxNDI4NTcxZW07XG59XG4udWkuaHVnZS5jYWxlbmRhcixcbi51aS5odWdlLmNhbGVuZGFyIC51aS50YWJsZSB0ciB0aCxcbi51aS5odWdlLmNhbGVuZGFyIC51aS50YWJsZSB0ciB0ZCB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5odWdlLmNhbGVuZGFyIC51aS50YWJsZS55ZWFyLFxuLnVpLmh1Z2UuY2FsZW5kYXIgLnVpLnRhYmxlLm1vbnRoLFxuLnVpLmh1Z2UuY2FsZW5kYXIgLnVpLnRhYmxlLm1pbnV0ZSB7XG4gIG1pbi13aWR0aDogMjEuNDI4NTcxNDNlbTtcbn1cbi51aS5odWdlLmNhbGVuZGFyIC51aS50YWJsZS5kYXkge1xuICBtaW4td2lkdGg6IDI1LjcxNDI4NTcxZW07XG59XG4udWkuaHVnZS5jYWxlbmRhciAudWkudGFibGUuZGF5LmFuZHdlZWsge1xuICBtaW4td2lkdGg6IDMxLjQyODU3MTQzZW07XG59XG4udWkuaHVnZS5jYWxlbmRhciAudWkudGFibGUuaG91ciB7XG4gIG1pbi13aWR0aDogMjguNTcxNDI4NTdlbTtcbn1cbi51aS5tYXNzaXZlLmNhbGVuZGFyLFxuLnVpLm1hc3NpdmUuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRoLFxuLnVpLm1hc3NpdmUuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRkIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuLnVpLm1hc3NpdmUuY2FsZW5kYXIgLnVpLnRhYmxlLnllYXIsXG4udWkubWFzc2l2ZS5jYWxlbmRhciAudWkudGFibGUubW9udGgsXG4udWkubWFzc2l2ZS5jYWxlbmRhciAudWkudGFibGUubWludXRlIHtcbiAgbWluLXdpZHRoOiAyNS43MTQyODU3MWVtO1xufVxuLnVpLm1hc3NpdmUuY2FsZW5kYXIgLnVpLnRhYmxlLmRheSB7XG4gIG1pbi13aWR0aDogMzAuODU3MTQyODZlbTtcbn1cbi51aS5tYXNzaXZlLmNhbGVuZGFyIC51aS50YWJsZS5kYXkuYW5kd2VlayB7XG4gIG1pbi13aWR0aDogMzcuNzE0Mjg1NzFlbTtcbn1cbi51aS5tYXNzaXZlLmNhbGVuZGFyIC51aS50YWJsZS5ob3VyIHtcbiAgbWluLXdpZHRoOiAzNC4yODU3MTQyOWVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBEaXNhYmxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRpc2FibGVkLmNhbGVuZGFyIHtcbiAgb3BhY2l0eTogMC40NTtcbn1cbi51aS5kaXNhYmxlZC5jYWxlbmRhciA+IC5pbnB1dCxcbi51aS5kaXNhYmxlZC5jYWxlbmRhciAudWkudGFibGUgdHIgLmxpbmsge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBDaGVja2JveFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENoZWNrYm94XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogTGFiZWwgKi9cbi8qIDI2cHggQCAxNC9lbSAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIENoZWNrbWFyayAqL1xuLyogTGFiZWwgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSG92ZXIgKi9cbi8qIFByZXNzZWQgKi9cbi8qIEZvY3VzICovXG4vKiBBY3RpdmUgKi9cbi8qIEFjdGl2ZSBGb2N1cyAqL1xuLyogSW5kZXRlcm1pbmF0ZSAqL1xuLyogRGlzYWJsZWQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBSYWRpbyAqL1xuLyogVXNlcyBweCB0byBhdm9pZCByb3VuZGluZyBpc3N1ZXMgd2l0aCBjaXJjbGVzICovXG4vKiA3cHggYXMgdW5pdGxlc3MgdmFsdWUgZnJvbSByYWRpbyBzaXplICovXG4vKiBTbGlkZXIgJiBUb2dnbGUgSGFuZGxlICovXG4vKiBTbGlkZXIgKi9cbi8qIFNsaWRlciBTdGF0ZXMgKi9cbi8qIFRvZ2dsZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmlzaWJsZSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENoZWNrYm94XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIG91dGxpbmU6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBtaW4taGVpZ2h0OiAxN3B4O1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIG1pbi13aWR0aDogMTdweDtcbn1cbi8qIEhUTUwgQ2hlY2tib3ggKi9cbi51aS5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4udWkuY2hlY2tib3ggaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiBub25lO1xuICB6LWluZGV4OiAzO1xuICB3aWR0aDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4O1xufVxuLnVpLmNoZWNrYm94IGxhYmVsIHtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBmb250LXNpemU6IDFlbTtcbn1cbi51aS5jaGVja2JveDpub3QoLmludmlzaWJsZSkgbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDEuODU3MTRlbTtcbn1cbi51aS5jaGVja2JveCBsYWJlbDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxN3B4O1xuICBoZWlnaHQ6IDE3cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjE0Mjg1NzFyZW07XG4gIHRyYW5zaXRpb246IGJvcmRlciAwLjFzIGVhc2UsIG9wYWNpdHkgMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q0ZDRkNTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgQ2hlY2ttYXJrXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgMC4xcyBlYXNlLCBvcGFjaXR5IDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2U7XG59XG4udWkucmlnaHQuYWxpZ25lZC5jaGVja2JveCBsYWJlbCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMS44NTcxNGVtO1xufVxuLnVpLnJpZ2h0LmFsaWduZWQuY2hlY2tib3ggbGFiZWw6OmFmdGVyLFxuLnVpLnJpZ2h0LmFsaWduZWQuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIExhYmVsXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEluc2lkZSAqL1xuLnVpLmNoZWNrYm94IGxhYmVsLFxuLnVpLmNoZWNrYm94ICsgbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xufVxuLyogT3V0c2lkZSAqL1xuLnVpLmNoZWNrYm94ICsgbGFiZWwge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jaGVja2JveCBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpO1xufVxuLnVpLmNoZWNrYm94Om5vdCguaW52aXNpYmxlKSBsYWJlbDpob3Zlcixcbi51aS5jaGVja2JveDpub3QoLmludmlzaWJsZSkgKyBsYWJlbDpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgRG93blxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2hlY2tib3ggbGFiZWw6YWN0aXZlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4zNSk7XG59XG4udWkuY2hlY2tib3ggbGFiZWw6YWN0aXZlOjphZnRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLnVpLmNoZWNrYm94Om5vdCguaW52aXNpYmxlKSBpbnB1dDphY3RpdmUgfiBsYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzk2YzhkYTtcbn1cbi51aS5jaGVja2JveCBpbnB1dDpmb2N1cyB+IGxhYmVsOjphZnRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLnVpLmNoZWNrYm94Om5vdCguaW52aXNpYmxlKSBpbnB1dDpmb2N1cyB+IGxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpO1xufVxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBJbmRldGVybWluYXRlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOmluZGV0ZXJtaW5hdGUgfiBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpO1xufVxuLnVpLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTppbmRldGVybWluYXRlIH4gbGFiZWw6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4udWkuaW5kZXRlcm1pbmF0ZS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOmluZGV0ZXJtaW5hdGUgfiBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cbi51aS5pbmRldGVybWluYXRlLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSkgfiBsYWJlbDo6YWZ0ZXIge1xuICBsZWZ0OiAxLjA3NXJlbTtcbn1cbi51aS5yaWdodC5hbGlnbmVkLmluZGV0ZXJtaW5hdGUudG9nZ2xlLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKSB+IGxhYmVsOjphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxLjA3NXJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIEFjdGl2ZSBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOmluZGV0ZXJtaW5hdGU6Zm9jdXMgfiBsYWJlbDo6YmVmb3JlLFxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQ6Zm9jdXMgfiBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjOTZjOGRhO1xufVxuLnVpLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTppbmRldGVybWluYXRlOmZvY3VzIH4gbGFiZWw6OmFmdGVyLFxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQ6Zm9jdXMgfiBsYWJlbDo6YWZ0ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFJlYWQtT25seVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnJlYWQtb25seS5jaGVja2JveCxcbi51aS5yZWFkLW9ubHkuY2hlY2tib3ggbGFiZWwge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZGlzYWJsZWQuY2hlY2tib3ggbGFiZWwsXG4udWkuY2hlY2tib3ggaW5wdXRbZGlzYWJsZWRdIH4gbGFiZWwge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgSGlkZGVuXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEluaXRpYWxpemVkIGNoZWNrYm94IG1vdmVzIGlucHV0IGJlbG93IGVsZW1lbnRcbiB0byBwcmV2ZW50IG1hbnVhbGx5IHRyaWdnZXJpbmcgKi9cbi51aS5jaGVja2JveCBpbnB1dC5oaWRkZW4ge1xuICB6LWluZGV4OiAtMTtcbn1cbi8qIFNlbGVjdGFibGUgTGFiZWwgKi9cbi51aS5jaGVja2JveCBpbnB1dCArIGxhYmVsW2Zvcl0sXG4udWkuY2hlY2tib3ggaW5wdXQuaGlkZGVuICsgbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBSYWRpb1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnJhZGlvLmNoZWNrYm94IHtcbiAgbWluLWhlaWdodDogMTVweDtcbn1cbi51aS5yYWRpby5jaGVja2JveCBsYWJlbCB7XG4gIHBhZGRpbmctbGVmdDogMS44NTcxNGVtO1xufVxuLyogQm94ICovXG4udWkucmFkaW8uY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICB0b3A6IDFweDtcbiAgbGVmdDogMDtcbn1cbi8qIEJ1bGxldCAqL1xuLnVpLnJhZGlvLmNoZWNrYm94IGxhYmVsOjphZnRlciB7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMTVweDtcbiAgdG9wOiAxcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjQ2NjY2NjY3KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIEZvY3VzICovXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1cyB+IGxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiBJbmRldGVybWluYXRlICovXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IGxhYmVsOjphZnRlciB7XG4gIG9wYWNpdHk6IDA7XG59XG4vKiBBY3RpdmUgKi9cbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiBBY3RpdmUgRm9jdXMgKi9cbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU2xpZGVyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc2xpZGVyLmNoZWNrYm94IHtcbiAgbWluLWhlaWdodDogMS4yNXJlbTtcbn1cbi8qIElucHV0ICovXG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0IHtcbiAgd2lkdGg6IDMuNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xufVxuLyogTGFiZWwgKi9cbi51aS5zbGlkZXIuY2hlY2tib3ggbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDQuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4vKiBMaW5lICovXG4udWkuc2xpZGVyLmNoZWNrYm94IGxhYmVsOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDAuNHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgd2lkdGg6IDMuNXJlbTtcbiAgaGVpZ2h0OiAwLjIxNDI4NTcxcmVtO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlO1xufVxuLyogSGFuZGxlICovXG4udWkuc2xpZGVyLmNoZWNrYm94IGxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkYgbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDE7XG4gIHotaW5kZXg6IDI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSwgMCAwIDAgMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG4gIHdpZHRoOiAxLjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICB0b3A6IC0wLjI1cmVtO1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2U7XG59XG4vKiBGb2N1cyAqL1xuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpmb2N1cyB+IGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXI6IG5vbmU7XG59XG4vKiBIb3ZlciAqL1xuLnVpLnNsaWRlci5jaGVja2JveCBsYWJlbDpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4udWkuc2xpZGVyLmNoZWNrYm94IGxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuLyogQWN0aXZlICovXG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQ7XG59XG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YWZ0ZXIge1xuICBsZWZ0OiAycmVtO1xufVxuLyogQWN0aXZlIEZvY3VzICovXG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG4udWkucmlnaHQuYWxpZ25lZC5zbGlkZXIuY2hlY2tib3ggbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDQuNXJlbTtcbn1cbi51aS5yaWdodC5hbGlnbmVkLnNsaWRlci5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMnJlbTtcbiAgdHJhbnNpdGlvbjogcmlnaHQgMC4zcyBlYXNlO1xufVxuLnVpLnJpZ2h0LmFsaWduZWQuc2xpZGVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBUb2dnbGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS50b2dnbGUuY2hlY2tib3gge1xuICBtaW4taGVpZ2h0OiAxLjVyZW07XG59XG4vKiBJbnB1dCAqL1xuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dCB7XG4gIHdpZHRoOiAzLjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xufVxuLyogTGFiZWwgKi9cbi51aS50b2dnbGUuY2hlY2tib3ggbGFiZWwge1xuICBtaW4taGVpZ2h0OiAxLjVyZW07XG4gIHBhZGRpbmctbGVmdDogNC41cmVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS50b2dnbGUuY2hlY2tib3ggbGFiZWwge1xuICBwYWRkaW5nLXRvcDogMC4xNWVtO1xufVxuLyogU3dpdGNoICovXG4udWkudG9nZ2xlLmNoZWNrYm94IGxhYmVsOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3gtc2hhZG93OiBub25lO1xuICB3aWR0aDogMy41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xufVxuLyogSGFuZGxlICovXG4udWkudG9nZ2xlLmNoZWNrYm94IGxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkYgbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDE7XG4gIHotaW5kZXg6IDI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSwgMCAwIDAgMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG4gIHdpZHRoOiAxLjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UsIGxlZnQgMC4zcyBlYXNlO1xufVxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dCB+IGxhYmVsOjphZnRlciB7XG4gIGxlZnQ6IC0wLjA1cmVtO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpLCAwIDAgMCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi8qIEZvY3VzICovXG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi8qIEhvdmVyICovXG4udWkudG9nZ2xlLmNoZWNrYm94IGxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXI6IG5vbmU7XG59XG4vKiBBY3RpdmUgKi9cbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZDMzY2Nztcbn1cbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOjphZnRlciB7XG4gIGxlZnQ6IDIuMTVyZW07XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSksIDAgMCAwIDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLyogQWN0aXZlIEZvY3VzICovXG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NTI0NTA7XG59XG4udWkucmlnaHQuYWxpZ25lZC50b2dnbGUuY2hlY2tib3ggbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDQuNXJlbTtcbn1cbi51aS5yaWdodC5hbGlnbmVkLnRvZ2dsZS5jaGVja2JveCBpbnB1dCB+IGxhYmVsOjphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAyLjE1cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZSwgcmlnaHQgMC4zcyBlYXNlO1xufVxuLnVpLnJpZ2h0LmFsaWduZWQudG9nZ2xlLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogLTAuMDVyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBGaXR0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS5maXR0ZWQuY2hlY2tib3ggbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4udWkuZml0dGVkLnRvZ2dsZS5jaGVja2JveCB7XG4gIHdpZHRoOiAzLjVyZW07XG59XG4udWkuZml0dGVkLnNsaWRlci5jaGVja2JveCB7XG4gIHdpZHRoOiAzLjVyZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS51aS5pbnZlcnRlZC5jaGVja2JveCBsYWJlbCxcbi51aS51aS51aS5pbnZlcnRlZC5jaGVja2JveCArIGxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi8qIEhvdmVyICovXG4udWkudWkuaW52ZXJ0ZWQuY2hlY2tib3ggbGFiZWw6aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS5pbnZlcnRlZC5jaGVja2JveCBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuNSk7XG59XG4vKiBTbGlkZXIgTGFiZWwgKi9cbi51aS5pbnZlcnRlZC5zbGlkZXIuY2hlY2tib3ggbGFiZWwge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLyogU2xpZGVyIExpbmUgKi9cbi51aS51aS5pbnZlcnRlZC5zbGlkZXIuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi8qIFNsaWRlciBIb3ZlciAqL1xuLnVpLnVpLmludmVydGVkLnNsaWRlci5jaGVja2JveCBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLyogU2xpZGVyIEFjdGl2ZSAqL1xuLnVpLnVpLmludmVydGVkLnNsaWRlci5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWwge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS51aS5pbnZlcnRlZC5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG4vKiBTbGlkZXIgQWN0aXZlIEZvY3VzICovXG4udWkudWkuaW52ZXJ0ZWQuc2xpZGVyLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbCB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLnVpLmludmVydGVkLnNsaWRlci5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cbi8qIFRvZ2dsZSBTd2l0Y2ggKi9cbi51aS51aS5pbnZlcnRlZC50b2dnbGUuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi8qIFRvZ2dsZSBIb3ZlciAqL1xuLnVpLnVpLmludmVydGVkLnRvZ2dsZS5jaGVja2JveCBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cbi8qIFRvZ2dsZSBBY3RpdmUgKi9cbi51aS51aS5pbnZlcnRlZC50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udWkudWkuaW52ZXJ0ZWQudG9nZ2xlLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZDMzY2Nztcbn1cbi8qIFRvZ2dsZSBBY3RpdmUgRm9jdXMgKi9cbi51aS51aS5pbnZlcnRlZC50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udWkudWkuaW52ZXJ0ZWQudG9nZ2xlLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1MjQ1MDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBJbnZpc2libGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbnZpc2libGUuY2hlY2tib3g6bm90KC5jb21wYWN0KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLmludmlzaWJsZS5jaGVja2JveCBpbnB1dCB7XG4gIGxlZnQ6IC05OTk5OXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4udWkuaW52aXNpYmxlLmNoZWNrYm94IGxhYmVsOjpiZWZvcmUsXG4udWkuaW52aXNpYmxlLmNoZWNrYm94IGxhYmVsOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkuaW52aXNpYmxlLmNoZWNrYm94IGxhYmVsIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZTtcbn1cbi51aS51aS51aS51aS51aS5pbnZpc2libGUuY2hlY2tib3ggaW5wdXQ6bm90KDpjaGVja2VkKSArIGxhYmVsIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi51aS51aS51aS51aS51aS5pbnZpc2libGUuY2hlY2tib3ggaW5wdXQ6bm90KDpjaGVja2VkKTpub3QoOmhvdmVyKTpmb2N1cyArIGxhYmVsOm5vdCguaW1hZ2UpIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4zNSkgaW5zZXQ7XG59XG4udWkudWkudWkudWkudWkuaW52aXNpYmxlLmNoZWNrYm94IGlucHV0Om5vdCg6Y2hlY2tlZCkgKyBsYWJlbC5pbWFnZSxcbi5iYXNpYy51aS51aS51aS51aS51aS5pbnZpc2libGUuY2hlY2tib3ggaW5wdXQ6bm90KDpjaGVja2VkKSArIGxhYmVsIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5pbnZpc2libGUuY2hlY2tib3ggaW5wdXQ6bm90KDpjaGVja2VkKSArIGxhYmVsLmltYWdlIHtcbiAgb3BhY2l0eTogMC41O1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbn1cbi51aS5pbnZpc2libGUuY2hlY2tib3ggaW5wdXQ6bm90KDpjaGVja2VkKTpub3QoOmhvdmVyKTpmb2N1cyArIGxhYmVsLmltYWdlIHtcbiAgb3BhY2l0eTogMC43NTtcbn1cbi51aS5pbnZpc2libGUuY2hlY2tib3ggaW5wdXQ6bm90KDpjaGVja2VkKVtkaXNhYmxlZF0gKyBsYWJlbC5pbWFnZSxcbi5kaXNhYmxlZC51aS5pbnZpc2libGUuY2hlY2tib3ggaW5wdXQ6bm90KDpjaGVja2VkKSArIGxhYmVsLmltYWdlIHtcbiAgb3BhY2l0eTogMC4yNTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm1pbmkuY2hlY2tib3gge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjllbTtcbn1cbi51aS50aW55LmNoZWNrYm94IHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG59XG4udWkuc21hbGwuY2hlY2tib3gge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbn1cbi51aS5sYXJnZS5jaGVja2JveCB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNGVtO1xufVxuLnVpLmxhcmdlLmZvcm0gLmNoZWNrYm94Om5vdCguc2xpZGVyKTpub3QoLnRvZ2dsZSk6bm90KC5yYWRpbykgbGFiZWw6OmFmdGVyLFxuLnVpLmxhcmdlLmNoZWNrYm94Om5vdCguc2xpZGVyKTpub3QoLnRvZ2dsZSk6bm90KC5yYWRpbykgbGFiZWw6OmFmdGVyLFxuLnVpLmxhcmdlLmZvcm0gLmNoZWNrYm94Om5vdCguc2xpZGVyKTpub3QoLnRvZ2dsZSk6bm90KC5yYWRpbykgbGFiZWw6OmJlZm9yZSxcbi51aS5sYXJnZS5jaGVja2JveDpub3QoLnNsaWRlcik6bm90KC50b2dnbGUpOm5vdCgucmFkaW8pIGxhYmVsOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMTQyODU3MTQpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xufVxuLnVpLmxhcmdlLmZvcm0gLmNoZWNrYm94LnJhZGlvIGxhYmVsOjpiZWZvcmUsXG4udWkubGFyZ2UuY2hlY2tib3gucmFkaW8gbGFiZWw6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xNDI4NTcxNCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG59XG4udWkubGFyZ2UuZm9ybSAuY2hlY2tib3gucmFkaW8gbGFiZWw6OmFmdGVyLFxuLnVpLmxhcmdlLmNoZWNrYm94LnJhZGlvIGxhYmVsOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41NzE0Mjg1Nyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIGxlZnQ6IDAuMzM1NzE0MjllbTtcbn1cbi51aS5iaWcuY2hlY2tib3gge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjllbTtcbn1cbi51aS5iaWcuZm9ybSAuY2hlY2tib3g6bm90KC5zbGlkZXIpOm5vdCgudG9nZ2xlKTpub3QoLnJhZGlvKSBsYWJlbDo6YWZ0ZXIsXG4udWkuYmlnLmNoZWNrYm94Om5vdCguc2xpZGVyKTpub3QoLnRvZ2dsZSk6bm90KC5yYWRpbykgbGFiZWw6OmFmdGVyLFxuLnVpLmJpZy5mb3JtIC5jaGVja2JveDpub3QoLnNsaWRlcik6bm90KC50b2dnbGUpOm5vdCgucmFkaW8pIGxhYmVsOjpiZWZvcmUsXG4udWkuYmlnLmNoZWNrYm94Om5vdCguc2xpZGVyKTpub3QoLnRvZ2dsZSk6bm90KC5yYWRpbykgbGFiZWw6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yODU3MTQyOSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG59XG4udWkuYmlnLmZvcm0gLmNoZWNrYm94LnJhZGlvIGxhYmVsOjpiZWZvcmUsXG4udWkuYmlnLmNoZWNrYm94LnJhZGlvIGxhYmVsOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMjg1NzE0MjkpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xufVxuLnVpLmJpZy5mb3JtIC5jaGVja2JveC5yYWRpbyBsYWJlbDo6YWZ0ZXIsXG4udWkuYmlnLmNoZWNrYm94LnJhZGlvIGxhYmVsOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42NDI4NTcxNCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIGxlZnQ6IDAuMzcxNDI4NTdlbTtcbn1cbi51aS5odWdlLmNoZWNrYm94IHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzZW07XG59XG4udWkuaHVnZS5mb3JtIC5jaGVja2JveDpub3QoLnNsaWRlcik6bm90KC50b2dnbGUpOm5vdCgucmFkaW8pIGxhYmVsOjphZnRlcixcbi51aS5odWdlLmNoZWNrYm94Om5vdCguc2xpZGVyKTpub3QoLnRvZ2dsZSk6bm90KC5yYWRpbykgbGFiZWw6OmFmdGVyLFxuLnVpLmh1Z2UuZm9ybSAuY2hlY2tib3g6bm90KC5zbGlkZXIpOm5vdCgudG9nZ2xlKTpub3QoLnJhZGlvKSBsYWJlbDo6YmVmb3JlLFxuLnVpLmh1Z2UuY2hlY2tib3g6bm90KC5zbGlkZXIpOm5vdCgudG9nZ2xlKTpub3QoLnJhZGlvKSBsYWJlbDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjQyODU3MTQzKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbn1cbi51aS5odWdlLmZvcm0gLmNoZWNrYm94LnJhZGlvIGxhYmVsOjpiZWZvcmUsXG4udWkuaHVnZS5jaGVja2JveC5yYWRpbyBsYWJlbDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjQyODU3MTQzKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbn1cbi51aS5odWdlLmZvcm0gLmNoZWNrYm94LnJhZGlvIGxhYmVsOjphZnRlcixcbi51aS5odWdlLmNoZWNrYm94LnJhZGlvIGxhYmVsOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC43MTQyODU3MSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIGxlZnQ6IDAuNDA3MTQyODZlbTtcbn1cbi51aS5tYXNzaXZlLmNoZWNrYm94IHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxZW07XG59XG4udWkubWFzc2l2ZS5mb3JtIC5jaGVja2JveDpub3QoLnNsaWRlcik6bm90KC50b2dnbGUpOm5vdCgucmFkaW8pIGxhYmVsOjphZnRlcixcbi51aS5tYXNzaXZlLmNoZWNrYm94Om5vdCguc2xpZGVyKTpub3QoLnRvZ2dsZSk6bm90KC5yYWRpbykgbGFiZWw6OmFmdGVyLFxuLnVpLm1hc3NpdmUuZm9ybSAuY2hlY2tib3g6bm90KC5zbGlkZXIpOm5vdCgudG9nZ2xlKTpub3QoLnJhZGlvKSBsYWJlbDo6YmVmb3JlLFxuLnVpLm1hc3NpdmUuY2hlY2tib3g6bm90KC5zbGlkZXIpOm5vdCgudG9nZ2xlKTpub3QoLnJhZGlvKSBsYWJlbDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjcxNDI4NTcxKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbn1cbi51aS5tYXNzaXZlLmZvcm0gLmNoZWNrYm94LnJhZGlvIGxhYmVsOjpiZWZvcmUsXG4udWkubWFzc2l2ZS5jaGVja2JveC5yYWRpbyBsYWJlbDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjcxNDI4NTcxKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbn1cbi51aS5tYXNzaXZlLmZvcm0gLmNoZWNrYm94LnJhZGlvIGxhYmVsOjphZnRlcixcbi51aS5tYXNzaXZlLmNoZWNrYm94LnJhZGlvIGxhYmVsOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44NTcxNDI4Nik7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIGxlZnQ6IDAuNDc4NTcxNDNlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IENoZWNrYm94O1xuICBzcmM6IHVybChcImRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2Jhc2U2NCxkMDlHUmdBQkFBQUFBQVI4QUEwQUFBQUFCdHdBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBRVlBQUFBQm9BQUFBY2diQ1dKMGRFUlVZQUFBUklBQUFBRndBQUFCZ0FKUUFBVDFNdk1nQUFBWmdBQUFCQUFBQUFZQThTQkQ5amJXRndBQUFCOUFBQUFGTUFBQUZjNzF6bzZXZGhjM0FBQUFSQUFBQUFDQUFBQUFnQUFBQVFaMng1WmdBQUFsd0FBQURKQUFBQlZIc2h3R0JvWldGa0FBQUJNQUFBQUM0QUFBQTJCajN0V1dob1pXRUFBQUZnQUFBQUhRQUFBQ1FIZlFQSWFHMTBlQUFBQWRnQUFBQVpBQUFBSGc1NkFFVnNiMk5oQUFBQ1NBQUFBQklBQUFBU0FRb0FqRzFoZUhBQUFBR0FBQUFBR0FBQUFDQUFDZ0F2Ym1GdFpRQUFBeWdBQUFEbkFBQUJwNXhPQzRGd2IzTjBBQUFFRUFBQUFEQUFBQUJhSFJ0V1czaWNZMkJrWUdCZ1ltRGdxYkFWamVlMytjckF6Y0lBQWhjM1hpbEhwcGwzTStjQktRNlFXZ1lHQUFIbkNWc0FBSGljWTJCa1lHQSs4UDhBQXdNTEF3Z3c3MlpnWkVBRjdBQmFKZ05PQUFBQWVKeGpZR1JnWU9CZzBHVUEwUXdNVEF4b0FBQUZ0UUE2ZUp4allHWVdZcHpBd01yQXdEU1Q2UXdEQTBNL2hHWjh6V0RNeU1tQUNoZ0YwQVFZSEJnWVhqQXhIL2gvZ01HQitRQ0l4OENJSkt2QXdBZ0FJT2NLVzNpY1kyR0FBTVpRQ00wRXhDd01ESzdNcWlBZUFBcVhBTTRBQUFCNG5OMk53UTJBTUF3REwwMHBIWUpINTJBUTluL3c2QmJGQ1M5V3dKRmxPM0lVd0hsNVlBUXVKY3RjT2FWZFU2VEdtR1d0N0l4SnVIWG52bWNybkxQUjJHV2I2Tm5GNHJyd2hUNVUvbzBIZjVFSkdBQUFBQUFBQUFnQUNBQVFBQmdBU0FCc0FLb0FBSGljaFkwOUNzSkFFSVZuZGlHMmd5UTdJQVNKSWJIUXl2eUlpRmhacEJFOGlOc0llaVZ2WU9GeDdGUGJLRTZ5VWNIR2daMjNqemQ4RHhEZW93QVdDdjc3RGV6MFZkMWhBSUIrRDcxNE5NYTB5TmRZWnJNaHVtMENmYVduVDRicGVTUGFFak9kOGRqSWx0VEJOQmxoU0d6RVMzSnFiNW9XNlVPckUxV0JMNy9BNzNseE5CcW5LOHpuWlJiTldNZ0pFVDhxSmhsV0YxSFYzenZYU2NlQlNpZmF3clRqVExyZDB1STNjNGxGdTRVY1l2YmgxL0tzSWFvZFVheXg3S3hyK3diOFkrRUZpK1lzbmdBQUFIaWNmYzVCU3NOQUdNWHhmOXEwYWdVUkZ5NTBNM3NobE9vTmlrSVhkZEdGYTVOMFNFdkxES1FwMktVSDhBeHVYWGtreitKTCtOWUpKUHptZmZObUFsenhTMEw3Skp4ell4NXd4b041cVB6Wm5NcnY1aEdYZkpySHlyL05FKzc0VXl0Skw1UmNkeWUwSHVpdWUvTlErYU01bFYvTkkyN1ptc2ZLdjh3VG52aGh6Z1pQeVk2Q3lBZk1ONzdjRlZGYWFWQnhaRTlPcmFXdmp2dGM2S24wak40MHFEbm9WeUlCeDR5TXFXSmZIN1l4dUZrMjdhMi9kTFZHeFVwYlFuZFlyclZucmF6Z3BPOUMxY2hTYjdzM1V5bUd4bFUrK0Rwdi9Ob1ZKN2NvNHpMR2tQRVBqMFZBUlFCNG5HTmdZc0FQT0JnWUdKa1ltQmlaR1pnWldSaFpHZG5ZUy9NeURZQUFTaHVDYUZjTENCOUl3L2hHQU9QZEN1TUFBUUFCLy84QUQzaWNZMkJrWUdEZ0FXSUJJR1lDWWhZSURRQUNPd0FtQUhpY1kyQmdZR1FBZ25zK2J5MUE5TVdOVjhwaE5BQlE1d2ZyQUFBPVwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuLyogQ2hlY2ttYXJrICovXG4udWkuY2hlY2tib3ggbGFiZWw6OmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IENoZWNrYm94O1xufVxuLyogQ2hlY2tlZCAqL1xuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTgwMFwiO1xufVxuLyogSW5kZXRlcm1pbmF0ZSAqL1xuLnVpLmNoZWNrYm94IGlucHV0OmluZGV0ZXJtaW5hdGUgfiBsYWJlbDo6YWZ0ZXIge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbnRlbnQ6IFwiXFxlODAxXCI7XG59XG4vKiBVVEYgUmVmZXJlbmNlXG4uY2hlY2s6OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDAnOyB9XG4uZGFzaDo6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMSc7IH1cbi5wbHVzOjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAyJzsgfVxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIERpbW1lclxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIERpbW1lclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEhpZGRlbiAoRGVmYXVsdCkgKi9cbi8qIFZpc2libGUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQYWdlIERpbW1lciAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBTaW1wbGUgKi9cbi8qIEludGVuc2l0eSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIERpbW1lclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5kaW1tYWJsZTpub3QoYm9keSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udWkuZGltbWVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcGFkZGluZzogMWVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICBvcGFjaXR5OiAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBsaW5lYXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gIHotaW5kZXg6IDEwMDA7XG59XG4vKiBEaW1tZXIgQ29udGVudCAqL1xuLnVpLmRpbW1lciA+IC5jb250ZW50IHtcbiAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogTG9vc2UgQ291cGxpbmcgKi9cbi51aS5zZWdtZW50ID4gLnVpLmRpbW1lcjpub3QoLnBhZ2UpIHtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbn1cbi8qIFNjcm9sbGJhcnMgKi9cbi51aS5kaW1tZXI6bm90KC5pbnZlcnRlZCk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLnVpLmRpbW1lcjpub3QoLmludmVydGVkKTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xufVxuLnVpLmRpbW1lcjpub3QoLmludmVydGVkKTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6d2luZG93LWluYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cbi51aS5kaW1tZXI6bm90KC5pbnZlcnRlZCk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KTtcbn1cbi51aS5kaW1tZXI6bm90KC5pbnZlcnRlZCkge1xuICAvKiBJRTExICovXG4gIHNjcm9sbGJhci1mYWNlLWNvbG9yOiAjNjU2NTY1O1xuICBzY3JvbGxiYXItc2hhZG93LWNvbG9yOiAjNjU2NTY1O1xuICBzY3JvbGxiYXItdHJhY2stY29sb3I6ICMzMjMyMzI7XG4gIHNjcm9sbGJhci1hcnJvdy1jb2xvcjogIzMyMzIzMjtcbn1cbkBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOiBub25lKSB7XG4gIC51aS5kaW1tZXI6bm90KC5pbnZlcnRlZCkge1xuICAgIC8qIGZpcmVmb3g6IGZpcnN0IGNvbG9yIHRodW1iLCBzZWNvbmQgdHJhY2sgKi9cbiAgICBzY3JvbGxiYXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQW5pbWF0aW5nICovXG4uYW5pbWF0aW5nLmRpbW1hYmxlOm5vdChib2R5KSxcbi5kaW1tZWQuZGltbWFibGU6bm90KGJvZHkpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi8qIEFuaW1hdGluZyAvIEFjdGl2ZSAvIFZpc2libGUgKi9cbi5kaW1tZWQuZGltbWFibGUgPiAudWkuYW5pbWF0aW5nLmRpbW1lcixcbi5kaW1tZWQuZGltbWFibGUgPiAudWkudmlzaWJsZS5kaW1tZXIsXG4udWkuYWN0aXZlLmRpbW1lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG9wYWNpdHk6IDE7XG59XG4vKiBEaXNhYmxlZCAqL1xuLnVpLmRpc2FibGVkLmRpbW1lciB7XG4gIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMCAhaW1wb3J0YW50O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExlZ2FjeVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQW5pbWF0aW5nIC8gQWN0aXZlIC8gVmlzaWJsZSAqL1xuLmRpbW1lZC5kaW1tYWJsZSA+IC51aS5hbmltYXRpbmcubGVnYWN5LmRpbW1lcixcbi5kaW1tZWQuZGltbWFibGUgPiAudWkudmlzaWJsZS5sZWdhY3kuZGltbWVyLFxuLnVpLmFjdGl2ZS5sZWdhY3kuZGltbWVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBBbGlnbm1lbnRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aVtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXS5kaW1tZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4udWlbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0uZGltbWVyIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgUGFnZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnBhZ2UuZGltbWVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0cmFuc2Zvcm0tc3R5bGU6IFwiXCI7XG4gIHBlcnNwZWN0aXZlOiAyMDAwcHg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG4udWkucGFnZS5kaW1tZXIubW9kYWxzIHtcbiAgLW1vei1wZXJzcGVjdGl2ZTogbm9uZTtcbn1cbmJvZHkuYW5pbWF0aW5nLmluLmRpbW1hYmxlLFxuYm9keS5kaW1tZWQuZGltbWFibGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuYm9keS5kaW1tYWJsZSA+IC5kaW1tZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBCbHVycmluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuQHN1cHBvcnRzIChub3QgKC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBub25lKSkgYW5kIChub3QgKGJhY2tkcm9wLWZpbHRlcjogbm9uZSkpIHtcbiAgLmJsdXJyaW5nLmRpbW1hYmxlID4gOm5vdCguZGltbWVyKSB7XG4gICAgZmlsdGVyOiBpbml0aWFsO1xuICAgIHRyYW5zaXRpb246IDgwMG1zIGZpbHRlciBlYXNlO1xuICB9XG4gIC5ibHVycmluZy5kaW1tZWQuZGltbWFibGUgPiA6bm90KC5kaW1tZXIpOm5vdCgucG9wdXApIHtcbiAgICBmaWx0ZXI6IGJsdXIoNXB4KSBncmF5c2NhbGUoMC43KTtcbiAgfVxufVxuLyogRGltbWVyIENvbG9yICovXG4uYmx1cnJpbmcuZGltbWFibGUgPiAuZGltbWVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig1cHgpIGdyYXlzY2FsZSgwLjcpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNXB4KSBncmF5c2NhbGUoMC43KTtcbn1cbi5ibHVycmluZy5kaW1tYWJsZSA+IC5pbnZlcnRlZC5kaW1tZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBBbGlnbmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZGltbWVyID4gLnRvcC5hbGlnbmVkLmNvbnRlbnQgPiAqIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi51aS5kaW1tZXIgPiAuYm90dG9tLmFsaWduZWQuY29udGVudCA+ICoge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2hhZGVzXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4ubWVkaXVtLm1lZGl1bS5tZWRpdW0ubWVkaXVtLm1lZGl1bS5kaW1tZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNjUpO1xufVxuLmxpZ2h0LmxpZ2h0LmxpZ2h0LmxpZ2h0LmxpZ2h0LmRpbW1lciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG59XG4udmVyeS52ZXJ5LnZlcnkudmVyeS5saWdodC5kaW1tZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbnZlcnRlZC5kaW1tZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xufVxuLnVpLmludmVydGVkLmRpbW1lciA+IC5jb250ZW50LFxuLnVpLmludmVydGVkLmRpbW1lciA+IC5jb250ZW50ID4gKiB7XG4gIGNvbG9yOiAjMDAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEludmVydGVkIFNoYWRlc1xuICAgICAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi5tZWRpdW0ubWVkaXVtLm1lZGl1bS5tZWRpdW0ubWVkaXVtLmludmVydGVkLmRpbW1lciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSk7XG59XG4ubGlnaHQubGlnaHQubGlnaHQubGlnaHQubGlnaHQuaW52ZXJ0ZWQuZGltbWVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ1KTtcbn1cbi52ZXJ5LnZlcnkudmVyeS52ZXJ5LmxpZ2h0LmludmVydGVkLmRpbW1lciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU2ltcGxlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaXNwbGF5cyB3aXRob3V0IGphdmFzY3JpcHQgKi9cbi51aS5zaW1wbGUuZGltbWVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHotaW5kZXg6IC0xMDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4uZGltbWVkLmRpbW1hYmxlID4gLnVpLnNpbXBsZS5kaW1tZXIge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgei1pbmRleDogMTtcbn1cbi51aS5zaW1wbGUuaW52ZXJ0ZWQuZGltbWVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbn1cbi5kaW1tZWQuZGltbWFibGUgPiAudWkuc2ltcGxlLmludmVydGVkLmRpbW1lciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgUGFydGlhbGx5XG4gICAgLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpW2NsYXNzKj1cInRvcCBkaW1tZXJcIl0sXG4udWlbY2xhc3MqPVwiY2VudGVyIGRpbW1lclwiXSxcbi51aVtjbGFzcyo9XCJib3R0b20gZGltbWVyXCJdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLnVpW2NsYXNzKj1cImJvdHRvbSBkaW1tZXJcIl0ge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbn1cbi51aVtjbGFzcyo9XCJjZW50ZXIgZGltbWVyXCJdIHtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi51aS5zZWdtZW50ID4gLnVpLnVpW2NsYXNzKj1cInRvcCBkaW1tZXJcIl0ge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aS5zZWdtZW50ID4gLnVpLnVpW2NsYXNzKj1cImNlbnRlciBkaW1tZXJcIl0ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnVpLnNlZ21lbnQgPiAudWkudWlbY2xhc3MqPVwiYm90dG9tIGRpbW1lclwiXSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuLnVpW2NsYXNzKj1cImNlbnRlciBkaW1tZXJcIl0udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIHVwXCJdLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQ2VudGVyO1xufVxuLnVpW2NsYXNzKj1cImNlbnRlciBkaW1tZXJcIl0udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGRvd25cIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkNlbnRlcjtcbn1cbi51aVtjbGFzcyo9XCJjZW50ZXIgZGltbWVyXCJdLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSB1cFwiXS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQ2VudGVyO1xufVxuLnVpW2NsYXNzKj1cImNlbnRlciBkaW1tZXJcIl0udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGRvd25cIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQ2VudGVyO1xufVxuLnVpW2NsYXNzKj1cImNlbnRlciBkaW1tZXJcIl0uYm91bmNlLnRyYW5zaXRpb24ge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlQ2VudGVyO1xufVxuQGtleWZyYW1lcyBmYWRlSW5VcENlbnRlciB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5Eb3duQ2VudGVyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MCUpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcENlbnRlciB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDUlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkNlbnRlciB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTUlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VDZW50ZXIge1xuICAwJSxcbiAgMjAlLFxuICA1MCUsXG4gIDgwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTUwJSAtIDMwcHgpKTtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC01MCUgLSAxNXB4KSk7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBVc2VyIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIERyb3Bkb3duXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRHJvcGRvd25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSWNvbiAqL1xuLyogQ3VycmVudCBUZXh0ICovXG4vKiBNZW51ICovXG4vKiBUZXh0ICovXG4vKiBNZW51IEl0ZW0gKi9cbi8qIFZlcnRpY2FsIEl0ZW0gKi9cbi8qIFN1YiBNZW51ICovXG4vKiBNZW51IEhlYWRlciAqL1xuLyogTWVudSBEaXZpZGVyICovXG4vKiBNZW51IElucHV0ICovXG4vKiBNZW51IEltYWdlICovXG4vKiBJdGVtIFN1Yi1FbGVtZW50ICovXG4vKiBTdWItTWVudSBEcm9wZG93biBJY29uICovXG4vKiBEZXNjcmlwdGlvbiAqL1xuLyogTWVzc2FnZSAqL1xuLyogRmxvYXRlZCBDb250ZW50ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tXG4gICBTZWxlY3Rpb25cbi0tLS0tLS0tLS0tLS0tICovXG4vKiA8c2VsZWN0PiAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogRGVyaXZlZCAqL1xuLyogMXB4IC8gZW0gc2l6ZSAqL1xuLyogSG92ZXIgKi9cbi8qIEZvY3VzICovXG4vKiBWaXNpYmxlICovXG4vKiBWaXNpYmxlIEhvdmVyICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTZWFyY2hcbi0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWFyY2ggU2VsZWN0aW9uICovXG4vKiBJbmxpbmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgTXVsdGlwbGVcbi0tLS0tLS0tLS0tLS0tICovXG4vKiBTcGxpdCBBY3R1YWwgUGFkZGluZyBCZXR3ZWVuIENoaWxkIGFuZCBQYXJlbnQgKGFsbG93cyBmb3IgbGFiZWwgc3BhY2luZykgKi9cbi8qIENoaWxkIEVsZW1lbnRzICovXG4vKiBEcm9wZG93biBJY29uICovXG4vKiBTZWxlY3Rpb24gTGFiZWwgKi9cbi8qIExvZ2ljIGFkb3B0ZWQgZnJvbSBsYWJlbC5sZXNzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQWRkaXRpb24gKi9cbi8qIEhvdmVyZWQgKi9cbi8qIERlZmF1bHQgVGV4dCAqL1xuLyogTG9hZGluZyAqL1xuLyogQWN0aXZlIE1lbnUgSXRlbSAqL1xuLyogU2VsZWN0ZWQgKi9cbi8qIENsZWFyYWJsZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogMCAvIGVtIHNpemUgKi9cbi8qIFVwd2FyZCAqL1xuLyogRmx5b3V0IERpcmVjdGlvbiAqL1xuLyogTGVmdCAqL1xuLyogU2ltcGxlICovXG4vKiBGbG9hdGluZyAqL1xuLyogUG9pbnRpbmcgKi9cbi8qIFBvaW50aW5nIFVwd2FyZCAqL1xuLyogU2Nyb2xsaGludCAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBHZW5lcmFsIHJ1bGVzIGFuZCBiYXNpYyBkcm9wZG93bnMgKi9cbi8qIFNlbGVjdGlvbiAqL1xuLyogTXVsdGlwbGUgKi9cbi8qIFNjcm9sbGhpbnQgKi9cbi8qIFJlc2l6YWJsZSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIERyb3Bkb3duXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmRyb3Bkb3duIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3V0bGluZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UsIHdpZHRoIDAuMXMgZWFzZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIE1lbnVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRyb3Bkb3duIC5tZW51IHtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRvcDogMTAwJTtcbiAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBmb250LXNpemU6IDFlbTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDNweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xuICB6LWluZGV4OiAxMTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cbi51aS5kcm9wZG93biAubWVudSA+ICoge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgSGlkZGVuIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kcm9wZG93biA+IGlucHV0Om5vdCguc2VhcmNoKTpmaXJzdC1jaGlsZCxcbi51aS5kcm9wZG93biA+IHNlbGVjdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gRHJvcGRvd24gSWNvblxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZHJvcGRvd246bm90KC5sYWJlbGVkKSA+IC5kcm9wZG93bi5pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWluLXdpZHRoOiAxZW07XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xuICBtYXJnaW46IDAgMCAwIDFlbTtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtIC5kcm9wZG93bi5pY29uIHtcbiAgd2lkdGg6IGF1dG87XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwZW0gMCAwIDFlbTtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtIC5kcm9wZG93bi5pY29uICsgLnRleHQge1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBUZXh0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kcm9wZG93biA+IC50ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBNZW51IEl0ZW1cbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAyLjU3MTQyODU3cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3JkZXItdG9wOiBub25lO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5cmVtIDEuMTQyODU3MTRyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbS52ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIEZsb2F0ZWQgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLFxuLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtID4gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAxZW0gIWltcG9ydGFudDtcbn1cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSxcbi51aS5kcm9wZG93biAubWVudSAuaXRlbSA+IFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0ge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDFlbSAhaW1wb3J0YW50O1xufVxuLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtID4gaS5pY29uLmZsb2F0ZWQsXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiAuZmxhZy5mbG9hdGVkLFxuLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtID4gLmltYWdlLmZsb2F0ZWQsXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiBpbWcuZmxvYXRlZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIE1lbnUgRGl2aWRlclxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaGVhZGVyIHtcbiAgbWFyZ2luOiAxcmVtIDAgMC43NXJlbTtcbiAgcGFkZGluZzogMCAxLjE0Mjg1NzE0cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5oZWFkZXI6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5ZW07XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwLjVlbSAwO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmhvcml6b250YWwuZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4udWkudWkudWkuZHJvcGRvd24gLm1lbnUgPiAuaW5wdXQge1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAxLjE0Mjg1NzE0cmVtIDAuNzg1NzE0MjlyZW07XG4gIG1pbi13aWR0aDogMTByZW07XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaGVhZGVyICsgLmlucHV0IHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5pbnB1dDpub3QoLnRyYW5zcGFyZW50KSBpbnB1dCB7XG4gIHBhZGRpbmc6IDAuNWVtIDFlbTtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5pbnB1dDpub3QoLnRyYW5zcGFyZW50KSAuYnV0dG9uLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmlucHV0Om5vdCgudHJhbnNwYXJlbnQpIGkuaWNvbixcbi51aS5kcm9wZG93biAubWVudSA+IC5pbnB1dDpub3QoLnRyYW5zcGFyZW50KSAubGFiZWwge1xuICBwYWRkaW5nLXRvcDogMC41ZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tXG4gIEl0ZW0gRGVzY3JpcHRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmRlc2NyaXB0aW9uLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuZGVzY3JpcHRpb24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMCAwIDAgMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0udmVydGljYWwgPiAuZGVzY3JpcHRpb24ge1xuICBtYXJnaW46IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgSXRlbSBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbS52ZXJ0aWNhbCA+IC50ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBNZXNzYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZHJvcGRvd24gLm1lbnUgPiAubWVzc2FnZSB7XG4gIHBhZGRpbmc6IDAuNzg1NzE0MjlyZW0gMS4xNDI4NTcxNHJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5tZXNzYWdlOm5vdCgudWkpIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgU3ViIE1lbnVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRyb3Bkb3duIC5tZW51IC5tZW51IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbWFyZ2luOiAwIC0wLjVlbSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDIxICFpbXBvcnRhbnQ7XG59XG4vKiBIaWRlIEFycm93ICovXG4udWkuZHJvcGRvd24gLm1lbnUgLm1lbnU6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBTdWIgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSWNvbnMgLyBGbGFncyAvIExhYmVscyAvIEltYWdlICovXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IGkuaWNvbnMsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IGkuaWNvbixcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmxhYmVsLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuZmxhZyxcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gaW1nLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuaW1hZ2Uge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IGkuaWNvbnMsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IGkuaWNvbixcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmxhYmVsLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuZmxhZyxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmltYWdlLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiBpbWcge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4udWkuZHJvcGRvd24gPiAudGV4dCA+IGkuaWNvbnMsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IGkuaWNvbixcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmxhYmVsLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuZmxhZyxcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gaW1nLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuaW1hZ2UsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IGkuaWNvbnMsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IGkuaWNvbixcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmxhYmVsLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuZmxhZyxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmltYWdlLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiBpbWcge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbi1yaWdodDogMC43ODU3MTQyOXJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEltYWdlXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gaW1nLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuaW1hZ2U6bm90KC5pY29uKSxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmltYWdlOm5vdCguaWNvbiksXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi10b3A6IC0wLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNWVtO1xuICBtYXgtaGVpZ2h0OiAyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ291cGxpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgTWVudVxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBSZW1vdmUgTWVudSBJdGVtIERpdmlkZXIgKi9cbi51aS5kcm9wZG93biAudWkubWVudSA+IC5pdGVtOjpiZWZvcmUsXG4udWkubWVudSAudWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIFByZXZlbnQgTWVudSBJdGVtIEJvcmRlciAqL1xuLnVpLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuLyogQXV0b21hdGljYWxseSBmbG9hdCBkcm9wZG93biBtZW51IHJpZ2h0IG9uIGxhc3QgbWVudSBpdGVtICovXG4udWkubWVudSAucmlnaHQubWVudSAuZHJvcGRvd246bGFzdC1jaGlsZCA+IC5tZW51Om5vdCgubGVmdCksXG4udWkubWVudSAucmlnaHQuZHJvcGRvd24uaXRlbSA+IC5tZW51Om5vdCgubGVmdCksXG4udWkuYnV0dG9ucyA+IC51aS5kcm9wZG93bjpsYXN0LWNoaWxkID4gLm1lbnU6bm90KC5sZWZ0KSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBMYWJlbFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRHJvcGRvd24gTWVudSAqL1xuLnVpLmxhYmVsLmRyb3Bkb3duIC5tZW51IHtcbiAgbWluLXdpZHRoOiAxMDAlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEJ1dHRvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTm8gTWFyZ2luIE9uIEljb24gQnV0dG9uICovXG4udWkuZHJvcGRvd24uaWNvbi5idXR0b24gPiAuZHJvcGRvd24uaWNvbiB7XG4gIG1hcmdpbjogMDtcbn1cbi51aS5kcm9wZG93bi5idXR0b24gLm1lbnUge1xuICBtaW4td2lkdGg6IDEwMCU7XG59XG4udWkuZHJvcGRvd24uYnV0dG9uOm5vdCgucG9pbnRpbmcpOm5vdCguZmxvYXRpbmcpLmFjdGl2ZSB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWkuZHJvcGRvd24uYnV0dG9uOm5vdCgucG9pbnRpbmcpOm5vdCguZmxvYXRpbmcpID4gLm1lbnUge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5zZWxlY3QudWkuZHJvcGRvd24ge1xuICBoZWlnaHQ6IDM4cHg7XG4gIHBhZGRpbmc6IDAuNWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2VsZWN0aW9uXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaXNwbGF5cyBsaWtlIGEgc2VsZWN0IGJveCAqL1xuLnVpLnNlbGVjdGlvbi5kcm9wZG93biB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBvdXRsaW5lOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZVooMCk7XG4gIG1pbi13aWR0aDogMTRlbTtcbiAgbWluLWhlaWdodDogMi43MTQyODU3MWVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuNzg1NzE0MjllbSAzLjJlbSAwLjc4NTcxNDI5ZW0gMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UsIHdpZHRoIDAuMXMgZWFzZTtcbn1cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24udmlzaWJsZSxcbi51aS5zZWxlY3Rpb24uZHJvcGRvd24uYWN0aXZlIHtcbiAgei1pbmRleDogMTA7XG59XG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duID4gLnNlYXJjaC5pY29uLFxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biA+IC5kZWxldGUuaWNvbixcbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBsaW5lLWhlaWdodDogMS4yMTQyODU3MWVtO1xuICB0b3A6IDAuNzg1NzE0MjllbTtcbiAgcmlnaHQ6IDFlbTtcbiAgei1pbmRleDogMztcbiAgbWFyZ2luOiAtMC43ODU3MTQyOWVtO1xuICBwYWRkaW5nOiAwLjkxNjY2NjY3ZW07XG4gIG9wYWNpdHk6IDAuNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG59XG4vKiBDb21wYWN0ICovXG4udWkuY29tcGFjdC5zZWxlY3Rpb24uZHJvcGRvd24ge1xuICBtaW4td2lkdGg6IDA7XG59XG4udWkuY29tcGFjdC5zZWxlY3Rpb24uZHJvcGRvd24gPiAubWVudSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLnVpLmNvbXBhY3Quc2VsZWN0aW9uLmRyb3Bkb3duID4gLm1lbnU6bm90KC5tdWx0aWxpbmUpIHtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xufVxuLyogU2VsZWN0aW9uIE1lbnUgKi9cbi51aS5zZWxlY3Rpb24uZHJvcGRvd246bm90KC51bmxpbWl0ZWQpIC5tZW51IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51IHtcbiAgb3V0bGluZTogbm9uZTtcbiAgbWFyZ2luOiAwIC0xcHg7XG4gIG1pbi13aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDNweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xufVxuLnVpLnNlbGVjdGlvbi5kcm9wZG93bjpub3QoLnBvaW50aW5nKTpub3QoLmZsb2F0aW5nKSA+IC5tZW51IHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnU6OmFmdGVyLFxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIE1lc3NhZ2VcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUgPiAubWVzc2FnZSB7XG4gIHBhZGRpbmc6IDAuNzg1NzE0MjlyZW0gMS4xNDI4NTcxNHJlbTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5zaG9ydCAubWVudSB7XG4gICAgbWF4LWhlaWdodDogNi4wMTA3MTQyOXJlbTtcbiAgfVxuICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDQuMDA3MTQyODZyZW07XG4gIH1cbiAgLnVpLnNlbGVjdGlvbi5kcm9wZG93bjpub3QoLnVubGltaXRlZCkgLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDguMDE0Mjg1NzFyZW07XG4gIH1cbiAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5sb25nIC5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiAxNi4wMjg1NzE0M3JlbTtcbiAgfVxuICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSAubWVudSB7XG4gICAgbWF4LWhlaWdodDogMjQuMDQyODU3MTRyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5zaG9ydCAubWVudSB7XG4gICAgbWF4LWhlaWdodDogOC4wMTQyODU3MXJlbTtcbiAgfVxuICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDUuMzQyODU3MTRyZW07XG4gIH1cbiAgLnVpLnNlbGVjdGlvbi5kcm9wZG93bjpub3QoLnVubGltaXRlZCkgLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDEwLjY4NTcxNDI5cmVtO1xuICB9XG4gIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd24ubG9uZyAubWVudSB7XG4gICAgbWF4LWhlaWdodDogMjEuMzcxNDI4NTdyZW07XG4gIH1cbiAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bltjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0gLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDMyLjA1NzE0Mjg2cmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd24uc2hvcnQgLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDEyLjAyMTQyODU3cmVtO1xuICB9XG4gIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd25bY2xhc3MqPVwidmVyeSBzaG9ydFwiXSAubWVudSB7XG4gICAgbWF4LWhlaWdodDogOC4wMTQyODU3MXJlbTtcbiAgfVxuICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duOm5vdCgudW5saW1pdGVkKSAubWVudSB7XG4gICAgbWF4LWhlaWdodDogMTYuMDI4NTcxNDNyZW07XG4gIH1cbiAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5sb25nIC5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiAzMi4wNTcxNDI4NnJlbTtcbiAgfVxuICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSAubWVudSB7XG4gICAgbWF4LWhlaWdodDogNDguMDg1NzE0MjlyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd24uc2hvcnQgLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDE2LjAyODU3MTQzcmVtO1xuICB9XG4gIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd25bY2xhc3MqPVwidmVyeSBzaG9ydFwiXSAubWVudSB7XG4gICAgbWF4LWhlaWdodDogMTAuNjg1NzE0MjlyZW07XG4gIH1cbiAgLnVpLnNlbGVjdGlvbi5kcm9wZG93bjpub3QoLnVubGltaXRlZCkgLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDIxLjM3MTQyODU3cmVtO1xuICB9XG4gIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd24ubG9uZyAubWVudSB7XG4gICAgbWF4LWhlaWdodDogNDIuNzQyODU3MTRyZW07XG4gIH1cbiAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bltjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0gLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDY0LjExNDI4NTcxcmVtO1xuICB9XG59XG4vKiBNZW51IEl0ZW0gKi9cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmFmYWZhO1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5cmVtIDEuMTQyODU3MTRyZW07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuLnVpLnNlbGVjdGlvbi5wb2ludGluZy5kcm9wZG93biAubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkLFxuLnVpLnNlbGVjdGlvbi5mbG9hdGluZy5kcm9wZG93biAubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi8qIFVzZXIgSXRlbSAqL1xuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSA+IC5oaWRkZW4uYWRkaXRpb24uaXRlbSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBVc2VyIGFkZGl0aW9uIGl0ZW0gKi9cbi51aS5kcm9wZG93biA+IC5tZW51ID4gLnN0dWNrLmFkZGl0aW9uLml0ZW06Zmlyc3QtY2hpbGQge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDNweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHotaW5kZXg6IDE0O1xufVxuLyogSG92ZXIgKi9cbi51aS5zZWxlY3Rpb24uZHJvcGRvd246aG92ZXIge1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4zNSk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiBBY3RpdmUgKi9cbi51aS5zZWxlY3Rpb24uc2ltcGxlLmRyb3Bkb3duOmhvdmVyLFxuLnVpLnNlbGVjdGlvbi5hY3RpdmUuZHJvcGRvd24ge1xuICBib3JkZXItY29sb3I6ICM5NmM4ZGE7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDNweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc2VsZWN0aW9uLnNpbXBsZS5kcm9wZG93bjpob3ZlciAubWVudSxcbi51aS5zZWxlY3Rpb24uYWN0aXZlLmRyb3Bkb3duIC5tZW51IHtcbiAgYm9yZGVyLWNvbG9yOiAjOTZjOGRhO1xuICBib3gtc2hhZG93OiAwIDJweCAzcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogRm9jdXMgKi9cbi51aS5zZWxlY3Rpb24uZHJvcGRvd246Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM5NmM4ZGE7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duOmZvY3VzIC5tZW51IHtcbiAgYm9yZGVyLWNvbG9yOiAjOTZjOGRhO1xuICBib3gtc2hhZG93OiAwIDJweCAzcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoLmYpKSB7XG4gIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd246bm90KC5pbnZlcnRlZCk6aGFzKD4gaW5wdXQ6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICM5NmM4ZGE7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duOm5vdCguaW52ZXJ0ZWQpOmhhcyg+IGlucHV0OmZvY3VzKSA+IGkuaWNvbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bjpmb2N1cyA+IGkuaWNvbiB7XG4gIG9wYWNpdHk6IDE7XG59XG4vKiBWaXNpYmxlICovXG4udWkuc2VsZWN0aW9uLnZpc2libGUuZHJvcGRvd24gPiAudGV4dDpub3QoLmRlZmF1bHQpIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbi8qIFZpc2libGUgSG92ZXIgKi9cbi51aS5zZWxlY3Rpb24uYWN0aXZlLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjOTZjOGRhO1xuICBib3gtc2hhZG93OiAwIDJweCAzcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnNlbGVjdGlvbi5hY3RpdmUuZHJvcGRvd246aG92ZXIgLm1lbnUge1xuICBib3JkZXItY29sb3I6ICM5NmM4ZGE7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDNweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4vKiBEcm9wZG93biBJY29uICovXG4udWkuYWN0aXZlLnNlbGVjdGlvbi5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uLFxuLnVpLnZpc2libGUuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICBvcGFjaXR5OiBcIlwiO1xuICB6LWluZGV4OiAzO1xufVxuLyogQ29ubmVjdGluZyBCb3JkZXIgKi9cbi51aS5hY3RpdmUuc2VsZWN0aW9uLmRyb3Bkb3duOm5vdCgucG9pbnRpbmcpOm5vdCguZmxvYXRpbmcpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuLyogRW1wdHkgQ29ubmVjdGluZyBCb3JkZXIgKi9cbi51aS5hY3RpdmUuZW1wdHkuc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4udWkuYWN0aXZlLmVtcHR5LnNlbGVjdGlvbi5kcm9wZG93biAubWVudSB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4vKiBDU1Mgc3BlY2lmaWMgdG8gaU9TIGRldmljZXMgb3IgZmlyZWZveCBtb2JpbGUgb25seSAqL1xuQHN1cHBvcnRzICgtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmUpIG9yICgtbW96LWFwcGVhcmFuY2U6IG5vbmUpIHtcbiAgQG1lZGlhICgtbW96LXRvdWNoLWVuYWJsZWQpLCAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgLnVpLmRyb3Bkb3duIC5zY3JvbGxoaW50Lm1lbnU6bm90KC5oaWRkZW4pOjpiZWZvcmUge1xuICAgICAgYW5pbWF0aW9uOiBzY3JvbGxoaW50IDJzIGVhc2UgMjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB6LWluZGV4OiAxNTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHJpZ2h0OiAwLjI1ZW07XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmlnaHQ6IDAuMjVlbSBzb2xpZDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgYm9yZGVyLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNzUpLCByZ2JhKDAsIDAsIDAsIDApKSAxIDEwMCU7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5kcm9wZG93biAuc2Nyb2xsaGludC5tZW51Om5vdCguaGlkZGVuKTo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSkgMSAxMDAlO1xuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHNjcm9sbGhpbnQge1xuICAgICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICB9XG4gICAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTZWFyY2hhYmxlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWFyY2ggU2VsZWN0aW9uICovXG4udWkuc2VhcmNoLmRyb3Bkb3duIHtcbiAgbWluLXdpZHRoOiBcIlwiO1xufVxuLyogU2VhcmNoIERyb3Bkb3duICovXG4udWkuc2VhcmNoLmRyb3Bkb3duID4gaW5wdXQuc2VhcmNoIHtcbiAgYmFja2dyb3VuZDogbm9uZSB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjdXJzb3I6IHRleHQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMXB4O1xuICB3aWR0aDogMTAwJTtcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICBwYWRkaW5nOiBpbmhlcml0O1xufVxuLyogVGV4dCBMYXllcmluZyAqL1xuLnVpLnNlYXJjaC5kcm9wZG93biA+IGlucHV0LnNlYXJjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbn1cbi51aS5zZWFyY2guZHJvcGRvd24gPiAudGV4dCB7XG4gIGN1cnNvcjogdGV4dDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAxcHg7XG4gIHotaW5kZXg6IGF1dG87XG59XG4vKiBTZWFyY2ggU2VsZWN0aW9uICovXG4udWkuc2VhcmNoLnNlbGVjdGlvbi5kcm9wZG93biA+IGlucHV0LnNlYXJjaCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI4NTcxZW07XG4gIHBhZGRpbmc6IDAuNjc4NTcxNDNlbSAzLjJlbSAwLjY3ODU3MTQzZW0gMWVtO1xufVxuLyogVXNlZCB0byBzaXplIG11bHRpIHNlbGVjdCBpbnB1dCB0byBjaGFyYWN0ZXIgd2lkdGggKi9cbi51aS5zZWFyY2guc2VsZWN0aW9uLmRyb3Bkb3duID4gc3Bhbi5zaXplciB7XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI4NTcxZW07XG4gIHBhZGRpbmc6IDAuNjc4NTcxNDNlbSAzLjJlbSAwLjY3ODU3MTQzZW0gMWVtO1xuICBkaXNwbGF5OiBub25lO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xufVxuLyogQWN0aXZlL1Zpc2libGUgU2VhcmNoICovXG4udWkuc2VhcmNoLmRyb3Bkb3duLmFjdGl2ZSA+IGlucHV0LnNlYXJjaCxcbi51aS5zZWFyY2guZHJvcGRvd24udmlzaWJsZSA+IGlucHV0LnNlYXJjaCB7XG4gIGN1cnNvcjogYXV0bztcbn1cbi51aS5zZWFyY2guZHJvcGRvd24uYWN0aXZlID4gLnRleHQsXG4udWkuc2VhcmNoLmRyb3Bkb3duLnZpc2libGUgPiAudGV4dCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLyogRmlsdGVyZWQgVGV4dCAqL1xuLnVpLmFjdGl2ZS5zZWFyY2guZHJvcGRvd24gaW5wdXQuc2VhcmNoOmZvY3VzICsgLnRleHQgaS5pY29uLFxuLnVpLmFjdGl2ZS5zZWFyY2guZHJvcGRvd24gaW5wdXQuc2VhcmNoOmZvY3VzICsgLnRleHQgLmZsYWcge1xuICBvcGFjaXR5OiAwLjQ1O1xufVxuLnVpLmFjdGl2ZS5zZWFyY2guZHJvcGRvd24gaW5wdXQuc2VhcmNoOmZvY3VzICsgLnRleHQge1xuICBjb2xvcjogcmdiYSgxMTUsIDExNSwgMTE1LCAwLjg3KTtcbn1cbi51aS5zZWFyY2guZHJvcGRvd24uYnV0dG9uID4gc3Bhbi5zaXplciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBTZWFyY2ggTWVudSAqL1xuLnVpLnNlYXJjaC5kcm9wZG93bjpub3QoLnVubGltaXRlZCkgLm1lbnUge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLnNlYXJjaC5kcm9wZG93bjpub3QoLnVubGltaXRlZCkgLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDguMDE0Mjg1NzFyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVpLnNlYXJjaC5kcm9wZG93bjpub3QoLnVubGltaXRlZCkgLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDEwLjY4NTcxNDI5cmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS5zZWFyY2guZHJvcGRvd246bm90KC51bmxpbWl0ZWQpIC5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiAxNi4wMjg1NzE0M3JlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLnNlYXJjaC5kcm9wZG93bjpub3QoLnVubGltaXRlZCkgLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDIxLjM3MTQyODU3cmVtO1xuICB9XG59XG4vKiBDbGVhcmFibGUgU2VsZWN0aW9uICovXG4udWkuZHJvcGRvd24gPiAucmVtb3ZlLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xuICBtYXJnaW46IC0wLjc4NTcxNDI5ZW07XG4gIHBhZGRpbmc6IDAuOTE2NjY2NjdlbTtcbiAgcmlnaHQ6IDJlbTtcbiAgdG9wOiAwLjc4NTcxNDI5ZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMC41O1xuICB6LWluZGV4OiAzO1xufVxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biA+IC5yZW1vdmUuaWNvbiB7XG4gIHJpZ2h0OiAzZW07XG59XG4udWkuaW5saW5lLmRyb3Bkb3duID4gLnJlbW92ZS5pY29uIHtcbiAgcmlnaHQ6IDIuMmVtO1xufVxuLnVpLmNsZWFyYWJsZS5kcm9wZG93biAudGV4dDpub3QoLmRlZmF1bHQpLFxuLnVpLmNsZWFyYWJsZS5kcm9wZG93bjpub3QoLnNlYXJjaCkgPiAudWkubGFiZWw6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVlbTtcbn1cbi51aS5kcm9wZG93biBzZWxlY3Qubm9zZWxlY3Rpb24gfiAucmVtb3ZlLmljb24sXG4udWkuZHJvcGRvd24gaW5wdXRbdmFsdWU9XCJcIl0gfiAucmVtb3ZlLmljb24sXG4udWkuZHJvcGRvd24gaW5wdXQ6bm90KFt2YWx1ZV0pOm5vdCguc2VhcmNoKSB+IC5yZW1vdmUuaWNvbixcbi51aS5kcm9wZG93bi5sb2FkaW5nID4gLnJlbW92ZS5pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5kcm9wZG93bjpub3QoLnNlbGVjdGlvbikgPiAucmVtb3ZlLmljb24gfiAuZHJvcGRvd24uaWNvbiB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVlbTtcbn1cbi51aS5kcm9wZG93bjpub3QoLnNlbGVjdGlvbik6bm90KC5tdWx0aXBsZSkgPiAucmVtb3ZlLmljb24ge1xuICBtYXJnaW4tdG9wOiAtMS4zNWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTXVsdGlwbGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE11bHRpcGxlIFNlbGVjdGlvbiAqL1xuLnVpLnVpLm11bHRpcGxlLmRyb3Bkb3duIHtcbiAgcGFkZGluZzogMC4yMjYxOTA0OGVtIDMuMmVtIDAuMjI2MTkwNDhlbSAwLjM1NzE0Mjg2ZW07XG59XG4udWkubXVsdGlwbGUuZHJvcGRvd24gLm1lbnUge1xuICBjdXJzb3I6IGF1dG87XG59XG4vKiBTZWxlY3Rpb24gTGFiZWwgKi9cbi51aS5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxZW07XG4gIHBhZGRpbmc6IDAuMzU3MTQyODZlbSAwLjc4NTcxNDI5ZW07XG4gIG1hcmdpbjogMC4xNDI4NTcxNHJlbSAwLjI4NTcxNDI5cmVtIDAuMTQyODU3MTRyZW0gMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4vKiBEcm9wZG93biBJY29uICovXG4udWkubXVsdGlwbGUuZHJvcGRvd24gLmRyb3Bkb3duLmljb24ge1xuICBtYXJnaW46IFwiXCI7XG4gIHBhZGRpbmc6IFwiXCI7XG59XG4vKiBUZXh0ICovXG4udWkubXVsdGlwbGUuZHJvcGRvd24gPiAudGV4dCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHBhZGRpbmc6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwLjQ1MjM4MDk1ZW0gMCAwLjQ1MjM4MDk1ZW0gMC42NDI4NTcxNGVtO1xuICBsaW5lLWhlaWdodDogMS4yMTQyODU3MWVtO1xufVxuLnVpLm11bHRpcGxlLmRyb3Bkb3duID4gLnRleHQuZGVmYXVsdCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuLnVpLm11bHRpcGxlLmRyb3Bkb3duID4gLmxhYmVsIH4gaW5wdXQuc2VhcmNoIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMTQyODU3MTRlbSAhaW1wb3J0YW50O1xufVxuLnVpLm11bHRpcGxlLmRyb3Bkb3duID4gLmxhYmVsIH4gLnRleHQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLm11bHRpcGxlLmRyb3Bkb3duID4gLmxhYmVsOm5vdCguaW1hZ2UpID4gaW1nOm5vdCguY2VudGVyZWQpIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLm11bHRpcGxlLmRyb3Bkb3duID4gLmxhYmVsOm5vdCguaW1hZ2UpID4gaW1nLnVpOm5vdCguYXZhdGFyKSB7XG4gIG1hcmdpbi1ib3R0b206IDAuMzkyODU3MTRyZW07XG59XG4udWkubXVsdGlwbGUuZHJvcGRvd24gPiAuaW1hZ2UubGFiZWwgaW1nIHtcbiAgbWFyZ2luOiAtMC4zNTcxNDI4NmVtIDAuNzg1NzE0MjllbSAtMC4zNTcxNDI4NmVtIC0wLjc4NTcxNDI5ZW07XG4gIGhlaWdodDogMS43MTQyODU3MWVtO1xufVxuLnVpLm11bHRpcGxlLmRyb3Bkb3duOm5vdCguc2VsZWN0aW9uKTpub3QoLmxhYmVsZWQpID4gLmRyb3Bkb3duLmljb24ge1xuICByaWdodDogLTEuNWVtO1xufVxuLnVpLm11bHRpcGxlLmRyb3Bkb3duOm5vdCguc2VsZWN0aW9uKTpub3QoLmxhYmVsZWQpID4gLnJlbW92ZS5pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMS41ZW07XG59XG4udWkubXVsdGlwbGUuZHJvcGRvd246bm90KC5zZWxlY3Rpb24pOm5vdCgubGFiZWxlZCk6bm90KC5zZWFyY2gpID4gLnJlbW92ZS5pY29uIH4gLnRleHQuZGVmYXVsdCxcbi51aS5tdWx0aXBsZS5kcm9wZG93bjpub3QoLnNlbGVjdGlvbik6bm90KC5sYWJlbGVkKSA+IC50ZXh0LmRlZmF1bHQ6Zmlyc3QtY2hpbGQge1xuICBvdmVyZmxvdzogaW5oZXJpdDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgTXVsdGlwbGUgU2VhcmNoXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNdWx0aXBsZSBTZWFyY2ggU2VsZWN0aW9uICovXG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duLFxuLnVpLm11bHRpcGxlLnNlYXJjaC5kcm9wZG93biA+IGlucHV0LnNlYXJjaCB7XG4gIGN1cnNvcjogdGV4dDtcbn1cbi8qIFByb21wdCBUZXh0ICovXG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duID4gLnRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiBpbmhlcml0O1xuICBtYXJnaW46IDAuNDUyMzgwOTVlbSAwIDAuNDUyMzgwOTVlbSAwLjY0Mjg1NzE0ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI4NTcxZW07XG59XG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duID4gLnRleHQuZGVmYXVsdCB7XG4gIHotaW5kZXg6IC0xO1xufVxuLnVpLm11bHRpcGxlLnNlYXJjaC5kcm9wZG93biA+IC5sYWJlbCB+IC50ZXh0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIFNlYXJjaCAqL1xuLnVpLm11bHRpcGxlLnNlYXJjaC5kcm9wZG93biA+IGlucHV0LnNlYXJjaCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHBhZGRpbmc6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwLjQ1MjM4MDk1ZW0gMCAwLjQ1MjM4MDk1ZW0gMC42NDI4NTcxNGVtO1xuICB3aWR0aDogMi4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI4NTcxZW07XG59XG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duLmJ1dHRvbiB7XG4gIG1pbi13aWR0aDogMTRlbTtcbn1cbi51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd24gPiBzcGFuLnNpemVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd246bm90KC5zZWxlY3Rpb24pID4gLnJlbW92ZS5pY29uICsgaW5wdXQuc2VhcmNoLFxuLnVpLm11bHRpcGxlLnNlYXJjaC5kcm9wZG93bjpub3QoLnNlbGVjdGlvbikgPiBpbnB1dC5zZWFyY2g6Zmlyc3QtY2hpbGQge1xuICBtaW4td2lkdGg6IDUuMDVlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBJbmxpbmVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbmxpbmUuZHJvcGRvd24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4udWkuaW5saW5lLmRyb3Bkb3duIC5kcm9wZG93bi5pY29uIHtcbiAgbWFyZ2luOiAwIDAuMjE0Mjg1NzFlbTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuLnVpLmlubGluZS5kcm9wZG93biA+IC50ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udWkuaW5saW5lLmRyb3Bkb3duIC5tZW51IHtcbiAgY3Vyc29yOiBhdXRvO1xuICBtYXJnaW4tdG9wOiAwLjIxNDI4NTcxZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNZW51IEl0ZW0gQWN0aXZlICovXG4udWkuZHJvcGRvd24gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgei1pbmRleDogMTI7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWVudSBJdGVtIEhvdmVyICovXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICB6LWluZGV4OiAxMztcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIERlZmF1bHQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRyb3Bkb3duOm5vdCguYnV0dG9uKSA+IC5kZWZhdWx0LnRleHQsXG4udWkuZGVmYXVsdC5kcm9wZG93bjpub3QoLmJ1dHRvbikgPiAudGV4dCB7XG4gIGNvbG9yOiByZ2JhKDE5MSwgMTkxLCAxOTEsIDAuODcpO1xufVxuLnVpLmRyb3Bkb3duOm5vdCguYnV0dG9uKSA+IGlucHV0OmZvY3VzIH4gLmRlZmF1bHQudGV4dCxcbi51aS5kZWZhdWx0LmRyb3Bkb3duOm5vdCguYnV0dG9uKSA+IGlucHV0OmZvY3VzIH4gLnRleHQge1xuICBjb2xvcjogcmdiYSgxMTUsIDExNSwgMTE1LCAwLjg3KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIExvYWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5sb2FkaW5nLmRyb3Bkb3duID4gaS5pY29uIHtcbiAgaGVpZ2h0OiAxZW0gIWltcG9ydGFudDtcbn1cbi51aS5sb2FkaW5nLnNlbGVjdGlvbi5kcm9wZG93biA+IGkuaWNvbiB7XG4gIHBhZGRpbmc6IDEuNWVtIDEuMjg1NzE0MjllbSAhaW1wb3J0YW50O1xufVxuLnVpLmxvYWRpbmcuZHJvcGRvd24gPiBpLmljb246OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMC42NDI4NTcxNGVtIDAgMCAtMC42NDI4NTcxNGVtO1xuICB3aWR0aDogMS4yODU3MTQyOWVtO1xuICBoZWlnaHQ6IDEuMjg1NzE0MjllbTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBib3JkZXI6IDAuMmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS5sb2FkaW5nLmRyb3Bkb3duID4gaS5pY29uOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IC0wLjY0Mjg1NzE0ZW0gMCAwIC0wLjY0Mjg1NzE0ZW07XG4gIHdpZHRoOiAxLjI4NTcxNDI5ZW07XG4gIGhlaWdodDogMS4yODU3MTQyOWVtO1xuICBhbmltYXRpb246IGxvYWRlciAwLjZzIGluZmluaXRlIGxpbmVhcjtcbiAgYm9yZGVyOiAwLjJlbSBzb2xpZCAjNzY3Njc2O1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG59XG4vKiBDb3VwbGluZyAqL1xuLnVpLmxvYWRpbmcuZHJvcGRvd24uYnV0dG9uID4gaS5pY29uOjpiZWZvcmUsXG4udWkubG9hZGluZy5kcm9wZG93bi5idXR0b24gPiBpLmljb246OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5sb2FkaW5nLmRyb3Bkb3duID4gLnRleHQge1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuLyogVXNlZCBUbyBDaGVjayBQb3NpdGlvbiAqL1xuLnVpLmRyb3Bkb3duIC5sb2FkaW5nLm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAtMTtcbn1cbi51aS5kcm9wZG93biA+IC5sb2FkaW5nLm1lbnUge1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4udWkuZHJvcGRvd24gPiAubWVudSAubG9hZGluZy5tZW51IHtcbiAgbGVmdDogMTAwJSAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBLZXlib2FyZCBTZWxlY3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlbGVjdGVkIEl0ZW0gKi9cbi51aS5kcm9wZG93bi5zZWxlY3RlZCxcbi51aS5kcm9wZG93biAubWVudSAuc2VsZWN0ZWQuaXRlbSB7XG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTZWFyY2ggRmlsdGVyZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZpbHRlcmVkIEl0ZW0gKi9cbi51aS5kcm9wZG93biA+IC5maWx0ZXJlZC50ZXh0IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnVpLmRyb3Bkb3duIC5maWx0ZXJlZC5pdGVtIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFN0YXRlc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5kcm9wZG93bi5lcnJvcixcbi51aS5kcm9wZG93bi5lcnJvciA+IC50ZXh0LFxuLnVpLmRyb3Bkb3duLmVycm9yID4gLmRlZmF1bHQudGV4dCB7XG4gIGNvbG9yOiAjOWYzYTM4O1xufVxuLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5lcnJvciB7XG4gIGJhY2tncm91bmQ6ICNmZmY2ZjY7XG4gIGJvcmRlci1jb2xvcjogI2UwYjRiNDtcbn1cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24uZXJyb3I6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNlMGI0YjQ7XG59XG4udWkubXVsdGlwbGUuc2VsZWN0aW9uLmVycm9yLmRyb3Bkb3duID4gLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTBiNGI0O1xufVxuLnVpLmRyb3Bkb3duLmVycm9yID4gLm1lbnUsXG4udWkuZHJvcGRvd24uZXJyb3IgPiAubWVudSAubWVudSB7XG4gIGJvcmRlci1jb2xvcjogI2UwYjRiNDtcbn1cbi51aS5kcm9wZG93bi5lcnJvciA+IC5tZW51ID4gLml0ZW0ge1xuICBjb2xvcjogIzlmM2EzODtcbn1cbi8qIEl0ZW0gSG92ZXIgKi9cbi51aS5kcm9wZG93bi5lcnJvciA+IC5tZW51ID4gLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJlN2U3O1xufVxuLyogSXRlbSBBY3RpdmUgKi9cbi51aS5kcm9wZG93bi5lcnJvciA+IC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGNmY2Y7XG59XG4udWkuZHJvcGRvd24uaW5mbyxcbi51aS5kcm9wZG93bi5pbmZvID4gLnRleHQsXG4udWkuZHJvcGRvd24uaW5mbyA+IC5kZWZhdWx0LnRleHQge1xuICBjb2xvcjogIzI3NmY4Njtcbn1cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24uaW5mbyB7XG4gIGJhY2tncm91bmQ6ICNmOGZmZmY7XG4gIGJvcmRlci1jb2xvcjogI2E5ZDVkZTtcbn1cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24uaW5mbzpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2E5ZDVkZTtcbn1cbi51aS5tdWx0aXBsZS5zZWxlY3Rpb24uaW5mby5kcm9wZG93biA+IC5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogI2E5ZDVkZTtcbn1cbi51aS5kcm9wZG93bi5pbmZvID4gLm1lbnUsXG4udWkuZHJvcGRvd24uaW5mbyA+IC5tZW51IC5tZW51IHtcbiAgYm9yZGVyLWNvbG9yOiAjYTlkNWRlO1xufVxuLnVpLmRyb3Bkb3duLmluZm8gPiAubWVudSA+IC5pdGVtIHtcbiAgY29sb3I6ICMyNzZmODY7XG59XG4vKiBJdGVtIEhvdmVyICovXG4udWkuZHJvcGRvd24uaW5mbyA+IC5tZW51ID4gLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTlmMmZiO1xufVxuLyogSXRlbSBBY3RpdmUgKi9cbi51aS5kcm9wZG93bi5pbmZvID4gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NlZjFmZDtcbn1cbi51aS5kcm9wZG93bi5zdWNjZXNzLFxuLnVpLmRyb3Bkb3duLnN1Y2Nlc3MgPiAudGV4dCxcbi51aS5kcm9wZG93bi5zdWNjZXNzID4gLmRlZmF1bHQudGV4dCB7XG4gIGNvbG9yOiAjMmM2NjJkO1xufVxuLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogI2ZjZmZmNTtcbiAgYm9yZGVyLWNvbG9yOiAjYTNjMjkzO1xufVxuLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5zdWNjZXNzOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTNjMjkzO1xufVxuLnVpLm11bHRpcGxlLnNlbGVjdGlvbi5zdWNjZXNzLmRyb3Bkb3duID4gLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTNjMjkzO1xufVxuLnVpLmRyb3Bkb3duLnN1Y2Nlc3MgPiAubWVudSxcbi51aS5kcm9wZG93bi5zdWNjZXNzID4gLm1lbnUgLm1lbnUge1xuICBib3JkZXItY29sb3I6ICNhM2MyOTM7XG59XG4udWkuZHJvcGRvd24uc3VjY2VzcyA+IC5tZW51ID4gLml0ZW0ge1xuICBjb2xvcjogIzJjNjYyZDtcbn1cbi8qIEl0ZW0gSG92ZXIgKi9cbi51aS5kcm9wZG93bi5zdWNjZXNzID4gLm1lbnUgPiAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWZiZTk7XG59XG4vKiBJdGVtIEFjdGl2ZSAqL1xuLnVpLmRyb3Bkb3duLnN1Y2Nlc3MgPiAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFmZGNlO1xufVxuLnVpLmRyb3Bkb3duLndhcm5pbmcsXG4udWkuZHJvcGRvd24ud2FybmluZyA+IC50ZXh0LFxuLnVpLmRyb3Bkb3duLndhcm5pbmcgPiAuZGVmYXVsdC50ZXh0IHtcbiAgY29sb3I6ICM1NzNhMDg7XG59XG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjZmZmYWYzO1xuICBib3JkZXItY29sb3I6ICNjOWJhOWI7XG59XG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duLndhcm5pbmc6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNjOWJhOWI7XG59XG4udWkubXVsdGlwbGUuc2VsZWN0aW9uLndhcm5pbmcuZHJvcGRvd24gPiAubGFiZWwge1xuICBib3JkZXItY29sb3I6ICNjOWJhOWI7XG59XG4udWkuZHJvcGRvd24ud2FybmluZyA+IC5tZW51LFxuLnVpLmRyb3Bkb3duLndhcm5pbmcgPiAubWVudSAubWVudSB7XG4gIGJvcmRlci1jb2xvcjogI2M5YmE5Yjtcbn1cbi51aS5kcm9wZG93bi53YXJuaW5nID4gLm1lbnUgPiAuaXRlbSB7XG4gIGNvbG9yOiAjNTczYTA4O1xufVxuLyogSXRlbSBIb3ZlciAqL1xuLnVpLmRyb3Bkb3duLndhcm5pbmcgPiAubWVudSA+IC5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmJlOTtcbn1cbi8qIEl0ZW0gQWN0aXZlICovXG4udWkuZHJvcGRvd24ud2FybmluZyA+IC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGZkY2U7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgQ2xlYXJcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZHJvcGRvd24gPiAucmVtb3ZlLmljb24sXG4udWkuZHJvcGRvd24gPiAuY2xlYXIuZHJvcGRvd24uaWNvbiB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG59XG4udWkuZHJvcGRvd24gPiAucmVtb3ZlLmljb246aG92ZXIsXG4udWkuZHJvcGRvd24gPiAuY2xlYXIuZHJvcGRvd24uaWNvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaXNhYmxlZCAqL1xuLnVpLmRpc2FibGVkLmRyb3Bkb3duLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmRpc2FibGVkLml0ZW0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwLjQ1O1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFJlYWQtT25seVxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5yZWFkLW9ubHkuZHJvcGRvd24ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnVpLmRpc2FibGVkLmRyb3Bkb3duID4gLnJlbW92ZS5pY29uLFxuLnVpLnJlYWQtb25seS5kcm9wZG93biA+IC5yZW1vdmUuaWNvbixcbi51aS5kaXNhYmxlZC5kcm9wZG93biA+IC5sYWJlbCA+IC5kZWxldGUuaWNvbixcbi51aS5yZWFkLW9ubHkuZHJvcGRvd24gPiAubGFiZWwgPiAuZGVsZXRlLmljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgRGlyZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZseW91dCBEaXJlY3Rpb24gKi9cbi51aS5kcm9wZG93biAubWVudSB7XG4gIGxlZnQ6IDA7XG59XG4vKiBEZWZhdWx0IFNpZGUgKFJpZ2h0KSAqL1xuLnVpLmRyb3Bkb3duIC5yaWdodC5tZW51ID4gLm1lbnUsXG4udWkuZHJvcGRvd24gLm1lbnUgLnJpZ2h0Lm1lbnUge1xuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcbn1cbi8qIExlZnR3YXJkIE9wZW5pbmcgTWVudSAqL1xuLnVpLmRyb3Bkb3duID4gLmxlZnQubWVudSB7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cbi51aS5kcm9wZG93biA+IC5sZWZ0Lm1lbnUgLm1lbnUsXG4udWkuZHJvcGRvd24gLm1lbnUgLmxlZnQubWVudSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDAgLTAuNWVtIDAgMCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XG59XG4udWkuZHJvcGRvd24gLml0ZW0gLmxlZnQuZHJvcGRvd24uaWNvbixcbi51aS5kcm9wZG93biAubGVmdC5tZW51IC5pdGVtIC5kcm9wZG93bi5pY29uIHtcbiAgd2lkdGg6IGF1dG87XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDBlbSAwIDAgMDtcbn1cbi51aS5kcm9wZG93biAuaXRlbSAubGVmdC5kcm9wZG93bi5pY29uLFxuLnVpLmRyb3Bkb3duIC5sZWZ0Lm1lbnUgLml0ZW0gLmRyb3Bkb3duLmljb24ge1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMGVtIDAgMCAwO1xufVxuLnVpLmRyb3Bkb3duIC5pdGVtIC5sZWZ0LmRyb3Bkb3duLmljb24gKyAudGV4dCxcbi51aS5kcm9wZG93biAubGVmdC5tZW51IC5pdGVtIC5kcm9wZG93bi5pY29uICsgLnRleHQge1xuICBtYXJnaW4tbGVmdDogMWVtO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgVXB3YXJkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVcHdhcmQgTWFpbiBNZW51ICovXG4udWkudXB3YXJkLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAwIDNweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG4vKiBVcHdhcmQgU3ViIE1lbnUgKi9cbi51aS5kcm9wZG93biAudXB3YXJkLm1lbnUge1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4vKiBBY3RpdmUgVXB3YXJkICovXG4udWkuc2ltcGxlLnVwd2FyZC5hY3RpdmUuZHJvcGRvd24sXG4udWkuc2ltcGxlLnVwd2FyZC5kcm9wZG93bjpob3ZlciB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4vKiBCdXR0b24gKi9cbi51aS51cHdhcmQuZHJvcGRvd24uYnV0dG9uOm5vdCgucG9pbnRpbmcpOm5vdCguZmxvYXRpbmcpLmFjdGl2ZSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4udWkudXB3YXJkLmRyb3Bkb3duLmJ1dHRvbjpub3QoLnBvaW50aW5nKTpub3QoLmZsb2F0aW5nKSA+IC5tZW51IHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDAgMDtcbn1cbi8qIFNlbGVjdGlvbiAqL1xuLnVpLnVpLnVwd2FyZC5zZWxlY3Rpb24uZHJvcGRvd246bm90KC5wb2ludGluZyk6bm90KC5mbG9hdGluZykgPiAubWVudSB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm94LXNoYWRvdzogMCAtMnB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWkudXB3YXJkLnNlbGVjdGlvbi5kcm9wZG93bjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuLyogQWN0aXZlIFVwd2FyZCAqL1xuLnVpLmFjdGl2ZS51cHdhcmQuc2VsZWN0aW9uLmRyb3Bkb3duOm5vdCgucG9pbnRpbmcpOm5vdCguZmxvYXRpbmcpIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xufVxuLyogVmlzaWJsZSBVcHdhcmQgKi9cbi51aS51cHdhcmQuc2VsZWN0aW9uLmRyb3Bkb3duLnZpc2libGUge1xuICBib3gtc2hhZG93OiAwIDAgM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cbi51aS51cHdhcmQuc2VsZWN0aW9uLmRyb3Bkb3duLnZpc2libGU6bm90KC5wb2ludGluZyk6bm90KC5mbG9hdGluZykge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XG59XG4vKiBWaXNpYmxlIEhvdmVyIFVwd2FyZCAqL1xuLnVpLnVwd2FyZC5hY3RpdmUuc2VsZWN0aW9uLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDNweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG4udWkudXB3YXJkLmFjdGl2ZS5zZWxlY3Rpb24uZHJvcGRvd246aG92ZXI6bm90KC5wb2ludGluZyk6bm90KC5mbG9hdGluZykgLm1lbnUge1xuICBib3gtc2hhZG93OiAwIC0ycHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBTY3JvbGxpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlbGVjdGlvbiBNZW51ICovXG4udWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxuLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBtaW4td2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cbi51aS5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkudWkudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51IC5pdGVtLFxuLnVpLnVpLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUgLml0ZW06Zmlyc3QtY2hpbGQsXG4udWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi51aS5kcm9wZG93biA+IC5hbmltYXRpbmcubWVudSAuc2Nyb2xsaW5nLm1lbnUsXG4udWkuZHJvcGRvd24gPiAudmlzaWJsZS5tZW51IC5zY3JvbGxpbmcubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyogU2Nyb2xsYmFyIGluIElFICovXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSxcbiAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gICAgbWluLXdpZHRoOiBjYWxjKDEwMCUgLSAxN3B4KTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxuICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiAxMC4yODU3MTQyOXJlbTtcbiAgfVxuICAudWkuc2Nyb2xsaW5nLnJlc2l6YWJsZS5kcm9wZG93biAubWVudSxcbiAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcucmVzaXphYmxlLm1lbnUge1xuICAgIGhlaWdodDogMTAuMjg1NzE0MjlyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSxcbiAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gICAgbWF4LWhlaWdodDogMTUuNDI4NTcxNDNyZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5yZXNpemFibGUuZHJvcGRvd24gLm1lbnUsXG4gIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLnJlc2l6YWJsZS5tZW51IHtcbiAgICBoZWlnaHQ6IDE1LjQyODU3MTQzcmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUsXG4gIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDIwLjU3MTQyODU3cmVtO1xuICB9XG4gIC51aS5zY3JvbGxpbmcucmVzaXphYmxlLmRyb3Bkb3duIC5tZW51LFxuICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5yZXNpemFibGUubWVudSB7XG4gICAgaGVpZ2h0OiAyMC41NzE0Mjg1N3JlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSxcbiAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gICAgbWF4LWhlaWdodDogMjAuNTcxNDI4NTdyZW07XG4gIH1cbiAgLnVpLnNjcm9sbGluZy5yZXNpemFibGUuZHJvcGRvd24gLm1lbnUsXG4gIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLnJlc2l6YWJsZS5tZW51IHtcbiAgICBoZWlnaHQ6IDIwLjU3MTQyODU3cmVtO1xuICB9XG59XG4udWkuc2Nyb2xsaW5nLnJlc2l6YWJsZS5kcm9wZG93biAubWVudSxcbi51aS5kcm9wZG93biAuc2Nyb2xsaW5nLnJlc2l6YWJsZS5tZW51IHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgbWF4LWhlaWdodDogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBMYWJlbGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBSZWd1bGFyIExhYmVsIG9uIExlZnQgKi9cbi51aS5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pIC5sYWJlbDpmaXJzdC1jaGlsZCArIC5kcm9wZG93biB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi8qIFJlZ3VsYXIgTGFiZWwgb24gUmlnaHQgKi9cbi51aVtjbGFzcyo9XCJyaWdodCBsYWJlbGVkXCJdLmlucHV0ID4gLmRyb3Bkb3duOm5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgbGFiZWxlZFwiXS5pbnB1dCA+IC5kcm9wZG93biArIC5sYWJlbCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQ29sdW1uYXJcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5jb2x1bW4uZHJvcGRvd24gPiAubWVudSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi51aS5kcm9wZG93bltjbGFzcyo9XCJ0d28gY29sdW1uXCJdID4gLm1lbnUgPiAuaXRlbSB7XG4gIHdpZHRoOiA1MCU7XG59XG4udWkuZHJvcGRvd25bY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdID4gLm1lbnUgPiAuaXRlbSB7XG4gIHdpZHRoOiAzMyU7XG59XG4udWkuZHJvcGRvd25bY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0gPiAubWVudSA+IC5pdGVtIHtcbiAgd2lkdGg6IDI1JTtcbn1cbi51aS5kcm9wZG93bltjbGFzcyo9XCJmaXZlIGNvbHVtblwiXSA+IC5tZW51ID4gLml0ZW0ge1xuICB3aWR0aDogMjAlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFNpbXBsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlzcGxheXMgd2l0aG91dCBqYXZhc2NyaXB0ICovXG4udWkuc2ltcGxlLmRyb3Bkb3duIC5tZW51OjpiZWZvcmUsXG4udWkuc2ltcGxlLmRyb3Bkb3duIC5tZW51OjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkuc2ltcGxlLmRyb3Bkb3duIC5tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAvKiBJRSBoYWNrIHRvIG1ha2UgZHJvcGRvd24gaWNvbnMgYXBwZWFyIGlubGluZSAqL1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRvcDogLTk5OTlweDtcbiAgb3BhY2l0eTogMDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi51aS5zaW1wbGUuZHJvcGRvd24gLnVwd2FyZC5tZW51IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG59XG4udWkuc2ltcGxlLnNlbGVjdGlvbi5kcm9wZG93biAudXB3YXJkLm1lbnUge1xuICBtYXJnaW4tYm90dG9tOiAyLjVlbTtcbn1cbi51aS5tZW51Om5vdCgudmVydGljYWwpIC51aS5zaW1wbGUuZHJvcGRvd24uaXRlbSAudXB3YXJkLm1lbnUge1xuICBtYXJnaW4tYm90dG9tOiAyLjhlbTtcbn1cbi51aS5zaW1wbGUuYWN0aXZlLmRyb3Bkb3duLFxuLnVpLnNpbXBsZS5kcm9wZG93bjpob3ZlciB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLnVpLnNpbXBsZS5hY3RpdmUuZHJvcGRvd24gPiAubWVudSxcbi51aS5zaW1wbGUuZHJvcGRvd246aG92ZXIgPiAubWVudSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB0b3A6IDEwMCU7XG4gIG9wYWNpdHk6IDE7XG59XG4udWkuc2ltcGxlLmRyb3Bkb3duID4gLm1lbnUgPiAuaXRlbTphY3RpdmUgPiAubWVudSxcbi51aS5zaW1wbGUuZHJvcGRvd24gLm1lbnUgLml0ZW06aG92ZXIgPiAubWVudSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB0b3A6IDAgIWltcG9ydGFudDtcbiAgbGVmdDogMTAwJTtcbiAgb3BhY2l0eTogMTtcbn1cbi51aS5zaW1wbGUuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93biA+IC5tZW51LFxuLnVpLnNpbXBsZS5zZWxlY3Rpb24uZHJvcGRvd246aG92ZXIgPiAubWVudSxcbi51aS5zaW1wbGUuc2VsZWN0aW9uLmRyb3Bkb3duID4gLm1lbnUgPiAuaXRlbTphY3RpdmUgPiAubWVudSxcbi51aS5zaW1wbGUuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51IC5pdGVtOmhvdmVyID4gLm1lbnUge1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcbn1cbi51aS5zaW1wbGUuZHJvcGRvd24gPiAubWVudSA+IC5pdGVtOmFjdGl2ZSA+IC5sZWZ0Lm1lbnUsXG4udWkuc2ltcGxlLmRyb3Bkb3duIC5tZW51IC5pdGVtOmhvdmVyID4gLmxlZnQubWVudSxcbi5yaWdodC5tZW51IC51aS5zaW1wbGUuZHJvcGRvd24gPiAubWVudSA+IC5pdGVtOmFjdGl2ZSA+IC5tZW51Om5vdCgucmlnaHQpLFxuLnJpZ2h0Lm1lbnUgLnVpLnNpbXBsZS5kcm9wZG93biA+IC5tZW51IC5pdGVtOmhvdmVyID4gLm1lbnU6bm90KC5yaWdodCkge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTAwJTtcbn1cbi51aS5zaW1wbGUuZGlzYWJsZWQuZHJvcGRvd246aG92ZXIgLm1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLyogVmlzaWJsZSAqL1xuLnVpLnNpbXBsZS52aXNpYmxlLmRyb3Bkb3duID4gLm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qIFNjcm9sbGluZyAqL1xuLnVpLnNpbXBsZS5zY3JvbGxpbmcuYWN0aXZlLmRyb3Bkb3duID4gLm1lbnUsXG4udWkuc2ltcGxlLnNjcm9sbGluZy5kcm9wZG93bjpob3ZlciA+IC5tZW51IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBGbHVpZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZsdWlkLmRyb3Bkb3duIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMDtcbn1cbi51aS5mbHVpZC5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRmxvYXRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbG9hdGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcbn1cbi51aTpub3QoLnVwd2FyZCkuZmxvYXRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gIG1hcmdpbi10b3A6IDAuNWVtO1xufVxuLnVpLnVwd2FyZC5mbG9hdGluZy5kcm9wZG93bjpub3QoLnNpbXBsZSkgPiAubWVudSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFBvaW50aW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gIHRvcDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMC43ODU3MTQyOXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS5wb2ludGluZy5kcm9wZG93biA+IC5tZW51Om5vdCguaGlkZGVuKTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB3aWR0aDogMC41ZW07XG4gIGhlaWdodDogMC41ZW07XG4gIGJveC1zaGFkb3c6IC0xcHggLTFweCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgei1pbmRleDogMjtcbn1cbkBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKC5mKSkge1xuICAudWkucG9pbnRpbmcuZHJvcGRvd246bm90KC51cHdhcmQpIC5tZW51Omhhcyg6Zmlyc3QtY2hpbGQ6aG92ZXIpOjphZnRlcixcbiAgLnVpLnVwd2FyZC5wb2ludGluZy5kcm9wZG93biAubWVudTpoYXMoOmxhc3QtY2hpbGQ6aG92ZXIpOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgfVxuICAudWkucG9pbnRpbmcuZHJvcGRvd246bm90KC51cHdhcmQpIC5tZW51Omhhcyguc2VsZWN0ZWQuaXRlbTpmaXJzdC1jaGlsZCk6OmFmdGVyLFxuICAudWkudXB3YXJkLnBvaW50aW5nLmRyb3Bkb3duIC5tZW51Omhhcyguc2VsZWN0ZWQuaXRlbTpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG4gIH1cbn1cbi51aS5zZWxlY3Rpb24ucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTo6YWZ0ZXIge1xuICBib3gtc2hhZG93OiAtMXB4IC0xcHggMCAwICM5NmM4ZGE7XG59XG4udWkucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTpub3QoLmhpZGRlbik6OmFmdGVyIHtcbiAgdG9wOiAtMC4yNWVtO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogMCAwIDAgLTAuMjVlbTtcbn1cbi8qIFRvcCBMZWZ0IFBvaW50aW5nICovXG4udWkudG9wLmxlZnQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gIHRvcDogMTAwJTtcbiAgYm90dG9tOiBhdXRvO1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbiAgbWFyZ2luOiAxZW0gMCAwO1xufVxuLnVpLnRvcC5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IDEwMCU7XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMWVtIDAgMDtcbn1cbi51aS50b3AubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gIHRvcDogLTAuMjVlbTtcbiAgbGVmdDogMWVtO1xuICByaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4vKiBUb3AgUmlnaHQgUG9pbnRpbmcgKi9cbi51aS50b3AucmlnaHQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gIHRvcDogMTAwJTtcbiAgYm90dG9tOiBhdXRvO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luOiAxZW0gMCAwO1xufVxuLnVpLnRvcC5wb2ludGluZy5kcm9wZG93biA+IC5sZWZ0Lm1lbnU6OmFmdGVyLFxuLnVpLnRvcC5yaWdodC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gIHRvcDogLTAuMjVlbTtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICByaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuLyogTGVmdCBQb2ludGluZyAqL1xuLnVpLmxlZnQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMCAwIDAgMWVtO1xufVxuLnVpLmxlZnQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTo6YWZ0ZXIge1xuICB0b3A6IDFlbTtcbiAgbGVmdDogLTAuMjVlbTtcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuLnVpLmxlZnQ6bm90KC50b3ApOm5vdCguYm90dG9tKS5wb2ludGluZy5kcm9wZG93biA+IC5sZWZ0Lm1lbnUge1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAxZW0gMCAwO1xufVxuLnVpLmxlZnQ6bm90KC50b3ApOm5vdCguYm90dG9tKS5wb2ludGluZy5kcm9wZG93biA+IC5sZWZ0Lm1lbnU6OmFmdGVyIHtcbiAgdG9wOiAxZW07XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMC4yNWVtO1xuICBtYXJnaW46IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG59XG4vKiBSaWdodCBQb2ludGluZyAqL1xuLnVpLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDAgMWVtIDAgMDtcbn1cbi51aS5yaWdodC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gIHRvcDogMWVtO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogLTAuMjVlbTtcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xufVxuLyogQm90dG9tIFBvaW50aW5nICovXG4udWkuYm90dG9tLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMTAwJTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMCAwIDFlbTtcbn1cbi51aS5ib3R0b20ucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTo6YWZ0ZXIge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogLTAuMjVlbTtcbiAgcmlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG59XG4vKiBSZXZlcnNlIFN1Yi1NZW51IERpcmVjdGlvbiAqL1xuLnVpLmJvdHRvbS5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IC5tZW51IHtcbiAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLyogQm90dG9tIExlZnQgKi9cbi51aS5ib3R0b20ubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG59XG4udWkuYm90dG9tLmxlZnQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTo6YWZ0ZXIge1xuICBsZWZ0OiAxZW07XG4gIHJpZ2h0OiBhdXRvO1xufVxuLyogQm90dG9tIFJpZ2h0ICovXG4udWkuYm90dG9tLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cbi51aS5ib3R0b20ucmlnaHQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMWVtO1xufVxuLyogVXB3YXJkIHBvaW50aW5nICovXG4udWkucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duIC5tZW51LFxuLnVpLnRvcC5wb2ludGluZy51cHdhcmQuZHJvcGRvd24gLm1lbnUge1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgYm90dG9tOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAwIDAuNzg1NzE0MjlyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duIC5tZW51OjphZnRlcixcbi51aS50b3AucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duIC5tZW51OjphZnRlciB7XG4gIHRvcDogMTAwJSAhaW1wb3J0YW50O1xuICBib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMXB4IDFweCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgbWFyZ2luOiAtMC4yNWVtIDAgMDtcbn1cbi51aS5zZWxlY3Rpb24ucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duIC5tZW51OjphZnRlciB7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggMCAwICM5NmM4ZGE7XG59XG4vKiBSaWdodCBQb2ludGluZyBVcHdhcmQgKi9cbi51aS5yaWdodC5wb2ludGluZy51cHdhcmQuZHJvcGRvd246bm90KC50b3ApOm5vdCguYm90dG9tKSAubWVudSB7XG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIDFlbSAwIDA7XG59XG4udWkucmlnaHQucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duOm5vdCgudG9wKTpub3QoLmJvdHRvbSkgLm1lbnU6OmFmdGVyIHtcbiAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgMCAxZW0gMDtcbiAgYm94LXNoYWRvdzogLTFweCAtMXB4IDAgMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogTGVmdCBQb2ludGluZyBVcHdhcmQgKi9cbi51aS5sZWZ0LnBvaW50aW5nLnVwd2FyZC5kcm9wZG93bjpub3QoLnRvcCk6bm90KC5ib3R0b20pIC5tZW51IHtcbiAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgMCAwIDFlbTtcbn1cbi51aS5sZWZ0LnBvaW50aW5nLnVwd2FyZC5kcm9wZG93bjpub3QoLnRvcCk6bm90KC5ib3R0b20pIC5tZW51OjphZnRlciB7XG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIDAgMWVtIDA7XG4gIGJveC1zaGFkb3c6IC0xcHggLTFweCAwIDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5mbG9hdGluZy5kcm9wZG93biAubWVudSAuaXRlbTpmaXJzdC1jaGlsZCxcbi51aS5wb2ludGluZy5kcm9wZG93biAubWVudSAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLmZsb2F0aW5nLmRyb3Bkb3duIC5tZW51IC5pdGVtOmxhc3QtY2hpbGQsXG4udWkucG9pbnRpbmcuZHJvcGRvd24gLm1lbnUgLml0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmRyb3Bkb3duLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkudWkubWluaS5kcm9wZG93bixcbi51aS51aS5taW5pLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG4udWkudWkudGlueS5kcm9wZG93bixcbi51aS51aS50aW55LmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkudWkuc21hbGwuZHJvcGRvd24sXG4udWkudWkuc21hbGwuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbi51aS51aS5sYXJnZS5kcm9wZG93bixcbi51aS51aS5sYXJnZS5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLnVpLmJpZy5kcm9wZG93bixcbi51aS51aS5iaWcuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS51aS5odWdlLmRyb3Bkb3duLFxuLnVpLnVpLmh1Z2UuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS51aS5tYXNzaXZlLmRyb3Bkb3duLFxuLnVpLnVpLm1hc3NpdmUuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBHZW5lcmFsIHJ1bGVzIGFuZCBiYXNpYyBkcm9wZG93bnMgKi9cbi51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSxcbi51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG4udWkuZHJvcGRvd24gLmludmVydGVkLm1lbnUgPiAuaXRlbSxcbi51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cbi51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSAuYWN0aXZlLml0ZW0sXG4udWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuZHJvcGRvd24gLmludmVydGVkLm1lbnUgPiAuaXRlbTpob3Zlcixcbi51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSA+IC5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzJkMmUyZjtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cbi51aS5pbnZlcnRlZC5kcm9wZG93bi5zZWxlY3RlZCxcbi51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSAuc2VsZWN0ZWQuaXRlbSxcbi51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSAuc2VsZWN0ZWQuaXRlbSB7XG4gIGJhY2tncm91bmQ6ICMzZDNlM2Y7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG4udWkuZHJvcGRvd24gLmludmVydGVkLm1lbnUgPiAuaGVhZGVyLFxuLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51ID4gLmhlYWRlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmRyb3Bkb3duID4gLnRleHQgPiAuZGVzY3JpcHRpb24sXG4udWkuZHJvcGRvd24gLmludmVydGVkLm1lbnUgPiAuaXRlbSA+IC5kZXNjcmlwdGlvbixcbi51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmRlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSA+IC5kaXZpZGVyLFxuLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51ID4gLmRpdmlkZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cbi51aS5kcm9wZG93biAuaW52ZXJ0ZWQuc2Nyb2xsaW5nLm1lbnUsXG4udWkuaW52ZXJ0ZWQuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cbi8qIFNlbGVjdGlvbiAqL1xuLnVpLmludmVydGVkLnNlbGVjdGlvbi5kcm9wZG93biB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmludmVydGVkLnNlbGVjdGlvbi5kcm9wZG93biBpbnB1dCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnNlbGVjdGlvbi52aXNpYmxlLmRyb3Bkb3duID4gLnRleHQ6bm90KC5kZWZhdWx0KSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuc2VsZWN0aW9uLnNpbXBsZS5kcm9wZG93bjpob3ZlciAuaW52ZXJ0ZWQubWVudSxcbi51aS5pbnZlcnRlZC5zZWxlY3Rpb24uc2ltcGxlLmRyb3Bkb3duOmhvdmVyIC5tZW51LFxuLnVpLnNlbGVjdGlvbi5hY3RpdmUuZHJvcGRvd24gLmludmVydGVkLm1lbnUsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93biAubWVudSxcbi51aS5pbnZlcnRlZC5zZWxlY3Rpb24uYWN0aXZlLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSA+IC5pdGVtLFxuLnVpLmludmVydGVkLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMyNDI1MjY7XG59XG4udWkuaW52ZXJ0ZWQuZHJvcGRvd246bm90KC5idXR0b24pID4gLmRlZmF1bHQudGV4dCxcbi51aS5pbnZlcnRlZC5kZWZhdWx0LmRyb3Bkb3duOm5vdCguYnV0dG9uKSA+IC50ZXh0IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51aS5pbnZlcnRlZC5kcm9wZG93bjpub3QoLmJ1dHRvbikgPiBpbnB1dDpmb2N1cyB+IC5kZWZhdWx0LnRleHQsXG4udWkuaW52ZXJ0ZWQuZGVmYXVsdC5kcm9wZG93bjpub3QoLmJ1dHRvbikgPiBpbnB1dDpmb2N1cyB+IC50ZXh0IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51aS5pbnZlcnRlZC5hY3RpdmUuc2VhcmNoLmRyb3Bkb3duIGlucHV0LnNlYXJjaDpmb2N1cyArIC50ZXh0IGkuaWNvbixcbi51aS5pbnZlcnRlZC5hY3RpdmUuc2VhcmNoLmRyb3Bkb3duIGlucHV0LnNlYXJjaDpmb2N1cyArIC50ZXh0IC5mbGFnIHtcbiAgb3BhY2l0eTogMC40NTtcbn1cbi51aS5pbnZlcnRlZC5hY3RpdmUuc2VhcmNoLmRyb3Bkb3duIGlucHV0LnNlYXJjaDpmb2N1cyArIC50ZXh0IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSA+IC5tZXNzYWdlOm5vdCgudWkpLFxuLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51ID4gLm1lc3NhZ2U6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLyogRml4aW5nIHRoZSBib3JkZXIgKi9cbi51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkLFxuLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xufVxuLyogTGFiZWxzICovXG4udWkuaW52ZXJ0ZWQubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSBpbnNldDtcbn1cbi51aS5pbnZlcnRlZC5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLnVpLmludmVydGVkLm11bHRpcGxlLmRyb3Bkb3duID4gLmxhYmVsID4gLmNsb3NlLmljb24sXG4udWkuaW52ZXJ0ZWQubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWwgPiAuZGVsZXRlLmljb24ge1xuICBvcGFjaXR5OiAwLjY7XG59XG4udWkuaW52ZXJ0ZWQubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWwgPiAuY2xvc2UuaWNvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbCA+IC5kZWxldGUuaWNvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuODtcbn1cbi8qIFNlbGVjdGlvbiBmb3IgZm9ybSBlbGVtZW50cyAqL1xuLnVpLmludmVydGVkLmRyb3Bkb3duIHRleHRhcmVhOjpzZWxlY3Rpb24sXG4udWkuaW52ZXJ0ZWQuZHJvcGRvd24gaW5wdXQ6OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG4vKiBTY3JvbGxiYXJzICovXG4udWkuZHJvcGRvd24gLmludmVydGVkLm1lbnU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLFxuLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsXG4udWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cbi51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6d2luZG93LWluYWN0aXZlLFxuLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjp3aW5kb3ctaW5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Zlcixcbi51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpO1xufVxuLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51LFxuLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51IHtcbiAgLyogSUUxMSAqL1xuICBzY3JvbGxiYXItZmFjZS1jb2xvcjogIzY1NjU2NTtcbiAgc2Nyb2xsYmFyLXNoYWRvdy1jb2xvcjogIzY1NjU2NTtcbiAgc2Nyb2xsYmFyLXRyYWNrLWNvbG9yOiAjMzIzMjMyO1xuICBzY3JvbGxiYXItYXJyb3ctY29sb3I6ICMzMjMyMzI7XG59XG5Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTogbm9uZSkge1xuICAudWkuZHJvcGRvd24gLmludmVydGVkLm1lbnUsXG4gIC51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSB7XG4gICAgLyogZmlyZWZveDogZmlyc3QgY29sb3IgdGh1bWIsIHNlY29uZCB0cmFjayAqL1xuICAgIHNjcm9sbGJhci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIH1cbn1cbi51aS5wb2ludGluZy5kcm9wZG93biA+IC5pbnZlcnRlZC5tZW51OjphZnRlcixcbi51aS5pbnZlcnRlZC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGJveC1zaGFkb3c6IC0xcHggLTFweCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cbi51aS5pbnZlcnRlZC51cHdhcmQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTo6YWZ0ZXIge1xuICBib3gtc2hhZG93OiAxcHggMXB4IDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoLmYpKSB7XG4gIC51aS5pbnZlcnRlZC5wb2ludGluZy5kcm9wZG93bjpub3QoLnVwd2FyZCkgLm1lbnU6aGFzKDpmaXJzdC1jaGlsZDpob3Zlcik6OmFmdGVyLFxuICAudWkuaW52ZXJ0ZWQudXB3YXJkLnBvaW50aW5nLmRyb3Bkb3duIC5tZW51Omhhcyg6bGFzdC1jaGlsZDpob3Zlcik6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMmQyZTJmO1xuICB9XG4gIC51aS5pbnZlcnRlZC5wb2ludGluZy5kcm9wZG93bjpub3QoLnVwd2FyZCkgLm1lbnU6aGFzKC5zZWxlY3RlZC5pdGVtOmZpcnN0LWNoaWxkKTo6YWZ0ZXIsXG4gIC51aS5pbnZlcnRlZC51cHdhcmQucG9pbnRpbmcuZHJvcGRvd24gLm1lbnU6aGFzKC5zZWxlY3RlZC5pdGVtOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzNkM2UzZjtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIERyb3Bkb3duIENhcmV0cyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBEcm9wZG93bjtcbiAgc3JjOiB1cmwoXCJkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtiYXNlNjQsZDA5R1JrOVVWRThBQUFTRUFBc0FBQUFBQndRQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJEUmtZZ0FBQUM1QUFBQVU4QUFBSHJTcjIyQVVaR1ZFMEFBQVJRQUFBQUhBQUFBQnlOclovVFIwUkZSZ0FBQkRRQUFBQWNBQUFBSUFBbkFCaFBVeTh5QUFBQllBQUFBRUlBQUFCZ1RhZFhDR050WVhBQUFBS0VBQUFBVkFBQUFXUUZjT0tRYUdWaFpBQUFBUWdBQUFBeUFBQUFOZytqODA1b2FHVmhBQUFCUEFBQUFCc0FBQUFrQXdjQkRXaHRkSGdBQUFSc0FBQUFGZ0FBQUI0RUFRQVNiV0Y0Y0FBQUFWZ0FBQUFHQUFBQUJnQUlVQUJ1WVcxbEFBQUJwQUFBQU44QUFBRzJyU2JBTTNCdmMzUUFBQUxZQUFBQURBQUFBQ0FBQXdBQWVKeGpZR1JnWUFEaUtqdEczbmgrbTY4TTNFd01JSENCd1QwQ1JOOVB5SFlDVXA2TXFveDVRSnFEQVN3TkFNTk9CcmdBQUhpY1kyQmtZR0I4OFA4QmtGUmxZQUNUakF5b2dCMEFXV3NERmdBQUFGQUFBQWdBQUhpY1kyQm0rTWc0Z1lHVmdZSFJoekdOZ1lIQkhVcC9aWkJrYUdGQUJZd0NTSnlBTk5jVUJnY0doZyszR0IvOGZ3Q1VmTUNnQUZJRFY2QUFoSXdBVWJFTVNRQUFlSngxelRFS3drQVVCTkJKaklvS0lnZ1cybXd2QkVWdklBZ2lOaFkyVmpFdVFVaDJZWTJGZUFDUFlPbHR2SUgzY1pKOHl3UVMzcC9kK1FFd3dBY2Uvbzh2OXRER1VPelRVM0dEWG9rRCtpaHVvb2VIdU1YOEplNWlqQzliWHRDUlAxVDIwS2NxKy9SRTNLQVg0b0RlaXBzWUlSYTNtRC9GWFN6eEx0WmVlR3lSOGJVd0hHT2JXVXZzb1pIZ2hoUVJIRWVkM05MSTFkK3Z5dy9jNDNEbGVaRXJ6QkZpeGxpNzY4VWFOUTluOWQxMU9lZHNKZHhpeWswUlo0MHpzeFB1L0c3SzdrNjZJVXZXNUNyUlJyc28xMmQxdXF0TmJIZmNGK0lIcm5VK213QjRuR05nWUdCbWdHQVpCa1lHRUlnRDhoakJmQllHSnlETnhjREJ3QVNFakF3S0gyNzkvL3YvUDFpVndvZnJZRGJqLzhkZ1BrUXZHd01Qa0dSaFlBV3kyTUhDYkVETXhJQVhNT09YSHZJQUFJTmhEdDE0bkdOZ1pzQUxBQUI5QUFSNG5FMlB2MHJFUUJDSFozSjdkNHZHcUVjT0ZhS0Mvem9sWjZPV3dtRWxOajZDbFlXbXlpdmNibHl6RStSYUs4RUhzUE14QkJ0cndVZHdBMWZvYnBJN1pXQllmdXg4ZkQ4RXhnQVIrZlZWY3BNa3Q0QWVJQXpMTFNpM3Nkenh5dDFXdWNxVTMxSSsyNWlEdGN2ZWoxS3poOTlWNythMTlOb1JQQzFHQUVzUnZDeEh3Q1A4N01HOEk3V2dEUndXb0FjckVNR21uVDNZVCtOMGtCN0c2Vms4UEhMcjJLMFR0MDRIQjNGak1oVUNRSUVTTTd4RGhmZVlBM2RjejVJWmRPQWNIdUFEMTRNZ2VBdSt6VE5UUlY1b1RVUjVvYmdaZHdwVlpGcVF6RWZLVGlhRTRKTndFcmFsSEdVdUVyblFOakUyb1l4VXdTMGxkQlRTeEkzTDdjT3lLbzYwaWIwbGV6U2wxUncrR1hkcTFwUWlIMDNTZHpLa2E0eW1vc0xRVE1jZWRTdUlsRUpVTXFOY1VpMGpkSVA1WXNiKytsZXFMdFNJL05XU1RTMHhxMFd5WWFqUVhQU1ZQL2NMaXRPNE5nQjRuR05nWkdCZzRBRmlBUVlKQmlZZ3pRTEVJSm9SZ2dFRmJRQkFBQUFBQVFBQUFBRGVUTzA0QUFBQUFOQUFSMWdBQUFBQTMyQnJRbmljWTJCQUFFWVFWb1ZnaHUwTVFnd01BQWMvQVJjQUFBPT1cIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnVpLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICBmb250LWZhbWlseTogRHJvcGRvd247XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBoZWlnaHQ6IDFlbTtcbiAgd2lkdGg6IDEuMjNlbTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aS5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgd2lkdGg6IGF1dG87XG59XG4udWkuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDdcIjtcbn1cbi8qIFN1YiBNZW51ICovXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gLmRyb3Bkb3duLmljb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRhXCIgLyogcnRsOiBcIlxcZjBkOVwiICovO1xufVxuLnVpLmRyb3Bkb3duIC5pdGVtIC5sZWZ0LmRyb3Bkb3duLmljb246OmJlZm9yZSxcbi51aS5kcm9wZG93biAubGVmdC5tZW51IC5pdGVtIC5kcm9wZG93bi5pY29uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkOVwiIC8qcnRsOiBcIlxcZjBkYVwiICovO1xufVxuLyogVmVydGljYWwgTWVudSBEcm9wZG93biAqL1xuLnVpLnZlcnRpY2FsLm1lbnUgLmRyb3Bkb3duLml0ZW0gPiAuZHJvcGRvd24uaWNvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGFcIiAvKiBydGw6IFwiXFxmMGQ5XCIgKi87XG59XG4vKiBJY29ucyBmb3IgUmVmZXJlbmNlXG4uZHJvcGRvd24uZG93bi5pY29uIHtcbiAgY29udGVudDogXCJcXGYwZDdcIjtcbn1cbi5kcm9wZG93bi51cC5pY29uIHtcbiAgY29udGVudDogXCJcXGYwZDhcIjtcbn1cbi5kcm9wZG93bi5sZWZ0Lmljb24ge1xuICBjb250ZW50OiBcIlxcZjBkOVwiO1xufVxuLmRyb3Bkb3duLmljb24uaWNvbiB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRhXCI7XG59XG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVXNlciBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBFbWJlZFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWRlb1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2ltcGxlICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUGxhY2Vob2xkZXIgT3ZlcmxheWVkIEJhY2tncm91bmQgKi9cbi8qIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBIb3ZlciAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEFzcGVjdCBSYXRpb3MgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmVtYmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2RjZGRkZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tXG4gIEVtYmVkZGVkIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmVtYmVkIGlmcmFtZSxcbi51aS5lbWJlZCBlbWJlZCxcbi51aS5lbWJlZCBvYmplY3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRW1iZWRcbi0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmVtYmVkID4gLmVtYmVkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBQbGFjZWhvbGRlclxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZW1iZWQgPiAucGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHRyYW5zcGFyZW50IDQ1JSwgcmdiYSgwLCAwLCAwLCAwLjMpKTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBJY29uXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5lbWJlZCA+IGkuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG59XG4udWkuZW1iZWQgPiBpLmljb246OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDM7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCh0cmFuc3BhcmVudCA0NSUsIHJnYmEoMCwgMCwgMCwgMC4zKSk7XG4gIG9wYWNpdHk6IDAuNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XG59XG4udWkuZW1iZWQgPiBpLmljb246OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDZyZW07XG4gIHRleHQtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4yKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIGNvbG9yIDAuNXMgZWFzZTtcbiAgei1pbmRleDogMTA7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmVtYmVkIGkuaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQgNDUlLCByZ2JhKDAsIDAsIDAsIDAuMykpO1xuICBvcGFjaXR5OiAxO1xufVxuLnVpLmVtYmVkIGkuaWNvbjpob3Zlcjo6YmVmb3JlIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmFjdGl2ZS5lbWJlZCA+IGkuaWNvbixcbi51aS5hY3RpdmUuZW1iZWQgPiAucGxhY2Vob2xkZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLmFjdGl2ZS5lbWJlZCA+IC5lbWJlZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLnNxdWFyZS5lbWJlZCB7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlO1xufVxuLnVpW2NsYXNzKj1cIjQ6M1wiXS5lbWJlZCB7XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG59XG4udWlbY2xhc3MqPVwiMTY6OVwiXS5lbWJlZCB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG4udWlbY2xhc3MqPVwiMjE6OVwiXS5lbWJlZCB7XG4gIHBhZGRpbmctYm90dG9tOiA0Mi44NTcxNDI4NiU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBWaWRlbyBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBGbHlvdXRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgRmx5b3V0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBBbmltYXRpb24gKi9cbi8qIERpbW1lciAqL1xuLyogQ29sb3IgYmVsb3cgcGFnZSAqL1xuLyogU2hhZG93ICovXG4vKiBMYXllcmluZyAqL1xuLyogQWN0aW9ucyAqL1xuLyogU2Nyb2xsaW5nIENvbnRlbnQgKi9cbi8qIENsb3NlIEljb24gKi9cbi8qIEhlYWRlciAqL1xuLyogQ29udGVudCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdpZHRoICovXG4vKiBIZWlnaHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEZseW91dFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZseW91dCBNZW51ICovXG4udWkuZmx5b3V0IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIHotaW5kZXg6IDEwMjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi8qIEdQVSBMYXllcnMgZm9yIENoaWxkIEVsZW1lbnRzICovXG4udWkuZmx5b3V0ID4gKiB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ2xvc2VcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbHlvdXQgPiAuY2xvc2Uge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxLjI1cmVtO1xuICByaWdodDogMS41cmVtO1xuICB6LWluZGV4OiAxO1xuICBvcGFjaXR5OiAwLjg7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgd2lkdGg6IDIuMjVyZW07XG4gIGhlaWdodDogMi4yNXJlbTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDAgMCAwLjI1cmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi51aS5mbHlvdXQgPiAuY2xvc2U6Zm9jdXMsXG4udWkuZmx5b3V0ID4gLmNsb3NlOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBIZWFkZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZseW91dCA+IC5oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZseW91dCA+IC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgcGFkZGluZzogMS41cmVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuLnVpLmZseW91dCA+IC5jb250ZW50LnNjcm9sbGluZyB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xufVxuLnVpLmZseW91dC5sZWZ0ID4gLmNvbnRlbnQsXG4udWkuZmx5b3V0LnJpZ2h0ID4gLmNvbnRlbnQge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNC43cmVtKTtcbn1cbi51aS5mbHlvdXQubGVmdCA+IC5oZWFkZXIgKyAuY29udGVudCxcbi51aS5mbHlvdXQucmlnaHQgPiAuaGVhZGVyICsgLmNvbnRlbnQge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gOS4xcmVtKTtcbn1cbi51aS5mbHlvdXQubGVmdCA+IC5zY3JvbGxpbmcuY29udGVudCxcbi51aS5mbHlvdXQucmlnaHQgPiAuc2Nyb2xsaW5nLmNvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNC43cmVtKTtcbn1cbi51aS5mbHlvdXQubGVmdCA+IC5oZWFkZXIgKyAuc2Nyb2xsaW5nLmNvbnRlbnQsXG4udWkuZmx5b3V0LnJpZ2h0ID4gLmhlYWRlciArIC5zY3JvbGxpbmcuY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA5LjFyZW0pO1xufVxuLnVpLmZseW91dC50b3AgPiAuc2Nyb2xsaW5nLmNvbnRlbnQsXG4udWkuZmx5b3V0LmJvdHRvbSA+IC5zY3JvbGxpbmcuY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IGNhbGMoODB2aCAtIDkuMXJlbSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjdGlvbnNcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbHlvdXQgPiAuYWN0aW9ucyB7XG4gIGJhY2tncm91bmQ6ICNmOWZhZmI7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi51aS5mbHlvdXQgLmFjdGlvbnMgPiAuYnV0dG9uOm5vdCguZmx1aWQpIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNzVlbTtcbn1cbi51aS51aS5mbHlvdXQgPiAuYmFzaWMuYWN0aW9ucyB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4udWkuZmx5b3V0ID4gLmxlZnQuYWN0aW9ucyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udWkuZmx5b3V0ID4gLmxlZnQuYWN0aW9ucyA+IC5idXR0b246bm90KC5mbHVpZCkge1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG4udWkuZmx5b3V0ID4gLmNlbnRlcmVkLFxuLnVpLmZseW91dCA+IC5jZW50ZXIuYWxpZ25lZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aS5mbHlvdXQgPiAuY2VudGVyZWQuYWN0aW9ucyA+IC5idXR0b246bm90KC5mbHVpZCksXG4udWkuZmx5b3V0ID4gLmNlbnRlci5hbGlnbmVkLmFjdGlvbnMgPiAuYnV0dG9uOm5vdCguZmx1aWQpIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xufVxuLnVpLnVpLmZseW91dCA+IC5iYXNpYy5oZWFkZXIsXG4udWkudWkuZmx5b3V0ID4gLmJhc2ljLmFjdGlvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi51aS5mbHlvdXQgPiAuYmFzaWMuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBEaXJlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxlZnQuZmx5b3V0IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xufVxuLnVpLnJpZ2h0LmZseW91dCB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xufVxuLnVpLnRvcC5mbHlvdXQsXG4udWkuYm90dG9tLmZseW91dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG4udWkudG9wLmZseW91dCB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbn1cbi51aS5ib3R0b20uZmx5b3V0IHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBQdXNoYWJsZVxuLS0tLS0tLS0tLS0tLS0tICovXG4ucHVzaGFibGUucHVzaGFibGUucHVzaGFibGUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbn1cbi5wdXNoYWJsZS5wdXNoYWJsZS5wdXNoYWJsZS5sb2NrZWQge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG59XG4vKiBXaG9sZSBQYWdlICovXG5ib2R5LnB1c2hhYmxlIHtcbiAgYmFja2dyb3VuZDogIzU0NTQ1NDtcbn1cbmJvZHkucHVzaGFibGUuZGltbWVkIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbn1cbi8qIFBhZ2UgQ29udGV4dCAqL1xuLnB1c2hhYmxlOm5vdChib2R5KSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cbi5wdXNoYWJsZTpub3QoYm9keSkgPiAudWkuZmx5b3V0LFxuLnB1c2hhYmxlOm5vdChib2R5KSA+IC5maXhlZCxcbi5wdXNoYWJsZTpub3QoYm9keSkgPiAucHVzaGVyOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEZpeGVkXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi5wdXNoYWJsZSA+IC5maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgei1pbmRleDogMTAxO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tICovXG4ucHVzaGFibGUgPiAucHVzaGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICB6LWluZGV4OiAyO1xuICAvKiBQdXNoZXIgc2hvdWxkIGluaGVyaXQgYmFja2dyb3VuZCBmcm9tIGNvbnRleHQgKi9cbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbn1cbi5wdXNoYWJsZSA+IC5wdXNoZXI6bm90KC5vdmVyZmxvd2luZykge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuYm9keS5wdXNoYWJsZSA+IC5wdXNoZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgRGltbWVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi5wdXNoYWJsZSA+IC5wdXNoZXI6OmFmdGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCA1MDBtcztcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gIHotaW5kZXg6IDEwMDA7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbHlvdXQubWVudSAuaXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBEaW1tZWRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnB1c2hhYmxlID4gLnB1c2hlci5kaW1tZWQ6OmFmdGVyIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cbi5wdXNoYWJsZSA+IC5wdXNoZXIuZGltbWVkLmJsdXJyaW5nOm5vdCguY2xvc2luZyk6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig1cHgpIGdyYXlzY2FsZSgwLjcpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNXB4KSBncmF5c2NhbGUoMC43KTtcbn1cbi5wdXNoYWJsZSA+IC5wdXNoZXIuY2xvc2luZy5kaW1tZWQ6OmFmdGVyIHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBBbmltYXRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmFuaW1hdGluZy5mbHlvdXQge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgVmlzaWJsZVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkudmlzaWJsZS5mbHlvdXQge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuLyogU2hhZG93IERpcmVjdGlvbiAqL1xuLnVpLmxlZnQudmlzaWJsZS5mbHlvdXQsXG4udWkucmlnaHQudmlzaWJsZS5mbHlvdXQge1xuICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnRvcC52aXNpYmxlLmZseW91dCxcbi51aS5ib3R0b20udmlzaWJsZS5mbHlvdXQge1xuICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogVmlzaWJsZSBPbiBMb2FkICovXG4udWkudmlzaWJsZS5sZWZ0LmZseW91dCB+IC5maXhlZCxcbi51aS52aXNpYmxlLmxlZnQuZmx5b3V0IH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNDAwcHgsIDAsIDApO1xufVxuLnVpLnZpc2libGUucmlnaHQuZmx5b3V0IH4gLmZpeGVkLFxuLnVpLnZpc2libGUucmlnaHQuZmx5b3V0IH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTQwMHB4LCAwLCAwKTtcbn1cbi51aS52aXNpYmxlLnRvcC5mbHlvdXQgfiAuZml4ZWQsXG4udWkudmlzaWJsZS50b3AuZmx5b3V0IH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzZweCwgMCk7XG59XG4udWkudmlzaWJsZS5ib3R0b20uZmx5b3V0IH4gLmZpeGVkLFxuLnVpLnZpc2libGUuYm90dG9tLmZseW91dCB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zNnB4LCAwKTtcbn1cbi8qIG9wcG9zaXRlIHNpZGVzIHZpc2libGUgZm9yY2VzIGNvbnRlbnQgb3ZlcmxheSAqL1xuLnVpLnZpc2libGUubGVmdC5mbHlvdXQgfiAudWkudmlzaWJsZS5yaWdodC5mbHlvdXQgfiAuZml4ZWQsXG4udWkudmlzaWJsZS5sZWZ0LmZseW91dCB+IC51aS52aXNpYmxlLnJpZ2h0LmZseW91dCB+IC5wdXNoZXIsXG4udWkudmlzaWJsZS5yaWdodC5mbHlvdXQgfiAudWkudmlzaWJsZS5sZWZ0LmZseW91dCB+IC5maXhlZCxcbi51aS52aXNpYmxlLnJpZ2h0LmZseW91dCB+IC51aS52aXNpYmxlLmxlZnQuZmx5b3V0IH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbHlvdXQuaW52ZXJ0ZWQge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuLnVpLmZseW91dC5pbnZlcnRlZCA+IC5jbG9zZSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmZseW91dC5pbnZlcnRlZCA+IC5oZWFkZXIsXG4udWkuZmx5b3V0LmludmVydGVkID4gLmNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5mbHlvdXQuaW52ZXJ0ZWQgPiAuYWN0aW9ucyB7XG4gIGJhY2tncm91bmQ6ICMxOTFhMWI7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuODUpO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFdpZHRoXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExlZnQgLyBSaWdodCAqL1xuLnVpLmxlZnQuZmx5b3V0LFxuLnVpLnJpZ2h0LmZseW91dCB7XG4gIHdpZHRoOiA0MDBweDtcbn1cbi51aS50aGluLmxlZnQuZmx5b3V0LFxuLnVpLnRoaW4ucmlnaHQuZmx5b3V0IHtcbiAgd2lkdGg6IDIwMHB4O1xufVxuLnVpW2NsYXNzKj1cInZlcnkgdGhpblwiXS5sZWZ0LmZseW91dCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ucmlnaHQuZmx5b3V0IHtcbiAgd2lkdGg6IDEyMHB4O1xufVxuLnVpLndpZGUubGVmdC5mbHlvdXQsXG4udWkud2lkZS5yaWdodC5mbHlvdXQge1xuICB3aWR0aDogNjAwcHg7XG59XG4udWlbY2xhc3MqPVwidmVyeSB3aWRlXCJdLmxlZnQuZmx5b3V0LFxuLnVpW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5yaWdodC5mbHlvdXQge1xuICB3aWR0aDogODAwcHg7XG59XG4vKiBMZWZ0IFZpc2libGUgKi9cbi51aS52aXNpYmxlLnRoaW4ubGVmdC5mbHlvdXQgfiAuZml4ZWQsXG4udWkudmlzaWJsZS50aGluLmxlZnQuZmx5b3V0IH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwcHgsIDAsIDApO1xufVxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB0aGluXCJdLmxlZnQuZmx5b3V0IH4gLmZpeGVkLFxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB0aGluXCJdLmxlZnQuZmx5b3V0IH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTIwcHgsIDAsIDApO1xufVxuLnVpLnZpc2libGUud2lkZS5sZWZ0LmZseW91dCB+IC5maXhlZCxcbi51aS52aXNpYmxlLndpZGUubGVmdC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg2MDBweCwgMCwgMCk7XG59XG4udWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ubGVmdC5mbHlvdXQgfiAuZml4ZWQsXG4udWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ubGVmdC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4MDBweCwgMCwgMCk7XG59XG4vKiBSaWdodCBWaXNpYmxlICovXG4udWkudmlzaWJsZS50aGluLnJpZ2h0LmZseW91dCB+IC5maXhlZCxcbi51aS52aXNpYmxlLnRoaW4ucmlnaHQuZmx5b3V0IH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMHB4LCAwLCAwKTtcbn1cbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgdGhpblwiXS5yaWdodC5mbHlvdXQgfiAuZml4ZWQsXG4udWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ucmlnaHQuZmx5b3V0IH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEyMHB4LCAwLCAwKTtcbn1cbi51aS52aXNpYmxlLndpZGUucmlnaHQuZmx5b3V0IH4gLmZpeGVkLFxuLnVpLnZpc2libGUud2lkZS5yaWdodC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNjAwcHgsIDAsIDApO1xufVxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB3aWRlXCJdLnJpZ2h0LmZseW91dCB+IC5maXhlZCxcbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5yaWdodC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtODAwcHgsIDAsIDApO1xufVxuLyogRnVsbHNjcmVlbiAqL1xuLnVpLmZ1bGxzY3JlZW4uZmx5b3V0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBDb2x1bW4gV2lkdGhcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2l6aW5nIENvbWJpbmF0aW9ucyAqL1xuLnVpW2NsYXNzKj1cIm9uZSB3aWRlXCJdLmZseW91dDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgd2lkdGg6IDYuMjUlO1xufVxuLnVpW2NsYXNzKj1cInR3byB3aWRlXCJdLmZseW91dDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuLnVpW2NsYXNzKj1cInRocmVlIHdpZGVcIl0uZmx5b3V0Om5vdCguZnVsbHNjcmVlbikge1xuICB3aWR0aDogMTguNzUlO1xufVxuLnVpW2NsYXNzKj1cImZvdXIgd2lkZVwiXS5mbHlvdXQ6bm90KC5mdWxsc2NyZWVuKSB7XG4gIHdpZHRoOiAyNSU7XG59XG4udWlbY2xhc3MqPVwiZml2ZSB3aWRlXCJdLmZseW91dDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgd2lkdGg6IDMxLjI1JTtcbn1cbi51aVtjbGFzcyo9XCJzaXggd2lkZVwiXS5mbHlvdXQ6bm90KC5mdWxsc2NyZWVuKSB7XG4gIHdpZHRoOiAzNy41JTtcbn1cbi51aVtjbGFzcyo9XCJzZXZlbiB3aWRlXCJdLmZseW91dDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgd2lkdGg6IDQzLjc1JTtcbn1cbi51aVtjbGFzcyo9XCJlaWdodCB3aWRlXCJdLmZseW91dDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi51aVtjbGFzcyo9XCJuaW5lIHdpZGVcIl0uZmx5b3V0Om5vdCguZnVsbHNjcmVlbikge1xuICB3aWR0aDogNTYuMjUlO1xufVxuLnVpW2NsYXNzKj1cInRlbiB3aWRlXCJdLmZseW91dDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgd2lkdGg6IDYyLjUlO1xufVxuLnVpW2NsYXNzKj1cImVsZXZlbiB3aWRlXCJdLmZseW91dDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgd2lkdGg6IDY4Ljc1JTtcbn1cbi51aVtjbGFzcyo9XCJ0d2VsdmUgd2lkZVwiXS5mbHlvdXQ6bm90KC5mdWxsc2NyZWVuKSB7XG4gIHdpZHRoOiA3NSU7XG59XG4udWlbY2xhc3MqPVwidGhpcnRlZW4gd2lkZVwiXS5mbHlvdXQ6bm90KC5mdWxsc2NyZWVuKSB7XG4gIHdpZHRoOiA4MS4yNSU7XG59XG4udWlbY2xhc3MqPVwiZm91cnRlZW4gd2lkZVwiXS5mbHlvdXQ6bm90KC5mdWxsc2NyZWVuKSB7XG4gIHdpZHRoOiA4Ny41JTtcbn1cbi51aVtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGVcIl0uZmx5b3V0Om5vdCguZnVsbHNjcmVlbikge1xuICB3aWR0aDogOTMuNzUlO1xufVxuLnVpW2NsYXNzKj1cInNpeHRlZW4gd2lkZVwiXS5mbHlvdXQ6bm90KC5mdWxsc2NyZWVuKSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBBbmltYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgT3ZlcmxheVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2V0LXVwICovXG4udWkub3ZlcmxheS5mbHlvdXQge1xuICB6LWluZGV4OiAxMDI7XG59XG4vKiBJbml0aWFsICovXG4udWkubGVmdC5vdmVybGF5LmZseW91dCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xufVxuLnVpLnJpZ2h0Lm92ZXJsYXkuZmx5b3V0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbn1cbi51aS50b3Aub3ZlcmxheS5mbHlvdXQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbn1cbi51aS5ib3R0b20ub3ZlcmxheS5mbHlvdXQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xufVxuLyogQW5pbWF0aW9uICovXG4uYW5pbWF0aW5nLnVpLm92ZXJsYXkuZmx5b3V0LFxuLnVpLnZpc2libGUub3ZlcmxheS5mbHlvdXQge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbn1cbi8qIEVuZCAtIGZseW91dCAqL1xuLnVpLnZpc2libGUub3ZlcmxheS5mbHlvdXQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuLyogRW5kIC0gUHVzaGVyICovXG4udWkudmlzaWJsZS5vdmVybGF5LmZseW91dCB+IC5maXhlZCxcbi51aS52aXNpYmxlLm92ZXJsYXkuZmx5b3V0IH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIE1vZGFsXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1vZGFsXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQ2xvc2UgSWNvbiAqL1xuLyogSGVhZGVyICovXG4vKiBDb250ZW50ICovXG4vKiBJbWFnZSAvIERlc2NyaXB0aW9uICovXG4vKiBNb2RhbCBBY3Rpb25zICovXG4vKiBJbm5lciBDbG9zZSBQb3NpdGlvbiAoVGFibGV0L01vYmlsZSkgKi9cbi8qIE1vYmlsZSBQb3NpdGlvbnMgKi9cbi8qIFJlc3BvbnNpdmUgV2lkdGhzICovXG4vKiBDb3VwbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBCYXNpYyAqL1xuLyogQWxpZ25lZCAqL1xuLyogU2Nyb2xsaW5nIE1hcmdpbiAqL1xuLyogU2Nyb2xsaW5nIENvbnRlbnQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTaXplIFdpZHRocyAqL1xuLyogRGVyaXZlZCBSZXNwb25zaXZlIFNpemVzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFJlc2l6YWJsZSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1vZGFsXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLm1vZGFsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAxMDAxO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDFweCAzcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjIpLCAxcHggM3B4IDE1cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDI1JTtcbiAgZmxleDogMCAwIGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xuICB3aWxsLWNoYW5nZTogdG9wLCBsZWZ0LCBtYXJnaW4sIHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi51aS5tb2RhbCA+IDpmaXJzdC1jaGlsZDpub3QoLmNsb3NlKTpub3QoLmRpbW1lciksXG4udWkubW9kYWwgPiBpLmljb246Zmlyc3QtY2hpbGQgKyAqLFxuLnVpLm1vZGFsID4gLmRpbW1lcjpmaXJzdC1jaGlsZCArICo6bm90KC5jbG9zZSksXG4udWkubW9kYWwgPiAuZGltbWVyOmZpcnN0LWNoaWxkICsgaS5pY29uICsgKiB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLm1vZGFsID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS5tb2RhbCA+IC51aS5kaW1tZXIge1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQ2xvc2VcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5tb2RhbCA+IC5jbG9zZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0yLjVyZW07XG4gIHJpZ2h0OiAtMi41cmVtO1xuICB6LWluZGV4OiAxO1xuICBvcGFjaXR5OiAwLjg7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgd2lkdGg6IDIuMjVyZW07XG4gIGhlaWdodDogMi4yNXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW0gMCAwIDA7XG59XG4udWkubW9kYWwgPiAuY2xvc2U6Zm9jdXMsXG4udWkubW9kYWwgPiAuY2xvc2U6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xuICBvdXRsaW5lOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgSGVhZGVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5tb2RhbCA+IC5oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5tb2RhbCA+IC5oZWFkZXI6bm90KC51aSkge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI4NTcxNDI5ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubW9kYWwgPiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cbi51aS5tb2RhbCA+IC5pbWFnZS5jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi8qIEltYWdlICovXG4udWkubW9kYWwgPiAuY29udGVudCA+IC5pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IFwiXCI7XG4gIGFsaWduLXNlbGY6IHN0YXJ0O1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4udWkubW9kYWwgPiBbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0ge1xuICBhbGlnbi1zZWxmOiBzdGFydDtcbn1cbi51aS5tb2RhbCA+IFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbi51aS5tb2RhbCA+IFtjbGFzcyo9XCJzdHJldGNoZWRcIl0ge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuLyogRGVzY3JpcHRpb24gKi9cbi51aS5tb2RhbCA+IC5jb250ZW50ID4gLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBtaW4td2lkdGg6IDA7XG4gIGFsaWduLXNlbGY6IHN0YXJ0O1xufVxuLnVpLm1vZGFsID4gLmNvbnRlbnQgPiBpLmljb24gKyAuZGVzY3JpcHRpb24sXG4udWkubW9kYWwgPiAuY29udGVudCA+IC5pbWFnZSArIC5kZXNjcmlwdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBtaW4td2lkdGg6IFwiXCI7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDJlbTtcbn1cbi8qIHJ0bDppZ25vcmUgKi9cbi51aS5tb2RhbCA+IC5jb250ZW50ID4gLmltYWdlID4gaS5pY29uIHtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAxO1xuICB3aWR0aDogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogOHJlbTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBBY3Rpb25zXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkubW9kYWwgPiAuYWN0aW9ucyB7XG4gIGJhY2tncm91bmQ6ICNmOWZhZmI7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi51aS5tb2RhbCAuYWN0aW9ucyA+IC5idXR0b246bm90KC5mbHVpZCkge1xuICBtYXJnaW4tbGVmdDogMC43NWVtO1xufVxuLnVpLnVpLm1vZGFsID4gLmJhc2ljLmFjdGlvbnMsXG4udWkuYmFzaWMubW9kYWwgPiAuYWN0aW9ucyB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4udWkubW9kYWwgPiAubGVmdC5hY3Rpb25zIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi51aS5tb2RhbCA+IC5sZWZ0LmFjdGlvbnMgPiAuYnV0dG9uOm5vdCguZmx1aWQpIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xufVxuLnVpLm1vZGFsID4gLmNlbnRlcmVkLFxuLnVpLm1vZGFsID4gLmNlbnRlci5hbGlnbmVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnVpLm1vZGFsID4gLmNlbnRlcmVkLmFjdGlvbnMgPiAuYnV0dG9uOm5vdCguZmx1aWQpLFxuLnVpLm1vZGFsID4gLmNlbnRlci5hbGlnbmVkLmFjdGlvbnMgPiAuYnV0dG9uOm5vdCguZmx1aWQpIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFJlc3BvbnNpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNb2RhbCBXaWR0aCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkubW9kYWw6bm90KC5mdWxsc2NyZWVuKSB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVpLm1vZGFsOm5vdCguZnVsbHNjcmVlbikge1xuICAgIHdpZHRoOiA4OCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS5tb2RhbDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgICB3aWR0aDogODUwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC51aS5tb2RhbDpub3QoLmZ1bGxzY3JlZW4pID4gLmFjdGl2ZS5kaW1tZXIgKyAuY2xvc2U6bm90KC5pbnNpZGUpIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjE7XG4gIH1cbiAgLnVpLmRpbW1lciA+IC51aS5tb2RhbDpub3QoLmZ1bGxzY3JlZW4pID4gLmNsb3NlOm5vdCguaW5zaWRlKSB7XG4gICAgdGV4dC1zaGFkb3c6IC0xcHggLTFweCAycHggcmdiYSgwLCAwLCAwLCAwLjMpLCAxcHggLTFweCAycHggcmdiYSgwLCAwLCAwLCAwLjMpLCAtMXB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjMpLCAxcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIH1cbiAgLnVpLmludmVydGVkLmRpbW1lciA+IC51aS5tb2RhbDpub3QoLmZ1bGxzY3JlZW4pID4gLmNsb3NlOm5vdCguaW5zaWRlKSB7XG4gICAgdGV4dC1zaGFkb3c6IC0xcHggLTFweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpLCAxcHggLTFweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpLCAtMXB4IDJweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpLCAxcHggMnB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51aS5tb2RhbDpub3QoLmZ1bGxzY3JlZW4pIHtcbiAgICB3aWR0aDogOTAwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkubW9kYWw6bm90KC5mdWxsc2NyZWVuKSB7XG4gICAgd2lkdGg6IDk1MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuLyogVGFibGV0IGFuZCBNb2JpbGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLnVpLm1vZGFsID4gLmNsb3NlICsgLmhlYWRlciB7XG4gICAgcGFkZGluZy1yaWdodDogMi4yNXJlbTtcbiAgfVxuICAudWkubW9kYWwgPiAuY2xvc2Uge1xuICAgIHRvcDogMS4wNTM1cmVtO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICB9XG59XG4vKiBNb2JpbGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLm1vZGFsID4gLmhlYWRlciB7XG4gICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICB9XG4gIC51aS5tb2RhbCA+IC5jbG9zZSArIC5oZWFkZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuMjVyZW07XG4gIH1cbiAgLnVpLm92ZXJsYXkuZnVsbHNjcmVlbi5tb2RhbCA+IC5jb250ZW50LmNvbnRlbnQuY29udGVudCB7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDguMXJlbSk7XG4gIH1cbiAgLnVpLm92ZXJsYXkuZnVsbHNjcmVlbi5tb2RhbCA+IC5zY3JvbGxpbmcuY29udGVudC5jb250ZW50LmNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA4LjFyZW0pO1xuICB9XG4gIC51aS5tb2RhbCA+IC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLm1vZGFsID4gLmNsb3NlIHtcbiAgICB0b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAvKiBydGw6aWdub3JlICovXG4gIC51aS5tb2RhbCAuaW1hZ2UuY29udGVudCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAudWkubW9kYWwgPiAuY29udGVudCA+IC5pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMCAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLm1vZGFsID4gLmNvbnRlbnQgPiAuaW1hZ2UgPiBpLmljb24ge1xuICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLyogcnRsOmlnbm9yZSAqL1xuICAudWkubW9kYWwgPiAuY29udGVudCA+IC5kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxcmVtIDAgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC8qIExldCBCdXR0b25zIFN0YWNrICovXG4gIC51aS5tb2RhbCA+IC5hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMHJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5tb2RhbCAuYWN0aW9ucyA+IC5idXR0b25zLFxuICAudWkubW9kYWwgLmFjdGlvbnMgPiAuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbnZlcnRlZC5kaW1tZXIgPiAudWkubW9kYWwge1xuICBib3gtc2hhZG93OiAxcHggM3B4IDEwcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuYmFzaWMubW9kYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnVpLm1vZGFsID4gLmJhc2ljLmhlYWRlcixcbi51aS51aS5tb2RhbCA+IC5iYXNpYy5hY3Rpb25zLFxuLnVpLmJhc2ljLm1vZGFsID4gLmhlYWRlcixcbi51aS5iYXNpYy5tb2RhbCA+IC5jb250ZW50LFxuLnVpLmJhc2ljLm1vZGFsID4gLmFjdGlvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi51aS5tb2RhbCA+IC5iYXNpYy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLnVpLmJhc2ljLm1vZGFsID4gLmhlYWRlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLnVpLmJhc2ljLm1vZGFsID4gLmNsb3NlIHtcbiAgdG9wOiAxcmVtO1xuICByaWdodDogMS41cmVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5kaW1tZXIgPiAuYmFzaWMubW9kYWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5pbnZlcnRlZC5kaW1tZXIgPiAudWkuYmFzaWMubW9kYWwgPiAuaGVhZGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG59XG4vKiBSZXNvcnQgdG8gbWFyZ2luIHBvc2l0aW9uaW5nIGlmIGxlZ2FjeSAqL1xuLnVpLmxlZ2FjeS5sZWdhY3kubW9kYWwsXG4udWkubGVnYWN5LmxlZ2FjeS5wYWdlLmRpbW1lciA+IC51aS5tb2RhbCB7XG4gIGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xufVxuLnVpLmxlZ2FjeS5sZWdhY3kubW9kYWw6bm90KC5hbGlnbmVkKSxcbi51aS5sZWdhY3kubGVnYWN5LnBhZ2UuZGltbWVyID4gLnVpLm1vZGFsOm5vdCguYWxpZ25lZCkge1xuICB0b3A6IDUwJTtcbn1cbi51aS5sZWdhY3kubGVnYWN5LnBhZ2UuZGltbWVyID4gLnVpLnNjcm9sbGluZy5tb2RhbDpub3QoLmFsaWduZWQpLFxuLnVpLnBhZ2UuZGltbWVyID4gLnVpLnNjcm9sbGluZy5sZWdhY3kubGVnYWN5Lm1vZGFsOm5vdCguYWxpZ25lZCksXG4udWkudG9wLmFsaWduZWQubGVnYWN5LmxlZ2FjeS5wYWdlLmRpbW1lciA+IC51aS5tb2RhbDpub3QoLmFsaWduZWQpLFxuLnVpLnRvcC5hbGlnbmVkLmRpbW1lciA+IC51aS5sZWdhY3kubGVnYWN5Lm1vZGFsOm5vdCguYWxpZ25lZCkge1xuICB0b3A6IGF1dG87XG59XG4udWkubGVnYWN5Lm92ZXJsYXkuZnVsbHNjcmVlbi5tb2RhbCB7XG4gIG1hcmdpbi10b3A6IC0ycmVtICFpbXBvcnRhbnQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5sb2FkaW5nLm1vZGFsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogLTE7XG59XG4udWkuYWN0aXZlLm1vZGFsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBbGlnbmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4ubW9kYWxzLmRpbW1lciAudWkudG9wLmFsaWduZWQubW9kYWwge1xuICB0b3A6IDV2aDtcbn1cbi5tb2RhbHMuZGltbWVyIC51aS5ib3R0b20uYWxpZ25lZC5tb2RhbCB7XG4gIGJvdHRvbTogNXZoO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAubW9kYWxzLmRpbW1lciAudWkudG9wLmFsaWduZWQubW9kYWwge1xuICAgIHRvcDogMXJlbTtcbiAgfVxuICAubW9kYWxzLmRpbW1lciAudWkuYm90dG9tLmFsaWduZWQubW9kYWwge1xuICAgIGJvdHRvbTogMXJlbTtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2Nyb2xsaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTY3JvbGxpbmcgRGltbWVyICovXG4uc2Nyb2xsaW5nLmRpbW1hYmxlLmRpbW1lZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uc2Nyb2xsaW5nLmRpbW1hYmxlID4gLmRpbW1lciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG4uc2Nyb2xsaW5nLmRpbW1hYmxlOm5vdChib2R5KSA+IC5kaW1tZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uc2Nyb2xsaW5nLmRpbW1hYmxlLmRpbW1lZCA+IC5kaW1tZXIge1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcbn1cbi5tb2RhbHMuZGltbWVyIC51aS5zY3JvbGxpbmcubW9kYWwuZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbn1cbi5tb2RhbHMuZGltbWVyIC51aS5zY3JvbGxpbmcubW9kYWw6bm90KC5mdWxsc2NyZWVuKSB7XG4gIG1hcmdpbjogMnJlbSBhdXRvO1xuICB0b3A6IDFlbTtcbn1cbi8qIEZpeCBmb3IgRmlyZWZveCwgRWRnZSwgSUUxMSAqL1xuLm1vZGFscy5kaW1tZXIgLnVpLnNjcm9sbGluZy5tb2RhbDpub3QoW2NsYXNzKj1cIm92ZXJsYXkgZnVsbHNjcmVlblwiXSk6OmFmdGVyIHtcbiAgY29udGVudDogXCJcXDAwQTBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDJyZW07XG59XG4vKiBVbmRldGFjaGVkIFNjcm9sbGluZyAqL1xuLnNjcm9sbGluZy51bmRldGFjaGVkLmRpbW1hYmxlLmRpbW1lZCB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xufVxuLnNjcm9sbGluZy51bmRldGFjaGVkLmRpbW1hYmxlLmRpbW1lZCA+IC5kaW1tZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnNjcm9sbGluZy51bmRldGFjaGVkLmRpbW1hYmxlIC51aS5zY3JvbGxpbmcubW9kYWw6bm90KC5mdWxsc2NyZWVuKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xufVxuLyogU2Nyb2xsaW5nIENvbnRlbnQgKi9cbi51aS5tb2RhbCA+IC5zY3JvbGxpbmcuY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IGNhbGMoODB2aCAtIDEwcmVtKTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG59XG4udWkubW9kYWwgPiAucmVzaXphYmxlLnNjcm9sbGluZy5jb250ZW50IHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgbWF4LWhlaWdodDogbm9uZTtcbn1cbi51aS5vdmVybGF5LmZ1bGxzY3JlZW4ubW9kYWwgPiAuY29udGVudCB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA5LjFyZW0pO1xufVxuLnVpLm92ZXJsYXkuZnVsbHNjcmVlbi5tb2RhbCA+IC5zY3JvbGxpbmcuY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA5LjFyZW0pO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGdWxsIFNjcmVlblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZ1bGxzY3JlZW4ubW9kYWwge1xuICB3aWR0aDogOTUlO1xuICBsZWZ0OiAyLjUlO1xuICBtYXJnaW46IDFlbSBhdXRvO1xufVxuLnVpLm92ZXJsYXkuZnVsbHNjcmVlbi5tb2RhbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdG9wOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnVpLm1vZGFsID4gLmNsb3NlLmluc2lkZSArIC5oZWFkZXI6bm90KC5jZW50ZXJlZCk6bm90KC5jZW50ZXIpOm5vdCguaWNvbiksXG4udWkuZnVsbHNjcmVlbi5tb2RhbCA+IC5jbG9zZSArIC5oZWFkZXI6bm90KC5jZW50ZXJlZCk6bm90KC5jZW50ZXIpOm5vdCguaWNvbikge1xuICBwYWRkaW5nLXJpZ2h0OiAyLjI1cmVtO1xufVxuLnVpLm1vZGFsID4gLmNsb3NlLmluc2lkZSxcbi51aS5mdWxsc2NyZWVuLm1vZGFsID4gLmNsb3NlIHtcbiAgdG9wOiAxLjA1MzVyZW07XG4gIHJpZ2h0OiAxcmVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5iYXNpYy5mdWxsc2NyZWVuLm1vZGFsID4gLmNsb3NlIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZVxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkubW9kYWwge1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkubWluaS5tb2RhbCA+IC5oZWFkZXI6bm90KC51aSkge1xuICBmb250LXNpemU6IDEuM2VtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkubWluaS5tb2RhbCB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVpLm1pbmkubW9kYWwge1xuICAgIHdpZHRoOiAzNS4yJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLm1pbmkubW9kYWwge1xuICAgIHdpZHRoOiAzNDBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51aS5taW5pLm1vZGFsIHtcbiAgICB3aWR0aDogMzYwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkubWluaS5tb2RhbCB7XG4gICAgd2lkdGg6IDM4MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuLnVpLnRpbnkubW9kYWwgPiAuaGVhZGVyOm5vdCgudWkpIHtcbiAgZm9udC1zaXplOiAxLjNlbTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLnRpbnkubW9kYWwge1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51aS50aW55Lm1vZGFsIHtcbiAgICB3aWR0aDogNTIuOCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS50aW55Lm1vZGFsIHtcbiAgICB3aWR0aDogNTEwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWkudGlueS5tb2RhbCB7XG4gICAgd2lkdGg6IDU0MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLnRpbnkubW9kYWwge1xuICAgIHdpZHRoOiA1NzBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbi51aS5zbWFsbC5tb2RhbCA+IC5oZWFkZXI6bm90KC51aSkge1xuICBmb250LXNpemU6IDEuM2VtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkuc21hbGwubW9kYWwge1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51aS5zbWFsbC5tb2RhbCB7XG4gICAgd2lkdGg6IDcwLjQlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWkuc21hbGwubW9kYWwge1xuICAgIHdpZHRoOiA2ODBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51aS5zbWFsbC5tb2RhbCB7XG4gICAgd2lkdGg6IDcyMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLnNtYWxsLm1vZGFsIHtcbiAgICB3aWR0aDogNzYwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4udWkubGFyZ2UubW9kYWwgPiAuaGVhZGVyOm5vdCgudWkpIHtcbiAgZm9udC1zaXplOiAxLjZlbTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLmxhcmdlLm1vZGFsIHtcbiAgICB3aWR0aDogOTUlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkubGFyZ2UubW9kYWwge1xuICAgIHdpZHRoOiA4OCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS5sYXJnZS5tb2RhbCB7XG4gICAgd2lkdGg6IDEwMjBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51aS5sYXJnZS5tb2RhbCB7XG4gICAgd2lkdGg6IDEwODBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS5sYXJnZS5tb2RhbCB7XG4gICAgd2lkdGg6IDExNDBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbi51aS5iaWcubW9kYWwgPiAuaGVhZGVyOm5vdCgudWkpIHtcbiAgZm9udC1zaXplOiAxLjZlbTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLmJpZy5tb2RhbCB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVpLmJpZy5tb2RhbCB7XG4gICAgd2lkdGg6IDg4JTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLmJpZy5tb2RhbCB7XG4gICAgd2lkdGg6IDExOTBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51aS5iaWcubW9kYWwge1xuICAgIHdpZHRoOiAxMjYwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkuYmlnLm1vZGFsIHtcbiAgICB3aWR0aDogMTMzMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuLnVpLmh1Z2UubW9kYWwgPiAuaGVhZGVyOm5vdCgudWkpIHtcbiAgZm9udC1zaXplOiAxLjZlbTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLmh1Z2UubW9kYWwge1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51aS5odWdlLm1vZGFsIHtcbiAgICB3aWR0aDogODglO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWkuaHVnZS5tb2RhbCB7XG4gICAgd2lkdGg6IDEzNjBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51aS5odWdlLm1vZGFsIHtcbiAgICB3aWR0aDogMTQ0MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLmh1Z2UubW9kYWwge1xuICAgIHdpZHRoOiAxNTIwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4udWkubWFzc2l2ZS5tb2RhbCA+IC5oZWFkZXI6bm90KC51aSkge1xuICBmb250LXNpemU6IDEuOGVtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkubWFzc2l2ZS5tb2RhbCB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVpLm1hc3NpdmUubW9kYWwge1xuICAgIHdpZHRoOiA4OCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS5tYXNzaXZlLm1vZGFsIHtcbiAgICB3aWR0aDogMTUzMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVpLm1hc3NpdmUubW9kYWwge1xuICAgIHdpZHRoOiAxNjIwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkubWFzc2l2ZS5tb2RhbCB7XG4gICAgd2lkdGg6IDE3MTBweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICBJbnZlcnRlZFxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuaW52ZXJ0ZWQubW9kYWwge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuLnVpLmludmVydGVkLm1vZGFsID4gLmhlYWRlcixcbi51aS5pbnZlcnRlZC5tb2RhbCA+IC5jb250ZW50IHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQubW9kYWwgPiAuYWN0aW9ucyB7XG4gIGJhY2tncm91bmQ6ICMxOTFhMWI7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuODUpO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5kaW1tZXIgPiAubW9kYWwgPiAuY2xvc2Uge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLnVpLmRpbW1lciAuaW52ZXJ0ZWQubW9kYWwgPiAuY2xvc2Uge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICB9XG59XG4udWkuaW52ZXJ0ZWQubW9kYWwgPiAuY2xvc2UuaW5zaWRlLFxuLnVpLmludmVydGVkLmZ1bGxzY3JlZW4ubW9kYWwgPiAuY2xvc2Uge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBOYWdcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTmFnXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIENvbGxlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBFbGVtZW50c1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaXRsZSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBIb3ZlciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVG9wIC8gQm90dG9tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBsdXJhbFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE5hZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5uYWcge1xuICBkaXNwbGF5OiBub25lO1xuICBvcGFjaXR5OiAwLjk1O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5O1xuICBtaW4taGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBiYWNrZ3JvdW5kOiAjOTA5MDkwO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbiAgdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2U7XG59XG5hLnVpLm5hZyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi51aS5uYWcgPiAudGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAwLjVlbTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkubmFnID4gLmNsb3NlLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDAuNDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDFlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbjogLTAuNWVtIDAgMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuLnVpLm5hZzpub3QoLm92ZXJsYXkpOm5vdCguZml4ZWQpIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogSG92ZXIgKi9cbi51aS5uYWc6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjOTA5MDkwO1xuICBvcGFjaXR5OiAxO1xufVxuLnVpLm5hZyA+IC5jbG9zZTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFN0YXRpY1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLm92ZXJsYXkubmFncyxcbi51aS5vdmVybGF5Lm5hZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBGaXhlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmZpeGVkLm5hZ3MsXG4udWkuZml4ZWQubmFnIHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEJvdHRvbVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmJvdHRvbS5uYWdzLFxuLnVpLmJvdHRvbS5uYWcge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMCAwO1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmludmVydGVkLm5hZ3MgLm5hZyxcbi51aS5pbnZlcnRlZC5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmNGY1O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbi51aS5pbnZlcnRlZC5uYWdzIC5uYWcgPiAuY2xvc2UsXG4udWkuaW52ZXJ0ZWQubmFnID4gLmNsb3NlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi51aS5pbnZlcnRlZC5uYWdzIC5uYWcgPiAudGl0bGUsXG4udWkuaW52ZXJ0ZWQubmFnID4gLnRpdGxlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFNpemVzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5taW5pLm5hZyxcbi51aS5taW5pLm5hZ3MgLm5hZyB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS50aW55Lm5hZyxcbi51aS50aW55Lm5hZ3MgLm5hZyB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS5zbWFsbC5uYWcsXG4udWkuc21hbGwubmFncyAubmFnIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLmxhcmdlLm5hZyxcbi51aS5sYXJnZS5uYWdzIC5uYWcge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkuYmlnLm5hZyxcbi51aS5iaWcubmFncyAubmFnIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLmh1Z2UubmFnLFxuLnVpLmh1Z2UubmFncyAubmFnIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi51aS5tYXNzaXZlLm5hZyxcbi51aS5tYXNzaXZlLm5hZ3MgLm5hZyB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tICovXG4udWkucHJpbWFyeS5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLmludmVydGVkLnByaW1hcnkubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0YzhmZjtcbn1cbi51aS5zZWNvbmRhcnkubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4ZDMxNztcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NTQ1NDtcbn1cbi51aS5yZWQubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiMjgyODtcbn1cbi51aS5pbnZlcnRlZC5yZWQubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjk1ZTtcbn1cbi51aS5vcmFuZ2UubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNzExYztcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmODUxYjtcbn1cbi51aS55ZWxsb3cubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiYmQwODtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTIxZjtcbn1cbi51aS5vbGl2ZS5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjVjYzE4O1xufVxuLnVpLmludmVydGVkLm9saXZlLm5hZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWU3Nzg7XG59XG4udWkuZ3JlZW4ubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYmE0NTtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmVjYzQwO1xufVxuLnVpLnRlYWwubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjVhZDtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLm5hZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZGZmZmY7XG59XG4udWkuYmx1ZS5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLmludmVydGVkLmJsdWUubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0YzhmZjtcbn1cbi51aS52aW9sZXQubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVjOTtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EyOTFmYjtcbn1cbi51aS5wdXJwbGUubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzMzNjODtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjNzNmZjtcbn1cbi51aS5waW5rLm5hZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMDM5OTc7XG59XG4udWkuaW52ZXJ0ZWQucGluay5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4ZWRmO1xufVxuLnVpLmJyb3duLm5hZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhNTY3M2Y7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24ubmFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2N2MxYztcbn1cbi51aS5ncmV5Lm5hZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5uYWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkZGRlO1xufVxuLnVpLmJsYWNrLm5hZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuYmxhY2submFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NTQ1NDtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5uYWcgLnRpdGxlIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICAgR3JvdXBzXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5uYWdzIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS51aS5uYWdzIC5uYWcge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnVpLm5hZ3M6bm90KC5ib3R0b20pIC5uYWc6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4udWkuYm90dG9tLm5hZ3MgLm5hZzpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWkubmFnczpub3QoLmZpeGVkKTpub3QoLm92ZXJsYXkpIC5uYWc6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMCAwO1xufVxuLnVpLm5hZ3M6bm90KC5maXhlZCk6bm90KC5vdmVybGF5KSAubmFnOm9ubHktY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFVzZXIgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gUG9wdXBcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgUG9wdXBcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBQYXJ0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBsYWNlbWVudCAqL1xuLyogSGVhZGVyICovXG4vKiBDb250ZW50IEJvcmRlciAqL1xuLyogQXJyb3cgKi9cbi8qIEFycm93IGNvbG9yIGJ5IHBvc2l0aW9uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUb29sdGlwICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQXJyb3cgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEdyaWQgSW5zaWRlIFBvcHVwICovXG4vKiAocGFkZGluZyAqIEBtZWRpdW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogYmFja3dhcmQgY29tcGF0aWJsZSBqdXN0IGluIGNhc2UgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2lkZSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEFycm93IGNvbG9yIGJ5IHBvc2l0aW9uICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgUG9wdXBcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkucG9wdXAge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIC8qIEZpeGVzIGNvbnRlbnQgYmVpbmcgc3F1aXNoZWQgd2hlbiBpbmxpbmUgKG1veiBvbmx5KSAqL1xuICBtaW4td2lkdGg6IG1pbi1jb250ZW50O1xuICB6LWluZGV4OiAxOTAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDRkNGQ1O1xuICBsaW5lLWhlaWdodDogMS40Mjg1ZW07XG4gIG1heC13aWR0aDogMjUwcHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDAuODMzZW0gMWVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5wb3B1cCA+IC5oZWFkZXIge1xuICBwYWRkaW5nOiAwO1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLnBvcHVwID4gLmhlYWRlciArIC5jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDAuNWVtO1xufVxuLnVpLnBvcHVwOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwLjcxNDI4NTcxZW07XG4gIGhlaWdodDogMC43MTQyODU3MWVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHotaW5kZXg6IDE5MDE7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggMCAwICNiYWJhYmM7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBUb29sdGlwXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDb250ZW50ICovXG5bZGF0YS10b29sdGlwXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi8qIEFycm93ICovXG5bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB3aWR0aDogMC43MTQyODU3MWVtO1xuICBoZWlnaHQ6IDAuNzE0Mjg1NzFlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgei1pbmRleDogMTkwMTtcbiAgYm94LXNoYWRvdzogMXB4IDFweCAwIDAgI2JhYmFiYztcbn1cbi8qIFBvcHVwICovXG5bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogYXR0cihkYXRhLXRvb2x0aXApO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDRkNGQ1O1xuICBsaW5lLWhlaWdodDogMS40Mjg1ZW07XG4gIG1heC13aWR0aDogbm9uZTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgcGFkZGluZzogMC44MzNlbSAxZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB6LWluZGV4OiAxOTAwO1xufVxuLyogQW5pbWF0aW9uICovXG5bZGF0YS10b29sdGlwXTo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuW2RhdGEtdG9vbHRpcF06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF06aG92ZXI6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMDRzO1xufVxuW2RhdGEtdG9vbHRpcF06OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdOmhvdmVyOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjgpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xufVxuW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInZpc2libGVcIl06OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInZpc2libGVcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF06aG92ZXI6OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdOmhvdmVyOjphZnRlciB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBvcGFjaXR5OiAxO1xufVxuW2RhdGEtdG9vbHRpcF06aG92ZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZSgxKTtcbn1cbi8qIEFuaW1hdGlvbiBQb3NpdGlvbiAqL1xuW2RhdGEtdG9vbHRpcF06bm90KFtkYXRhLXBvc2l0aW9uXSk6OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cInRvcCBjZW50ZXJcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSBjZW50ZXJcIl06OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuOCk7XG59XG5bZGF0YS10b29sdGlwXTpub3QoW2RhdGEtcG9zaXRpb25dKTpob3Zlcjo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwidG9wIGNlbnRlclwiXTpob3Zlcjo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGNlbnRlclwiXTpob3Zlcjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMSk7XG59XG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwibGVmdCBjZW50ZXJcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cInJpZ2h0IGNlbnRlclwiXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMC44KTtcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJsZWZ0IGNlbnRlclwiXTpob3Zlcjo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdOmhvdmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMS4wMDAxKSAhaW1wb3J0YW50O1xufVxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cInRvcCBsZWZ0XCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJ0b3AgcmlnaHRcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSBsZWZ0XCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJib3R0b20gcmlnaHRcIl06OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xufVxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cInRvcCBsZWZ0XCJdOmhvdmVyOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJ0b3AgcmlnaHRcIl06aG92ZXI6OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSBsZWZ0XCJdOmhvdmVyOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJib3R0b20gcmlnaHRcIl06aG92ZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImZpeGVkXCJdOjphZnRlciB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdpZHRoOiAyNTBweDtcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9uKj1cIndpZGUgZml4ZWRcIl06OmFmdGVyIHtcbiAgd2lkdGg6IDM1MHB4O1xufVxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb24qPVwidmVyeSB3aWRlIGZpeGVkXCJdOjphZnRlciB7XG4gIHdpZHRoOiA1NTBweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwiZml4ZWRcIl06OmFmdGVyIHtcbiAgICB3aWR0aDogMjUwcHg7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBJbnZlcnRlZFxuICAgICAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEFycm93ICovXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXTo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIEFycm93IFBvc2l0aW9uICovXG5bZGF0YS10b29sdGlwXTpub3QoW2RhdGEtcG9zaXRpb25dKVtkYXRhLWludmVydGVkXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbn1cbi8qIFBvcHVwICovXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFBvc2l0aW9uXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuW2RhdGEtcG9zaXRpb25+PVwidG9wXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG4vKiBUb3AgQ2VudGVyIChkZWZhdWx0KSAqL1xuW2RhdGEtdG9vbHRpcF06bm90KFtkYXRhLXBvc2l0aW9uXSk6OmFmdGVyLFxuW2RhdGEtcG9zaXRpb249XCJ0b3AgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNTAlO1xuICBib3R0b206IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuW2RhdGEtdG9vbHRpcF06bm90KFtkYXRhLXBvc2l0aW9uXSk6OmJlZm9yZSxcbltkYXRhLXBvc2l0aW9uPVwidG9wIGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbWFyZ2luLWxlZnQ6IC0wLjA3MTQyODU3cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjE0Mjg1NzE0cmVtO1xufVxuLyogVG9wIExlZnQgKi9cbltkYXRhLXBvc2l0aW9uPVwidG9wIGxlZnRcIl1bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuW2RhdGEtcG9zaXRpb249XCJ0b3AgbGVmdFwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDFlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjA3MTQyODU3cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjE0Mjg1NzE0cmVtO1xufVxuLyogVG9wIFJpZ2h0ICovXG5bZGF0YS1wb3NpdGlvbj1cInRvcCByaWdodFwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG5bZGF0YS1wb3NpdGlvbj1cInRvcCByaWdodFwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIGJvdHRvbTogMTAwJTtcbiAgcmlnaHQ6IDFlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjA3MTQyODU3cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjE0Mjg1NzE0cmVtO1xufVxuW2RhdGEtcG9zaXRpb25+PVwiYm90dG9tXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IC0xcHggLTFweCAwIDAgI2JhYmFiYztcbn1cbi8qIEJvdHRvbSBDZW50ZXIgKi9cbltkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gIGJvdHRvbTogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbn1cbltkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICBib3R0b206IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjA3MTQyODU3cmVtO1xuICBtYXJnaW4tdG9wOiAwLjMwNzE0Mjg2ZW07XG59XG4vKiBCb3R0b20gTGVmdCAqL1xuW2RhdGEtcG9zaXRpb249XCJib3R0b20gbGVmdFwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG59XG5bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSBsZWZ0XCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMWVtO1xuICBtYXJnaW4tbGVmdDogLTAuMDcxNDI4NTdyZW07XG4gIG1hcmdpbi10b3A6IDAuMTQyODU3MTRyZW07XG59XG4vKiBCb3R0b20gUmlnaHQgKi9cbltkYXRhLXBvc2l0aW9uPVwiYm90dG9tIHJpZ2h0XCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG59XG5bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSByaWdodFwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDFlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjE0Mjg1NzE0cmVtO1xuICBtYXJnaW4tdG9wOiAwLjA3MTQyODU3cmVtO1xufVxuLyogTGVmdCBDZW50ZXIgKi9cbltkYXRhLXBvc2l0aW9uPVwibGVmdCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICByaWdodDogMTAwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG5bZGF0YS1wb3NpdGlvbj1cImxlZnQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gIHJpZ2h0OiAxMDAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTAuMTQyODU3MTRyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuMDcxNDI4NTdyZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDFweCAtMXB4IDAgMCAjYmFiYWJjO1xufVxuLyogUmlnaHQgQ2VudGVyICovXG5bZGF0YS1wb3NpdGlvbj1cInJpZ2h0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gIGxlZnQ6IDEwMCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG59XG5bZGF0YS1wb3NpdGlvbj1cInJpZ2h0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICBsZWZ0OiAxMDAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTAuMDcxNDI4NTdyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjE0Mjg1NzE0cmVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAtMXB4IDFweCAwIDAgI2JhYmFiYztcbn1cbi8qIEludmVydGVkIEFycm93IENvbG9yICovXG5bZGF0YS1pbnZlcnRlZF1bZGF0YS1wb3NpdGlvbn49XCJib3R0b21cIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbiAgYm94LXNoYWRvdzogLTFweCAtMXB4IDAgMCAjYmFiYWJjO1xufVxuW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtcG9zaXRpb249XCJsZWZ0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xuICBib3gtc2hhZG93OiAxcHggLTFweCAwIDAgI2JhYmFiYztcbn1cbltkYXRhLWludmVydGVkXVtkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG4gIGJveC1zaGFkb3c6IC0xcHggMXB4IDAgMCAjYmFiYWJjO1xufVxuW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtcG9zaXRpb25+PVwidG9wXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG59XG5bZGF0YS1wb3NpdGlvbn49XCJib3R0b21cIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cbltkYXRhLXBvc2l0aW9ufj1cImJvdHRvbVwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG59XG5bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcbn1cbltkYXRhLXBvc2l0aW9uPVwibGVmdCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbn1cbltkYXRhLXBvc2l0aW9uPVwibGVmdCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG59XG5bZGF0YS1wb3NpdGlvbj1cInJpZ2h0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG59XG5bZGF0YS1wb3NpdGlvbj1cInJpZ2h0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xufVxuW2RhdGEtcG9zaXRpb249XCJ0b3AgbGVmdFwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xufVxuW2RhdGEtcG9zaXRpb249XCJ0b3AgcmlnaHRcIl1bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG59XG5bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSBsZWZ0XCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG59XG5bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSByaWdodFwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBCYXNpY1xuICAgICAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImJhc2ljXCJdOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwibXVsdGlsaW5lXCJdOjphZnRlciB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFNwYWNpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnBvcHVwIHtcbiAgbWFyZ2luOiAwO1xufVxuLyogRXh0ZW5kaW5nIGZyb20gVG9wICovXG4udWkudG9wLnBvcHVwIHtcbiAgbWFyZ2luOiAwIDAgMC43MTQyODU3MWVtO1xufVxuLnVpLnRvcC5sZWZ0LnBvcHVwIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG59XG4udWkudG9wLmNlbnRlci5wb3B1cCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG4udWkudG9wLnJpZ2h0LnBvcHVwIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xufVxuLyogRXh0ZW5kaW5nIGZyb20gVmVydGljYWwgQ2VudGVyICovXG4udWkubGVmdC5jZW50ZXIucG9wdXAge1xuICBtYXJnaW46IDAgMC43MTQyODU3MWVtIDAgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgNTAlO1xufVxuLnVpLnJpZ2h0LmNlbnRlci5wb3B1cCB7XG4gIG1hcmdpbjogMCAwIDAgMC43MTQyODU3MWVtO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IDUwJTtcbn1cbi8qIEV4dGVuZGluZyBmcm9tIEJvdHRvbSAqL1xuLnVpLmJvdHRvbS5wb3B1cCB7XG4gIG1hcmdpbjogMC43MTQyODU3MWVtIDAgMDtcbn1cbi51aS5ib3R0b20ubGVmdC5wb3B1cCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xufVxuLnVpLmJvdHRvbS5jZW50ZXIucG9wdXAge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xufVxuLnVpLmJvdHRvbS5yaWdodC5wb3B1cCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBQb2ludGVyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gQmVsb3cgLS0tICovXG4udWkuYm90dG9tLmNlbnRlci5wb3B1cDo6YmVmb3JlIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjMwNzE0Mjg2ZW07XG4gIHRvcDogLTAuMzA3MTQyODZlbTtcbiAgbGVmdDogNTAlO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICBib3gtc2hhZG93OiAtMXB4IC0xcHggMCAwICNiYWJhYmM7XG59XG4udWkuYm90dG9tLmxlZnQucG9wdXAge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi8qIHJ0bDpyZW5hbWUgKi9cbi51aS5ib3R0b20ubGVmdC5wb3B1cDo6YmVmb3JlIHtcbiAgdG9wOiAtMC4zMDcxNDI4NmVtO1xuICBsZWZ0OiAxZW07XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3gtc2hhZG93OiAtMXB4IC0xcHggMCAwICNiYWJhYmM7XG59XG4udWkuYm90dG9tLnJpZ2h0LnBvcHVwIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLyogcnRsOnJlbmFtZSAqL1xuLnVpLmJvdHRvbS5yaWdodC5wb3B1cDo6YmVmb3JlIHtcbiAgdG9wOiAtMC4zMDcxNDI4NmVtO1xuICByaWdodDogMWVtO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3gtc2hhZG93OiAtMXB4IC0xcHggMCAwICNiYWJhYmM7XG59XG4vKiAtLS0gQWJvdmUgLS0tICovXG4udWkudG9wLmNlbnRlci5wb3B1cDo6YmVmb3JlIHtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiAtMC4zMDcxNDI4NmVtO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMC4zMDcxNDI4NmVtO1xufVxuLnVpLnRvcC5sZWZ0LnBvcHVwIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4vKiBydGw6cmVuYW1lICovXG4udWkudG9wLmxlZnQucG9wdXA6OmJlZm9yZSB7XG4gIGJvdHRvbTogLTAuMzA3MTQyODZlbTtcbiAgbGVmdDogMWVtO1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi51aS50b3AucmlnaHQucG9wdXAge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4vKiBydGw6cmVuYW1lICovXG4udWkudG9wLnJpZ2h0LnBvcHVwOjpiZWZvcmUge1xuICBib3R0b206IC0wLjMwNzE0Mjg2ZW07XG4gIHJpZ2h0OiAxZW07XG4gIHRvcDogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4vKiAtLS0gTGVmdCBDZW50ZXIgLS0tICovXG4vKiBydGw6cmVuYW1lICovXG4udWkubGVmdC5jZW50ZXIucG9wdXA6OmJlZm9yZSB7XG4gIHRvcDogNTAlO1xuICByaWdodDogLTAuMzA3MTQyODZlbTtcbiAgYm90dG9tOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtMC4zMDcxNDI4NmVtO1xuICBib3gtc2hhZG93OiAxcHggLTFweCAwIDAgI2JhYmFiYztcbn1cbi8qIC0tLSBSaWdodCBDZW50ZXIgLS0tICovXG4vKiBydGw6cmVuYW1lICovXG4udWkucmlnaHQuY2VudGVyLnBvcHVwOjpiZWZvcmUge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogLTAuMzA3MTQyODZlbTtcbiAgYm90dG9tOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTAuMzA3MTQyODZlbTtcbiAgYm94LXNoYWRvdzogLTFweCAxcHggMCAwICNiYWJhYmM7XG59XG4udWkucmlnaHQuY2VudGVyLnBvcHVwOjpiZWZvcmUsXG4udWkubGVmdC5jZW50ZXIucG9wdXA6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG4vKiBBcnJvdyBDb2xvciBCeSBMb2NhdGlvbiAqL1xuLnVpLmJvdHRvbS5wb3B1cDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cbi51aS50b3AucG9wdXA6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG4vKiBJbnZlcnRlZCBBcnJvdyBDb2xvciAqL1xuLnVpLmludmVydGVkLmJvdHRvbS5wb3B1cDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbn1cbi51aS5pbnZlcnRlZC5yaWdodC5jZW50ZXIucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5sZWZ0LmNlbnRlci5wb3B1cDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbn1cbi51aS5pbnZlcnRlZC50b3AucG9wdXA6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ291cGxpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBJbW1lZGlhdGUgTmVzdGVkIEdyaWQgKi9cbi51aS51aS51aS5wb3B1cCA+IC51aS5ncmlkOm5vdCgucGFkZGVkKSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxLjc1cmVtKTtcbiAgbWFyZ2luOiAtMC43cmVtIC0wLjg3NXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkubG9hZGluZy5wb3B1cCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnVpLmxvYWRpbmcucG9wdXAgKiB7XG4gIG9wYWNpdHk6IDAuMztcbn1cbi51aS5sb2FkaW5nLnBvcHVwOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMWVtIDAgMCAtMWVtO1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgYW5pbWF0aW9uOiBsb2FkZXIgMC42cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGJvcmRlcjogMC4yZW0gc29saWQgIzc2NzY3NjtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHotaW5kZXg6IDEwMTtcbn1cbi51aS5pbnZpc2libGUucG9wdXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IC0xO1xufVxuLnVpLmFuaW1hdGluZy5wb3B1cCxcbi51aS52aXNpYmxlLnBvcHVwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkudmlzaWJsZS5wb3B1cCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQmFzaWNcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5iYXNpYy5wb3B1cDo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5maXhlZC5wb3B1cCB7XG4gIHdpZHRoOiAyNTBweDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBXaWRlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkud2lkZS5wb3B1cCB7XG4gIG1heC13aWR0aDogMzUwcHg7XG59XG4udWkud2lkZS5wb3B1cC5maXhlZCB7XG4gIHdpZHRoOiAzNTBweDtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ucG9wdXAge1xuICBtYXgtd2lkdGg6IDU1MHB4O1xufVxuLnVpW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5wb3B1cC5maXhlZCB7XG4gIHdpZHRoOiA1NTBweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLndpZGUucG9wdXAsXG4gIC51aVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ucG9wdXAge1xuICAgIG1heC13aWR0aDogMjUwcHg7XG4gIH1cbiAgLnVpLndpZGUucG9wdXAuZml4ZWQsXG4gIC51aVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ucG9wdXAuZml4ZWQge1xuICAgIHdpZHRoOiAyNTBweDtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZsdWlkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmx1aWQucG9wdXAge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIENvbG9yc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgY29sb3JzICovXG4udWkuaW52ZXJ0ZWQucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjMWIxYzFkO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmludmVydGVkLnBvcHVwIC5oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5wb3B1cDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS51aS51aS5wcmltYXJ5LnBvcHVwOjpiZWZvcmUsXG4udWkucHJpbWFyeS5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInByaW1hcnlcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwicHJpbWFyeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzZDMzY2NztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS51aS51aS5wcmltYXJ5LmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS5wcmltYXJ5LmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjYmU3ZGI4O1xufVxuLnVpLnVpLnVpLnByaW1hcnkucG9wdXA6OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInByaW1hcnlcIl06OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQucHJpbWFyeS5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnByaW1hcnkucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJwcmltYXJ5XCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cInByaW1hcnlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM1NGM4ZmY7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnVpLnVpLmludmVydGVkLnByaW1hcnkubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnByaW1hcnkubG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICMwMDdlYmE7XG59XG4udWkudWkudWkuc2Vjb25kYXJ5LnBvcHVwOjpiZWZvcmUsXG4udWkuc2Vjb25kYXJ5LnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwic2Vjb25kYXJ5XCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInNlY29uZGFyeVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzg4ZDMxNztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS51aS51aS5zZWNvbmRhcnkubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLnNlY29uZGFyeS5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogI2NiZjM5MDtcbn1cbi51aS51aS51aS5zZWNvbmRhcnkucG9wdXA6OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInNlY29uZGFyeVwiXTo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5zZWNvbmRhcnkucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJzZWNvbmRhcnlcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwic2Vjb25kYXJ5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNTQ1NDU0O1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5zZWNvbmRhcnkubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogIzA4MDgwODtcbn1cbi51aS51aS51aS5yZWQucG9wdXA6OmJlZm9yZSxcbi51aS5yZWQucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJyZWRcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwicmVkXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZGIyODI4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLnVpLnVpLnJlZC5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkucmVkLmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjZjFhYmFiO1xufVxuLnVpLnVpLnVpLnJlZC5wb3B1cDo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwicmVkXCJdOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLnVpLnVpLmludmVydGVkLnJlZC5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnJlZC5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cInJlZFwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJyZWRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmZjY5NWU7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnVpLnVpLmludmVydGVkLnJlZC5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQucmVkLmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjYzQwZDAwO1xufVxuLnVpLnVpLnVpLm9yYW5nZS5wb3B1cDo6YmVmb3JlLFxuLnVpLm9yYW5nZS5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cIm9yYW5nZVwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJvcmFuZ2VcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmMjcxMWM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IG5vbmU7XG59XG4udWkudWkudWkub3JhbmdlLmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS5vcmFuZ2UubG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICNmYWNjYWQ7XG59XG4udWkudWkudWkub3JhbmdlLnBvcHVwOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJvcmFuZ2VcIl06OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQub3JhbmdlLnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwib3JhbmdlXCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cIm9yYW5nZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2ZmODUxYjtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQub3JhbmdlLmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5vcmFuZ2UubG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICM4MTNjMDA7XG59XG4udWkudWkudWkueWVsbG93LnBvcHVwOjpiZWZvcmUsXG4udWkueWVsbG93LnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwieWVsbG93XCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInllbGxvd1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2ZiYmQwODtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS51aS51aS55ZWxsb3cubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLnllbGxvdy5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogI2ZkZTU5Zjtcbn1cbi51aS51aS51aS55ZWxsb3cucG9wdXA6OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInllbGxvd1wiXTo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS51aS51aS5pbnZlcnRlZC55ZWxsb3cucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC55ZWxsb3cucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJ5ZWxsb3dcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwieWVsbG93XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmZlMjFmO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi51aS51aS51aS5pbnZlcnRlZC55ZWxsb3cubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnllbGxvdy5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogIzg1NzQwMDtcbn1cbi51aS51aS51aS5vbGl2ZS5wb3B1cDo6YmVmb3JlLFxuLnVpLm9saXZlLnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwib2xpdmVcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwib2xpdmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNiNWNjMTg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IG5vbmU7XG59XG4udWkudWkudWkub2xpdmUubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLm9saXZlLmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjZTRmMThjO1xufVxuLnVpLnVpLnVpLm9saXZlLnBvcHVwOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJvbGl2ZVwiXTo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5vbGl2ZS5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLm9saXZlLnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwib2xpdmVcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwib2xpdmVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNkOWU3Nzg7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnVpLnVpLmludmVydGVkLm9saXZlLmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5vbGl2ZS5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogIzk3YTgxZTtcbn1cbi51aS51aS51aS5ncmVlbi5wb3B1cDo6YmVmb3JlLFxuLnVpLmdyZWVuLnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwiZ3JlZW5cIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwiZ3JlZW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMyMWJhNDU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IG5vbmU7XG59XG4udWkudWkudWkuZ3JlZW4ubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLmdyZWVuLmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjOGFlYWEwO1xufVxuLnVpLnVpLnVpLmdyZWVuLnBvcHVwOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJncmVlblwiXTo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5ncmVlbi5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLmdyZWVuLnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwiZ3JlZW5cIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwiZ3JlZW5cIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMyZWNjNDA7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnVpLnVpLmludmVydGVkLmdyZWVuLmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5ncmVlbi5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogIzEyNGYxOTtcbn1cbi51aS51aS51aS50ZWFsLnBvcHVwOjpiZWZvcmUsXG4udWkudGVhbC5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInRlYWxcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwidGVhbFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzAwYjVhZDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS51aS51aS50ZWFsLmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS50ZWFsLmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjNGZmZmY3O1xufVxuLnVpLnVpLnVpLnRlYWwucG9wdXA6OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInRlYWxcIl06OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQudGVhbC5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnRlYWwucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJ0ZWFsXCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cInRlYWxcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM2ZGZmZmY7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnVpLnVpLmludmVydGVkLnRlYWwubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnRlYWwubG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICMwMGQzZDM7XG59XG4udWkudWkudWkuYmx1ZS5wb3B1cDo6YmVmb3JlLFxuLnVpLmJsdWUucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJibHVlXCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImJsdWVcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMyMTg1ZDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IG5vbmU7XG59XG4udWkudWkudWkuYmx1ZS5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkuYmx1ZS5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogIzliY2JlZjtcbn1cbi51aS51aS51aS5ibHVlLnBvcHVwOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJibHVlXCJdOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLnVpLnVpLmludmVydGVkLmJsdWUucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5ibHVlLnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwiYmx1ZVwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJibHVlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNTRjOGZmO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5ibHVlLmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5ibHVlLmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjMDA3ZWJhO1xufVxuLnVpLnVpLnVpLnZpb2xldC5wb3B1cDo6YmVmb3JlLFxuLnVpLnZpb2xldC5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInZpb2xldFwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJ2aW9sZXRcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM2NDM1Yzk7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IG5vbmU7XG59XG4udWkudWkudWkudmlvbGV0LmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS52aW9sZXQubG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICNjMWFkZWE7XG59XG4udWkudWkudWkudmlvbGV0LnBvcHVwOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJ2aW9sZXRcIl06OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQudmlvbGV0LnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwidmlvbGV0XCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cInZpb2xldFwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2EyOTFmYjtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQudmlvbGV0LmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC52aW9sZXQubG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICMyZDA5ZWE7XG59XG4udWkudWkudWkucHVycGxlLnBvcHVwOjpiZWZvcmUsXG4udWkucHVycGxlLnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwicHVycGxlXCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInB1cnBsZVwiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2EzMzNjODtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS51aS51aS5wdXJwbGUubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLnB1cnBsZS5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogI2RhYWJlOTtcbn1cbi51aS51aS51aS5wdXJwbGUucG9wdXA6OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInB1cnBsZVwiXTo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5wdXJwbGUucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5wdXJwbGUucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJwdXJwbGVcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwicHVycGxlXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZGM3M2ZmO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5wdXJwbGUubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnB1cnBsZS5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogI2EzMDBkOTtcbn1cbi51aS51aS51aS5waW5rLnBvcHVwOjpiZWZvcmUsXG4udWkucGluay5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInBpbmtcIl06OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwicGlua1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2UwMzk5NztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS51aS51aS5waW5rLmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS5waW5rLmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjZjViZGRjO1xufVxuLnVpLnVpLnVpLnBpbmsucG9wdXA6OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInBpbmtcIl06OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQucGluay5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnBpbmsucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJwaW5rXCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cInBpbmtcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmZjhlZGY7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnVpLnVpLmludmVydGVkLnBpbmsubG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLnBpbmsubG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICNmNDAwYWY7XG59XG4udWkudWkudWkuYnJvd24ucG9wdXA6OmJlZm9yZSxcbi51aS5icm93bi5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImJyb3duXCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImJyb3duXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjYTU2NzNmO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLnVpLnVpLmJyb3duLmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS5icm93bi5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogI2RiYjhhMjtcbn1cbi51aS51aS51aS5icm93bi5wb3B1cDo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwiYnJvd25cIl06OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQuYnJvd24ucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5icm93bi5wb3B1cCxcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cImJyb3duXCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtdmFyaWF0aW9ufj1cImJyb3duXCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZDY3YzFjO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5icm93bi5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQuYnJvd24ubG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICM0ZjJlMGE7XG59XG4udWkudWkudWkuZ3JleS5wb3B1cDo6YmVmb3JlLFxuLnVpLmdyZXkucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJncmV5XCJdOjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImdyZXlcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IG5vbmU7XG59XG4udWkudWkudWkuZ3JleS5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkuZ3JleS5sb2FkaW5nLnBvcHVwIHtcbiAgYmFja2dyb3VuZDogI2MzYzNjMztcbn1cbi51aS51aS51aS5ncmV5LnBvcHVwOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJncmV5XCJdOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLnVpLnVpLmludmVydGVkLmdyZXkucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5ncmV5LnBvcHVwLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwiZ3JleVwiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJncmV5XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZGNkZGRlO1xuICBjb2xvcjogIzFiMWMxZDtcbn1cbi51aS51aS51aS5pbnZlcnRlZC5ncmV5LmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbi51aS5pbnZlcnRlZC5ncmV5LmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjOGQ5MTk0O1xufVxuLnVpLnVpLnVpLmJsYWNrLnBvcHVwOjpiZWZvcmUsXG4udWkuYmxhY2sucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJibGFja1wiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJibGFja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzFiMWMxZDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS51aS51aS5ibGFjay5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4udWkuYmxhY2subG9hZGluZy5wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICM2NTY5NmM7XG59XG4udWkudWkudWkuYmxhY2sucG9wdXA6OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImJsYWNrXCJdOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLnVpLnVpLmludmVydGVkLmJsYWNrLnBvcHVwOjpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQuYmxhY2sucG9wdXAsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJibGFja1wiXTo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJibGFja1wiXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzU0NTQ1NDtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4udWkudWkudWkuaW52ZXJ0ZWQuYmxhY2subG9hZGluZy5wb3B1cDo6YmVmb3JlLFxuLnVpLmludmVydGVkLmJsYWNrLmxvYWRpbmcucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjMDgwODA4O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZsb3dpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5mbG93aW5nLnBvcHVwIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnBvcHVwIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLm1pbmkucG9wdXAge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJtaW5pXCJdOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJtaW5pXCJdOjphZnRlciB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS50aW55LnBvcHVwIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwidGlueVwiXTo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwidGlueVwiXTo6YWZ0ZXIge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkuc21hbGwucG9wdXAge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJzbWFsbFwiXTo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwic21hbGxcIl06OmFmdGVyIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLmxhcmdlLnBvcHVwIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwibGFyZ2VcIl06OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImxhcmdlXCJdOjphZnRlciB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5iaWcucG9wdXAge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJiaWdcIl06OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImJpZ1wiXTo6YWZ0ZXIge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG4udWkuaHVnZS5wb3B1cCB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImh1Z2VcIl06OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImh1Z2VcIl06OmFmdGVyIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuLnVpLm1hc3NpdmUucG9wdXAge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJtYXNzaXZlXCJdOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJtYXNzaXZlXCJdOjphZnRlciB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBVc2VyIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFByb2dyZXNzXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgUHJvZ3Jlc3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEJhciAqL1xuLyogUHJvZ3Jlc3MgQmFyIExhYmVsICovXG4vKiBMYWJlbCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQWN0aXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQXR0YWNoZWQgKi9cbi8qIEludmVydGVkICovXG4vKiBTaXppbmcgKi9cbi8qIEluZGV0ZXJtaW5hdGUgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFVzZXIgVmFyaWFibGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBQcm9ncmVzc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5wcm9ncmVzcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMWVtIDAgMi41ZW07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS5iYXNpYy5wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkucHJvZ3Jlc3M6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW46IDAgMCAyLjVlbTtcbn1cbi51aS5wcm9ncmVzczpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwIDAgMS41ZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ29udGVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjdGl2aXR5IEJhciAqL1xuLnVpLnByb2dyZXNzIC5iYXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDA7XG4gIGJhY2tncm91bmQ6ICM4ODg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2U7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udWkucHJvZ3Jlc3MgLmJhcjpub3QoOmVtcHR5KSB7XG4gIG1pbi13aWR0aDogMi41ZW07XG59XG4udWkudWkudWkucHJvZ3Jlc3M6bm90KFtkYXRhLXBlcmNlbnRdKTpub3QoLmluZGV0ZXJtaW5hdGUpIC5iYXI6bm90KDplbXB0eSksXG4udWkudWkudWkucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiMFwiXTpub3QoLmluZGV0ZXJtaW5hdGUpIC5iYXI6bm90KDplbXB0eSkge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi51aS5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIwXCJdIC5iYXIgLnByb2dyZXNzIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiMFwiXSAuYmFyIC5wcm9ncmVzcyB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4vKiBQZXJjZW50IENvbXBsZXRlICovXG4udWkucHJvZ3Jlc3MgLmJhciA+IC5wcm9ncmVzcyB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IGF1dG87XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDAuNWVtO1xuICBsZWZ0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnVpLnJpZ2h0LmFsaWduZWQucHJvZ3Jlc3Mge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuLnVpLnJpZ2h0LmFsaWduZWQucHJvZ3Jlc3MgLmJhciA+IC5wcm9ncmVzcyB7XG4gIGxlZnQ6IDAuNWVtO1xuICByaWdodDogYXV0bztcbn1cbi8qIExhYmVsICovXG4udWkucHJvZ3Jlc3MgPiAubGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDFlbTtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbiAgYm90dG9tOiBhdXRvO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBtYXJnaW4tdG9wOiAwLjJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjRzIGVhc2U7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBJbmRpY2F0aW5nICovXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMVwiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjJcIl0gLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOTVjNWM7XG59XG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiM1wiXSAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmYmM3Mjtcbn1cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI0XCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNVwiXSAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2YmI0ODtcbn1cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI2XCJdIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRjOTI4O1xufVxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjdcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI4XCJdIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjRkOTVjO1xufVxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjlcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIxMDBcIl0gLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NmRhODE7XG59XG4vKiBJbmRpY2F0aW5nIExhYmVsICovXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMVwiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMlwiXSAubGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIzXCJdIC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjRcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjVcIl0gLmxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNlwiXSAubGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI3XCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI4XCJdIC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjlcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjEwMFwiXSAubGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIEludmVydGVkIEluZGljYXRpbmcgTGFiZWwgKi9cbi51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIxXCJdIC5sYWJlbCxcbi51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIyXCJdIC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiM1wiXSAubGFiZWwge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjRcIl0gLmxhYmVsLFxuLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjVcIl0gLmxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI2XCJdIC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiN1wiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOFwiXSAubGFiZWwge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjlcIl0gLmxhYmVsLFxuLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjEwMFwiXSAubGFiZWwge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLyogU2luZ2xlIERpZ2l0cyAqL1xuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiMVwiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjEuXCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIyXCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMi5cIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjNcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIzLlwiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiNFwiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjQuXCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI1XCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNS5cIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjZcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI2LlwiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiN1wiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjcuXCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI4XCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOC5cIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjlcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI5LlwiXSAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NWM1Yztcbn1cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjBcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjAuXCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjFcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjEuXCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjJcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjIuXCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjNcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjMuXCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjRcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjQuXCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjVcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjUuXCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjZcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjYuXCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjdcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjcuXCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjhcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjguXCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjlcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjkuXCJdIC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiMFwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMC5cIl0gLmxhYmVsLFxuLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiMVwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMS5cIl0gLmxhYmVsLFxuLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiMlwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMi5cIl0gLmxhYmVsLFxuLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiM1wiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMy5cIl0gLmxhYmVsLFxuLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiNFwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNC5cIl0gLmxhYmVsLFxuLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiNVwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNS5cIl0gLmxhYmVsLFxuLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiNlwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNi5cIl0gLmxhYmVsLFxuLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiN1wiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNy5cIl0gLmxhYmVsLFxuLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiOFwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOC5cIl0gLmxhYmVsLFxuLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiOVwiXSAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOS5cIl0gLmxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi8qIEluZGljYXRpbmcgU3VjY2VzcyAqL1xuLnVpLnVpLmluZGljYXRpbmcucHJvZ3Jlc3Muc3VjY2VzcyAubGFiZWwge1xuICBjb2xvcjogIzFhNTMxYjtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFN1Y2Nlc3NcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS5wcm9ncmVzcy5zdWNjZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLnVpLnByb2dyZXNzLnN1Y2Nlc3MgLmJhcixcbi51aS51aS5wcm9ncmVzcy5zdWNjZXNzIC5iYXI6OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBub25lO1xufVxuLnVpLnByb2dyZXNzLnN1Y2Nlc3MgPiAubGFiZWwge1xuICBjb2xvcjogIzFhNTMxYjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBXYXJuaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkudWkucHJvZ3Jlc3Mud2FybmluZyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyYzAzNztcbn1cbi51aS51aS5wcm9ncmVzcy53YXJuaW5nIC5iYXIsXG4udWkudWkucHJvZ3Jlc3Mud2FybmluZyAuYmFyOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbm9uZTtcbn1cbi51aS5wcm9ncmVzcy53YXJuaW5nID4gLmxhYmVsIHtcbiAgY29sb3I6ICM3OTRiMDI7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRXJyb3JcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS51aS5wcm9ncmVzcy5lcnJvciAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiMjgyODtcbn1cbi51aS51aS5wcm9ncmVzcy5lcnJvciAuYmFyLFxuLnVpLnVpLnByb2dyZXNzLmVycm9yIC5iYXI6OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBub25lO1xufVxuLnVpLnByb2dyZXNzLmVycm9yID4gLmxhYmVsIHtcbiAgY29sb3I6ICM5MTJkMmI7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQWN0aXZlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuYWN0aXZlLnByb2dyZXNzIC5iYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udWkuYWN0aXZlLnByb2dyZXNzIC5iYXI6bm90KDplbXB0eSkge1xuICBtaW4td2lkdGg6IDIuNWVtO1xufVxuLnVpLmFjdGl2ZS5wcm9ncmVzcyAuYmFyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBhbmltYXRpb246IHByb2dyZXNzLWFjdGl2ZSAycyBlYXNlIGluZmluaXRlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xufVxuLnVpLmFjdGl2ZS5yaWdodC5hbGlnbmVkLnByb2dyZXNzIC5iYXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG59XG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWFjdGl2ZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLCAxKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZGlzYWJsZWQucHJvZ3Jlc3Mge1xuICBvcGFjaXR5OiAwLjM1O1xufVxuLnVpLnVpLmRpc2FibGVkLnByb2dyZXNzIC5iYXIsXG4udWkudWkuZGlzYWJsZWQucHJvZ3Jlc3MgLmJhcjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbnZlcnRlZC5wcm9ncmVzczpub3QoLmJhc2ljKSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZDogIzg4ODtcbn1cbi51aS5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyID4gLnByb2dyZXNzIHtcbiAgY29sb3I6ICMxYjFjMWQ7XG59XG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3MgPiAubGFiZWwge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5wcm9ncmVzcy5zdWNjZXNzID4gLmxhYmVsIHtcbiAgY29sb3I6ICMyMWJhNDU7XG59XG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3Mud2FybmluZyA+IC5sYWJlbCB7XG4gIGNvbG9yOiAjZjJjMDM3O1xufVxuLnVpLmludmVydGVkLnByb2dyZXNzLmVycm9yID4gLmxhYmVsIHtcbiAgY29sb3I6ICNkYjI4Mjg7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBBdHRhY2hlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogYm90dG9tIGF0dGFjaGVkICovXG4udWkucHJvZ3Jlc3MuYXR0YWNoZWQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cbi51aS5wcm9ncmVzcy5hdHRhY2hlZCxcbi51aS5wcm9ncmVzcy5hdHRhY2hlZCAuYmFyIHtcbiAgaGVpZ2h0OiAwLjJyZW07XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4udWkucHJvZ3Jlc3MuYXR0YWNoZWQgLmJhciB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4vKiB0b3AgYXR0YWNoZWQgKi9cbi51aS5wcm9ncmVzcy50b3AuYXR0YWNoZWQsXG4udWkucHJvZ3Jlc3MudG9wLmF0dGFjaGVkIC5iYXIge1xuICB0b3A6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwIDA7XG59XG4udWkucHJvZ3Jlc3MudG9wLmF0dGFjaGVkIC5iYXIge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLyogQ291cGxpbmcgKi9cbi51aS5zZWdtZW50ID4gLnVpLmF0dGFjaGVkLnByb2dyZXNzLFxuLnVpLmNhcmQgPiAudWkuYXR0YWNoZWQucHJvZ3Jlc3Mge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5zZWdtZW50ID4gLnVpLmJvdHRvbS5hdHRhY2hlZC5wcm9ncmVzcyxcbi51aS5jYXJkID4gLnVpLmJvdHRvbS5hdHRhY2hlZC5wcm9ncmVzcyB7XG4gIHRvcDogMTAwJTtcbiAgYm90dG9tOiBhdXRvO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5pbmRldGVybWluYXRlLnByaW1hcnkucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLnByaW1hcnkucHJvZ3Jlc3MgLmJhcixcbi51aS5wcm9ncmVzcyAucHJpbWFyeS5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkMzNjY3O1xufVxuLnVpLmludmVydGVkLmluZGV0ZXJtaW5hdGUucHJpbWFyeS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkucHJpbWFyeS5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyLFxuLnVpLmludmVydGVkLnByb2dyZXNzIC5wcmltYXJ5LmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NGM4ZmY7XG59XG4udWkuaW5kZXRlcm1pbmF0ZS5zZWNvbmRhcnkucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLnNlY29uZGFyeS5wcm9ncmVzcyAuYmFyLFxuLnVpLnByb2dyZXNzIC5zZWNvbmRhcnkuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4ZDMxNztcbn1cbi51aS5pbnZlcnRlZC5pbmRldGVybWluYXRlLnNlY29uZGFyeS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnByb2dyZXNzIC5iYXIsXG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3MgLnNlY29uZGFyeS5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xufVxuLnVpLmluZGV0ZXJtaW5hdGUucmVkLnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS5yZWQucHJvZ3Jlc3MgLmJhcixcbi51aS5wcm9ncmVzcyAucmVkLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYjI4Mjg7XG59XG4udWkuaW52ZXJ0ZWQuaW5kZXRlcm1pbmF0ZS5yZWQucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLnJlZC5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyLFxuLnVpLmludmVydGVkLnByb2dyZXNzIC5yZWQuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjk1ZTtcbn1cbi51aS5pbmRldGVybWluYXRlLm9yYW5nZS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkub3JhbmdlLnByb2dyZXNzIC5iYXIsXG4udWkucHJvZ3Jlc3MgLm9yYW5nZS5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLmludmVydGVkLmluZGV0ZXJtaW5hdGUub3JhbmdlLnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS5vcmFuZ2UuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhcixcbi51aS5pbnZlcnRlZC5wcm9ncmVzcyAub3JhbmdlLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjg1MWI7XG59XG4udWkuaW5kZXRlcm1pbmF0ZS55ZWxsb3cucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLnllbGxvdy5wcm9ncmVzcyAuYmFyLFxuLnVpLnByb2dyZXNzIC55ZWxsb3cuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiYmQwODtcbn1cbi51aS5pbnZlcnRlZC5pbmRldGVybWluYXRlLnllbGxvdy5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkueWVsbG93LmludmVydGVkLnByb2dyZXNzIC5iYXIsXG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3MgLnllbGxvdy5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlMjFmO1xufVxuLnVpLmluZGV0ZXJtaW5hdGUub2xpdmUucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLm9saXZlLnByb2dyZXNzIC5iYXIsXG4udWkucHJvZ3Jlc3MgLm9saXZlLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNWNjMTg7XG59XG4udWkuaW52ZXJ0ZWQuaW5kZXRlcm1pbmF0ZS5vbGl2ZS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkub2xpdmUuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhcixcbi51aS5pbnZlcnRlZC5wcm9ncmVzcyAub2xpdmUuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZTc3ODtcbn1cbi51aS5pbmRldGVybWluYXRlLmdyZWVuLnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS5ncmVlbi5wcm9ncmVzcyAuYmFyLFxuLnVpLnByb2dyZXNzIC5ncmVlbi5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLmludmVydGVkLmluZGV0ZXJtaW5hdGUuZ3JlZW4ucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLmdyZWVuLmludmVydGVkLnByb2dyZXNzIC5iYXIsXG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmdyZWVuLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZWNjNDA7XG59XG4udWkuaW5kZXRlcm1pbmF0ZS50ZWFsLnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS50ZWFsLnByb2dyZXNzIC5iYXIsXG4udWkucHJvZ3Jlc3MgLnRlYWwuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjVhZDtcbn1cbi51aS5pbnZlcnRlZC5pbmRldGVybWluYXRlLnRlYWwucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLnRlYWwuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhcixcbi51aS5pbnZlcnRlZC5wcm9ncmVzcyAudGVhbC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmRmZmZmO1xufVxuLnVpLmluZGV0ZXJtaW5hdGUuYmx1ZS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkuYmx1ZS5wcm9ncmVzcyAuYmFyLFxuLnVpLnByb2dyZXNzIC5ibHVlLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg1ZDA7XG59XG4udWkuaW52ZXJ0ZWQuaW5kZXRlcm1pbmF0ZS5ibHVlLnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS5ibHVlLmludmVydGVkLnByb2dyZXNzIC5iYXIsXG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJsdWUuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0YzhmZjtcbn1cbi51aS5pbmRldGVybWluYXRlLnZpb2xldC5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkudmlvbGV0LnByb2dyZXNzIC5iYXIsXG4udWkucHJvZ3Jlc3MgLnZpb2xldC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLmludmVydGVkLmluZGV0ZXJtaW5hdGUudmlvbGV0LnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS52aW9sZXQuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhcixcbi51aS5pbnZlcnRlZC5wcm9ncmVzcyAudmlvbGV0LmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMjkxZmI7XG59XG4udWkuaW5kZXRlcm1pbmF0ZS5wdXJwbGUucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLnB1cnBsZS5wcm9ncmVzcyAuYmFyLFxuLnVpLnByb2dyZXNzIC5wdXJwbGUuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzMzNjODtcbn1cbi51aS5pbnZlcnRlZC5pbmRldGVybWluYXRlLnB1cnBsZS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkucHVycGxlLmludmVydGVkLnByb2dyZXNzIC5iYXIsXG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3MgLnB1cnBsZS5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGM3M2ZmO1xufVxuLnVpLmluZGV0ZXJtaW5hdGUucGluay5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkucGluay5wcm9ncmVzcyAuYmFyLFxuLnVpLnByb2dyZXNzIC5waW5rLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMDM5OTc7XG59XG4udWkuaW52ZXJ0ZWQuaW5kZXRlcm1pbmF0ZS5waW5rLnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS5waW5rLmludmVydGVkLnByb2dyZXNzIC5iYXIsXG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3MgLnBpbmsuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmOGVkZjtcbn1cbi51aS5pbmRldGVybWluYXRlLmJyb3duLnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS5icm93bi5wcm9ncmVzcyAuYmFyLFxuLnVpLnByb2dyZXNzIC5icm93bi5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTU2NzNmO1xufVxuLnVpLmludmVydGVkLmluZGV0ZXJtaW5hdGUuYnJvd24ucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLmJyb3duLmludmVydGVkLnByb2dyZXNzIC5iYXIsXG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJyb3duLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNjdjMWM7XG59XG4udWkuaW5kZXRlcm1pbmF0ZS5ncmV5LnByb2dyZXNzIC5iYXI6OmJlZm9yZSxcbi51aS5ncmV5LnByb2dyZXNzIC5iYXIsXG4udWkucHJvZ3Jlc3MgLmdyZXkuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3Njtcbn1cbi51aS5pbnZlcnRlZC5pbmRldGVybWluYXRlLmdyZXkucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLmdyZXkuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhcixcbi51aS5pbnZlcnRlZC5wcm9ncmVzcyAuZ3JleS5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkZGRlO1xufVxuLnVpLmluZGV0ZXJtaW5hdGUuYmxhY2sucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuLnVpLmJsYWNrLnByb2dyZXNzIC5iYXIsXG4udWkucHJvZ3Jlc3MgLmJsYWNrLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG59XG4udWkuaW52ZXJ0ZWQuaW5kZXRlcm1pbmF0ZS5ibGFjay5wcm9ncmVzcyAuYmFyOjpiZWZvcmUsXG4udWkuYmxhY2suaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhcixcbi51aS5pbnZlcnRlZC5wcm9ncmVzcyAuYmxhY2suYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NTQ1NDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5wcm9ncmVzcyB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5wcm9ncmVzcyAuYmFyIHtcbiAgaGVpZ2h0OiAxLjc1ZW07XG59XG4udWkubWluaS5wcm9ncmVzcyB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS5taW5pLnByb2dyZXNzIC5iYXIge1xuICBoZWlnaHQ6IDAuM2VtO1xufVxuLnVpLnRpbnkucHJvZ3Jlc3Mge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkudGlueS5wcm9ncmVzcyAuYmFyIHtcbiAgaGVpZ2h0OiAwLjVlbTtcbn1cbi51aS5zbWFsbC5wcm9ncmVzcyB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbi51aS5zbWFsbC5wcm9ncmVzcyAuYmFyIHtcbiAgaGVpZ2h0OiAxZW07XG59XG4udWkubGFyZ2UucHJvZ3Jlc3Mge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkubGFyZ2UucHJvZ3Jlc3MgLmJhciB7XG4gIGhlaWdodDogMi41ZW07XG59XG4udWkuYmlnLnByb2dyZXNzIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLmJpZy5wcm9ncmVzcyAuYmFyIHtcbiAgaGVpZ2h0OiAzLjVlbTtcbn1cbi51aS5odWdlLnByb2dyZXNzIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuLnVpLmh1Z2UucHJvZ3Jlc3MgLmJhciB7XG4gIGhlaWdodDogNGVtO1xufVxuLnVpLm1hc3NpdmUucHJvZ3Jlc3Mge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG4udWkubWFzc2l2ZS5wcm9ncmVzcyAuYmFyIHtcbiAgaGVpZ2h0OiA1ZW07XG59XG4vKiAtLS0tLS0tLS0tLS0tLS1cbiAgICAgIEluZGV0ZXJtaW5hdGVcbiAgICAtLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyIC5wcm9ncmVzcyxcbi51aS5wcm9ncmVzcyAuYmFyIC5jZW50ZXJlZC5wcm9ncmVzcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogMDtcbn1cbi51aS5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtcHVsc2F0aW5nIDJzIGVhc2UgaW5maW5pdGU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkuc2xvdy5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXI6OmJlZm9yZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNHM7XG59XG4udWkuZmFzdC5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXI6OmJlZm9yZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG59XG4udWkuc3dpbmdpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcHJvZ3Jlc3Mtc3dpbmdpbmc7XG59XG4udWkuc2xpZGluZy5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBwcm9ncmVzcy1zbGlkaW5nO1xufVxuLnVpLmZpbGxpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUge1xuICBhbmltYXRpb24tbmFtZTogcHJvZ3Jlc3MtZmlsbGluZztcbn1cbi51aS5pbmRldGVybWluYXRlLnByb2dyZXNzOm5vdCguc2xpZGluZyk6bm90KC5maWxsaW5nKTpub3QoLnN3aW5naW5nKSAuYmFyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuLnVpLnNsaWRpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyLFxuLnVpLnN3aW5naW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhcixcbi51aS5maWxsaW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS5zbGlkaW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhciAucHJvZ3Jlc3MsXG4udWkuc3dpbmdpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyIC5wcm9ncmVzcyB7XG4gIGNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLmludmVydGVkLnNsaWRpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyLFxuLnVpLmludmVydGVkLnN3aW5naW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhcixcbi51aS5pbnZlcnRlZC5maWxsaW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG59XG4udWkuaW52ZXJ0ZWQuc2xpZGluZy5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXIgLnByb2dyZXNzLFxuLnVpLmludmVydGVkLnN3aW5naW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhciAucHJvZ3Jlc3Mge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuQGtleWZyYW1lcyBwcm9ncmVzcy1zd2luZ2luZyB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICB3aWR0aDogMTAlO1xuICAgIGxlZnQ6IC0yNSU7XG4gIH1cbiAgMjUlLFxuICA2NSUge1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cbiAgNTAlIHtcbiAgICB3aWR0aDogMTAlO1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcHJvZ3Jlc3Mtc2xpZGluZyB7XG4gIDAlIHtcbiAgICB3aWR0aDogMTAlO1xuICAgIGxlZnQ6IC0yNSU7XG4gIH1cbiAgNTAlIHtcbiAgICB3aWR0aDogNzAlO1xuICB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiAxMCU7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxufVxuQGtleWZyYW1lcyBwcm9ncmVzcy1maWxsaW5nIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMSk7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBwcm9ncmVzcy1wdWxzYXRpbmcge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLCAxKTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgUHJvZ3Jlc3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBTbGlkZXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUaGVtZVxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgU2xpZGVyIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVHJhY2sgKi9cbi8qIFRyYWNrIEZpbGwgKi9cbi8qIFRodW1iICovXG4vKiBUaHVtYiBIb3ZlciAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaXNhYmxlZCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEhpZ2hsaWdodCAqL1xuLyogVmVydGljYWwgKi9cbi8qIExhYmVsZWQgKi9cbi8qIEhvdmVyICovXG4vKiBTaXppbmcgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLnVpLnNsaWRlcjpub3QoLnZlcnRpY2FsKTpub3QoLmNoZWNrYm94KSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxZW0gMC41ZW07XG59XG4udWkuc2xpZGVyOm5vdCguY2hlY2tib3gpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnVpLnNsaWRlcjpub3QoLmNoZWNrYm94KTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG4udWkuc2xpZGVyIC5pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cbi51aS5zbGlkZXI6bm90KC52ZXJ0aWNhbCkgLmlubmVyIHtcbiAgaGVpZ2h0OiAxLjVlbTtcbn1cbi51aS5zbGlkZXIgLmlubmVyOmhvdmVyIHtcbiAgY3Vyc29yOiBhdXRvO1xufVxuLnVpLnNsaWRlciAuaW5uZXIgLnRyYWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG4udWkuc2xpZGVyOm5vdCgudmVydGljYWwpIC5pbm5lciAudHJhY2sge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjRlbTtcbiAgdG9wOiAwLjU1ZW07XG4gIGxlZnQ6IDA7XG59XG4udWkuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLnNsaWRlcjpub3QoLnZlcnRpY2FsKSAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBoZWlnaHQ6IDAuNGVtO1xuICB0b3A6IDAuNTVlbTtcbiAgbGVmdDogMDtcbn1cbi51aS5zbGlkZXIgLmlubmVyIC50aHVtYiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB3aWR0aDogMS41ZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkYgbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSwgMCAwIDAgMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlO1xufVxuLnVpLnNsaWRlcjpub3QoLmRpc2FibGVkKSAuaW5uZXIgLnRodW1iOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjA1KSk7XG59XG4udWkuc2xpZGVyOm5vdCguZGlzYWJsZWQpOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjA1KSk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZGlzYWJsZWQuc2xpZGVyOm5vdCguY2hlY2tib3gpIHtcbiAgb3BhY2l0eTogMC41O1xufVxuLnVpLmRpc2FibGVkLnNsaWRlciAuaW5uZXI6aG92ZXIge1xuICBjdXJzb3I6IGF1dG87XG59XG4udWkuZGlzYWJsZWQuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQ6ICNjY2M7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBSZXZlcnNlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnJldmVyc2VkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbn1cbi51aS5yZXZlcnNlZC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkgLmlubmVyIC50aHVtYiB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xufVxuLnVpLnJldmVyc2VkLnZlcnRpY2FsLnNsaWRlciAuaW5uZXIgLnRodW1iIHtcbiAgbGVmdDogMC4wM2VtO1xufVxuLnVpLmxhYmVsZWQucmV2ZXJzZWQuc2xpZGVyID4gLmxhYmVscyAubGFiZWwge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgLTEwMCUpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFZlcnRpY2FsXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkudmVydGljYWwuc2xpZGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMS41ZW07XG4gIHBhZGRpbmc6IDAuNWVtIDFlbTtcbn1cbi51aS52ZXJ0aWNhbC5zbGlkZXIgLmlubmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnVpLnZlcnRpY2FsLnNsaWRlciAuaW5uZXIgLnRyYWNrIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMC40ZW07XG4gIGxlZnQ6IDAuNTVlbTtcbiAgdG9wOiAwO1xufVxuLnVpLnZlcnRpY2FsLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICB3aWR0aDogMC40ZW07XG4gIGxlZnQ6IDAuNTVlbTtcbiAgdG9wOiAwO1xufVxuLyogVmVydGljYWwgUmV2ZXJzZWQgKi9cbi51aS52ZXJ0aWNhbC5yZXZlcnNlZC5zbGlkZXIgLmlubmVyIC50aHVtYiB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xufVxuLnVpLnZlcnRpY2FsLnJldmVyc2VkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExhYmVsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5sYWJlbGVkLnNsaWRlciA+IC5sYWJlbHMge1xuICBoZWlnaHQ6IDEuNWVtO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cbi51aS5sYWJlbGVkLnNsaWRlcjpub3QoLnZlcnRpY2FsKSA+IC5sYWJlbHMge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4udWkubGFiZWxlZC5zbGlkZXIgPiAubGFiZWxzIC5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMDAlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi51aS5sYWJlbGVkLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsOm5vdCgudWkpIHtcbiAgcGFkZGluZzogMC4yZW0gMDtcbn1cbi51aS5ib3R0b20uYWxpZ25lZC5sYWJlbGVkLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsIHtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAxMDAlKTtcbn1cbi51aS5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAubGFiZWxzIC5sYWJlbDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgd2lkdGg6IDFweDtcbiAgYmFja2dyb3VuZDogI2NjYztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbn1cbi51aS5ib3R0b20uYWxpZ25lZC5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAubGFiZWxzIC5sYWJlbDo6YWZ0ZXIge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMTAwJTtcbn1cbi51aS5sYWJlbGVkLnNsaWRlci5ib3R0b20uYWxpZ25lZCAubGFiZWxzIC51aS5sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IC0wLjVlbTtcbn1cbi51aS5sYWJlbGVkLnRpY2tlZC5zbGlkZXIuYm90dG9tLmFsaWduZWQgLmxhYmVscyAudWkubGFiZWw6OmFmdGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG4udWkubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmxhYmVscyAuaGFsZnRpY2subGFiZWw6OmFmdGVyIHtcbiAgaGVpZ2h0OiAwLjc1ZW07XG59XG4udWkuaW52ZXJ0ZWQubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmxhYmVscyAubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbn1cbi51aS5sYWJlbGVkLnNsaWRlcjpub3QoLnZlcnRpY2FsKTpub3QoLmJvdHRvbSkgLmxhYmVscyAudWkubGFiZWwge1xuICBtYXJnaW4tdG9wOiAtMC41ZW07XG59XG4udWkubGFiZWxlZC50aWNrZWQuc2xpZGVyOm5vdCgudmVydGljYWwpOm5vdCguYm90dG9tKSAubGFiZWxzIC51aS5sYWJlbDo6YWZ0ZXIge1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbn1cbi51aS5sYWJlbGVkLnRpY2tlZC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkgPiAubGFiZWxzIC51aS5sYWJlbDo6YWZ0ZXIge1xuICBoZWlnaHQ6IDJlbTtcbn1cbi8qIFZlcnRpY2FsIExhYmVscyAqL1xuLnVpLmxhYmVsZWQudmVydGljYWwuc2xpZGVyID4gLmxhYmVscyB7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG4udWkubGFiZWxlZC52ZXJ0aWNhbC5zbGlkZXIgPiAubGFiZWxzIC5sYWJlbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtNTAlKTtcbn1cbi51aS5sYWJlbGVkLnZlcnRpY2FsLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsOjphZnRlciB7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGxlZnQ6IDEwMCU7XG4gIHRvcDogNTAlO1xufVxuLnVpLmxhYmVsZWQudmVydGljYWwuc2xpZGVyID4gLmxhYmVscyAuaGFsZnRpY2subGFiZWw6OmFmdGVyIHtcbiAgd2lkdGg6IDAuNzVlbTtcbiAgaGVpZ2h0OiAxcHg7XG59XG4udWkubGFiZWxlZC52ZXJ0aWNhbC5zbGlkZXI6bm90KC5yaWdodCkgPiAubGFiZWxzIC5oYWxmdGljay5sYWJlbDo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMC42ZW07XG59XG4vKiBWZXJ0aWNhbCBSZXZlcnNlZCBMYWJlbHMgKi9cbi51aS5sYWJlbGVkLnZlcnRpY2FsLnJldmVyc2VkLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDUwJSk7XG59XG4udWkubGFiZWxlZC50aWNrZWQudmVydGljYWwuc2xpZGVyOm5vdCgucmlnaHQpID4gLmxhYmVscyAudWkubGFiZWw6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDAuM2VtO1xufVxuLnVpLmxhYmVsZWQudmVydGljYWwucmlnaHQuYWxpZ25lZC5zbGlkZXIgPiAubGFiZWxzIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gIGxlZnQ6IGNhbGMoMTAwJSArIDAuNmVtKTtcbn1cbi51aS5sYWJlbGVkLnZlcnRpY2FsLnJpZ2h0LmFsaWduZWQuc2xpZGVyID4gLmxhYmVscyAubGFiZWwge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAtNTAlKTtcbiAgcmlnaHQ6IDEwMCU7XG59XG4udWkubGFiZWxlZC52ZXJ0aWNhbC5yaWdodC5hbGlnbmVkLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsOjphZnRlciB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuLnVpLmxhYmVsZWQudmVydGljYWwucmlnaHQuYWxpZ25lZC5zbGlkZXIgPiAubGFiZWxzIC5oYWxmdGljay5sYWJlbDo6YWZ0ZXIge1xuICBtYXJnaW4tcmlnaHQ6IDAuNmVtO1xufVxuLnVpLmxhYmVsZWQudmVydGljYWwucmV2ZXJzZWQucmlnaHQuYWxpZ25lZC5zbGlkZXIgPiAubGFiZWxzIC5sYWJlbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDUwJSk7XG59XG4udWkubGFiZWxlZC50aWNrZWQudmVydGljYWwucmlnaHQuYWxpZ25lZC5zbGlkZXIgPiAubGFiZWxzIC51aS5sYWJlbDo6YWZ0ZXIge1xuICBtYXJnaW4tcmlnaHQ6IDAuM2VtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaG92ZXIuc2xpZGVyIC5pbm5lciAudGh1bWIge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xufVxuLnVpLmhvdmVyLnNsaWRlcjpub3QoLmRpc2FibGVkKTpob3ZlciAuaW5uZXIgLnRodW1iLFxuLnVpLmhvdmVyLnNsaWRlcjpub3QoLmRpc2FibGVkKTpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgb3BhY2l0eTogMTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udWkuaW52ZXJ0ZWQuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQ7XG59XG4udWkuaW52ZXJ0ZWQuc2xpZGVyIC5pbm5lciAudHJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xufVxuLnVpLmxhYmVsZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmxhYmVsIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cbi51aS5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICMxYjFjMWQ7XG59XG4udWkuaW52ZXJ0ZWQubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjNTQ1NDU0O1xufVxuLnVpLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyLFxuLnVpLmxhYmVsZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmxhYmVsOm5vdCguYWN0aXZlKSB7XG4gIG9wYWNpdHk6IDAuNjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTdGFuZGFyZCAqL1xuLnVpLnByaW1hcnkuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2QzM2Njc7XG59XG4udWkucHJpbWFyeS5pbnZlcnRlZC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0YzhmZjtcbn1cbi8qIEJhc2ljICovXG4udWkucHJpbWFyeS5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2QzM2Njc7XG59XG4udWkucHJpbWFyeS5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5wcmltYXJ5LnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVkMmI1OTtcbn1cbi8qIEJhc2ljIEludmVydGVkICovXG4udWkucHJpbWFyeS5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NGM4ZmY7XG59XG4udWkucHJpbWFyeS5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5wcmltYXJ5LmludmVydGVkLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYjhmZjtcbn1cbi51aS5wcmltYXJ5LmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZDMzY2Nztcbn1cbi51aS5wcmltYXJ5LmludmVydGVkLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0YzhmZjtcbn1cbi8qIFN0YW5kYXJkICovXG4udWkuc2Vjb25kYXJ5LnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODhkMzE3O1xufVxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NTQ1NDtcbn1cbi8qIEJhc2ljICovXG4udWkuc2Vjb25kYXJ5LnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4ZDMxNztcbn1cbi51aS5zZWNvbmRhcnkuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkuc2Vjb25kYXJ5LnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk4ZjAxMztcbn1cbi8qIEJhc2ljIEludmVydGVkICovXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NTQ1NDtcbn1cbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZlNmU2ZTtcbn1cbi51aS5zZWNvbmRhcnkubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODhkMzE3O1xufVxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQ7XG59XG4vKiBTdGFuZGFyZCAqL1xuLnVpLnJlZC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiMjgyODtcbn1cbi51aS5yZWQuaW52ZXJ0ZWQuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjY5NWU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLnJlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYjI4Mjg7XG59XG4udWkucmVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLnJlZC5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMDE5MTk7XG59XG4vKiBCYXNpYyBJbnZlcnRlZCAqL1xuLnVpLnJlZC5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjY5NWU7XG59XG4udWkucmVkLmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLnJlZC5pbnZlcnRlZC5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjM5MmI7XG59XG4udWkucmVkLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiMjgyODtcbn1cbi51aS5yZWQuaW52ZXJ0ZWQubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTVlO1xufVxuLyogU3RhbmRhcmQgKi9cbi51aS5vcmFuZ2Uuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjcxMWM7XG59XG4udWkub3JhbmdlLmludmVydGVkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4NTFiO1xufVxuLyogQmFzaWMgKi9cbi51aS5vcmFuZ2Uuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI3MTFjO1xufVxuLnVpLm9yYW5nZS5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5vcmFuZ2Uuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI2MjAyO1xufVxuLyogQmFzaWMgSW52ZXJ0ZWQgKi9cbi51aS5vcmFuZ2UuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4NTFiO1xufVxuLnVpLm9yYW5nZS5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5vcmFuZ2UuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTc2YjAwO1xufVxuLnVpLm9yYW5nZS5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjcxMWM7XG59XG4udWkub3JhbmdlLmludmVydGVkLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmODUxYjtcbn1cbi8qIFN0YW5kYXJkICovXG4udWkueWVsbG93LnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLnllbGxvdy5pbnZlcnRlZC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTIxZjtcbn1cbi8qIEJhc2ljICovXG4udWkueWVsbG93LnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiYmQwODtcbn1cbi51aS55ZWxsb3cuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkueWVsbG93LnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhYWUwMDtcbn1cbi8qIEJhc2ljIEludmVydGVkICovXG4udWkueWVsbG93LmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTIxZjtcbn1cbi51aS55ZWxsb3cuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkueWVsbG93LmludmVydGVkLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViY2QwMDtcbn1cbi51aS55ZWxsb3cubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJiZDA4O1xufVxuLnVpLnllbGxvdy5pbnZlcnRlZC5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmUyMWY7XG59XG4vKiBTdGFuZGFyZCAqL1xuLnVpLm9saXZlLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjVjYzE4O1xufVxuLnVpLm9saXZlLmludmVydGVkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllNzc4O1xufVxuLyogQmFzaWMgKi9cbi51aS5vbGl2ZS5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNWNjMTg7XG59XG4udWkub2xpdmUuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkub2xpdmUuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTdiZDBkO1xufVxuLyogQmFzaWMgSW52ZXJ0ZWQgKi9cbi51aS5vbGl2ZS5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWU3Nzg7XG59XG4udWkub2xpdmUuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkub2xpdmUuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDJlNzQ1O1xufVxuLnVpLm9saXZlLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I1Y2MxODtcbn1cbi51aS5vbGl2ZS5pbnZlcnRlZC5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWU3Nzg7XG59XG4vKiBTdGFuZGFyZCAqL1xuLnVpLmdyZWVuLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiYTQ1O1xufVxuLnVpLmdyZWVuLmludmVydGVkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmVjYzQwO1xufVxuLyogQmFzaWMgKi9cbi51aS5ncmVlbi5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMWJhNDU7XG59XG4udWkuZ3JlZW4uc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkuZ3JlZW4uc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTZhYjM5O1xufVxuLyogQmFzaWMgSW52ZXJ0ZWQgKi9cbi51aS5ncmVlbi5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZWNjNDA7XG59XG4udWkuZ3JlZW4uaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkuZ3JlZW4uaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWVhOTJlO1xufVxuLnVpLmdyZWVuLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYmE0NTtcbn1cbi51aS5ncmVlbi5pbnZlcnRlZC5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZWNjNDA7XG59XG4vKiBTdGFuZGFyZCAqL1xuLnVpLnRlYWwuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGI1YWQ7XG59XG4udWkudGVhbC5pbnZlcnRlZC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZkZmZmZjtcbn1cbi8qIEJhc2ljICovXG4udWkudGVhbC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGI1YWQ7XG59XG4udWkudGVhbC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS50ZWFsLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOWM5NTtcbn1cbi8qIEJhc2ljIEludmVydGVkICovXG4udWkudGVhbC5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZGZmZmY7XG59XG4udWkudGVhbC5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS50ZWFsLmludmVydGVkLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhZmZmZjtcbn1cbi51aS50ZWFsLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjVhZDtcbn1cbi51aS50ZWFsLmludmVydGVkLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZkZmZmZjtcbn1cbi8qIFN0YW5kYXJkICovXG4udWkuYmx1ZS5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVkMDtcbn1cbi51aS5ibHVlLmludmVydGVkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTRjOGZmO1xufVxuLyogQmFzaWMgKi9cbi51aS5ibHVlLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVkMDtcbn1cbi51aS5ibHVlLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLmJsdWUuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTY3OGMyO1xufVxuLyogQmFzaWMgSW52ZXJ0ZWQgKi9cbi51aS5ibHVlLmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0YzhmZjtcbn1cbi51aS5ibHVlLmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLmJsdWUuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFiOGZmO1xufVxuLnVpLmJsdWUubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NWQwO1xufVxuLnVpLmJsdWUuaW52ZXJ0ZWQubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTRjOGZmO1xufVxuLyogU3RhbmRhcmQgKi9cbi51aS52aW9sZXQuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDM1Yzk7XG59XG4udWkudmlvbGV0LmludmVydGVkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTI5MWZiO1xufVxuLyogQmFzaWMgKi9cbi51aS52aW9sZXQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQzNWM5O1xufVxuLnVpLnZpb2xldC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS52aW9sZXQuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTgyOWJiO1xufVxuLyogQmFzaWMgSW52ZXJ0ZWQgKi9cbi51aS52aW9sZXQuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTI5MWZiO1xufVxuLnVpLnZpb2xldC5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS52aW9sZXQuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzQ1YWZmO1xufVxuLnVpLnZpb2xldC5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDM1Yzk7XG59XG4udWkudmlvbGV0LmludmVydGVkLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EyOTFmYjtcbn1cbi8qIFN0YW5kYXJkICovXG4udWkucHVycGxlLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLnB1cnBsZS5pbnZlcnRlZC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjNzNmZjtcbn1cbi8qIEJhc2ljICovXG4udWkucHVycGxlLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzMzNjODtcbn1cbi51aS5wdXJwbGUuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkucHVycGxlLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk2MjdiYTtcbn1cbi8qIEJhc2ljIEludmVydGVkICovXG4udWkucHVycGxlLmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjNzNmZjtcbn1cbi51aS5wdXJwbGUuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkucHVycGxlLmludmVydGVkLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NmNDBmZjtcbn1cbi51aS5wdXJwbGUubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTMzM2M4O1xufVxuLnVpLnB1cnBsZS5pbnZlcnRlZC5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzczZmY7XG59XG4vKiBTdGFuZGFyZCAqL1xuLnVpLnBpbmsuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMDM5OTc7XG59XG4udWkucGluay5pbnZlcnRlZC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmOGVkZjtcbn1cbi8qIEJhc2ljICovXG4udWkucGluay5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMDM5OTc7XG59XG4udWkucGluay5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5waW5rLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MWE4ZDtcbn1cbi8qIEJhc2ljIEludmVydGVkICovXG4udWkucGluay5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjhlZGY7XG59XG4udWkucGluay5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5waW5rLmludmVydGVkLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWJkMTtcbn1cbi51aS5waW5rLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMzk5Nztcbn1cbi51aS5waW5rLmludmVydGVkLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmOGVkZjtcbn1cbi8qIFN0YW5kYXJkICovXG4udWkuYnJvd24uc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhNTY3M2Y7XG59XG4udWkuYnJvd24uaW52ZXJ0ZWQuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNjdjMWM7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJyb3duLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1NjczZjtcbn1cbi51aS5icm93bi5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5icm93bi5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NzViMzM7XG59XG4vKiBCYXNpYyBJbnZlcnRlZCAqL1xuLnVpLmJyb3duLmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2N2MxYztcbn1cbi51aS5icm93bi5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5icm93bi5pbnZlcnRlZC5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMDYyMGY7XG59XG4udWkuYnJvd24ubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTU2NzNmO1xufVxuLnVpLmJyb3duLmludmVydGVkLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2N2MxYztcbn1cbi8qIFN0YW5kYXJkICovXG4udWkuZ3JleS5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3Njtcbn1cbi51aS5ncmV5LmludmVydGVkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkZGRlO1xufVxuLyogQmFzaWMgKi9cbi51aS5ncmV5LnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3Njtcbn1cbi51aS5ncmV5LnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLmdyZXkuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODM4MzgzO1xufVxuLyogQmFzaWMgSW52ZXJ0ZWQgKi9cbi51aS5ncmV5LmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGRkZTtcbn1cbi51aS5ncmV5LmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLmdyZXkuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJjNGM1O1xufVxuLnVpLmdyZXkubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xufVxuLnVpLmdyZXkuaW52ZXJ0ZWQubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkZGRlO1xufVxuLyogU3RhbmRhcmQgKi9cbi51aS5ibGFjay5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbn1cbi51aS5ibGFjay5pbnZlcnRlZC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NTQ1NDtcbn1cbi8qIEJhc2ljICovXG4udWkuYmxhY2suc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYzFkO1xufVxuLnVpLmJsYWNrLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLmJsYWNrLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI3MjkyYTtcbn1cbi8qIEJhc2ljIEludmVydGVkICovXG4udWkuYmxhY2suaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xufVxuLnVpLmJsYWNrLmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuLnVpLmJsYWNrLmludmVydGVkLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cbi51aS5ibGFjay5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG59XG4udWkuYmxhY2suaW52ZXJ0ZWQubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEJhc2ljXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTdGFuZGFyZCAqL1xuLnVpLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbn1cbi51aS5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYjpob3Zlcixcbi51aS5zbGlkZXIuYmFzaWM6Zm9jdXMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNzI5MmE7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEJhc2ljIEludmVydGVkXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU3RhbmRhcmQgKi9cbi51aS5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQ7XG59XG4udWkuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6aW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zbGlkZXIuc21hbGwgLmlubmVyIC50aHVtYiB7XG4gIGhlaWdodDogMWVtO1xuICB3aWR0aDogMWVtO1xufVxuLnVpLnNsaWRlci5zbWFsbDpub3QoLnZlcnRpY2FsKSAuaW5uZXIge1xuICBoZWlnaHQ6IDFlbTtcbn1cbi51aS5zbGlkZXIuc21hbGw6bm90KC52ZXJ0aWNhbCkgLmlubmVyIC50cmFjayxcbi51aS5zbGlkZXIuc21hbGw6bm90KC52ZXJ0aWNhbCkgLmlubmVyIC50cmFjay1maWxsIHtcbiAgaGVpZ2h0OiAwLjNlbTtcbiAgdG9wOiAwLjM1ZW07XG59XG4udWkuc21hbGwubGFiZWxlZC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkgPiAubGFiZWxzLFxuLnVpLnNtYWxsLmxhYmVsZWQuc2xpZGVyOm5vdCgudmVydGljYWwpID4gLmxhYmVscyAubGFiZWw6OmFmdGVyIHtcbiAgaGVpZ2h0OiAxZW07XG59XG4udWkuc21hbGwubGFiZWxlZC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkgPiAubGFiZWxzIC5oYWxmdGljay5sYWJlbDo6YWZ0ZXIge1xuICBoZWlnaHQ6IDAuNWVtO1xufVxuLyogU21hbGwgVmVydGljYWwgKi9cbi51aS5zbGlkZXIuc21hbGwudmVydGljYWwgLmlubmVyIHtcbiAgd2lkdGg6IDFlbTtcbn1cbi51aS5zbGlkZXIuc21hbGwudmVydGljYWwgLmlubmVyIC50cmFjayxcbi51aS5zbGlkZXIuc21hbGwudmVydGljYWwgLmlubmVyIC50cmFjay1maWxsIHtcbiAgd2lkdGg6IDAuM2VtO1xuICBsZWZ0OiAwLjM1ZW07XG59XG4udWkuc21hbGwubGFiZWxlZC52ZXJ0aWNhbC5zbGlkZXIgPiAubGFiZWxzLFxuLnVpLnNtYWxsLmxhYmVsZWQudmVydGljYWwuc2xpZGVyID4gLmxhYmVscyAubGFiZWw6OmFmdGVyIHtcbiAgd2lkdGg6IDFlbTtcbn1cbi51aS5zbWFsbC5sYWJlbGVkLnZlcnRpY2FsLnNsaWRlciA+IC5sYWJlbHMgLmhhbGZ0aWNrLmxhYmVsOjphZnRlciB7XG4gIHdpZHRoOiAwLjVlbTtcbn1cbi51aS5zbGlkZXIubGFyZ2UgLmlubmVyIC50aHVtYiB7XG4gIGhlaWdodDogMmVtO1xuICB3aWR0aDogMmVtO1xufVxuLnVpLnNsaWRlci5sYXJnZTpub3QoLnZlcnRpY2FsKSAuaW5uZXIge1xuICBoZWlnaHQ6IDJlbTtcbn1cbi51aS5zbGlkZXIubGFyZ2U6bm90KC52ZXJ0aWNhbCkgLmlubmVyIC50cmFjayxcbi51aS5zbGlkZXIubGFyZ2U6bm90KC52ZXJ0aWNhbCkgLmlubmVyIC50cmFjay1maWxsIHtcbiAgaGVpZ2h0OiAwLjVlbTtcbiAgdG9wOiAwLjc1ZW07XG59XG4udWkubGFyZ2UubGFiZWxlZC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkgPiAubGFiZWxzLFxuLnVpLmxhcmdlLmxhYmVsZWQuc2xpZGVyOm5vdCgudmVydGljYWwpID4gLmxhYmVscyAubGFiZWw6OmFmdGVyIHtcbiAgaGVpZ2h0OiAyZW07XG59XG4udWkubGFyZ2UubGFiZWxlZC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkgPiAubGFiZWxzIC5oYWxmdGljay5sYWJlbDo6YWZ0ZXIge1xuICBoZWlnaHQ6IDFlbTtcbn1cbi8qIFNtYWxsIFZlcnRpY2FsICovXG4udWkuc2xpZGVyLmxhcmdlLnZlcnRpY2FsIC5pbm5lciB7XG4gIHdpZHRoOiAyZW07XG59XG4udWkuc2xpZGVyLmxhcmdlLnZlcnRpY2FsIC5pbm5lciAudHJhY2ssXG4udWkuc2xpZGVyLmxhcmdlLnZlcnRpY2FsIC5pbm5lciAudHJhY2stZmlsbCB7XG4gIHdpZHRoOiAwLjVlbTtcbiAgbGVmdDogMC43NWVtO1xufVxuLnVpLmxhcmdlLmxhYmVsZWQudmVydGljYWwuc2xpZGVyID4gLmxhYmVscyxcbi51aS5sYXJnZS5sYWJlbGVkLnZlcnRpY2FsLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsOjphZnRlciB7XG4gIHdpZHRoOiAyZW07XG59XG4udWkubGFyZ2UubGFiZWxlZC52ZXJ0aWNhbC5zbGlkZXIgPiAubGFiZWxzIC5oYWxmdGljay5sYWJlbDo6YWZ0ZXIge1xuICB3aWR0aDogMWVtO1xufVxuLnVpLnNsaWRlci5iaWcgLmlubmVyIC50aHVtYiB7XG4gIGhlaWdodDogMi41ZW07XG4gIHdpZHRoOiAyLjVlbTtcbn1cbi51aS5zbGlkZXIuYmlnOm5vdCgudmVydGljYWwpIC5pbm5lciB7XG4gIGhlaWdodDogMi41ZW07XG59XG4udWkuc2xpZGVyLmJpZzpub3QoLnZlcnRpY2FsKSAuaW5uZXIgLnRyYWNrLFxuLnVpLnNsaWRlci5iaWc6bm90KC52ZXJ0aWNhbCkgLmlubmVyIC50cmFjay1maWxsIHtcbiAgaGVpZ2h0OiAwLjZlbTtcbiAgdG9wOiAwLjk1ZW07XG59XG4udWkuYmlnLmxhYmVsZWQuc2xpZGVyOm5vdCgudmVydGljYWwpID4gLmxhYmVscyxcbi51aS5iaWcubGFiZWxlZC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkgPiAubGFiZWxzIC5sYWJlbDo6YWZ0ZXIge1xuICBoZWlnaHQ6IDIuNWVtO1xufVxuLnVpLmJpZy5sYWJlbGVkLnNsaWRlcjpub3QoLnZlcnRpY2FsKSA+IC5sYWJlbHMgLmhhbGZ0aWNrLmxhYmVsOjphZnRlciB7XG4gIGhlaWdodDogMS4yNWVtO1xufVxuLyogU21hbGwgVmVydGljYWwgKi9cbi51aS5zbGlkZXIuYmlnLnZlcnRpY2FsIC5pbm5lciB7XG4gIHdpZHRoOiAyLjVlbTtcbn1cbi51aS5zbGlkZXIuYmlnLnZlcnRpY2FsIC5pbm5lciAudHJhY2ssXG4udWkuc2xpZGVyLmJpZy52ZXJ0aWNhbCAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICB3aWR0aDogMC42ZW07XG4gIGxlZnQ6IDAuOTVlbTtcbn1cbi51aS5iaWcubGFiZWxlZC52ZXJ0aWNhbC5zbGlkZXIgPiAubGFiZWxzLFxuLnVpLmJpZy5sYWJlbGVkLnZlcnRpY2FsLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsOjphZnRlciB7XG4gIHdpZHRoOiAyLjVlbTtcbn1cbi51aS5iaWcubGFiZWxlZC52ZXJ0aWNhbC5zbGlkZXIgPiAubGFiZWxzIC5oYWxmdGljay5sYWJlbDo6YWZ0ZXIge1xuICB3aWR0aDogMS4yNWVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgU2xpZGVyIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFJhdGluZ1xuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBSYXRpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU3RhbmRhcmQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUmF0aW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLnJhdGluZyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4udWkucmF0aW5nOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4vKiBJY29uICovXG4udWkucmF0aW5nIC5pY29uIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZmxleDogMSAwIGF1dG87XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDEuMjVlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZSwgYmFja2dyb3VuZCAwLjFzIGVhc2UsIHRleHQtc2hhZG93IDAuMXMgZWFzZSwgY29sb3IgMC4xcyBlYXNlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFN0YW5kYXJkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW5hY3RpdmUgSWNvbiAqL1xuLnVpLnJhdGluZyAuaWNvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cbi8qIEFjdGl2ZSBJY29uICovXG4udWkucmF0aW5nIC5hY3RpdmUuaWNvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbi8qIFBhcnRpYWxseSBBY3RpdmUgSWNvbiAqL1xuLnVpLnJhdGluZyAuaWNvbi5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjg1KSAwJSB2YXIoLS1mdWxsKSwgcmdiYSgwLCAwLCAwLCAwLjE1KSB2YXIoLS1mdWxsKSAxMDAlKTtcbn1cbi8qIGNlbnRyYWwgb3ZlcnJpZGUgZm9yIGNvbG9ycyAqL1xuLnVpLnVpLnVpLnJhdGluZyAuaWNvbi5wYXJ0aWFsLmFjdGl2ZSB7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBTZWxlY3RlZCBJY29uICovXG4udWkucmF0aW5nIC5pY29uLnNlbGVjdGVkLFxuLnVpLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5hY3RpdmUsXG4udWkucmF0aW5nIC5pY29uLnNlbGVjdGVkLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHVuc2V0O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnByaW1hcnkucmF0aW5nIC5hY3RpdmUuaWNvbiB7XG4gIGNvbG9yOiAjNTRjOGZmO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgIzZDMzY2NywgLTFweCAwIDAgIzZDMzY2NywgMCAxcHggMCAjNkMzNjY3LCAxcHggMCAwICM2QzM2Njc7XG59XG4udWkucHJpbWFyeS5yYXRpbmcgLmljb24uc2VsZWN0ZWQsXG4udWkucHJpbWFyeS5yYXRpbmcgLmljb24uc2VsZWN0ZWQuYWN0aXZlLFxuLnVpLnByaW1hcnkucmF0aW5nIC5pY29uLnNlbGVjdGVkLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICMyMWI4ZmY7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjNWQyYjU5LCAtMXB4IDAgMCAjNWQyYjU5LCAwIDFweCAwICM1ZDJiNTksIDFweCAwIDAgIzVkMmI1OTtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogdW5zZXQ7XG4gIGJhY2tncm91bmQtY2xpcDogdW5zZXQ7XG59XG4udWkucHJpbWFyeS5yYXRpbmcgLmljb24ucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM1NGM4ZmYgMCUgdmFyKC0tZnVsbCksIHJnYmEoMCwgMCwgMCwgMC4xNSkgdmFyKC0tZnVsbCkgMTAwJSk7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6ICM2QzM2NjcgMC43OHB4O1xufVxuLnVpLnNlY29uZGFyeS5yYXRpbmcgLmFjdGl2ZS5pY29uIHtcbiAgY29sb3I6ICM1NDU0NTQ7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjODhkMzE3LCAtMXB4IDAgMCAjODhkMzE3LCAwIDFweCAwICM4OGQzMTcsIDFweCAwIDAgIzg4ZDMxNztcbn1cbi51aS5zZWNvbmRhcnkucmF0aW5nIC5pY29uLnNlbGVjdGVkLFxuLnVpLnNlY29uZGFyeS5yYXRpbmcgLmljb24uc2VsZWN0ZWQuYWN0aXZlLFxuLnVpLnNlY29uZGFyeS5yYXRpbmcgLmljb24uc2VsZWN0ZWQucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogIzZlNmU2ZTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICM5OGYwMTMsIC0xcHggMCAwICM5OGYwMTMsIDAgMXB4IDAgIzk4ZjAxMywgMXB4IDAgMCAjOThmMDEzO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiB1bnNldDtcbiAgYmFja2dyb3VuZC1jbGlwOiB1bnNldDtcbn1cbi51aS5zZWNvbmRhcnkucmF0aW5nIC5pY29uLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNTQ1NDU0IDAlIHZhcigtLWZ1bGwpLCByZ2JhKDAsIDAsIDAsIDAuMTUpIHZhcigtLWZ1bGwpIDEwMCUpO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAjODhkMzE3IDAuNzhweDtcbn1cbi51aS5yZWQucmF0aW5nIC5hY3RpdmUuaWNvbiB7XG4gIGNvbG9yOiAjZmY2OTVlO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgI2RiMjgyOCwgLTFweCAwIDAgI2RiMjgyOCwgMCAxcHggMCAjZGIyODI4LCAxcHggMCAwICNkYjI4Mjg7XG59XG4udWkucmVkLnJhdGluZyAuaWNvbi5zZWxlY3RlZCxcbi51aS5yZWQucmF0aW5nIC5pY29uLnNlbGVjdGVkLmFjdGl2ZSxcbi51aS5yZWQucmF0aW5nIC5pY29uLnNlbGVjdGVkLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNmZjM5MmI7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjZDAxOTE5LCAtMXB4IDAgMCAjZDAxOTE5LCAwIDFweCAwICNkMDE5MTksIDFweCAwIDAgI2QwMTkxOTtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogdW5zZXQ7XG4gIGJhY2tncm91bmQtY2xpcDogdW5zZXQ7XG59XG4udWkucmVkLnJhdGluZyAuaWNvbi5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZmNjk1ZSAwJSB2YXIoLS1mdWxsKSwgcmdiYSgwLCAwLCAwLCAwLjE1KSB2YXIoLS1mdWxsKSAxMDAlKTtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogI2RiMjgyOCAwLjc4cHg7XG59XG4udWkub3JhbmdlLnJhdGluZyAuYWN0aXZlLmljb24ge1xuICBjb2xvcjogI2ZmODUxYjtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICNmMjcxMWMsIC0xcHggMCAwICNmMjcxMWMsIDAgMXB4IDAgI2YyNzExYywgMXB4IDAgMCAjZjI3MTFjO1xufVxuLnVpLm9yYW5nZS5yYXRpbmcgLmljb24uc2VsZWN0ZWQsXG4udWkub3JhbmdlLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5hY3RpdmUsXG4udWkub3JhbmdlLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjZTc2YjAwO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgI2YyNjIwMiwgLTFweCAwIDAgI2YyNjIwMiwgMCAxcHggMCAjZjI2MjAyLCAxcHggMCAwICNmMjYyMDI7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHVuc2V0O1xufVxuLnVpLm9yYW5nZS5yYXRpbmcgLmljb24ucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZjg1MWIgMCUgdmFyKC0tZnVsbCksIHJnYmEoMCwgMCwgMCwgMC4xNSkgdmFyKC0tZnVsbCkgMTAwJSk7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6ICNmMjcxMWMgMC43OHB4O1xufVxuLnVpLnllbGxvdy5yYXRpbmcgLmFjdGl2ZS5pY29uIHtcbiAgY29sb3I6ICNmZmUyMWY7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjZmJiZDA4LCAtMXB4IDAgMCAjZmJiZDA4LCAwIDFweCAwICNmYmJkMDgsIDFweCAwIDAgI2ZiYmQwODtcbn1cbi51aS55ZWxsb3cucmF0aW5nIC5pY29uLnNlbGVjdGVkLFxuLnVpLnllbGxvdy5yYXRpbmcgLmljb24uc2VsZWN0ZWQuYWN0aXZlLFxuLnVpLnllbGxvdy5yYXRpbmcgLmljb24uc2VsZWN0ZWQucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI2ViY2QwMDtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICNlYWFlMDAsIC0xcHggMCAwICNlYWFlMDAsIDAgMXB4IDAgI2VhYWUwMCwgMXB4IDAgMCAjZWFhZTAwO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiB1bnNldDtcbiAgYmFja2dyb3VuZC1jbGlwOiB1bnNldDtcbn1cbi51aS55ZWxsb3cucmF0aW5nIC5pY29uLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmZlMjFmIDAlIHZhcigtLWZ1bGwpLCByZ2JhKDAsIDAsIDAsIDAuMTUpIHZhcigtLWZ1bGwpIDEwMCUpO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAjZmJiZDA4IDAuNzhweDtcbn1cbi51aS5vbGl2ZS5yYXRpbmcgLmFjdGl2ZS5pY29uIHtcbiAgY29sb3I6ICNkOWU3Nzg7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjYjVjYzE4LCAtMXB4IDAgMCAjYjVjYzE4LCAwIDFweCAwICNiNWNjMTgsIDFweCAwIDAgI2I1Y2MxODtcbn1cbi51aS5vbGl2ZS5yYXRpbmcgLmljb24uc2VsZWN0ZWQsXG4udWkub2xpdmUucmF0aW5nIC5pY29uLnNlbGVjdGVkLmFjdGl2ZSxcbi51aS5vbGl2ZS5yYXRpbmcgLmljb24uc2VsZWN0ZWQucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI2QyZTc0NTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICNhN2JkMGQsIC0xcHggMCAwICNhN2JkMGQsIDAgMXB4IDAgI2E3YmQwZCwgMXB4IDAgMCAjYTdiZDBkO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiB1bnNldDtcbiAgYmFja2dyb3VuZC1jbGlwOiB1bnNldDtcbn1cbi51aS5vbGl2ZS5yYXRpbmcgLmljb24ucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNkOWU3NzggMCUgdmFyKC0tZnVsbCksIHJnYmEoMCwgMCwgMCwgMC4xNSkgdmFyKC0tZnVsbCkgMTAwJSk7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6ICNiNWNjMTggMC43OHB4O1xufVxuLnVpLmdyZWVuLnJhdGluZyAuYWN0aXZlLmljb24ge1xuICBjb2xvcjogIzJlY2M0MDtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICMyMWJhNDUsIC0xcHggMCAwICMyMWJhNDUsIDAgMXB4IDAgIzIxYmE0NSwgMXB4IDAgMCAjMjFiYTQ1O1xufVxuLnVpLmdyZWVuLnJhdGluZyAuaWNvbi5zZWxlY3RlZCxcbi51aS5ncmVlbi5yYXRpbmcgLmljb24uc2VsZWN0ZWQuYWN0aXZlLFxuLnVpLmdyZWVuLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMWVhOTJlO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgIzE2YWIzOSwgLTFweCAwIDAgIzE2YWIzOSwgMCAxcHggMCAjMTZhYjM5LCAxcHggMCAwICMxNmFiMzk7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHVuc2V0O1xufVxuLnVpLmdyZWVuLnJhdGluZyAuaWNvbi5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzJlY2M0MCAwJSB2YXIoLS1mdWxsKSwgcmdiYSgwLCAwLCAwLCAwLjE1KSB2YXIoLS1mdWxsKSAxMDAlKTtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogIzIxYmE0NSAwLjc4cHg7XG59XG4udWkudGVhbC5yYXRpbmcgLmFjdGl2ZS5pY29uIHtcbiAgY29sb3I6ICM2ZGZmZmY7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjMDBiNWFkLCAtMXB4IDAgMCAjMDBiNWFkLCAwIDFweCAwICMwMGI1YWQsIDFweCAwIDAgIzAwYjVhZDtcbn1cbi51aS50ZWFsLnJhdGluZyAuaWNvbi5zZWxlY3RlZCxcbi51aS50ZWFsLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5hY3RpdmUsXG4udWkudGVhbC5yYXRpbmcgLmljb24uc2VsZWN0ZWQucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogIzNhZmZmZjtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICMwMDljOTUsIC0xcHggMCAwICMwMDljOTUsIDAgMXB4IDAgIzAwOWM5NSwgMXB4IDAgMCAjMDA5Yzk1O1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiB1bnNldDtcbiAgYmFja2dyb3VuZC1jbGlwOiB1bnNldDtcbn1cbi51aS50ZWFsLnJhdGluZyAuaWNvbi5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzZkZmZmZiAwJSB2YXIoLS1mdWxsKSwgcmdiYSgwLCAwLCAwLCAwLjE1KSB2YXIoLS1mdWxsKSAxMDAlKTtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogIzAwYjVhZCAwLjc4cHg7XG59XG4udWkuYmx1ZS5yYXRpbmcgLmFjdGl2ZS5pY29uIHtcbiAgY29sb3I6ICM1NGM4ZmY7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjMjE4NWQwLCAtMXB4IDAgMCAjMjE4NWQwLCAwIDFweCAwICMyMTg1ZDAsIDFweCAwIDAgIzIxODVkMDtcbn1cbi51aS5ibHVlLnJhdGluZyAuaWNvbi5zZWxlY3RlZCxcbi51aS5ibHVlLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5hY3RpdmUsXG4udWkuYmx1ZS5yYXRpbmcgLmljb24uc2VsZWN0ZWQucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogIzIxYjhmZjtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICMxNjc4YzIsIC0xcHggMCAwICMxNjc4YzIsIDAgMXB4IDAgIzE2NzhjMiwgMXB4IDAgMCAjMTY3OGMyO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiB1bnNldDtcbiAgYmFja2dyb3VuZC1jbGlwOiB1bnNldDtcbn1cbi51aS5ibHVlLnJhdGluZyAuaWNvbi5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzU0YzhmZiAwJSB2YXIoLS1mdWxsKSwgcmdiYSgwLCAwLCAwLCAwLjE1KSB2YXIoLS1mdWxsKSAxMDAlKTtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogIzIxODVkMCAwLjc4cHg7XG59XG4udWkudmlvbGV0LnJhdGluZyAuYWN0aXZlLmljb24ge1xuICBjb2xvcjogI2EyOTFmYjtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICM2NDM1YzksIC0xcHggMCAwICM2NDM1YzksIDAgMXB4IDAgIzY0MzVjOSwgMXB4IDAgMCAjNjQzNWM5O1xufVxuLnVpLnZpb2xldC5yYXRpbmcgLmljb24uc2VsZWN0ZWQsXG4udWkudmlvbGV0LnJhdGluZyAuaWNvbi5zZWxlY3RlZC5hY3RpdmUsXG4udWkudmlvbGV0LnJhdGluZyAuaWNvbi5zZWxlY3RlZC5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjNzQ1YWZmO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgIzU4MjliYiwgLTFweCAwIDAgIzU4MjliYiwgMCAxcHggMCAjNTgyOWJiLCAxcHggMCAwICM1ODI5YmI7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHVuc2V0O1xufVxuLnVpLnZpb2xldC5yYXRpbmcgLmljb24ucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNhMjkxZmIgMCUgdmFyKC0tZnVsbCksIHJnYmEoMCwgMCwgMCwgMC4xNSkgdmFyKC0tZnVsbCkgMTAwJSk7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6ICM2NDM1YzkgMC43OHB4O1xufVxuLnVpLnB1cnBsZS5yYXRpbmcgLmFjdGl2ZS5pY29uIHtcbiAgY29sb3I6ICNkYzczZmY7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjYTMzM2M4LCAtMXB4IDAgMCAjYTMzM2M4LCAwIDFweCAwICNhMzMzYzgsIDFweCAwIDAgI2EzMzNjODtcbn1cbi51aS5wdXJwbGUucmF0aW5nIC5pY29uLnNlbGVjdGVkLFxuLnVpLnB1cnBsZS5yYXRpbmcgLmljb24uc2VsZWN0ZWQuYWN0aXZlLFxuLnVpLnB1cnBsZS5yYXRpbmcgLmljb24uc2VsZWN0ZWQucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI2NmNDBmZjtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICM5NjI3YmEsIC0xcHggMCAwICM5NjI3YmEsIDAgMXB4IDAgIzk2MjdiYSwgMXB4IDAgMCAjOTYyN2JhO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiB1bnNldDtcbiAgYmFja2dyb3VuZC1jbGlwOiB1bnNldDtcbn1cbi51aS5wdXJwbGUucmF0aW5nIC5pY29uLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZGM3M2ZmIDAlIHZhcigtLWZ1bGwpLCByZ2JhKDAsIDAsIDAsIDAuMTUpIHZhcigtLWZ1bGwpIDEwMCUpO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAjYTMzM2M4IDAuNzhweDtcbn1cbi51aS5waW5rLnJhdGluZyAuYWN0aXZlLmljb24ge1xuICBjb2xvcjogI2ZmOGVkZjtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICNlMDM5OTcsIC0xcHggMCAwICNlMDM5OTcsIDAgMXB4IDAgI2UwMzk5NywgMXB4IDAgMCAjZTAzOTk3O1xufVxuLnVpLnBpbmsucmF0aW5nIC5pY29uLnNlbGVjdGVkLFxuLnVpLnBpbmsucmF0aW5nIC5pY29uLnNlbGVjdGVkLmFjdGl2ZSxcbi51aS5waW5rLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjZmY1YmQxO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgI2U2MWE4ZCwgLTFweCAwIDAgI2U2MWE4ZCwgMCAxcHggMCAjZTYxYThkLCAxcHggMCAwICNlNjFhOGQ7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHVuc2V0O1xufVxuLnVpLnBpbmsucmF0aW5nIC5pY29uLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmY4ZWRmIDAlIHZhcigtLWZ1bGwpLCByZ2JhKDAsIDAsIDAsIDAuMTUpIHZhcigtLWZ1bGwpIDEwMCUpO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAjZTAzOTk3IDAuNzhweDtcbn1cbi51aS5icm93bi5yYXRpbmcgLmFjdGl2ZS5pY29uIHtcbiAgY29sb3I6ICNkNjdjMWM7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjYTU2NzNmLCAtMXB4IDAgMCAjYTU2NzNmLCAwIDFweCAwICNhNTY3M2YsIDFweCAwIDAgI2E1NjczZjtcbn1cbi51aS5icm93bi5yYXRpbmcgLmljb24uc2VsZWN0ZWQsXG4udWkuYnJvd24ucmF0aW5nIC5pY29uLnNlbGVjdGVkLmFjdGl2ZSxcbi51aS5icm93bi5yYXRpbmcgLmljb24uc2VsZWN0ZWQucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI2IwNjIwZjtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICM5NzViMzMsIC0xcHggMCAwICM5NzViMzMsIDAgMXB4IDAgIzk3NWIzMywgMXB4IDAgMCAjOTc1YjMzO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiB1bnNldDtcbiAgYmFja2dyb3VuZC1jbGlwOiB1bnNldDtcbn1cbi51aS5icm93bi5yYXRpbmcgLmljb24ucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNkNjdjMWMgMCUgdmFyKC0tZnVsbCksIHJnYmEoMCwgMCwgMCwgMC4xNSkgdmFyKC0tZnVsbCkgMTAwJSk7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6ICNhNTY3M2YgMC43OHB4O1xufVxuLnVpLmdyZXkucmF0aW5nIC5hY3RpdmUuaWNvbiB7XG4gIGNvbG9yOiAjZGNkZGRlO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgIzc2NzY3NiwgLTFweCAwIDAgIzc2NzY3NiwgMCAxcHggMCAjNzY3Njc2LCAxcHggMCAwICM3Njc2NzY7XG59XG4udWkuZ3JleS5yYXRpbmcgLmljb24uc2VsZWN0ZWQsXG4udWkuZ3JleS5yYXRpbmcgLmljb24uc2VsZWN0ZWQuYWN0aXZlLFxuLnVpLmdyZXkucmF0aW5nIC5pY29uLnNlbGVjdGVkLnBhcnRpYWwuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6ICNjMmM0YzU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCAjODM4MzgzLCAtMXB4IDAgMCAjODM4MzgzLCAwIDFweCAwICM4MzgzODMsIDFweCAwIDAgIzgzODM4MztcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogdW5zZXQ7XG4gIGJhY2tncm91bmQtY2xpcDogdW5zZXQ7XG59XG4udWkuZ3JleS5yYXRpbmcgLmljb24ucGFydGlhbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNkY2RkZGUgMCUgdmFyKC0tZnVsbCksIHJnYmEoMCwgMCwgMCwgMC4xNSkgdmFyKC0tZnVsbCkgMTAwJSk7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6ICM3Njc2NzYgMC43OHB4O1xufVxuLnVpLmJsYWNrLnJhdGluZyAuYWN0aXZlLmljb24ge1xuICBjb2xvcjogIzU0NTQ1NDtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwICMxYjFjMWQsIC0xcHggMCAwICMxYjFjMWQsIDAgMXB4IDAgIzFiMWMxZCwgMXB4IDAgMCAjMWIxYzFkO1xufVxuLnVpLmJsYWNrLnJhdGluZyAuaWNvbi5zZWxlY3RlZCxcbi51aS5ibGFjay5yYXRpbmcgLmljb24uc2VsZWN0ZWQuYWN0aXZlLFxuLnVpLmJsYWNrLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgIzI3MjkyYSwgLTFweCAwIDAgIzI3MjkyYSwgMCAxcHggMCAjMjcyOTJhLCAxcHggMCAwICMyNzI5MmE7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHVuc2V0O1xufVxuLnVpLmJsYWNrLnJhdGluZyAuaWNvbi5wYXJ0aWFsLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzU0NTQ1NCAwJSB2YXIoLS1mdWxsKSwgcmdiYSgwLCAwLCAwLCAwLjE1KSB2YXIoLS1mdWxsKSAxMDAlKTtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogIzFiMWMxZCAwLjc4cHg7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogZGlzYWJsZWQgcmF0aW5nICovXG4udWkuZGlzYWJsZWQucmF0aW5nIC5pY29uIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFVzZXIgSW50ZXJhY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWxlY3RlZCBSYXRpbmcgKi9cbi51aS5yYXRpbmcuc2VsZWN0ZWQgLmFjdGl2ZS5pY29uIHtcbiAgb3BhY2l0eTogMTtcbn1cbi51aS5yYXRpbmcuc2VsZWN0ZWQgLmljb24uc2VsZWN0ZWQsXG4udWkucmF0aW5nIC5pY29uLnNlbGVjdGVkIHtcbiAgb3BhY2l0eTogMTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5yYXRpbmcge1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkubWluaS5yYXRpbmcge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG4udWkudGlueS5yYXRpbmcge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkuc21hbGwucmF0aW5nIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLmxhcmdlLnJhdGluZyB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5iaWcucmF0aW5nIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLmh1Z2UucmF0aW5nIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuLnVpLm1hc3NpdmUucmF0aW5nIHtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFNlYXJjaFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFNlYXJjaFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFNlYXJjaCBQcm9tcHQgKi9cbi8qIE1vYmlsZSAqL1xuLyogUmVzdWx0IEJveCAqL1xuLyogUmVzdWx0ICovXG4vKiBSZXN1bHQgSW1hZ2UgKi9cbi8qIFJlc3VsdCBDb250ZW50ICovXG4vKiBSZXN1bHQgU2Nyb2xsaW5nICovXG4vKiBEZXNjcmlwdGlvbiAqL1xuLyogUHJpY2UgKi9cbi8qIFNwZWNpYWwgTWVzc2FnZSAqL1xuLyogQWxsIFJlc3VsdHMgTGluayAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvY3VzICovXG4vKiBIb3ZlciAqL1xuLyogTG9hZGluZyAqL1xuLyogQWN0aXZlIENhdGVnb3J5ICovXG4vKiBBY3RpdmUgUmVzdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBDbGVhcmFibGUgKi9cbi8qXG4gKiBUaW1lcyBpY29uIHRha2VuIGZyb20gRm9udCBBd2Vzb21lIEZyZWUgNS4xNS40IGJ5IEBmb250YXdlc29tZSBbaHR0cHM6Ly9mb250YXdlc29tZS5jb21dXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlXG4gKi9cbi8qIENhdGVnb3J5ICovXG4vKiBSZXNpemFibGUgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTZWFyY2hcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuc2VhcmNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnVpLnNlYXJjaCA+IC5wcm9tcHQge1xuICBtYXJnaW46IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS4yMTQyODU3MWVtO1xuICBwYWRkaW5nOiAwLjY3ODU3MTQzZW0gMWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgdHJhbnNwYXJlbnQgaW5zZXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2UsIGJveC1zaGFkb3cgMC4xcyBlYXNlLCBib3JkZXItY29sb3IgMC4xcyBlYXNlO1xufVxuLnVpLnNlYXJjaCAucHJvbXB0IHtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgSWNvblxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc2VhcmNoIC5wcm9tcHQgfiAuc2VhcmNoLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIFJlc3VsdHNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgd2lkdGg6IDE4ZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDAgMnB4IDEwcHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDRkNGQ1O1xuICB6LWluZGV4OiA5OTg7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMCAwO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBSZXN1bHRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDFlbTtcbiAgcGFkZGluZzogMC44NTcxNDI4NmVtIDEuMTQyODU3MTRlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIEltYWdlICovXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCAuaW1hZ2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHdpZHRoOiA1ZW07XG4gIGhlaWdodDogM2VtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCAuaW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgSW5mb1xuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCAuaW1hZ2UgKyAuY29udGVudCB7XG4gIG1hcmdpbjogMCA2ZW0gMCAwO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQgLnRpdGxlIHtcbiAgbWFyZ2luOiAtMC4xNDI4NTcxNGVtIDAgMDtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDFlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCAuZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0IC5wcmljZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgY29sb3I6ICMyMWJhNDU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIE1lc3NhZ2Vcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNlYXJjaCA+IC5yZXN1bHRzID4gLm1lc3NhZ2Uge1xuICBwYWRkaW5nOiAxZW0gMWVtO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzID4gLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyA+IC5tZXNzYWdlIC5kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIFZpZXcgQWxsIFJlc3VsdHMgKi9cbi51aS5zZWFyY2ggPiAucmVzdWx0cyA+IC5hY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYmFja2dyb3VuZDogI2YzZjRmNTtcbiAgcGFkZGluZzogMC45Mjg1NzE0M2VtIDFlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc2VhcmNoID4gLnByb21wdDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjM1KTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBMb2FkaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubG9hZGluZy5zZWFyY2ggLmlucHV0ID4gaS5pY29uOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTAuNjQyODU3MTRlbSAwIDAgLTAuNjQyODU3MTRlbTtcbiAgd2lkdGg6IDEuMjg1NzE0MjllbTtcbiAgaGVpZ2h0OiAxLjI4NTcxNDI5ZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm9yZGVyOiAwLjJlbSBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkubG9hZGluZy5zZWFyY2ggLmlucHV0ID4gaS5pY29uOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMC42NDI4NTcxNGVtIDAgMCAtMC42NDI4NTcxNGVtO1xuICB3aWR0aDogMS4yODU3MTQyOWVtO1xuICBoZWlnaHQ6IDEuMjg1NzE0MjllbTtcbiAgYW5pbWF0aW9uOiBsb2FkZXIgMC42cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGJvcmRlcjogMC4yZW0gc29saWQgIzc2NzY3NjtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggdHJhbnNwYXJlbnQ7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQ6aG92ZXIsXG4udWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5IC5yZXN1bHQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xufVxuLnVpLnNlYXJjaCAuYWN0aW9uOmhvdmVyOm5vdChkaXYpIHtcbiAgYmFja2dyb3VuZDogI2UwZTBlMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZjNmNGY1O1xufVxuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeS5hY3RpdmUgPiAubmFtZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQuYWN0aXZlLFxuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSAucmVzdWx0LmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbiAgYmFja2dyb3VuZDogI2YzZjRmNTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0LmFjdGl2ZSAudGl0bGUge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0LmFjdGl2ZSAuZGVzY3JpcHRpb24ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBEaXNhYmxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpc2FibGVkICovXG4udWkuZGlzYWJsZWQuc2VhcmNoIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMC40NTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQ2xlYXIgSWNvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNlYXJjaCA+IC5pY29uLmlucHV0ID4gLnJlbW92ZS5pY29uIHtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC42O1xufVxuLnVpLnNlYXJjaCA+IC5pY29uLmlucHV0ID4gLnJlbW92ZS5pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi51aS5zZWFyY2ggPiAuaWNvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgaWNvblwiXSkgPiAuaWNvbiB+IC5yZW1vdmUuaWNvbiB7XG4gIHJpZ2h0OiAxLjg1NzE0ZW07XG59XG4udWkuc2VhcmNoIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG4gIG9wYWNpdHk6IDAuNjtcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzNTIgNTEyJyUzRSUzQ3BhdGggZD0nTTI0Mi43IDI1NmwxMDAuMS0xMDAuMWMxMi4zLTEyLjMgMTIuMy0zMi4yIDAtNDQuNWwtMjIuMi0yMi4yYy0xMi4zLTEyLjMtMzIuMi0xMi4zLTQ0LjUgMEwxNzYgMTg5LjMgNzUuOSA4OS4yYy0xMi4zLTEyLjMtMzIuMi0xMi4zLTQ0LjUgMEw5LjIgMTExLjVjLTEyLjMgMTIuMy0xMi4zIDMyLjIgMCA0NC41TDEwOS4zIDI1NiA5LjIgMzU2LjFjLTEyLjMgMTIuMy0xMi4zIDMyLjIgMCA0NC41bDIyLjIgMjIuMmMxMi4zIDEyLjMgMzIuMiAxMi4zIDQ0LjUgMEwxNzYgMzIyLjdsMTAwLjEgMTAwLjFjMTIuMyAxMi4zIDMyLjIgMTIuMyA0NC41IDBsMjIuMi0yMi4yYzEyLjMtMTIuMyAxMi4zLTMyLjIgMC00NC41TDI0Mi43IDI1NnonLyUzRSUzQy9zdmclM0VcIikgbm8tcmVwZWF0O1xuICBoZWlnaHQ6IDFlbTtcbiAgd2lkdGg6IDFlbTtcbn1cbi51aS5zZWFyY2ggaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4udWkubG9hZGluZy5zZWFyY2ggaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkuc2VhcmNoID4gLmljb24uaW5wdXQgPiBpbnB1dDpwbGFjZWhvbGRlci1zaG93biB+IC5yZW1vdmUuaWNvbixcbi51aS5zZWFyY2gubG9hZGluZyA+IC5pY29uLmlucHV0ID4gLnJlbW92ZS5pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5zZWFyY2ggPiAuaWNvbi5pbnB1dCA+IGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB+IC5yZW1vdmUuaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBDYXRlZ29yeVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmNhdGVnb3J5LnNlYXJjaCAucmVzdWx0cyB7XG4gIHdpZHRoOiAyOGVtO1xufVxuLnVpLmNhdGVnb3J5LnNlYXJjaCAucmVzdWx0cy5hbmltYXRpbmcsXG4udWkuY2F0ZWdvcnkuc2VhcmNoIC5yZXN1bHRzLnZpc2libGUge1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi8qIENhdGVnb3J5ICovXG4udWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5IHtcbiAgZGlzcGxheTogdGFibGUtcm93O1xuICBiYWNrZ3JvdW5kOiAjZjNmNGY1O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMXMgZWFzZTtcbn1cbi8qIExhc3QgQ2F0ZWdvcnkgKi9cbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4vKiBGaXJzdCAvIExhc3QgKi9cbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnk6Zmlyc3QtY2hpbGQgLm5hbWUgKyAucmVzdWx0IHtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI4NTcxNDI5cmVtIDAgMDtcbn1cbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnk6bGFzdC1jaGlsZCAucmVzdWx0Omxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4yODU3MTQyOXJlbSAwO1xufVxuLyogQ2F0ZWdvcnkgUmVzdWx0IE5hbWUgKi9cbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkgPiAubmFtZSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aWR0aDogMTAwcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAxZW07XG4gIHBhZGRpbmc6IDAuNGVtIDFlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4vKiBDYXRlZ29yeSBSZXN1bHQgKi9cbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkgLnJlc3VsdHMge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5IC5yZXN1bHQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMXMgZWFzZTtcbiAgcGFkZGluZzogMC44NTcxNDI4NmVtIDEuMTQyODU3MTRlbTtcbn1cbi51aS5ob3Jpem9udGFsLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSxcbi51aS5ob3Jpem9udGFsLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSA+IC5uYW1lLFxuLnVpLmhvcml6b250YWwuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5ID4gLnJlc3VsdHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5ob3Jpem9udGFsLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSA+IC5yZXN1bHRzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFNjcm9sbGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkuc2Nyb2xsaW5nLnNlYXJjaCA+IC5yZXN1bHRzLFxuLnVpLnNlYXJjaC5sb25nID4gLnJlc3VsdHMsXG4udWkuc2VhcmNoLnNob3J0ID4gLnJlc3VsdHMge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnVpLnNjcm9sbGluZy5zZWFyY2ggPiAucmVzdWx0cyB7XG4gICAgbWF4LWhlaWdodDogMTIuMTc3MTQyODZlbTtcbiAgfVxuICAucmVzaXphYmxlLnVpLnNjcm9sbGluZy5zZWFyY2ggPiAucmVzdWx0cyB7XG4gICAgaGVpZ2h0OiAxMi4xNzcxNDI4NmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51aS5zY3JvbGxpbmcuc2VhcmNoID4gLnJlc3VsdHMge1xuICAgIG1heC1oZWlnaHQ6IDE4LjI2NTcxNDI5ZW07XG4gIH1cbiAgLnJlc2l6YWJsZS51aS5zY3JvbGxpbmcuc2VhcmNoID4gLnJlc3VsdHMge1xuICAgIGhlaWdodDogMTguMjY1NzE0MjllbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWkuc2Nyb2xsaW5nLnNlYXJjaCA+IC5yZXN1bHRzIHtcbiAgICBtYXgtaGVpZ2h0OiAyNC4zNTQyODU3MWVtO1xuICB9XG4gIC5yZXNpemFibGUudWkuc2Nyb2xsaW5nLnNlYXJjaCA+IC5yZXN1bHRzIHtcbiAgICBoZWlnaHQ6IDI0LjM1NDI4NTcxZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS5zY3JvbGxpbmcuc2VhcmNoID4gLnJlc3VsdHMge1xuICAgIG1heC1oZWlnaHQ6IDM2LjUzMTQyODU3ZW07XG4gIH1cbiAgLnJlc2l6YWJsZS51aS5zY3JvbGxpbmcuc2VhcmNoID4gLnJlc3VsdHMge1xuICAgIGhlaWdodDogMzYuNTMxNDI4NTdlbTtcbiAgfVxufVxuLnVpLnNjcm9sbGluZy5yZXNpemFibGUuc2VhcmNoID4gLnJlc3VsdHMge1xuICByZXNpemU6IHZlcnRpY2FsO1xuICBtYXgtaGVpZ2h0OiBub25lO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudWkuc2VhcmNoLnNob3J0ID4gLnJlc3VsdHMge1xuICAgIG1heC1oZWlnaHQ6IDEyLjE3NzE0Mjg2ZW07XG4gIH1cbiAgLnVpLnNlYXJjaFtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdID4gLnJlc3VsdHMge1xuICAgIG1heC1oZWlnaHQ6IDkuMTMyODU3MTRlbTtcbiAgfVxuICAudWkuc2VhcmNoLmxvbmcgPiAucmVzdWx0cyB7XG4gICAgbWF4LWhlaWdodDogMjQuMzU0Mjg1NzFlbTtcbiAgfVxuICAudWkuc2VhcmNoW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSA+IC5yZXN1bHRzIHtcbiAgICBtYXgtaGVpZ2h0OiAzNi41MzE0Mjg1N2VtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51aS5zZWFyY2guc2hvcnQgPiAucmVzdWx0cyB7XG4gICAgbWF4LWhlaWdodDogMTguMjY1NzE0MjllbTtcbiAgfVxuICAudWkuc2VhcmNoW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiAucmVzdWx0cyB7XG4gICAgbWF4LWhlaWdodDogMTMuNjk5Mjg1NzFlbTtcbiAgfVxuICAudWkuc2VhcmNoLmxvbmcgPiAucmVzdWx0cyB7XG4gICAgbWF4LWhlaWdodDogMzYuNTMxNDI4NTdlbTtcbiAgfVxuICAudWkuc2VhcmNoW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSA+IC5yZXN1bHRzIHtcbiAgICBtYXgtaGVpZ2h0OiA1NC43OTcxNDI4NmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS5zZWFyY2guc2hvcnQgPiAucmVzdWx0cyB7XG4gICAgbWF4LWhlaWdodDogMjQuMzU0Mjg1NzFlbTtcbiAgfVxuICAudWkuc2VhcmNoW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiAucmVzdWx0cyB7XG4gICAgbWF4LWhlaWdodDogMTguMjY1NzE0MjllbTtcbiAgfVxuICAudWkuc2VhcmNoLmxvbmcgPiAucmVzdWx0cyB7XG4gICAgbWF4LWhlaWdodDogNDguNzA4NTcxNDNlbTtcbiAgfVxuICAudWkuc2VhcmNoW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSA+IC5yZXN1bHRzIHtcbiAgICBtYXgtaGVpZ2h0OiA3My4wNjI4NTcxNGVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkuc2VhcmNoLnNob3J0ID4gLnJlc3VsdHMge1xuICAgIG1heC1oZWlnaHQ6IDM2LjUzMTQyODU3ZW07XG4gIH1cbiAgLnVpLnNlYXJjaFtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdID4gLnJlc3VsdHMge1xuICAgIG1heC1oZWlnaHQ6IDI3LjM5ODU3MTQzZW07XG4gIH1cbiAgLnVpLnNlYXJjaC5sb25nID4gLnJlc3VsdHMge1xuICAgIG1heC1oZWlnaHQ6IDczLjA2Mjg1NzE0ZW07XG4gIH1cbiAgLnVpLnNlYXJjaFtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0gPiAucmVzdWx0cyB7XG4gICAgbWF4LWhlaWdodDogMTA5LjU5NDI4NTcxZW07XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIExlZnQgLyBSaWdodFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWlbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdLnNlYXJjaCA+IC5yZXN1bHRzIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5zZWFyY2ggPiAucmVzdWx0cyB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBGbHVpZFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmx1aWQuc2VhcmNoIC5yZXN1bHRzIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNlYXJjaCB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLm1pbmkuc2VhcmNoIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5ZW07XG59XG4udWkudGlueS5zZWFyY2gge1xuICBmb250LXNpemU6IDAuODU3MTQyODZlbTtcbn1cbi51aS5zbWFsbC5zZWFyY2gge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbn1cbi51aS5sYXJnZS5zZWFyY2gge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRlbTtcbn1cbi51aS5iaWcuc2VhcmNoIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5ZW07XG59XG4udWkuaHVnZS5zZWFyY2gge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNlbTtcbn1cbi51aS5tYXNzaXZlLnNlYXJjaCB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIE1vYmlsZVxuLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC51aS5zZWFyY2ggLnJlc3VsdHMge1xuICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDJyZW0pO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gU2hhcGVcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU2hhcGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBbmltYXRpbmcgKi9cbi8qIFNpZGUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBDdWJlICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICBTaGFwZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5zaGFwZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwZXJzcGVjdGl2ZTogMjAwMHB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlLWluLW91dCwgbGVmdCAwLjZzIGVhc2UtaW4tb3V0LCB3aWR0aCAwLjZzIGVhc2UtaW4tb3V0LCBoZWlnaHQgMC42cyBlYXNlLWluLW91dDtcbn1cbi51aS5zaGFwZSAuc2lkZSxcbi51aS5zaGFwZSAuc2lkZXMge1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuLnVpLnNoYXBlIC5zaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkuc2hhcGUgLnNpZGUgKiB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuY3ViZS5zaGFwZSAuc2lkZSB7XG4gIG1pbi13aWR0aDogMTVlbTtcbiAgaGVpZ2h0OiAxNWVtO1xuICBwYWRkaW5nOiAyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cbi51aS5jdWJlLnNoYXBlIC5zaWRlID4gLmNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB1c2VyLXNlbGVjdDogdGV4dDtcbn1cbi51aS5jdWJlLnNoYXBlIC5zaWRlID4gLmNvbnRlbnQgPiBkaXYge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IDJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS50ZXh0LnNoYXBlLmFuaW1hdGluZyAuc2lkZXMge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuLnVpLnRleHQuc2hhcGUgLnNpZGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnVpLnRleHQuc2hhcGUgLnNpZGUgPiAqIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTG9hZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxvYWRpbmcuc2hhcGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgbGVmdDogLTk5OTlweDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgQW5pbWF0aW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zaGFwZSAuYW5pbWF0aW5nLnNpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IDEwMDtcbn1cbi51aS5zaGFwZSAuaGlkZGVuLnNpZGUge1xuICBvcGFjaXR5OiAwLjY7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgQ1NTXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zaGFwZS5hbmltYXRpbmcgLnNpZGVzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlLWluLW91dCwgbGVmdCAwLjZzIGVhc2UtaW4tb3V0LCB3aWR0aCAwLjZzIGVhc2UtaW4tb3V0LCBoZWlnaHQgMC42cyBlYXNlLWluLW91dDtcbn1cbi51aS5zaGFwZS5hbmltYXRpbmcgLnNpZGUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgZWFzZS1pbi1vdXQ7XG59XG4udWkuc2hhcGUgLmFuaW1hdGluZy5zaWRlICosXG4udWkuc2hhcGUuYW5pbWF0aW5nIC5zaWRlICoge1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS5zaGFwZSAuYWN0aXZlLnNpZGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBVc2VyIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFNpZGViYXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIGVsZW1lbnQgdmFyaWF0aW9uIGNvbXBpbGF0aW9uIGVuYWJsZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdlbmVyYWwgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnV0dG9uICovXG4vKiBDb250YWluZXIgKi9cbi8qIERpdmlkZXIgKi9cbi8qIEhlYWRlciAqL1xuLyogSWNvbiAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEltYWdlICovXG4vKiBJbnB1dCAqL1xuLyogTGFiZWwgKi9cbi8qIExpc3QgKi9cbi8qIExvYWRlciAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFJhaWwgKi9cbi8qIFJldmVhbCAqL1xuLyogU2VnbWVudCAqL1xuLyogU3RlcCAqL1xuLyogVGV4dCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ29sbGVjdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCcmVhZGNydW1iICovXG4vKiBGb3JtICovXG4vKiBHcmlkICovXG4vKiBNZW51ICovXG4vKiBNZXNzYWdlICovXG4vKiBUYWJsZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWV3c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFkICovXG4vKiBDYXJkICovXG4vKiBDb21tZW50ICovXG4vKiBGZWVkICovXG4vKiBJdGVtICovXG4vKiBTdGF0aXN0aWMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNb2R1bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWNjb3JkaW9uICovXG4vKiBDYWxlbmRhciAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIERpbW1lciAqL1xuLyogRHJvcGRvd24gKi9cbi8qIEVtYmVkICovXG4vKiBGbHlvdXQgKi9cbi8qIE1vZGFsICovXG4vKiBOYWcgKi9cbi8qIFBvcHVwICovXG4vKiBQcm9ncmVzcyAqL1xuLyogUmF0aW5nICovXG4vKiBTZWFyY2ggKi9cbi8qIFNoYXBlICovXG4vKiBTaWRlYmFyICovXG4vKiBTbGlkZXIgKi9cbi8qIFRhYiAqL1xuLyogVG9hc3QgKi9cbi8qIFRyYW5zaXRpb24gKi9cbi8qIEVtb2ppcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2hlbmV2ZXIgYSBjb2xvciBuZWVkcyB0byBnZXQgY2FsY3VsYXRlZCAoc2NyZWVuKCkvbXVsdGlwbHkoKSkgb3V0IG9mIGEgYmFzZSBjb2xvciAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIElFIG5lZWRzIGhleCB2YWx1ZXMgKi9cbi8qIFNjcm9sbGluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IENvbG9ycyAgLS0tICovXG4vKiAtLS0gICBOZXV0cmFscyAgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIExpZ2h0IENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBIb3ZlcmVkIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJvcmRlciAtLS0gKi9cbi8qIC0tLSBTaGFkb3dzIC0tLSAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJveCBTaGFkb3dzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgU2hhZG93cyAgLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBUZXJ0aWFyeSAgLS0tICovXG4vKiAtLS0gIEJyaWdodCAgLS0tICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFN0YXRlcyBzaGFyZWQgaW4gRm9ybS1yZWxhdGVkIGNvbXBvbmVudHNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRm9ybSBzdGF0ZSAqL1xuLyogSW5wdXQgc3RhdGUgKi9cbi8qIEF1dG9GaWxsICovXG4vKiBEcm9wZG93biBzdGF0ZSAqL1xuLyogRm9jdXNlZCBzdGF0ZSAqL1xuLyogUGxhY2Vob2xkZXIgc3RhdGUgKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICBVc2VyIEdsb2JhbCBWYXJpYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU2lkZWJhclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQW5pbWF0aW9uICovXG4vKiBEaW1tZXIgKi9cbi8qIENvbG9yIGJlbG93IHBhZ2UgKi9cbi8qIFNoYWRvdyAqL1xuLyogTGF5ZXJpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaWR0aCAqL1xuLyogSGVpZ2h0ICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgY29sb3JzLmxlc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTaWRlYmFyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogU2lkZWJhciBNZW51ICovXG4udWkuc2lkZWJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93LXk6IGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcbiAgei1pbmRleDogMTAyO1xufVxuLyogR1BVIExheWVycyBmb3IgQ2hpbGQgRWxlbWVudHMgKi9cbi51aS5zaWRlYmFyID4gKiB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBEaXJlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmxlZnQuc2lkZWJhciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbn1cbi51aS5yaWdodC5zaWRlYmFyIHtcbiAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xufVxuLnVpLnRvcC5zaWRlYmFyLFxuLnVpLmJvdHRvbS5zaWRlYmFyIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4udWkudG9wLnNpZGViYXIge1xuICB0b3A6IDAgIWltcG9ydGFudDtcbiAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xufVxuLnVpLmJvdHRvbS5zaWRlYmFyIHtcbiAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgUHVzaGFibGVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnB1c2hhYmxlLnB1c2hhYmxlLnB1c2hhYmxlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG59XG4ucHVzaGFibGUucHVzaGFibGUucHVzaGFibGUubG9ja2VkIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xufVxuLyogV2hvbGUgUGFnZSAqL1xuYm9keS5wdXNoYWJsZSB7XG4gIGJhY2tncm91bmQ6ICM1NDU0NTQ7XG59XG5ib2R5LnB1c2hhYmxlLmRpbW1lZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG59XG4vKiBQYWdlIENvbnRleHQgKi9cbi5wdXNoYWJsZTpub3QoYm9keSkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG4ucHVzaGFibGU6bm90KGJvZHkpID4gLnVpLnNpZGViYXIsXG4ucHVzaGFibGU6bm90KGJvZHkpID4gLmZpeGVkLFxuLnB1c2hhYmxlOm5vdChib2R5KSA+IC5wdXNoZXI6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgRml4ZWRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnB1c2hhYmxlID4gLmZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB6LWluZGV4OiAxMDE7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0gKi9cbi5wdXNoYWJsZSA+IC5wdXNoZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHotaW5kZXg6IDI7XG4gIC8qIFB1c2hlciBzaG91bGQgaW5oZXJpdCBiYWNrZ3JvdW5kIGZyb20gY29udGV4dCAqL1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xufVxuLnB1c2hhYmxlID4gLnB1c2hlcjpub3QoLm92ZXJmbG93aW5nKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5ib2R5LnB1c2hhYmxlID4gLnB1c2hlciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBEaW1tZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnB1c2hhYmxlID4gLnB1c2hlcjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgei1pbmRleDogMTAwMDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnNpZGViYXIubWVudSAuaXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBEaW1tZWRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnB1c2hhYmxlID4gLnB1c2hlci5kaW1tZWQ6OmFmdGVyIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cbi5wdXNoYWJsZSA+IC5wdXNoZXIuZGltbWVkLmJsdXJyaW5nOm5vdCguY2xvc2luZyk6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig1cHgpIGdyYXlzY2FsZSgwLjcpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNXB4KSBncmF5c2NhbGUoMC43KTtcbn1cbi5wdXNoYWJsZSA+IC5wdXNoZXIuY2xvc2luZy5kaW1tZWQ6OmFmdGVyIHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBBbmltYXRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLmFuaW1hdGluZy5zaWRlYmFyIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFZpc2libGVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnZpc2libGUuc2lkZWJhciB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG4vKiBTaGFkb3cgRGlyZWN0aW9uICovXG4udWkubGVmdC52aXNpYmxlLnNpZGViYXIsXG4udWkucmlnaHQudmlzaWJsZS5zaWRlYmFyIHtcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS50b3AudmlzaWJsZS5zaWRlYmFyLFxuLnVpLmJvdHRvbS52aXNpYmxlLnNpZGViYXIge1xuICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogVmlzaWJsZSBPbiBMb2FkICovXG4udWkudmlzaWJsZS5sZWZ0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNjBweCwgMCwgMCk7XG59XG4udWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNjBweCwgMCwgMCk7XG59XG4udWkudmlzaWJsZS50b3Auc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlLnRvcC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzZweCwgMCk7XG59XG4udWkudmlzaWJsZS5ib3R0b20uc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlLmJvdHRvbS5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTM2cHgsIDApO1xufVxuLyogb3Bwb3NpdGUgc2lkZXMgdmlzaWJsZSBmb3JjZXMgY29udGVudCBvdmVybGF5ICovXG4udWkudmlzaWJsZS5sZWZ0LnNpZGViYXIgfiAudWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUubGVmdC5zaWRlYmFyIH4gLnVpLnZpc2libGUucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIsXG4udWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLnVpLnZpc2libGUubGVmdC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUucmlnaHQuc2lkZWJhciB+IC51aS52aXNpYmxlLmxlZnQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBpT1Ncbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgV2lkdGhcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTGVmdCAvIFJpZ2h0ICovXG4udWkudGhpbi5sZWZ0LnNpZGViYXIsXG4udWkudGhpbi5yaWdodC5zaWRlYmFyIHtcbiAgd2lkdGg6IDE1MHB4O1xufVxuLnVpW2NsYXNzKj1cInZlcnkgdGhpblwiXS5sZWZ0LnNpZGViYXIsXG4udWlbY2xhc3MqPVwidmVyeSB0aGluXCJdLnJpZ2h0LnNpZGViYXIge1xuICB3aWR0aDogNjBweDtcbn1cbi51aS5sZWZ0LnNpZGViYXIsXG4udWkucmlnaHQuc2lkZWJhciB7XG4gIHdpZHRoOiAyNjBweDtcbn1cbi51aS53aWRlLmxlZnQuc2lkZWJhcixcbi51aS53aWRlLnJpZ2h0LnNpZGViYXIge1xuICB3aWR0aDogMzUwcHg7XG59XG4udWlbY2xhc3MqPVwidmVyeSB3aWRlXCJdLmxlZnQuc2lkZWJhcixcbi51aVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ucmlnaHQuc2lkZWJhciB7XG4gIHdpZHRoOiA0NzVweDtcbn1cbi8qIExlZnQgVmlzaWJsZSAqL1xuLnVpLnZpc2libGUudGhpbi5sZWZ0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS50aGluLmxlZnQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE1MHB4LCAwLCAwKTtcbn1cbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgdGhpblwiXS5sZWZ0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ubGVmdC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNjBweCwgMCwgMCk7XG59XG4udWkudmlzaWJsZS53aWRlLmxlZnQuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlLndpZGUubGVmdC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzUwcHgsIDAsIDApO1xufVxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB3aWRlXCJdLmxlZnQuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0NzVweCwgMCwgMCk7XG59XG4vKiBSaWdodCBWaXNpYmxlICovXG4udWkudmlzaWJsZS50aGluLnJpZ2h0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS50aGluLnJpZ2h0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUwcHgsIDAsIDApO1xufVxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB0aGluXCJdLnJpZ2h0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC02MHB4LCAwLCAwKTtcbn1cbi51aS52aXNpYmxlLndpZGUucmlnaHQuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlLndpZGUucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zNTBweCwgMCwgMCk7XG59XG4udWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ucmlnaHQuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5yaWdodC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTQ3NXB4LCAwLCAwKTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgQW5pbWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIE92ZXJsYXlcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNldC11cCAqL1xuLnVpLm92ZXJsYXkuc2lkZWJhciB7XG4gIHotaW5kZXg6IDEwMjtcbn1cbi8qIEluaXRpYWwgKi9cbi51aS5sZWZ0Lm92ZXJsYXkuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xufVxuLnVpLnJpZ2h0Lm92ZXJsYXkuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG59XG4udWkudG9wLm92ZXJsYXkuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xufVxuLnVpLmJvdHRvbS5vdmVybGF5LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xufVxuLyogQW5pbWF0aW9uICovXG4uYW5pbWF0aW5nLnVpLm92ZXJsYXkuc2lkZWJhcixcbi51aS52aXNpYmxlLm92ZXJsYXkuc2lkZWJhciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlO1xufVxuLyogRW5kIC0gU2lkZWJhciAqL1xuLnVpLnZpc2libGUubGVmdC5vdmVybGF5LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuLnVpLnZpc2libGUucmlnaHQub3ZlcmxheS5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cbi51aS52aXNpYmxlLnRvcC5vdmVybGF5LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuLnVpLnZpc2libGUuYm90dG9tLm92ZXJsYXkuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG4vKiBFbmQgLSBQdXNoZXIgKi9cbi51aS52aXNpYmxlLm92ZXJsYXkuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlLm92ZXJsYXkuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgUHVzaFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW5pdGlhbCAqL1xuLnVpLnB1c2guc2lkZWJhciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICB6LWluZGV4OiAxMDI7XG59XG4vKiBTaWRlYmFyIC0gSW5pdGlhbCAqL1xuLnVpLmxlZnQucHVzaC5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG59XG4udWkucmlnaHQucHVzaC5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbn1cbi51aS50b3AucHVzaC5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG59XG4udWkuYm90dG9tLnB1c2guc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG59XG4vKiBFbmQgKi9cbi51aS52aXNpYmxlLnB1c2guc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBVbmNvdmVyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbml0aWFsICovXG4udWkudW5jb3Zlci5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgei1pbmRleDogMTtcbn1cbi8qIEVuZCAqL1xuLnVpLnZpc2libGUudW5jb3Zlci5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIFNsaWRlIEFsb25nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbml0aWFsICovXG4udWkuc2xpZGUuYWxvbmcuc2lkZWJhciB7XG4gIHotaW5kZXg6IDE7XG59XG4vKiBTaWRlYmFyIC0gSW5pdGlhbCAqL1xuLnVpLmxlZnQuc2xpZGUuYWxvbmcuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG59XG4udWkucmlnaHQuc2xpZGUuYWxvbmcuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbn1cbi51aS50b3Auc2xpZGUuYWxvbmcuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG59XG4udWkuYm90dG9tLnNsaWRlLmFsb25nLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUwJSwgMCk7XG59XG4vKiBBbmltYXRpb24gKi9cbi51aS5hbmltYXRpbmcuc2xpZGUuYWxvbmcuc2lkZWJhciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlO1xufVxuLyogRW5kICovXG4udWkudmlzaWJsZS5zbGlkZS5hbG9uZy5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgU2xpZGUgT3V0XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbml0aWFsICovXG4udWkuc2xpZGUub3V0LnNpZGViYXIge1xuICB6LWluZGV4OiAxO1xufVxuLyogU2lkZWJhciAtIEluaXRpYWwgKi9cbi51aS5sZWZ0LnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xufVxuLnVpLnJpZ2h0LnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbn1cbi51aS50b3Auc2xpZGUub3V0LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUwJSwgMCk7XG59XG4udWkuYm90dG9tLnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbn1cbi8qIEFuaW1hdGlvbiAqL1xuLnVpLmFuaW1hdGluZy5zbGlkZS5vdXQuc2lkZWJhciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlO1xufVxuLyogRW5kICovXG4udWkudmlzaWJsZS5zbGlkZS5vdXQuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIFNjYWxlIERvd25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEluaXRpYWwgKi9cbi51aS5zY2FsZS5kb3duLnNpZGViYXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgei1pbmRleDogMTAyO1xufVxuLnVpLmxlZnQuc2NhbGUuZG93bi5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG59XG4udWkucmlnaHQuc2NhbGUuZG93bi5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbn1cbi51aS50b3Auc2NhbGUuZG93bi5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG59XG4udWkuYm90dG9tLnNjYWxlLmRvd24uc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG59XG4vKiBQdXNoZXIgLSBJbml0aWFsICovXG4udWkuc2NhbGUuZG93bi5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNzUlIDUwJTtcbn1cbi51aS5zY2FsZS5kb3duLnJpZ2h0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMjUlIDUwJTtcbn1cbi51aS5zY2FsZS5kb3duLnRvcC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA3NSU7XG59XG4udWkuc2NhbGUuZG93bi5ib3R0b20uc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMjUlO1xufVxuLyogQW5pbWF0aW9uICovXG4udWkuYW5pbWF0aW5nLnNjYWxlLmRvd24gPiAudmlzaWJsZS51aS5zaWRlYmFyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG59XG4udWkudmlzaWJsZS5zY2FsZS5kb3duLnNpZGViYXIgfiAucHVzaGVyLFxuLnVpLmFuaW1hdGluZy5zY2FsZS5kb3duLnNpZGViYXIgfiAucHVzaGVyIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuLyogRW5kICovXG4udWkudmlzaWJsZS5zY2FsZS5kb3duLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuLnVpLnZpc2libGUuc2NhbGUuZG93bi5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIEZvbWFudGljLVVJIC0gU3RpY2t5XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RpY2t5XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RpY2t5XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLnN0aWNreSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHotaW5kZXg6IDgwMDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCb3VuZCAqL1xuLnVpLnN0aWNreS5ib3VuZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG59XG4vKiBGaXhlZCAqL1xuLnVpLnN0aWNreS5maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG59XG4vKiBCb3VuZC9GaXhlZCBQb3NpdGlvbiAqL1xuLnVpLnN0aWNreS5ib3VuZC50b3AsXG4udWkuc3RpY2t5LmZpeGVkLnRvcCB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiBhdXRvO1xufVxuLnVpLnN0aWNreS5ib3VuZC5ib3R0b20sXG4udWkuc3RpY2t5LmZpeGVkLmJvdHRvbSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLm5hdGl2ZS5zdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFRhYlxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgVGFiXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogTG9hZGluZyAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVXNlciBWYXJpYWJsZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2VudHJhbCBDb2xvciBNYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDZW50cmFsIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgYWxsIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBmb3JtIGNvbXBvbmVudHMgdG8gaXRlcmF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBjb2xvcnMubGVzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVUkgVGFic1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS50YWIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkudGFiLmFjdGl2ZSxcbi51aS50YWIub3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgTG9hZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnRhYi5sb2FkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogMjUwcHg7XG59XG4udWkudGFiLmxvYWRpbmcgKiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICBsZWZ0OiAtMTAwMDBweCAhaW1wb3J0YW50O1xufVxuLnVpLnRhYi5sb2FkaW5nOjpiZWZvcmUsXG4udWkudGFiLmxvYWRpbmcuc2VnbWVudDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0xLjI1ZW0gMCAwIC0xLjI1ZW07XG4gIHdpZHRoOiAyLjVlbTtcbiAgaGVpZ2h0OiAyLjVlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBib3JkZXI6IDAuMmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS50YWIubG9hZGluZzo6YWZ0ZXIsXG4udWkudGFiLmxvYWRpbmcuc2VnbWVudDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTEuMjVlbSAwIDAgLTEuMjVlbTtcbiAgd2lkdGg6IDIuNWVtO1xuICBoZWlnaHQ6IDIuNWVtO1xuICBhbmltYXRpb246IGxvYWRlciAwLjZzIGluZmluaXRlIGxpbmVhcjtcbiAgYm9yZGVyOiAwLjJlbSBzb2xpZCAjNzY3Njc2O1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUYWIgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVXNlciBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBUb2FzdFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgZWxlbWVudCB2YXJpYXRpb24gY29tcGlsYXRpb24gZW5hYmxlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogR2VuZXJhbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBCdXR0b24gKi9cbi8qIENvbnRhaW5lciAqL1xuLyogRGl2aWRlciAqL1xuLyogSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBGb250IEF3ZXNvbWUgUHJvIG9ubHkgKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogSW1hZ2UgKi9cbi8qIElucHV0ICovXG4vKiBMYWJlbCAqL1xuLyogTGlzdCAqL1xuLyogTG9hZGVyICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUmFpbCAqL1xuLyogUmV2ZWFsICovXG4vKiBTZWdtZW50ICovXG4vKiBTdGVwICovXG4vKiBUZXh0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb2xsZWN0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJyZWFkY3J1bWIgKi9cbi8qIEZvcm0gKi9cbi8qIEdyaWQgKi9cbi8qIE1lbnUgKi9cbi8qIE1lc3NhZ2UgKi9cbi8qIFRhYmxlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQWQgKi9cbi8qIENhcmQgKi9cbi8qIENvbW1lbnQgKi9cbi8qIEZlZWQgKi9cbi8qIEl0ZW0gKi9cbi8qIFN0YXRpc3RpYyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1vZHVsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY2NvcmRpb24gKi9cbi8qIENhbGVuZGFyICovXG4vKiBDaGVja2JveCAqL1xuLyogRGltbWVyICovXG4vKiBEcm9wZG93biAqL1xuLyogRW1iZWQgKi9cbi8qIEZseW91dCAqL1xuLyogTW9kYWwgKi9cbi8qIE5hZyAqL1xuLyogUG9wdXAgKi9cbi8qIFByb2dyZXNzICovXG4vKiBSYXRpbmcgKi9cbi8qIFNlYXJjaCAqL1xuLyogU2hhcGUgKi9cbi8qIFNpZGViYXIgKi9cbi8qIFNsaWRlciAqL1xuLyogVGFiICovXG4vKiBUb2FzdCAqL1xuLyogVHJhbnNpdGlvbiAqL1xuLyogRW1vamlzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBXaGVuZXZlciBhIGNvbG9yIG5lZWRzIHRvIGdldCBjYWxjdWxhdGVkIChzY3JlZW4oKS9tdWx0aXBseSgpKSBvdXQgb2YgYSBiYXNlIGNvbG9yICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogSUUgbmVlZHMgaGV4IHZhbHVlcyAqL1xuLyogU2Nyb2xsaW5nICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgIE5ldXRyYWxzICAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgSGVhZGVycyAtLS0gKi9cbi8qIC0tLSBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gTGlnaHQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIEhvdmVyZWQgQ29sb3JlZCBUZXh0IC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQm9yZGVyIC0tLSAqL1xuLyogLS0tIFNoYWRvd3MgLS0tICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQm94IFNoYWRvd3MgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBTaGFkb3dzICAtLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLSAgQ29sb3JzICAtLS0gKi9cbi8qIC0tLSAgRW1vdGl2ZSAgLS0tICovXG4vKiAtLS0gIEJyYW5kICAgLS0tICovXG4vKiAtLS0gIERhcmsgVG9uZXMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBUb25lcyAgLS0tICovXG4vKiAtLS0gIFRlcnRpYXJ5ICAtLS0gKi9cbi8qIC0tLSAgQnJpZ2h0ICAtLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU3RhdGVzIHNoYXJlZCBpbiBGb3JtLXJlbGF0ZWQgY29tcG9uZW50c1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb3JtIHN0YXRlICovXG4vKiBJbnB1dCBzdGF0ZSAqL1xuLyogQXV0b0ZpbGwgKi9cbi8qIERyb3Bkb3duIHN0YXRlICovXG4vKiBGb2N1c2VkIHN0YXRlICovXG4vKiBQbGFjZWhvbGRlciBzdGF0ZSAqL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgIFVzZXIgR2xvYmFsIFZhcmlhYmxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRvYXN0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQ29udGFpbmVyICovXG4vKiBUb2FzdCAqL1xuLyogTW9iaWxlICovXG4vKiBvbiBIb3ZlciAqL1xuLyogQ29sb3IgdmFyaWF0aW9ucyAqL1xuLyogSWNvbiAqL1xuLyogSW1hZ2UgKi9cbi8qIFByb2dyZXNzYmFyIENvbG9ycyAqL1xuLyogQ2xvc2UgSWNvbiAqL1xuLyogQWN0aW9ucyAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUb2FzdCBjb250YWluZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkudG9hc3QtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk5O1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci5hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi51aS50b2FzdC1jb250YWluZXIudWkuYXR0YWNoZWQge1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbn1cbi51aS50b2FzdC1jb250YWluZXIudWkuYXR0YWNoZWQgLnZlcnRpY2FsLmF0dGFjaGVkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi51aS50b2FzdC1jb250YWluZXIudWkuYXR0YWNoZWQudWkudWkgLmF0dGFjaGVkLmFjdGlvbnMgLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4udWkudG9hc3QtY29udGFpbmVyLnVpLmF0dGFjaGVkIC50b2FzdC1ib3gge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci51aS5hdHRhY2hlZCAudG9hc3QtYm94ID4gLnVpLnRvYXN0LFxuLnVpLnRvYXN0LWNvbnRhaW5lci51aS5hdHRhY2hlZCAudG9hc3QtYm94ID4gLnVpLm1lc3NhZ2Uge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi51aS50b2FzdC1jb250YWluZXIudWkuYXR0YWNoZWQgLnRvYXN0LWJveC5mbG9hdGluZyxcbi51aS50b2FzdC1jb250YWluZXIudWkuYXR0YWNoZWQgLnRvYXN0LWJveC5ob3ZlcmZsb2F0aW5nOmhvdmVyIHtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci51aS5hdHRhY2hlZCAudG9hc3QtYm94ID4gLnZlcnRpY2FsID4gLmNvbnRlbnQge1xuICBmbGV4OiAxO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci51aS5hdHRhY2hlZCAudG9hc3QtYm94ID4gKiB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci51aS5hdHRhY2hlZCAudG9hc3QtYm94ID4gKiA+IC52ZXJ0aWNhbDpub3QoLmFjdGlvbnMpIHtcbiAgZmxleDogMTtcbn1cbi51aS50b2FzdC1jb250YWluZXIudWkuYXR0YWNoZWQgLnRvYXN0LWJveCA+IC5hdHRhY2hlZC5hY3Rpb25zIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7XG59XG4udWkudG9hc3QtY29udGFpbmVyLnVpLmF0dGFjaGVkLnRvcCB7XG4gIHRvcDogMDtcbn1cbi51aS50b2FzdC1jb250YWluZXIudWkuYXR0YWNoZWQuYm90dG9tIHtcbiAgYm90dG9tOiAwO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci50b3AucmlnaHQge1xuICB0b3A6IDAuODU3MTQyODZlbTtcbiAgcmlnaHQ6IDAuODU3MTQyODZlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuODU3MTQyODZlbTtcbn1cbi51aS50b2FzdC1jb250YWluZXIudG9wLmxlZnQge1xuICB0b3A6IDAuODU3MTQyODZlbTtcbiAgbGVmdDogMC44NTcxNDI4NmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuODU3MTQyODZlbTtcbn1cbi51aS50b2FzdC1jb250YWluZXIudG9wLmNlbnRlciB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gIHRvcDogMC44NTcxNDI4NmVtO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci5ib3R0b20ucmlnaHQge1xuICBib3R0b206IDAuODU3MTQyODZlbTtcbiAgcmlnaHQ6IDAuODU3MTQyODZlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuODU3MTQyODZlbTtcbn1cbi51aS50b2FzdC1jb250YWluZXIuYm90dG9tLmxlZnQge1xuICBib3R0b206IDAuODU3MTQyODZlbTtcbiAgbGVmdDogMC44NTcxNDI4NmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuODU3MTQyODZlbTtcbn1cbi51aS50b2FzdC1jb250YWluZXIuYm90dG9tLmNlbnRlciB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gIGJvdHRvbTogMC44NTcxNDI4NmVtO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lci5jZW50ZXJlZCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudmlzaWJsZS50b2FzdC1ib3gsXG4udWkudG9hc3QtY29udGFpbmVyIC5hbmltYXRpbmcudG9hc3QtYm94LFxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IHtcbiAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbn1cbi51aS50b2FzdC1jb250YWluZXIuaG9yaXpvbnRhbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG4udWkudG9hc3QtY29udGFpbmVyLmhvcml6b250YWwgLnRvYXN0LWJveCB7XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3gge1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94OmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveDpub3QoLnVuY2xpY2thYmxlKTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveC5mbG9hdGluZyxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveC5ob3ZlcmZsb2F0aW5nOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMCAycHggMTBweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xMik7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3guaW52ZXJ0ZWQuZmxvYXRpbmcsXG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3guaW52ZXJ0ZWQuaG92ZXJmbG9hdGluZzpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMjI1LCAyMjUsIDIyNSwgMC4xKSwgMCAycHggMTBweCAwIHJnYmEoMjI1LCAyMjUsIDIyNSwgMC41KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMjUsIDIyNSwgMjI1LCAwLjUpO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94LmNvbXBhY3QsXG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuY29tcGFjdCB7XG4gIHdpZHRoOiAzNTBweDtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC51aS50b2FzdCxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC51aS5tZXNzYWdlIHtcbiAgbWFyZ2luOiAwIC0xcHggLTAuMDFlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLmF0dGFjaGVkLnByb2dyZXNzIHtcbiAgei1pbmRleDogMTtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5hdHRhY2hlZC5wcm9ncmVzcy5ib3R0b20ge1xuICBtYXJnaW46IC0wLjJlbSAtMXB4IC0wLjAxZW07XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuYXR0YWNoZWQucHJvZ3Jlc3MudG9wIHtcbiAgbWFyZ2luOiAtMC4wMWVtIC0xcHggLTAuMmVtO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLmF0dGFjaGVkLnByb2dyZXNzIC5iYXIge1xuICBtaW4td2lkdGg6IDA7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuYXR0YWNoZWQucHJvZ3Jlc3MuaW5mbyAuYmFyLmJhci5iYXIge1xuICBiYWNrZ3JvdW5kOiAjMTJhMWJmO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLmF0dGFjaGVkLnByb2dyZXNzLndhcm5pbmcgLmJhci5iYXIuYmFyIHtcbiAgYmFja2dyb3VuZDogI2NmOWIwZDtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5hdHRhY2hlZC5wcm9ncmVzcy5zdWNjZXNzIC5iYXIuYmFyLmJhciB7XG4gIGJhY2tncm91bmQ6ICMxNTc5MmQ7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuYXR0YWNoZWQucHJvZ3Jlc3MuZXJyb3IgLmJhci5iYXIuYmFyIHtcbiAgYmFja2dyb3VuZDogIzljMWExYTtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5hdHRhY2hlZC5wcm9ncmVzcy5uZXV0cmFsIC5iYXIuYmFyLmJhciB7XG4gIGJhY2tncm91bmQ6ICNkOWQ5ZDk7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAudWkubWVzc2FnZSA+IC5jbG9zZS5pY29uIHtcbiAgdG9wOiAwLjNlbTtcbiAgcmlnaHQ6IDAuM2VtO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLnVpLm1lc3NhZ2UgPiAuYWN0aW9uczpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogLTFlbTtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC51aS5tZXNzYWdlLmljb24ge1xuICBhbGlnbi1pdGVtczogaW5oZXJpdDtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC51aS5tZXNzYWdlLmljb24gPiA6bm90KC5pY29uKTpub3QoLmFjdGlvbnMpIHtcbiAgcGFkZGluZy1sZWZ0OiA1cmVtO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLnVpLm1lc3NhZ2UuaWNvbiA+IGkuaWNvbjpub3QoLmNsb3NlKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNHJlbTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC51aS5tZXNzYWdlLmljb246bm90KC52ZXJ0aWNhbCkuYWN0aW9ucyA+IGkuaWNvbjpub3QoLmNsb3NlKSB7XG4gIHRvcDogY2FsYyg1MCUgLSAxLjJlbSk7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC51aS5tZXNzYWdlLmljb246bm90KC52ZXJ0aWNhbCkuaWNvbi5pY29uLmljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAudWkudG9hc3QgPiAuY2xvc2UuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwLjc7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC51aS50b2FzdCA+IC5jbG9zZS5pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAudWkudG9hc3QudmVydGljYWwgPiAuY2xvc2UuaWNvbiB7XG4gIG1hcmdpbi10b3A6IC0wLjNlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4zZW07XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLnVpLnRvYXN0Om5vdCgudmVydGljYWwpID4gLmNsb3NlLmljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC4zZW07XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLnVpLnRvYXN0Om5vdCgudmVydGljYWwpID4gLmNsb3NlLmljb246bm90KC5sZWZ0KSB7XG4gIHJpZ2h0OiAwLjNlbTtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAudWkudG9hc3Q6bm90KC52ZXJ0aWNhbCkgPiAuY2xvc2UuaWNvbi5sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjNlbTtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAudWkuY2FyZCB7XG4gIG1hcmdpbjogMDtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAudWkuY2FyZC5hdHRhY2hlZDpub3QoLnZlcnRpY2FsKS5ib3R0b20ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAudWkuY2FyZC5hdHRhY2hlZDpub3QoLnZlcnRpY2FsKS5ib3R0b20uaG9yaXpvbnRhbCA+IC5pbWFnZSA+IGltZyB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLnVpLmNhcmQuYXR0YWNoZWQ6bm90KC52ZXJ0aWNhbCkuYm90dG9tLmhvcml6b250YWwgPiAuaW1hZ2U6bGFzdC1jaGlsZCA+IGltZyB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC51aS5jYXJkLmF0dGFjaGVkOm5vdCgudmVydGljYWwpLnRvcCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC51aS5jYXJkLmF0dGFjaGVkOm5vdCgudmVydGljYWwpLnRvcC5ob3Jpem9udGFsID4gLmltYWdlID4gaW1nIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAudWkuY2FyZC5hdHRhY2hlZDpub3QoLnZlcnRpY2FsKS50b3AuaG9yaXpvbnRhbCA+IC5pbWFnZTpsYXN0LWNoaWxkID4gaW1nIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLnVpLmNhcmQuaG9yaXpvbnRhbC5hY3Rpb25zID4gLmltYWdlID4gaW1nIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAudWkuY2FyZC5ob3Jpem9udGFsLmFjdGlvbnMgPiAuaW1hZ2U6bGFzdC1jaGlsZCA+IGltZyB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC5wcm9ncmVzc2luZyB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAucHJvZ3Jlc3NpbmcudXAge1xuICBhbmltYXRpb24tbmFtZTogcHJvZ3Jlc3NVcDtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAucHJvZ3Jlc3NpbmcuZG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBwcm9ncmVzc0Rvd247XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLnByb2dyZXNzaW5nLndhaXQge1xuICBhbmltYXRpb24tbmFtZTogcHJvZ3Jlc3NXYWl0O1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94OmhvdmVyIC5wYXVzYWJsZS5wcm9ncmVzc2luZyB7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLnVpLnRvYXN0Om5vdCgudmVydGljYWwpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggOm5vdCguY29tbWVudCk6bm90KC5jYXJkKSAuYWN0aW9ucyB7XG4gIG1hcmdpbjogMC41ZW0gLTFlbSAtMWVtIC0xZW07XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggOm5vdCguY29tbWVudCkgLmFjdGlvbnMge1xuICBwYWRkaW5nOiAwLjVlbSAwLjVlbSAwLjc1ZW0gMC41ZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IDpub3QoLmNvbW1lbnQpIC5hY3Rpb25zLmF0dGFjaGVkOm5vdCgudmVydGljYWwpIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggOm5vdCguY29tbWVudCkgLmFjdGlvbnM6bm90KC5iYXNpYyk6bm90KC5hdHRhY2hlZCkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IDpub3QoLmNvbW1lbnQpIC5hY3Rpb25zLmxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC52ZXJ0aWNhbC5hY3Rpb25zID4gLmJ1dHRvbixcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC52ZXJ0aWNhbCA+IC52ZXJ0aWNhbC52ZXJ0aWNhbCxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC52ZXJ0aWNhbC52ZXJ0aWNhbC52ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggOm5vdCguY29tbWVudCkgLnZlcnRpY2FsLmFjdGlvbnMge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IDpub3QoLmNvbW1lbnQpIC52ZXJ0aWNhbC5hY3Rpb25zID4gLmJ1dHRvbiB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IDpub3QoLmNvbW1lbnQpIC52ZXJ0aWNhbC5hY3Rpb25zLmF0dGFjaGVkID4gLmJ1dHRvbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggOm5vdCguY29tbWVudCkgLnZlcnRpY2FsLmFjdGlvbnM6bm90KC5hdHRhY2hlZCkge1xuICBib3JkZXItdG9wOiAwO1xuICBtYXJnaW4tdG9wOiAtMC43NWVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC43NWVtO1xuICBtYXJnaW4tbGVmdDogMWVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA6bm90KC5jb21tZW50KSAudmVydGljYWwuYWN0aW9uczpub3QoLmF0dGFjaGVkKTpub3QoLmJhc2ljKSB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IDpub3QoLmNvbW1lbnQpIC52ZXJ0aWNhbC5hY3Rpb25zOm5vdCguYXR0YWNoZWQpID4gLmJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4zZW07XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggOm5vdCguY29tbWVudCkgLnZlcnRpY2FsLmFjdGlvbnM6bm90KC5hdHRhY2hlZCkudG9wIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IDpub3QoLmNvbW1lbnQpIC52ZXJ0aWNhbC5hY3Rpb25zOm5vdCguYXR0YWNoZWQpLmJvdHRvbSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4udWkudmVydGljYWwuYXR0YWNoZWQ6bm90KC5sZWZ0KS5jYXJkID4gLmltYWdlID4gaW1nIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG4udWkudmVydGljYWwuYXR0YWNoZWQ6bm90KC5sZWZ0KS5jYXJkLmhvcml6b250YWwgPiAuaW1hZ2U6bGFzdC1jaGlsZCA+IGltZyB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aS52ZXJ0aWNhbC5hdHRhY2hlZDpub3QoLmxlZnQpLmNhcmQsXG4udWkudmVydGljYWwuYXR0YWNoZWQ6bm90KC5sZWZ0KS50b2FzdCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aS52ZXJ0aWNhbC5hdHRhY2hlZDpub3QoLmxlZnQpLmFjdGlvbnMge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkudmVydGljYWwuYXR0YWNoZWQ6bm90KC5sZWZ0KS5hY3Rpb25zIC5idXR0b246Zmlyc3QtY2hpbGQsXG4udWkudmVydGljYWwuYXR0YWNoZWQ6bm90KC5sZWZ0KS5hY3Rpb25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4udWkudmVydGljYWwuYXR0YWNoZWQ6bm90KC5sZWZ0KS5tZXNzYWdlIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkudmVydGljYWwuYXR0YWNoZWQubGVmdC5jYXJkID4gLmltYWdlID4gaW1nIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbn1cbi51aS52ZXJ0aWNhbC5hdHRhY2hlZC5sZWZ0LmNhcmQuaG9yaXpvbnRhbCA+IC5pbWFnZSA+IGltZyB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4udWkudmVydGljYWwuYXR0YWNoZWQubGVmdC5jYXJkLFxuLnVpLnZlcnRpY2FsLmF0dGFjaGVkLmxlZnQudG9hc3Qge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLnVpLnZlcnRpY2FsLmF0dGFjaGVkLmxlZnQuYWN0aW9ucyB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkudmVydGljYWwuYXR0YWNoZWQubGVmdC5hY3Rpb25zIC5idXR0b246Zmlyc3QtY2hpbGQsXG4udWkudmVydGljYWwuYXR0YWNoZWQubGVmdC5hY3Rpb25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aS52ZXJ0aWNhbC5hdHRhY2hlZC5sZWZ0Lm1lc3NhZ2UubWVzc2FnZS5tZXNzYWdlIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLmF0dGFjaGVkOm5vdCgudmVydGljYWwpOm5vdCgudG9wKS5hY3Rpb25zIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkuYXR0YWNoZWQ6bm90KC52ZXJ0aWNhbCk6bm90KC50b3ApLmFjdGlvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkuYXR0YWNoZWQ6bm90KC52ZXJ0aWNhbCk6bm90KC50b3ApLmFjdGlvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkuYXR0YWNoZWQ6bm90KC52ZXJ0aWNhbCkudG9wLmFjdGlvbnMge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS5hdHRhY2hlZDpub3QoLnZlcnRpY2FsKS50b3AuYWN0aW9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS5hdHRhY2hlZDpub3QoLnZlcnRpY2FsKS50b3AuYWN0aW9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUb2FzdFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS50b2FzdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIHBhZGRpbmc6IDAuNzg1NzE0MjllbSAxZW07XG4gIG1hcmdpbjogMCAtMXB4IC0wLjAxZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLnRvYXN0ID4gLmNvbnRlbnQgPiAuaGVhZGVyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG59XG4udWkudG9hc3QuaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMWNjZWM7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkudG9hc3Qud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmMwMzc7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkudG9hc3Quc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMWJhNDU7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkudG9hc3QuZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGIyODI4O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLnRvYXN0Lm5ldXRyYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS50b2FzdCA+IGkuaWNvbjpub3QoLmNsb3NlKSB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG59XG4udWkudG9hc3Q6bm90KC52ZXJ0aWNhbCk6bm90KC5jZW50ZXJlZCk6bm90KC5jZW50ZXIpID4gaS5pY29uOm5vdCguY2xvc2UpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnVpLnRvYXN0Om5vdCgudmVydGljYWwpOm5vdCguY2VudGVyZWQpOm5vdCguY2VudGVyKSA+IC51aS5pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi51aS50b2FzdDpub3QoLnZlcnRpY2FsKSA+IGkuaWNvbjpub3QoLmNsb3NlKSArIC5jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAzZW07XG59XG4udWkudG9hc3Q6bm90KC52ZXJ0aWNhbCkgPiAuY2xvc2UuaWNvbiArIC5jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcbn1cbi51aS50b2FzdDpub3QoLnZlcnRpY2FsKSA+IC51aS5pbWFnZS5hdmF0YXIgKyAuY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogM2VtO1xuICBtaW4taGVpZ2h0OiAyZW07XG59XG4udWkudG9hc3Q6bm90KC52ZXJ0aWNhbCkgPiAudWkuaW1hZ2UubWluaSArIC5jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAzLjRlbTtcbiAgbWluLWhlaWdodDogMzVweDtcbn1cbi51aS50b2FzdDpub3QoLnZlcnRpY2FsKSA+IC51aS5pbWFnZS50aW55ICsgLmNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDdlbTtcbiAgbWluLWhlaWdodDogODBweDtcbn1cbi51aS50b2FzdDpub3QoLnZlcnRpY2FsKSA+IC51aS5pbWFnZS5zbWFsbCArIC5jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAxMmVtO1xuICBtaW4taGVpZ2h0OiAxNTBweDtcbn1cbi51aS50b2FzdDpub3QoLnZlcnRpY2FsKTpub3QoLmNlbnRlcmVkKTpub3QoLmNlbnRlcikgPiAuY2VudGVyZWQuaW1hZ2UsXG4udWkudG9hc3Q6bm90KC52ZXJ0aWNhbCk6bm90KC5jZW50ZXJlZCk6bm90KC5jZW50ZXIpID4gLmNlbnRlcmVkLmljb24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRvcDogNTAlO1xufVxuLnVpLnRvYXN0Om5vdCgudmVydGljYWwpLmFjdGlvbnMgPiAuY2VudGVyZWQuaW1hZ2Uge1xuICB0b3A6IGNhbGMoNTAlIC0gMmVtKTtcbn1cbi51aS50b2FzdDpub3QoLnZlcnRpY2FsKS5hY3Rpb25zID4gLmNlbnRlcmVkLmljb24ge1xuICB0b3A6IGNhbGMoNTAlIC0gMS4yZW0pO1xufVxuLnVpLnRvYXN0LnZlcnRpY2FsID4gLmNvbnRlbnQge1xuICBmbGV4LWdyb3c6IDE7XG59XG4udWkudG9hc3QudmVydGljYWwuYXR0YWNoZWQge1xuICBmbGV4LWdyb3c6IDE7XG59XG4udWkudG9hc3QudmVydGljYWwgPiAuY2xvc2UuaWNvbiArIC5jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG59XG4udWkudG9hc3QudmVydGljYWwgPiAudWkuaW1hZ2UgKyAuY29udGVudCxcbi51aS50b2FzdC52ZXJ0aWNhbCA+IGkuaWNvbjpub3QoLmNsb3NlKSArIC5jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG59XG4udWkudG9hc3QudmVydGljYWwgPiAudWkuaW1hZ2Uge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICBmbGV4LXNocmluazogMDtcbiAgLyogSUUxMSBmaXggKi9cbn1cbi51aS50b2FzdC52ZXJ0aWNhbCA+IC5jZW50ZXJlZC5pbWFnZSxcbi51aS50b2FzdC52ZXJ0aWNhbCA+IC5jZW50ZXJlZC5pY29uIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLnVpLnRvYXN0LmF0dGFjaGVkLmJvdHRvbSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuLnVpLnRvYXN0LmF0dGFjaGVkLnRvcCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLnVpLnRvYXN0LnVpLnVpLnVpLmltYWdlIHtcbiAgcGFkZGluZzogMDtcbn1cbi51aS50b2FzdC51aS51aS51aS5pbWFnZSA+IC5jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDAuNzg1NzE0MjllbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNzg1NzE0MjllbTtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xufVxuLnVpLnRvYXN0LnVpLnVpLnVpLmltYWdlID4gLmFjdGlvbnMge1xuICBtYXJnaW46IDA7XG59XG4udWkudG9hc3QudWkudWkudWkuaW1hZ2UgPiAudWkuaW1hZ2Uge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLnRvYXN0LnVpLnVpLnVpLmltYWdlID4gLnVpLmltYWdlLm1pbmkge1xuICBtaW4td2lkdGg6IGNhbGMoMC43ODU3MTQyODU3MTQyODU3ZW0gKyAzNXB4KTtcbn1cbi51aS50b2FzdC51aS51aS51aS5pbWFnZSA+IC51aS5pbWFnZS5taW5pICsgLmNvbnRlbnQge1xuICBtaW4taGVpZ2h0OiBjYWxjKDAuNzg1NzE0Mjg1NzE0Mjg1N2VtICsgMzVweCk7XG4gIHBhZGRpbmctbGVmdDogNC40ZW07XG59XG4udWkuaG92ZXJmbG9hdGluZy5tZXNzYWdlOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IGluc2V0LCAwIDJweCA0cHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwIDJweCAxMHB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5jZW50ZXIudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3gsXG4udWkucmlnaHQudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3gge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbi51aS5jZW50ZXIudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3gge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4udWkudWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLmNlbnRlcmVkLnRvYXN0LFxuLnVpLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC5jZW50ZXIuYWxpZ25lZC50b2FzdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4udWkudWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLmNlbnRlcmVkLnRvYXN0ID4gLmNvbnRlbnQsXG4udWkudWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLmNlbnRlci5hbGlnbmVkLnRvYXN0ID4gLmNvbnRlbnQsXG4udWkudWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLmNlbnRlcmVkLnRvYXN0ID4gLnVpLmltYWdlLFxuLnVpLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC5jZW50ZXIuYWxpZ25lZC50b2FzdCA+IC51aS5pbWFnZSxcbi51aS51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAuY2VudGVyZWQudG9hc3QgPiBpLmljb246bm90KC5jbG9zZSksXG4udWkudWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLmNlbnRlci5hbGlnbmVkLnRvYXN0ID4gaS5pY29uOm5vdCguY2xvc2UpIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC50b2FzdCAuY2VudGVyZWQuY29udGVudCxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAudG9hc3QgLmNlbnRlci5hbGlnbmVkLmNvbnRlbnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLmNlbnRlcmVkLmFjdGlvbnMsXG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLmNlbnRlci5hbGlnbmVkLmFjdGlvbnMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLmNlbnRlcmVkLmFjdGlvbnM6bm90KC5hdHRhY2hlZCkgPiAuYnV0dG9uOm5vdCguZmx1aWQpLFxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC5jZW50ZXIuYWxpZ25lZC5hY3Rpb25zOm5vdCguYXR0YWNoZWQpID4gLmJ1dHRvbjpub3QoLmZsdWlkKSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1ZW07XG4gIG1hcmdpbi1yaWdodDogMC4yNWVtO1xufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLSAqL1xuLnVpLnByaW1hcnkudG9hc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkMzNjY3O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLnByaW1hcnkudG9hc3QsXG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuaW52ZXJ0ZWQucHJpbWFyeS5hdHRhY2hlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0YzhmZjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuc2Vjb25kYXJ5LnRvYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4ZDMxNztcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkudG9hc3QsXG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmF0dGFjaGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5yZWQudG9hc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGIyODI4O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLnJlZC50b2FzdCxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5pbnZlcnRlZC5yZWQuYXR0YWNoZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjY5NWU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLm9yYW5nZS50b2FzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjcxMWM7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLnRvYXN0LFxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLmludmVydGVkLm9yYW5nZS5hdHRhY2hlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmODUxYjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkueWVsbG93LnRvYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiYmQwODtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cudG9hc3QsXG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuaW52ZXJ0ZWQueWVsbG93LmF0dGFjaGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlMjFmO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5vbGl2ZS50b2FzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNWNjMTg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUudG9hc3QsXG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuaW52ZXJ0ZWQub2xpdmUuYXR0YWNoZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWU3Nzg7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmdyZWVuLnRvYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYmE0NTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi50b2FzdCxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5pbnZlcnRlZC5ncmVlbi5hdHRhY2hlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJlY2M0MDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkudGVhbC50b2FzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGI1YWQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC50b2FzdCxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5pbnZlcnRlZC50ZWFsLmF0dGFjaGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmRmZmZmO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5ibHVlLnRvYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVkMDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLnRvYXN0LFxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLmludmVydGVkLmJsdWUuYXR0YWNoZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NGM4ZmY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLnZpb2xldC50b2FzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDM1Yzk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0LnRvYXN0LFxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLmludmVydGVkLnZpb2xldC5hdHRhY2hlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EyOTFmYjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkucHVycGxlLnRvYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzMzNjODtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUudG9hc3QsXG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuaW52ZXJ0ZWQucHVycGxlLmF0dGFjaGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGM3M2ZmO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5waW5rLnRvYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMzk5NztcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5waW5rLnRvYXN0LFxuLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLmludmVydGVkLnBpbmsuYXR0YWNoZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjhlZGY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmJyb3duLnRvYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1NjczZjtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5icm93bi50b2FzdCxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5pbnZlcnRlZC5icm93bi5hdHRhY2hlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2N2MxYztcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuZ3JleS50b2FzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS50b2FzdCxcbi51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC5pbnZlcnRlZC5ncmV5LmF0dGFjaGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkZGRlO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5ibGFjay50b2FzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFjMWQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQuYmxhY2sudG9hc3QsXG4udWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuaW52ZXJ0ZWQuYmxhY2suYXR0YWNoZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmludmVydGVkLnRvYXN0IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWMxZDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94LnRvYXN0LWJveCxcbiAgLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94ID4gLmNvbXBhY3QsXG4gIC51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC52ZXJ0aWNhbCA+ICosXG4gIC51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+ICoge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAudWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAqOm5vdCgudmVydGljYWwpIHtcbiAgICBtaW4td2lkdGg6IDI4MHB4O1xuICB9XG4gIC51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC51aS5jYXJkLmhvcml6b250YWwsXG4gIC51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCA+IC52ZXJ0aWNhbCA+IC51aS5ob3Jpem9udGFsLmNhcmQge1xuICAgIG1pbi13aWR0aDogaW5pdGlhbDtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS0tXG4gICBQcm9ncmVzcyBCYXJcbiAtLS0tLS0tLS0tLS0tLS0tICovXG5Aa2V5ZnJhbWVzIHByb2dyZXNzRG93biB7XG4gIDAlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBwcm9ncmVzc1VwIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHByb2dyZXNzV2FpdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgRm9tYW50aWMtVUkgLSBUcmFuc2l0aW9uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBlbGVtZW50IHZhcmlhdGlvbiBjb21waWxhdGlvbiBlbmFibGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBHZW5lcmFsICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBFbGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEJ1dHRvbiAqL1xuLyogQ29udGFpbmVyICovXG4vKiBEaXZpZGVyICovXG4vKiBIZWFkZXIgKi9cbi8qIEljb24gKi9cbi8qIEZvbnQgQXdlc29tZSBQcm8gb25seSAqL1xuLyogRm9udCBBd2Vzb21lIFBybyBvbmx5ICovXG4vKiBJbWFnZSAqL1xuLyogSW5wdXQgKi9cbi8qIExhYmVsICovXG4vKiBMaXN0ICovXG4vKiBMb2FkZXIgKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBSYWlsICovXG4vKiBSZXZlYWwgKi9cbi8qIFNlZ21lbnQgKi9cbi8qIFN0ZXAgKi9cbi8qIFRleHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvbGxlY3Rpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQnJlYWRjcnVtYiAqL1xuLyogRm9ybSAqL1xuLyogR3JpZCAqL1xuLyogTWVudSAqL1xuLyogTWVzc2FnZSAqL1xuLyogVGFibGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVmlld3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBZCAqL1xuLyogQ2FyZCAqL1xuLyogQ29tbWVudCAqL1xuLyogRmVlZCAqL1xuLyogSXRlbSAqL1xuLyogU3RhdGlzdGljICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTW9kdWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFjY29yZGlvbiAqL1xuLyogQ2FsZW5kYXIgKi9cbi8qIENoZWNrYm94ICovXG4vKiBEaW1tZXIgKi9cbi8qIERyb3Bkb3duICovXG4vKiBFbWJlZCAqL1xuLyogRmx5b3V0ICovXG4vKiBNb2RhbCAqL1xuLyogTmFnICovXG4vKiBQb3B1cCAqL1xuLyogUHJvZ3Jlc3MgKi9cbi8qIFJhdGluZyAqL1xuLyogU2VhcmNoICovXG4vKiBTaGFwZSAqL1xuLyogU2lkZWJhciAqL1xuLyogU2xpZGVyICovXG4vKiBUYWIgKi9cbi8qIFRvYXN0ICovXG4vKiBUcmFuc2l0aW9uICovXG4vKiBFbW9qaXMgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFdoZW5ldmVyIGEgY29sb3IgbmVlZHMgdG8gZ2V0IGNhbGN1bGF0ZWQgKHNjcmVlbigpL211bHRpcGx5KCkpIG91dCBvZiBhIGJhc2UgY29sb3IgKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBJRSBuZWVkcyBoZXggdmFsdWVzICovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBMaWdodCBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICAgTmV1dHJhbHMgIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSAqL1xuLyogLS0tIENvbG9yZWQgVGV4dCAtLS0gKi9cbi8qIC0tLSBMaWdodCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gSG92ZXJlZCBDb2xvcmVkIFRleHQgLS0tICovXG4vKiAtLS0gQ29sb3JlZCBCb3JkZXIgLS0tICovXG4vKiAtLS0gU2hhZG93cyAtLS0gKi9cbi8qIEludmVydGVkICovXG4vKiBCb3ggU2hhZG93cyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIFNoYWRvd3MgIC0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0gIENvbG9ycyAgLS0tICovXG4vKiAtLS0gIEVtb3RpdmUgIC0tLSAqL1xuLyogLS0tICBCcmFuZCAgIC0tLSAqL1xuLyogLS0tICBEYXJrIFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgTGlnaHQgVG9uZXMgIC0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tICBDb2xvcnMgIC0tLSAqL1xuLyogLS0tICBFbW90aXZlICAtLS0gKi9cbi8qIC0tLSAgQnJhbmQgICAtLS0gKi9cbi8qIC0tLSAgRGFyayBUb25lcyAgLS0tICovXG4vKiAtLS0gIExpZ2h0IFRvbmVzICAtLS0gKi9cbi8qIC0tLSAgVGVydGlhcnkgIC0tLSAqL1xuLyogLS0tICBCcmlnaHQgIC0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBTdGF0ZXMgc2hhcmVkIGluIEZvcm0tcmVsYXRlZCBjb21wb25lbnRzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZvcm0gc3RhdGUgKi9cbi8qIElucHV0IHN0YXRlICovXG4vKiBBdXRvRmlsbCAqL1xuLyogRHJvcGRvd24gc3RhdGUgKi9cbi8qIEZvY3VzZWQgc3RhdGUgKi9cbi8qIFBsYWNlaG9sZGVyIHN0YXRlICovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgVXNlciBHbG9iYWwgVmFyaWFibGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFRyYW5zaXRpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBVc2VyIFZhcmlhYmxlIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDZW50cmFsIENvbG9yIE1hcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENlbnRyYWwgQ29sb3IgTWFwcGluZyBCYXNlIGZvciBhbGwgY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGZvcm0gY29tcG9uZW50cyB0byBpdGVyYXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgQ2VudHJhbCBDb2xvciBNYXBwaW5nIEJhc2UgZm9yIGFsbCBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIENvbG9yIE1hcHBpbmcgQmFzZSBmb3IgZm9ybSBjb21wb25lbnRzIHRvIGl0ZXJhdGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFRyYW5zaXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnRyYW5zaXRpb24ge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFuaW1hdGluZyAqL1xuLmFuaW1hdGluZy50cmFuc2l0aW9uIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG4vKiBMb2FkaW5nICovXG4ubG9hZGluZy50cmFuc2l0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5OXB4O1xuICBsZWZ0OiAtOTk5OTlweDtcbn1cbi8qIEhpZGRlbiAqL1xuLmhpZGRlbi50cmFuc2l0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogVmlzaWJsZSAqL1xuLnZpc2libGUudHJhbnNpdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLyogYmFja2ZhY2UtdmlzaWJpbGl0eTogQGJhY2tmYWNlVmlzaWJpbGl0eTtcbiAgICAgIHRyYW5zZm9ybTogQHVzZTNEQWNjZWxlcmF0aW9uOyAqL1xufVxuLyogRGlzYWJsZWQgKi9cbi5kaXNhYmxlZC50cmFuc2l0aW9uIHtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5sb29waW5nLnRyYW5zaXRpb24ge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbn1cbi8qIFB1bHNhdGluZyAqL1xuLnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNhdGluZztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyMDAwbXM7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjUpO1xufVxuLmludmVydGVkLnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5Aa2V5ZnJhbWVzIHB1bHNhdGluZyB7XG4gIDEwMCUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuOHJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICB9XG59XG4ucHJpbWFyeS5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgxMDgsIDU0LCAxMDMsIDAuNSk7XG59XG4ucHJpbWFyeS5pbnZlcnRlZC5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg4NCwgMjAwLCAyNTUsIDAuNyk7XG59XG4uc2Vjb25kYXJ5LnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDEzNiwgMjExLCAyMywgMC41KTtcbn1cbi5zZWNvbmRhcnkuaW52ZXJ0ZWQucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoODQsIDg0LCA4NCwgMC43KTtcbn1cbi5yZWQucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjE5LCA0MCwgNDAsIDAuNSk7XG59XG4ucmVkLmludmVydGVkLnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMTA1LCA5NCwgMC43KTtcbn1cbi5vcmFuZ2UucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjQyLCAxMTMsIDI4LCAwLjUpO1xufVxuLm9yYW5nZS5pbnZlcnRlZC5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNTUsIDEzMywgMjcsIDAuNyk7XG59XG4ueWVsbG93LnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1MSwgMTg5LCA4LCAwLjUpO1xufVxuLnllbGxvdy5pbnZlcnRlZC5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNTUsIDIyNiwgMzEsIDAuNyk7XG59XG4ub2xpdmUucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMTgxLCAyMDQsIDI0LCAwLjUpO1xufVxuLm9saXZlLmludmVydGVkLnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDIxNywgMjMxLCAxMjAsIDAuNyk7XG59XG4uZ3JlZW4ucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzMsIDE4NiwgNjksIDAuNSk7XG59XG4uZ3JlZW4uaW52ZXJ0ZWQucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoNDYsIDIwNCwgNjQsIDAuNyk7XG59XG4udGVhbC5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgwLCAxODEsIDE3MywgMC41KTtcbn1cbi50ZWFsLmludmVydGVkLnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDEwOSwgMjU1LCAyNTUsIDAuNyk7XG59XG4uYmx1ZS5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzMywgMTMzLCAyMDgsIDAuNSk7XG59XG4uYmx1ZS5pbnZlcnRlZC5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg4NCwgMjAwLCAyNTUsIDAuNyk7XG59XG4udmlvbGV0LnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDEwMCwgNTMsIDIwMSwgMC41KTtcbn1cbi52aW9sZXQuaW52ZXJ0ZWQucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMTYyLCAxNDUsIDI1MSwgMC43KTtcbn1cbi5wdXJwbGUucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMTYzLCA1MSwgMjAwLCAwLjUpO1xufVxuLnB1cnBsZS5pbnZlcnRlZC5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyMjAsIDExNSwgMjU1LCAwLjcpO1xufVxuLnBpbmsucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjI0LCA1NywgMTUxLCAwLjUpO1xufVxuLnBpbmsuaW52ZXJ0ZWQucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LCAxNDIsIDIyMywgMC43KTtcbn1cbi5icm93bi5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgxNjUsIDEwMywgNjMsIDAuNSk7XG59XG4uYnJvd24uaW52ZXJ0ZWQucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjE0LCAxMjQsIDI4LCAwLjcpO1xufVxuLmdyZXkucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMTE4LCAxMTgsIDExOCwgMC41KTtcbn1cbi5ncmV5LmludmVydGVkLnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDIyMCwgMjIxLCAyMjIsIDAuNyk7XG59XG4uYmxhY2sucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjcsIDI4LCAyOSwgMC41KTtcbn1cbi5ibGFjay5pbnZlcnRlZC5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg4NCwgODQsIDg0LCAwLjcpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBUcmFuc2l0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG4gIFNvbWUgdHJhbnNpdGlvbnMgYWRhcHRlZCBmcm9tIEFuaW1hdGUgQ1NTXG4gIGh0dHBzOi8vZ2l0aHViLmNvbS9kYW5lZGVuL2FuaW1hdGUuY3NzXG5cbiAgQWRkaXRpb25hbCB0cmFuc2l0aW9ucyBhZGFwdGVkIGZyb20gR2xpZGVcbiAgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBCcm93c2VcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi50cmFuc2l0aW9uLmJyb3dzZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XG59XG4udHJhbnNpdGlvbi5icm93c2UuaW4ge1xuICBhbmltYXRpb24tbmFtZTogYnJvd3NlSW47XG59XG4udHJhbnNpdGlvbi5icm93c2Uub3V0LFxuLnRyYW5zaXRpb24uYnJvd3NlLmxlZnQub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJyb3dzZU91dExlZnQ7XG59XG4udHJhbnNpdGlvbi5icm93c2UucmlnaHQub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJyb3dzZU91dFJpZ2h0O1xufVxuLyogSW4gKi9cbkBrZXlmcmFtZXMgYnJvd3NlSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVooMCk7XG4gICAgei1pbmRleDogLTE7XG4gIH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWigwKTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpIHRyYW5zbGF0ZVooMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiA5OTk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVaKDApO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgfVxufVxuLyogT3V0ICovXG5Aa2V5ZnJhbWVzIGJyb3dzZU91dExlZnQge1xuICAwJSB7XG4gICAgei1pbmRleDogOTk5O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSByb3RhdGVZKDApIHJvdGF0ZVgoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwNSUpIHJvdGF0ZVkoMzVkZWcpIHJvdGF0ZVgoMTBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xuICB9XG4gIDgwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgcm90YXRlWSgwKSByb3RhdGVYKDApIHRyYW5zbGF0ZVooLTEwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYnJvd3NlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgei1pbmRleDogOTk5O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSByb3RhdGVZKDApIHJvdGF0ZVgoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDUlKSByb3RhdGVZKDM1ZGVnKSByb3RhdGVYKDEwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcbiAgfVxuICA4MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgcm90YXRlWSgwKSByb3RhdGVYKDApIHRyYW5zbGF0ZVooLTEwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBEcm9wXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4uZHJvcC50cmFuc2l0aW9uIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA0MDBtcztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzQsIDEuNjEsIDAuNywgMSk7XG59XG4uZHJvcC50cmFuc2l0aW9uLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGRyb3BJbjtcbn1cbi5kcm9wLnRyYW5zaXRpb24ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGRyb3BPdXQ7XG59XG4vKiBEcm9wICovXG5Aa2V5ZnJhbWVzIGRyb3BJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGRyb3BPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBGYWRlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4udHJhbnNpdGlvbi5mYWRlLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgdXBcIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGRvd25cIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgbGVmdFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSByaWdodFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cbi50cmFuc2l0aW9uLmZhZGUub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIHVwXCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGRvd25cIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSBsZWZ0XCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgcmlnaHRcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbn1cbi8qIEluICovXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuLyogT3V0ICovXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1JSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1JSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSk7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBGbGlwc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLmZsaXAudHJhbnNpdGlvbi5pbixcbi5mbGlwLnRyYW5zaXRpb24ub3V0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA2MDBtcztcbn1cbi5ob3Jpem9udGFsLmZsaXAudHJhbnNpdGlvbi5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBob3Jpem9udGFsRmxpcEluO1xufVxuLmhvcml6b250YWwuZmxpcC50cmFuc2l0aW9uLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBob3Jpem9udGFsRmxpcE91dDtcbn1cbi52ZXJ0aWNhbC5mbGlwLnRyYW5zaXRpb24uaW4ge1xuICBhbmltYXRpb24tbmFtZTogdmVydGljYWxGbGlwSW47XG59XG4udmVydGljYWwuZmxpcC50cmFuc2l0aW9uLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB2ZXJ0aWNhbEZsaXBPdXQ7XG59XG4vKiBJbiAqL1xuQGtleWZyYW1lcyBob3Jpem9udGFsRmxpcEluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHZlcnRpY2FsRmxpcEluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4vKiBPdXQgKi9cbkBrZXlmcmFtZXMgaG9yaXpvbnRhbEZsaXBPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyB2ZXJ0aWNhbEZsaXBPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgU2NhbGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi5zY2FsZS50cmFuc2l0aW9uLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNjYWxlSW47XG59XG4uc2NhbGUudHJhbnNpdGlvbi5vdXQge1xuICBhbmltYXRpb24tbmFtZTogc2NhbGVPdXQ7XG59XG5Aa2V5ZnJhbWVzIHNjYWxlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG4vKiBPdXQgKi9cbkBrZXlmcmFtZXMgc2NhbGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEZseVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW53YXJkICovXG4udHJhbnNpdGlvbi5mbHkge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbn1cbi50cmFuc2l0aW9uLmZseS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlJbjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZseSB1cFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlJblVwO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IGRvd25cIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmx5SW5Eb3duO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IGxlZnRcIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmx5SW5MZWZ0O1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHJpZ2h0XCJdLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseUluUmlnaHQ7XG59XG4vKiBPdXR3YXJkICovXG4udHJhbnNpdGlvbi5mbHkub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseU91dDtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZseSB1cFwiXS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmx5T3V0VXA7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgZG93blwiXS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmx5T3V0RG93bjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZseSBsZWZ0XCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlPdXRMZWZ0O1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHJpZ2h0XCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlPdXRSaWdodDtcbn1cbi8qIEluICovXG5Aa2V5ZnJhbWVzIGZseUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmx5SW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTUwMHB4LCAwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZseUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1MDBweCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmx5SW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNTAwcHgsIDAsIDApO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbHlJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUwMHB4LCAwLCAwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLyogT3V0ICovXG5Aa2V5ZnJhbWVzIGZseU91dCB7XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICB9XG4gIDUwJSxcbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbHlPdXRVcCB7XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbHlPdXREb3duIHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbHlPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbHlPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU2xpZGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi50cmFuc2l0aW9uLnNsaWRlLmluLFxuLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgZG93blwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIHVwXCJdLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5ZO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgbGVmdFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgcmlnaHRcIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xufVxuLnRyYW5zaXRpb24uc2xpZGUub3V0LFxuLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgZG93blwiXS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRZO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgdXBcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0WTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIGxlZnRcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0WDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgcmlnaHRcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0WDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG59XG4vKiBJbiAqL1xuQGtleWZyYW1lcyBzbGlkZUluWSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVJblgge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICB9XG59XG4vKiBPdXQgKi9cbkBrZXlmcmFtZXMgc2xpZGVPdXRZIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZU91dFgge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU3dpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi50cmFuc2l0aW9uLnN3aW5nIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA4MDBtcztcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIGRvd25cIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmdJblg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyB1cFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIGxlZnRcIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmdJblk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIHJpZ2h0XCJdLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nSW5ZO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbn1cbi50cmFuc2l0aW9uLnN3aW5nLm91dCxcbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIGRvd25cIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIHVwXCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyBsZWZ0XCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIHJpZ2h0XCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xufVxuLyogSW4gKi9cbkBrZXlmcmFtZXMgc3dpbmdJblgge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgxNWRlZyk7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtNy41ZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzd2luZ0luWSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgzMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC0xNy41ZGVnKTtcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDcuNWRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMCk7XG4gIH1cbn1cbi8qIE91dCAqL1xuQGtleWZyYW1lcyBzd2luZ091dFgge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMCk7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtNy41ZGVnKTtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDE3LjVkZWcpO1xuICB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3aW5nT3V0WSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgwKTtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDcuNWRlZyk7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtMTBkZWcpO1xuICB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIFpvb21cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbi50cmFuc2l0aW9uLnpvb20uaW4ge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuLnRyYW5zaXRpb24uem9vbS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dDtcbn1cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgIFN0YXRpYyBBbmltYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBFbXBoYXNpc1xuLS0tLS0tLS0tLS0tLS0tICovXG4uZmxhc2gudHJhbnNpdGlvbiB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbn1cbi5zaGFrZS50cmFuc2l0aW9uIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xufVxuLmJvdW5jZS50cmFuc2l0aW9uIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbn1cbi50YWRhLnRyYW5zaXRpb24ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xuICBhbmltYXRpb24tbmFtZTogdGFkYTtcbn1cbi5wdWxzZS50cmFuc2l0aW9uIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xufVxuLmppZ2dsZS50cmFuc2l0aW9uIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgYW5pbWF0aW9uLW5hbWU6IGppZ2dsZTtcbn1cbi50cmFuc2l0aW9uLmdsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDIwMDBtcztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xufVxuLnRyYW5zaXRpb24uZ2xvdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBnbG93O1xufVxuLyogRmxhc2ggKi9cbkBrZXlmcmFtZXMgZmxhc2gge1xuICAwJSxcbiAgNTAlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDI1JSxcbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4vKiBTaGFrZSAqL1xuQGtleWZyYW1lcyBzaGFrZSB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cbn1cbi8qIEJvdW5jZSAqL1xuQGtleWZyYW1lcyBib3VuY2Uge1xuICAwJSxcbiAgMjAlLFxuICA1MCUsXG4gIDgwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XG4gIH1cbn1cbi8qIFRhZGEgKi9cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDEwJSxcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcbiAgfVxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gIH1cbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7XG4gIH1cbn1cbi8qIFB1bHNlICovXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4vKiBKaWdnbGUgKi9cbkBrZXlmcmFtZXMgamlnZ2xlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuICA2NSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbi8qIEdsb3cgKi9cbkBrZXlmcmFtZXMgZ2xvdyB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZkO1xuICB9XG4gIDMwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjZjZDtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZkO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBSZXNldFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiZ2xvYmFsXCI7XG5AZWxlbWVudDogXCJyZXNldFwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBSZXNldFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogQm9yZGVyLUJveCAqL1xuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogaVBhZCBJbnB1dCBTaGFkb3dzICovXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IC8qIG1vYmlsZSBmaXJlZm94IHRvbyEgKi9cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvNTE5XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLWR1cGxpY2F0ZS1uYW1lc1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzUxOVxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1kdXBsaWNhdGUtbmFtZXNcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICAgIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyAvKiAxICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQHRoZW1lOiBpZihAQGVsZW1lbnQgPSBcImRlZmF1bHRcIiwgXCJcIiwgQEBlbGVtZW50KTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuQGltcG9ydCBcIkB7dGhlbWVzRm9sZGVyfS9kZWZhdWx0L2dsb2JhbHMvc2l0ZS52YXJpYWJsZXNcIjtcblxuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbkBpbXBvcnQgKG9wdGlvbmFsKSBcIkB7dGhlbWVzRm9sZGVyfS9Ae3NpdGV9L2dsb2JhbHMvc2l0ZS52YXJpYWJsZXNcIjtcblxuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbkBpbXBvcnQgKG9wdGlvbmFsKSBcIkB7dGhlbWVzRm9sZGVyfS9Ae3RoZW1lfS9nbG9iYWxzL3NpdGUudmFyaWFibGVzXCI7XG5cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbkBpbXBvcnQgKG9wdGlvbmFsKSBcIkB7c2l0ZUZvbGRlcn0vZ2xvYmFscy9zaXRlLnZhcmlhYmxlc1wiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIERlZmF1bHQgKi9cbkBpbXBvcnQgXCJAe3RoZW1lc0ZvbGRlcn0vZGVmYXVsdC9Ae3R5cGV9cy9Ae2VsZW1lbnR9LnZhcmlhYmxlc1wiO1xuXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuQGltcG9ydCAob3B0aW9uYWwpIFwiQHt0aGVtZXNGb2xkZXJ9L0B7dGhlbWV9L0B7dHlwZX1zL0B7ZWxlbWVudH0udmFyaWFibGVzXCI7XG5cbi8qIFNpdGUgVGhlbWUgKi9cbkBpbXBvcnQgKG9wdGlvbmFsKSBcIkB7c2l0ZUZvbGRlcn0vQHt0eXBlfXMvQHtlbGVtZW50fS52YXJpYWJsZXNcIjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENlbnRyYWwgQ29sb3IgTWFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIERlZmF1bHQgKi9cbkBpbXBvcnQgXCJAe3RoZW1lc0ZvbGRlcn0vZGVmYXVsdC9nbG9iYWxzL2NvbG9ycy5sZXNzXCI7XG5cbi8qIFBhY2thZ2VkIGNvbG9ycy5sZXNzICovXG5AaW1wb3J0IChvcHRpb25hbCkgXCJAe3RoZW1lc0ZvbGRlcn0vQHtzaXRlfS9nbG9iYWxzL2NvbG9ycy5sZXNzXCI7XG5cbi8qIFBhY2thZ2VkIFRoZW1lICovXG5AaW1wb3J0IChvcHRpb25hbCkgXCJAe3RoZW1lc0ZvbGRlcn0vQHt0aGVtZX0vZ2xvYmFscy9jb2xvcnMubGVzc1wiO1xuXG4vKiBTaXRlIFRoZW1lICovXG5AaW1wb3J0IChvcHRpb25hbCkgXCJAe3NpdGVGb2xkZXJ9L2dsb2JhbHMvY29sb3JzLmxlc3NcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubG9hZEZvbnRzKCkge1xuICAgICYgd2hlbiAoQGltcG9ydEdvb2dsZUZvbnRzKSB7XG4gICAgICAgIEBpbXBvcnQgKGNzcykgdXJsKFwiQHtnb29nbGVGb250VXJsfVwiKTtcbiAgICB9XG4gICAgJiB3aGVuIChAaW1wb3J0Rm9udHMpIGFuZCBub3QgKEBmb250TmFtZSA9IFwiXCIpIHtcbiAgICAgICAgZWFjaChAZm9udHMsIHtcbiAgICAgICAgICAgIEBmb250LWZhY2Uge1xuICAgICAgICAgICAgICAgIGVhY2goQHZhbHVlLCB7XG4gICAgICAgICAgICAgICAgICAgIEB7a2V5fTogQHZhbHVlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gS2VlcCBlbXB0eSBtaXhpbiBpbiBjYXNlIG9mIGN1c3RvbSBjb21wb25lbnRzIHVzaW5nIGl0IHNvIHRoZXkgZG9udCBicmVha1xuLmxvYWRVSU92ZXJyaWRlcygpIHtcbiAgICAvKiBsb2FkVUlPdmVycmlkZXMgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIDIuMTAuMFxuICAgICAgIFJlcGxhY2UgbWl4aW4gY2FsbCBieVxuICAgICAgICAgIEBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuICAgICAgIGluc3RlYWRcbiAgICAqL1xufVxuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gU2l0ZVxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiZ2xvYmFsXCI7XG5AZWxlbWVudDogXCJzaXRlXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFBhZ2VcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5sb2FkRm9udHMoKTtcblxuaHRtbCxcbmJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuaHRtbCB7XG4gICAgZm9udC1zaXplOiBAZW1TaXplO1xufVxuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdy14OiBAcGFnZU92ZXJmbG93WDtcbiAgICBtaW4td2lkdGg6IEBwYWdlTWluV2lkdGg7XG4gICAgYmFja2dyb3VuZDogQHBhZ2VCYWNrZ3JvdW5kO1xuICAgIGZvbnQtZmFtaWx5OiBAcGFnZUZvbnQ7XG4gICAgZm9udC1zaXplOiBAZm9udFNpemU7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lSGVpZ2h0O1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEhlYWRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUge1xuICAgIGZvbnQtZmFtaWx5OiBAaGVhZGVyRm9udDtcbiAgICBsaW5lLWhlaWdodDogQGhlYWRlckxpbmVIZWlnaHQ7XG4gICAgbWFyZ2luOiBAaGVhZGVyTWFyZ2luO1xuICAgIGZvbnQtd2VpZ2h0OiBAaGVhZGVyRm9udFdlaWdodDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5oMSB7XG4gICAgbWluLWhlaWdodDogMXJlbTtcbiAgICBmb250LXNpemU6IEBoMTtcbn1cbmgyIHtcbiAgICBmb250LXNpemU6IEBoMjtcbn1cbmgzIHtcbiAgICBmb250LXNpemU6IEBoMztcbn1cbmg0IHtcbiAgICBmb250LXNpemU6IEBoNDtcbn1cbmg1IHtcbiAgICBmb250LXNpemU6IEBoNTtcbn1cblxuaDE6Zmlyc3QtY2hpbGQsXG5oMjpmaXJzdC1jaGlsZCxcbmgzOmZpcnN0LWNoaWxkLFxuaDQ6Zmlyc3QtY2hpbGQsXG5oNTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuaDE6bGFzdC1jaGlsZCxcbmgyOmxhc3QtY2hpbGQsXG5oMzpsYXN0LWNoaWxkLFxuaDQ6bGFzdC1jaGlsZCxcbmg1Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVGV4dFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxucCB7XG4gICAgbWFyZ2luOiBAcGFyYWdyYXBoTWFyZ2luO1xuICAgIGxpbmUtaGVpZ2h0OiBAcGFyYWdyYXBoTGluZUhlaWdodDtcbn1cbnA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5wOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmEge1xuICAgIGNvbG9yOiBAbGlua0NvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogQGxpbmtVbmRlcmxpbmU7XG59XG5hOmhvdmVyIHtcbiAgICBjb2xvcjogQGxpbmtIb3ZlckNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogQGxpbmtIb3ZlclVuZGVybGluZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNjcm9sbGJhcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHVzZUN1c3RvbVNjcm9sbGJhcnMpIHtcbiAgICAvKiBGb3JjZSBTaW1wbGUgU2Nyb2xsYmFycyAqL1xuICAgIGJvZHkgOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgd2lkdGg6IEBjdXN0b21TY3JvbGxiYXJXaWR0aDtcbiAgICAgICAgaGVpZ2h0OiBAY3VzdG9tU2Nyb2xsYmFySGVpZ2h0O1xuICAgIH1cbiAgICBib2R5IDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdHJhY2tCYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAdHJhY2tCb3JkZXJSYWRpdXM7XG4gICAgfVxuICAgIGJvZHkgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQHRodW1iQm9yZGVyUmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdGh1bWJCYWNrZ3JvdW5kO1xuICAgICAgICB0cmFuc2l0aW9uOiBAdGh1bWJUcmFuc2l0aW9uO1xuICAgIH1cbiAgICBib2R5IDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6d2luZG93LWluYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHRodW1iSW5hY3RpdmVCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICBib2R5IDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdGh1bWJIb3ZlckJhY2tncm91bmQ7XG4gICAgfVxuICAgICYgd2hlbiAoQHN1cHBvcnRJRSkge1xuICAgICAgICBib2R5IC51aSB7XG4gICAgICAgICAgICAvKiBJRTExICovXG4gICAgICAgICAgICBzY3JvbGxiYXItZmFjZS1jb2xvcjogQHRodW1iQmFja2dyb3VuZEhleDtcbiAgICAgICAgICAgIHNjcm9sbGJhci1zaGFkb3ctY29sb3I6IEB0aHVtYkJhY2tncm91bmRIZXg7XG4gICAgICAgICAgICBzY3JvbGxiYXItdHJhY2stY29sb3I6IEB0cmFja0JhY2tncm91bmRIZXg7XG4gICAgICAgICAgICBzY3JvbGxiYXItYXJyb3ctY29sb3I6IEB0cmFja0JhY2tncm91bmRIZXg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6IG5vbmUpIHtcbiAgICAgICAgYm9keSAudWkge1xuICAgICAgICAgICAgLyogZmlyZWZveDogZmlyc3QgY29sb3IgdGh1bWIsIHNlY29uZCB0cmFjayAqL1xuICAgICAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiBAdGh1bWJCYWNrZ3JvdW5kIEB0cmFja0JhY2tncm91bmQ7XG4gICAgICAgICAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBJbnZlcnRlZCBVSSAqL1xuICAgIGJvZHkgLnVpLmludmVydGVkOm5vdCguZGltbWVyKTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdHJhY2tJbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgfVxuICAgIGJvZHkgLnVpLmludmVydGVkOm5vdCguZGltbWVyKTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdGh1bWJJbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgfVxuICAgIGJvZHkgLnVpLmludmVydGVkOm5vdCguZGltbWVyKTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6d2luZG93LWluYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHRodW1iSW52ZXJ0ZWRJbmFjdGl2ZUJhY2tncm91bmQ7XG4gICAgfVxuICAgIGJvZHkgLnVpLmludmVydGVkOm5vdCguZGltbWVyKTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdGh1bWJJbnZlcnRlZEhvdmVyQmFja2dyb3VuZDtcbiAgICB9XG4gICAgJiB3aGVuIChAc3VwcG9ydElFKSB7XG4gICAgICAgIGJvZHkgLnVpLmludmVydGVkOm5vdCguZGltbWVyKSB7XG4gICAgICAgICAgICAvKiBJRTExICovXG4gICAgICAgICAgICBzY3JvbGxiYXItZmFjZS1jb2xvcjogQHRodW1iSW52ZXJ0ZWRCYWNrZ3JvdW5kSGV4O1xuICAgICAgICAgICAgc2Nyb2xsYmFyLXNoYWRvdy1jb2xvcjogQHRodW1iSW52ZXJ0ZWRCYWNrZ3JvdW5kSGV4O1xuICAgICAgICAgICAgc2Nyb2xsYmFyLXRyYWNrLWNvbG9yOiBAdHJhY2tJbnZlcnRlZEJhY2tncm91bmRIZXg7XG4gICAgICAgICAgICBzY3JvbGxiYXItYXJyb3ctY29sb3I6IEB0cmFja0ludmVydGVkQmFja2dyb3VuZEhleDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAc3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTogbm9uZSkge1xuICAgICAgICBib2R5IC51aS5pbnZlcnRlZDpub3QoLmRpbW1lcikge1xuICAgICAgICAgICAgLyogZmlyZWZveDogZmlyc3QgY29sb3IgdGh1bWIsIHNlY29uZCB0cmFjayAqL1xuICAgICAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiBAdGh1bWJJbnZlcnRlZEJhY2tncm91bmQgQHRyYWNrSW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIEhpZ2hsaWdodGluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogU2l0ZSAqL1xuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBoaWdobGlnaHRCYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBAaGlnaGxpZ2h0Q29sb3I7XG59XG5cbi8qIEZvcm0gKi9cbnRleHRhcmVhOjpzZWxlY3Rpb24sXG5pbnB1dDo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5wdXRIaWdobGlnaHRCYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBAaW5wdXRIaWdobGlnaHRDb2xvcjtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEN1c3RvbSBTZW1hbnRpYyBDbGFzc2VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEdlbmVyYWwgQ29sb3JzICovXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2hpdGUhaW1wb3J0YW50O1xufVxuLmNvbG9yIHtcbiAgICAmLnByaW1hcnkge1xuICAgICAgICBjb2xvcjogQHByaW1hcnlDb2xvciFpbXBvcnRhbnQ7XG4gICAgICAgICYuYmFja2dyb3VuZCB7XG4gICAgICAgICAgICBjb2xvcjogQHdoaXRlIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBwcmltYXJ5Q29sb3IhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc2Vjb25kYXJ5IHtcbiAgICAgICAgY29sb3I6IEBzZWNvbmRhcnlDb2xvciFpbXBvcnRhbnQ7XG4gICAgICAgICYuYmFja2dyb3VuZCB7XG4gICAgICAgICAgICBjb2xvcjogQHdoaXRlIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzZWNvbmRhcnlDb2xvciFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIEdlbmVyYWwgVGV4dCB0cmFuc2Zvcm1lcnMgKi9cbi50ZXh0IHtcbiAgICAmLmJvbGQge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG59XG5cbi51aS5mb3JtIC5maWVsZHM6bm90KC5ncm91cGVkKTpub3QoLmlubGluZSkgLmZpZWxkOm5vdCg6b25seS1jaGlsZCkgLnVpLmNoZWNrYm94IHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gQnV0dG9uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJlbGVtZW50XCI7XG5AZWxlbWVudDogXCJidXR0b25cIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3RJY29uOiBpZihAdmFyaWF0aW9uQnV0dG9uSWNvbiwgZShcIjpub3QoLmljb24pXCIpKTtcbkBub3RBbmltYXRlZDogaWYoQHZhcmlhdGlvbkJ1dHRvbkFuaW1hdGVkLCBlKFwiOm5vdCguYW5pbWF0ZWQpXCIpKTtcbkBub3RMYWJlbGVkOiBpZihAdmFyaWF0aW9uQnV0dG9uTGFiZWxlZCwgZShcIjpub3QoLmxhYmVsZWQpXCIpKTtcbkBub3RDb21wYWN0OiBpZihAdmFyaWF0aW9uQnV0dG9uQ29tcGFjdCwgZShcIjpub3QoLmNvbXBhY3QpXCIpKTtcbkBub3RTcGFjZWQ6IGlmKEB2YXJpYXRpb25CdXR0b25TcGFjZWQsIGUoXCI6bm90KC5zcGFjZWQpXCIpKTtcbkBub3RDaXJjdWxhcjogaWYoQHZhcmlhdGlvbkJ1dHRvbkNpcmN1bGFyLCBlKFwiOm5vdCguY2lyY3VsYXIpXCIpKTtcbkBub3RWZXJ0aWNhbDogaWYoQHZhcmlhdGlvbkJ1dHRvblZlcnRpY2FsLCBlKFwiOm5vdCgudmVydGljYWwpXCIpKTtcbkBub3RJbnZlcnRlZDogaWYoQHZhcmlhdGlvbkJ1dHRvbkludmVydGVkLCBlKFwiOm5vdCguaW52ZXJ0ZWQpXCIpKTtcbkBub3RCYXNpYzogaWYoQHZhcmlhdGlvbkJ1dHRvbkJhc2ljLCBlKFwiOm5vdCguYmFzaWMpXCIpKTtcbkBub3RBdHRhY2hlZDogaWYoQHZhcmlhdGlvbkJ1dHRvbkF0dGFjaGVkLCBlKFwiOm5vdCguYXR0YWNoZWQpXCIpKTtcbkBub3RXcmFwcGluZzogaWYoQHZhcmlhdGlvbkJ1dHRvbldyYXBwaW5nLCBlKFwiOm5vdCgud3JhcHBpbmcpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEJ1dHRvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4taGVpZ2h0OiAxZW07XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IEB2ZXJ0aWNhbEFsaWduO1xuICAgIGJhY2tncm91bmQ6IEBiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiBAZm9udEZhbWlseTtcbiAgICBtYXJnaW46IDAgQGhvcml6b250YWxNYXJnaW4gQHZlcnRpY2FsTWFyZ2luIDA7XG4gICAgcGFkZGluZzogQHZlcnRpY2FsUGFkZGluZyBAaG9yaXpvbnRhbFBhZGRpbmcgKEB2ZXJ0aWNhbFBhZGRpbmcgKyBAc2hhZG93T2Zmc2V0KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogQHRleHRUcmFuc2Zvcm07XG4gICAgdGV4dC1zaGFkb3c6IEB0ZXh0U2hhZG93O1xuICAgIGZvbnQtd2VpZ2h0OiBAZm9udFdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogQGxpbmVIZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICBib3gtc2hhZG93OiBAYm94U2hhZG93O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgIHdpbGwtY2hhbmdlOiBAd2lsbENoYW5nZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IEB0YXBDb2xvcjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGhvdmVyQmFja2dyb3VuZENvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IEBob3ZlckJhY2tncm91bmRJbWFnZTtcbiAgICBib3gtc2hhZG93OiBAaG92ZXJCb3hTaGFkb3c7XG4gICAgY29sb3I6IEBob3ZlckNvbG9yO1xufVxuXG4udWkuYnV0dG9uOmhvdmVyIC5pY29uIHtcbiAgICBvcGFjaXR5OiBAaWNvbkhvdmVyT3BhY2l0eTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGZvY3VzQmFja2dyb3VuZENvbG9yO1xuICAgIGNvbG9yOiBAZm9jdXNDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBAZm9jdXNCYWNrZ3JvdW5kSW1hZ2U7XG4gICAgYm94LXNoYWRvdzogQGZvY3VzQm94U2hhZG93O1xufVxuXG4udWkuYnV0dG9uOmZvY3VzIC5pY29uIHtcbiAgICBvcGFjaXR5OiBAaWNvbkZvY3VzT3BhY2l0eTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIERvd25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuYnV0dG9uOmFjdGl2ZSxcbi51aS5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGRvd25CYWNrZ3JvdW5kQ29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogQGRvd25CYWNrZ3JvdW5kSW1hZ2U7XG4gICAgY29sb3I6IEBkb3duQ29sb3I7XG4gICAgYm94LXNoYWRvdzogQGRvd25Cb3hTaGFkb3c7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5hY3RpdmUuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYWN0aXZlQmFja2dyb3VuZENvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IEBhY3RpdmVCYWNrZ3JvdW5kSW1hZ2U7XG4gICAgYm94LXNoYWRvdzogQGFjdGl2ZUJveFNoYWRvdztcbiAgICBjb2xvcjogQGFjdGl2ZUNvbG9yO1xufVxuLnVpLmFjdGl2ZS5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBhY3RpdmVIb3ZlckJhY2tncm91bmRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBAYWN0aXZlSG92ZXJCYWNrZ3JvdW5kSW1hZ2U7XG4gICAgY29sb3I6IEBhY3RpdmVIb3ZlckNvbG9yO1xufVxuLnVpLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYWN0aXZlQmFja2dyb3VuZENvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IEBhY3RpdmVCYWNrZ3JvdW5kSW1hZ2U7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkxvYWRpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBMb2FkaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBTcGVjaWZpY2l0eSBoYWNrICovXG4gICAgLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmcuYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgb3BhY2l0eTogQGxvYWRpbmdPcGFjaXR5O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogQGxvYWRpbmdQb2ludGVyRXZlbnRzO1xuICAgICAgICB0cmFuc2l0aW9uOiBAbG9hZGluZ1RyYW5zaXRpb247XG4gICAgfVxuICAgIC51aS5sb2FkaW5nLmJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW46IEBsb2FkZXJNYXJnaW47XG4gICAgICAgIHdpZHRoOiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuICAgICAgICBib3JkZXI6IEBsb2FkZXJMaW5lV2lkdGggc29saWQgQGludmVydGVkTG9hZGVyRmlsbENvbG9yO1xuICAgIH1cbiAgICAudWkubG9hZGluZy5idXR0b246OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW46IEBsb2FkZXJNYXJnaW47XG4gICAgICAgIHdpZHRoOiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuICAgICAgICBhbmltYXRpb246IGxvYWRlciBAbG9hZGVyU3BlZWQgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICBib3JkZXI6IEBsb2FkZXJMaW5lV2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICAgICAgICBjb2xvcjogQGludmVydGVkTG9hZGVyTGluZUNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIC51aS51aS51aS5sb2FkaW5nLmJ1dHRvbiAubGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25MYWJlbGVkSWNvbikge1xuICAgICAgICAudWkubGFiZWxlZC5pY29uLmxvYWRpbmcuYnV0dG9uIC5pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25CYXNpYykge1xuICAgICAgICAudWkuYmFzaWMubG9hZGluZy5idXR0b25Ae25vdEludmVydGVkfTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGxvYWRlckZpbGxDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuYmFzaWMubG9hZGluZy5idXR0b25Ae25vdEludmVydGVkfTo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAbG9hZGVyTGluZUNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uRGlzYWJsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmJ1dHRvbnMgLmRpc2FibGVkLmJ1dHRvbkB7bm90QmFzaWN9LFxuICAgIC51aS5kaXNhYmxlZC5idXR0b24sXG4gICAgLnVpLmJ1dHRvbjpkaXNhYmxlZCxcbiAgICAudWkuZGlzYWJsZWQuYnV0dG9uOmhvdmVyLFxuICAgIC51aS5kaXNhYmxlZC5hY3RpdmUuYnV0dG9uIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBvcGFjaXR5OiBAZGlzYWJsZWRPcGFjaXR5ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkJhc2ljKSB7XG4gICAgICAgIC8qIEJhc2ljIEdyb3VwIFdpdGggRGlzYWJsZWQgKi9cbiAgICAgICAgLnVpLmJhc2ljLmJ1dHRvbnMgLnVpLmRpc2FibGVkLmJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBkaXNhYmxlZEJvcmRlckNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uQW5pbWF0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEFuaW1hdGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5hbmltYXRlZC5idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IEBhbmltYXRlZFZlcnRpY2FsQWxpZ247XG4gICAgICAgIHotaW5kZXg6IEBhbmltYXRlZFpJbmRleDtcbiAgICB9XG5cbiAgICAudWkuYW5pbWF0ZWQuYnV0dG9uIC5jb250ZW50IHtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gICAgLnVpLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBob3Jpem9udGFsUGFkZGluZztcbiAgICB9XG4gICAgLnVpLmFuaW1hdGVkLmJ1dHRvbiAuaGlkZGVuLmNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWkuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQsXG4gICAgLnVpLmFuaW1hdGVkLmJ1dHRvbiAuaGlkZGVuLmNvbnRlbnQge1xuICAgICAgICB0cmFuc2l0aW9uOiByaWdodCBAYW5pbWF0aW9uRHVyYXRpb24gQGFuaW1hdGlvbkVhc2luZyAwcztcbiAgICB9XG4gICAgLnVpLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgIC51aS5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLShAbGluZUhlaWdodCAvIDIpO1xuICAgIH1cbiAgICAudWkuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC52aXNpYmxlLmNvbnRlbnQsXG4gICAgLnVpLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDIwMCU7XG4gICAgfVxuICAgIC51aS5hbmltYXRlZC5idXR0b246Zm9jdXMgLmhpZGRlbi5jb250ZW50LFxuICAgIC51aS5hbmltYXRlZC5idXR0b246aG92ZXIgLmhpZGRlbi5jb250ZW50IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uVmVydGljYWwpIHtcbiAgICAgICAgLyogVmVydGljYWwgKi9cbiAgICAgICAgLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50LFxuICAgICAgICAudWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIHRvcCBAYW5pbWF0aW9uRHVyYXRpb24gQGFuaW1hdGlvbkVhc2luZyxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gQGFuaW1hdGlvbkR1cmF0aW9uIEBhbmltYXRpb25FYXNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcbiAgICAgICAgICAgIHRvcDogLTUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICAudWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC52aXNpYmxlLmNvbnRlbnQsXG4gICAgICAgIC51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b246aG92ZXIgLnZpc2libGUuY29udGVudCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwJSk7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICAudWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC5oaWRkZW4uY29udGVudCxcbiAgICAgICAgLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAuaGlkZGVuLmNvbnRlbnQge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25BbmltYXRlZEZhZGUpIHtcbiAgICAgICAgLyogRmFkZSAqL1xuICAgICAgICAudWkuZmFkZS5hbmltYXRlZC5idXR0b24gLnZpc2libGUuY29udGVudCxcbiAgICAgICAgLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIG9wYWNpdHkgQGFuaW1hdGlvbkR1cmF0aW9uIEBhbmltYXRpb25FYXNpbmcsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtIEBhbmltYXRpb25EdXJhdGlvbiBAYW5pbWF0aW9uRWFzaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgICAgIC51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbiAuaGlkZGVuLmNvbnRlbnQge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoQGZhZGVTY2FsZUhpZ2gpO1xuICAgICAgICB9XG4gICAgICAgIC51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbjpmb2N1cyAudmlzaWJsZS5jb250ZW50LFxuICAgICAgICAudWkuZmFkZS5hbmltYXRlZC5idXR0b246aG92ZXIgLnZpc2libGUuY29udGVudCB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZShAZmFkZVNjYWxlTG93KTtcbiAgICAgICAgfVxuICAgICAgICAudWkuZmFkZS5hbmltYXRlZC5idXR0b246Zm9jdXMgLmhpZGRlbi5jb250ZW50LFxuICAgICAgICAudWkuZmFkZS5hbmltYXRlZC5idXR0b246aG92ZXIgLmhpZGRlbi5jb250ZW50IHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25CdXR0b25JbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmludmVydGVkLmJ1dHRvbiB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIEBpbnZlcnRlZEJvcmRlclNpemUgQHdoaXRlIGluc2V0O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBub25lO1xuICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkdyb3Vwcykge1xuICAgICAgICAvKiBHcm91cCAqL1xuICAgICAgICAudWkuaW52ZXJ0ZWQuYnV0dG9ucyAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogQGludmVydGVkR3JvdXBCdXR0b25PZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25WZXJ0aWNhbCkge1xuICAgICAgICAgICAgLnVpLmludmVydGVkLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBAaW52ZXJ0ZWRWZXJ0aWNhbEdyb3VwQnV0dG9uT2Zmc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmludmVydGVkLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFN0YXRlcyAqL1xuXG4gICAgLyogSG92ZXIgKi9cbiAgICAudWkuaW52ZXJ0ZWQuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHdoaXRlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEB3aGl0ZSBpbnNldDtcbiAgICAgICAgY29sb3I6IEBob3ZlckNvbG9yO1xuICAgIH1cblxuICAgIC8qIEFjdGl2ZSAvIEZvY3VzICovXG4gICAgLnVpLmludmVydGVkLmJ1dHRvbjpmb2N1cyxcbiAgICAudWkuaW52ZXJ0ZWQuYnV0dG9uLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEB3aGl0ZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgQGludmVydGVkQm9yZGVyU2l6ZSBAd2hpdGUgaW5zZXQ7XG4gICAgICAgIGNvbG9yOiBAZm9jdXNDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBBY3RpdmUgRm9jdXMgKi9cbiAgICAudWkuaW52ZXJ0ZWQuYnV0dG9uLmFjdGl2ZTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBtaWRXaGl0ZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgQGludmVydGVkQm9yZGVyU2l6ZSBAbWlkV2hpdGUgaW5zZXQ7XG4gICAgICAgIGNvbG9yOiBAZm9jdXNDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkxhYmVsZWQpIG9yIChAdmFyaWF0aW9uQnV0dG9uTGFiZWxlZEljb24pIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExhYmVsZWQgQnV0dG9uXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5sYWJlbGVkLmJ1dHRvbkB7bm90SWNvbn0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVpLmxhYmVsZWQuYnV0dG9uID4gLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLnVpLmxhYmVsZWQuYnV0dG9uID4gLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IEBsYWJlbGVkTGFiZWxBbGlnbjtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBAbGFiZWxlZExhYmVsQm9yZGVyT2Zmc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogQGxhYmVsZWRMYWJlbEZvbnRTaXplO1xuICAgICAgICBwYWRkaW5nOiBAbGFiZWxlZExhYmVsUGFkZGluZztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAbGFiZWxlZExhYmVsQm9yZGVyQ29sb3I7XG4gICAgfVxuXG4gICAgLyogVGFnICovXG4gICAgLnVpLmxhYmVsZWQuYnV0dG9uID4gLnRhZy5sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IEBsYWJlbGVkVGFnTGFiZWxTaXplO1xuICAgICAgICBoZWlnaHQ6IEBsYWJlbGVkVGFnTGFiZWxTaXplO1xuICAgIH1cblxuICAgIC8qIFJpZ2h0ICovXG4gICAgLnVpLmxhYmVsZWQuYnV0dG9uOm5vdChbY2xhc3MqPVwibGVmdCBsYWJlbGVkXCJdKSA+IC5idXR0b24ge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuICAgIC51aS5sYWJlbGVkLmJ1dHRvbjpub3QoW2NsYXNzKj1cImxlZnQgbGFiZWxlZFwiXSkgPiAubGFiZWwge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC8qIExlZnQgU2lkZSAqL1xuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGxhYmVsZWRcIl0uYnV0dG9uID4gLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGxhYmVsZWRcIl0uYnV0dG9uID4gLmxhYmVsIHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uU29jaWFsKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBTb2NpYWxcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogRmFjZWJvb2sgKi9cbiAgICAudWkuZmFjZWJvb2suYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGZhY2Vib29rQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBAY29sb3JlZEJhY2tncm91bmRJbWFnZTtcbiAgICAgICAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG4gICAgfVxuICAgIC51aS5mYWNlYm9vay5idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZmFjZWJvb2tIb3ZlckNvbG9yO1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbiAgICB9XG4gICAgLnVpLmZhY2Vib29rLmJ1dHRvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZmFjZWJvb2tEb3duQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICAgIH1cblxuICAgIC8qIFR3aXR0ZXIgKi9cbiAgICAudWkudHdpdHRlci5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdHdpdHRlckNvbG9yO1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogQGNvbG9yZWRCYWNrZ3JvdW5kSW1hZ2U7XG4gICAgICAgIGJveC1zaGFkb3c6IEBjb2xvcmVkQm94U2hhZG93O1xuICAgIH1cbiAgICAudWkudHdpdHRlci5idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdHdpdHRlckhvdmVyQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICAgIH1cbiAgICAudWkudHdpdHRlci5idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHR3aXR0ZXJEb3duQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICAgIH1cblxuICAgIC8qIEdvb2dsZSBQbHVzICovXG4gICAgLnVpLmdvb2dsZS5wbHVzLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBnb29nbGVQbHVzQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBAY29sb3JlZEJhY2tncm91bmRJbWFnZTtcbiAgICAgICAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG4gICAgfVxuICAgIC51aS5nb29nbGUucGx1cy5idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ29vZ2xlUGx1c0hvdmVyQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICAgIH1cbiAgICAudWkuZ29vZ2xlLnBsdXMuYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBnb29nbGVQbHVzRG93bkNvbG9yO1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbiAgICB9XG5cbiAgICAvKiBMaW5rZWQgSW4gKi9cbiAgICAudWkubGlua2VkaW4uYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGxpbmtlZEluQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICAgIH1cbiAgICAudWkubGlua2VkaW4uYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGxpbmtlZEluSG92ZXJDb2xvcjtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG4gICAgfVxuICAgIC51aS5saW5rZWRpbi5idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGxpbmtlZEluRG93bkNvbG9yO1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbiAgICB9XG5cbiAgICAvKiBZb3VUdWJlICovXG4gICAgLnVpLnlvdXR1YmUuYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHlvdXR1YmVDb2xvcjtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IEBjb2xvcmVkQmFja2dyb3VuZEltYWdlO1xuICAgICAgICBib3gtc2hhZG93OiBAY29sb3JlZEJveFNoYWRvdztcbiAgICB9XG4gICAgLnVpLnlvdXR1YmUuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHlvdXR1YmVIb3ZlckNvbG9yO1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbiAgICB9XG4gICAgLnVpLnlvdXR1YmUuYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB5b3V0dWJlRG93bkNvbG9yO1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbiAgICB9XG5cbiAgICAvKiBJbnN0YWdyYW0gKi9cbiAgICAudWkuaW5zdGFncmFtLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnN0YWdyYW1Db2xvcjtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IEBjb2xvcmVkQmFja2dyb3VuZEltYWdlO1xuICAgICAgICBib3gtc2hhZG93OiBAY29sb3JlZEJveFNoYWRvdztcbiAgICB9XG4gICAgLnVpLmluc3RhZ3JhbS5idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5zdGFncmFtSG92ZXJDb2xvcjtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG4gICAgfVxuICAgIC51aS5pbnN0YWdyYW0uYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnN0YWdyYW1Eb3duQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICAgIH1cblxuICAgIC8qIFBpbnRlcmVzdCAqL1xuICAgIC51aS5waW50ZXJlc3QuYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBpbnRlcmVzdENvbG9yO1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogQGNvbG9yZWRCYWNrZ3JvdW5kSW1hZ2U7XG4gICAgICAgIGJveC1zaGFkb3c6IEBjb2xvcmVkQm94U2hhZG93O1xuICAgIH1cbiAgICAudWkucGludGVyZXN0LmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBwaW50ZXJlc3RIb3ZlckNvbG9yO1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbiAgICB9XG4gICAgLnVpLnBpbnRlcmVzdC5idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBpbnRlcmVzdERvd25Db2xvcjtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG4gICAgfVxuXG4gICAgLyogVksgKi9cbiAgICAudWkudmsuYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHZrQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IEBjb2xvcmVkQmFja2dyb3VuZEltYWdlO1xuICAgICAgICBib3gtc2hhZG93OiBAY29sb3JlZEJveFNoYWRvdztcbiAgICB9XG4gICAgLnVpLnZrLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB2a0hvdmVyQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgfVxuICAgIC51aS52ay5idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHZrRG93bkNvbG9yO1xuICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgIH1cblxuICAgIC8qIFdoYXRzQXBwICovXG4gICAgLnVpLndoYXRzYXBwLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB3aGF0c0FwcENvbG9yO1xuICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBAY29sb3JlZEJhY2tncm91bmRJbWFnZTtcbiAgICAgICAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG4gICAgfVxuICAgIC51aS53aGF0c2FwcC5idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2hhdHNBcHBIb3ZlckNvbG9yO1xuICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgIH1cbiAgICAudWkud2hhdHNhcHAuYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB3aGF0c0FwcERvd25Db2xvcjtcbiAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICB9XG5cbiAgICAvKiBUZWxlZ3JhbSAqL1xuICAgIC51aS50ZWxlZ3JhbS5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGVsZWdyYW1Db2xvcjtcbiAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogQGNvbG9yZWRCYWNrZ3JvdW5kSW1hZ2U7XG4gICAgICAgIGJveC1zaGFkb3c6IEBjb2xvcmVkQm94U2hhZG93O1xuICAgIH1cbiAgICAudWkudGVsZWdyYW0uYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRlbGVncmFtSG92ZXJDb2xvcjtcbiAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICB9XG4gICAgLnVpLnRlbGVncmFtLmJ1dHRvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGVsZWdyYW1Eb3duQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBJY29uXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmJ1dHRvbiA+IC5pY29uOm5vdCguYnV0dG9uKSB7XG4gICAgaGVpZ2h0OiBAaWNvbkhlaWdodDtcbiAgICBvcGFjaXR5OiBAaWNvbk9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbjogQGljb25UcmFuc2l0aW9uO1xuICAgIGNvbG9yOiBAaWNvbkNvbG9yO1xufVxuXG4udWkuYnV0dG9uQHtub3RJY29ufSA+IC5pY29uOm5vdCguYnV0dG9uKTpub3QoLmRyb3Bkb3duKSxcbi51aS5idXR0b25Ae25vdEljb259ID4gLmljb25zOm5vdCguYnV0dG9uKTpub3QoLmRyb3Bkb3duKSB7XG4gICAgbWFyZ2luOiBAaWNvbk1hcmdpbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogQGljb25WZXJ0aWNhbEFsaWduO1xufVxuLnVpLmJ1dHRvbkB7bm90SWNvbn0gPiAuaWNvbnM6bm90KC5idXR0b24pOm5vdCguZHJvcGRvd24pID4gLmljb24ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBAaWNvblZlcnRpY2FsQWxpZ247XG59XG4udWkuYnV0dG9uQHtub3RJY29ufSA+IC5yaWdodC5pY29uOm5vdCguYnV0dG9uKTpub3QoLmRyb3Bkb3duKSB7XG4gICAgbWFyZ2luOiBAcmlnaHRJY29uTWFyZ2luO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25CdXR0b25TdGFja2FibGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIFN0YWNrYWJsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogVGFibGV0IE9yIEJlbG93ICovXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgICAgICAudWkuc3RhY2thYmxlLmJ1dHRvbnMge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgJiAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIC5idXR0b246b25seS1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uRmxvYXRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgRmxvYXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWlbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLmJ1dHRvbnMsXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5idXR0b24ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGZsb2F0ZWRNYXJnaW47XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0uYnV0dG9ucyxcbiAgICAudWlbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXS5idXR0b24ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBmbG9hdGVkTWFyZ2luO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uQ29tcGFjdCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQ29tcGFjdFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY29tcGFjdC5idXR0b25zIC5idXR0b24sXG4gICAgLnVpLmNvbXBhY3QuYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogQGNvbXBhY3RWZXJ0aWNhbFBhZGRpbmcgQGNvbXBhY3RIb3Jpem9udGFsUGFkZGluZyAoQGNvbXBhY3RWZXJ0aWNhbFBhZGRpbmcgKyBAc2hhZG93T2Zmc2V0KTtcbiAgICB9XG5cbiAgICAudWkuY29tcGFjdC5pY29uLmJ1dHRvbnMgLmJ1dHRvbixcbiAgICAudWkuY29tcGFjdC5pY29uLmJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IEBjb21wYWN0VmVydGljYWxQYWRkaW5nIEBjb21wYWN0VmVydGljYWxQYWRkaW5nIChAY29tcGFjdFZlcnRpY2FsUGFkZGluZyArIEBzaGFkb3dPZmZzZXQpO1xuICAgIH1cblxuICAgIC51aS5jb21wYWN0LmxhYmVsZWQuaWNvbi5idXR0b25zIC5idXR0b24sXG4gICAgLnVpLmNvbXBhY3QubGFiZWxlZC5pY29uLmJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IEBjb21wYWN0VmVydGljYWxQYWRkaW5nIChAY29tcGFjdEhvcml6b250YWxQYWRkaW5nICsgQGxhYmVsZWRJY29uV2lkdGgpIChAY29tcGFjdFZlcnRpY2FsUGFkZGluZyArIEBzaGFkb3dPZmZzZXQpO1xuICAgIH1cblxuICAgIC51aS5jb21wYWN0LmxhYmVsZWQuaWNvbi5idXR0b25zIC5idXR0b24gPiAuaWNvbixcbiAgICAudWkuY29tcGFjdC5sYWJlbGVkLmljb24uYnV0dG9uID4gLmljb24ge1xuICAgICAgICBwYWRkaW5nOiBAY29tcGFjdFZlcnRpY2FsUGFkZGluZyAwO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5idXR0b25zIC5vcixcbi51aS5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cblxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkJ1dHRvblNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25CdXR0b25TaXplcywge1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9LmJ1dHRvbnMgLmRyb3Bkb3duLFxuICAgICAgICAudWkuQHt2YWx1ZX0uYnV0dG9ucyAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSxcbiAgICAgICAgLnVpLkB7dmFsdWV9LmJ1dHRvbnMgLmJ1dHRvbixcbiAgICAgICAgLnVpLkB7dmFsdWV9LmJ1dHRvbnMgLm9yLFxuICAgICAgICAudWkudWkudWkudWkuQHt2YWx1ZX0uYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uSWNvbikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEljb24gT25seVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmljb24uYnV0dG9ucyAuYnV0dG9uLFxuICAgIC51aS5pY29uLmJ1dHRvbkB7bm90QW5pbWF0ZWR9QHtub3RDb21wYWN0fUB7bm90TGFiZWxlZH0ge1xuICAgICAgICBwYWRkaW5nOiBAdmVydGljYWxQYWRkaW5nIEB2ZXJ0aWNhbFBhZGRpbmcgKEB2ZXJ0aWNhbFBhZGRpbmcgKyBAc2hhZG93T2Zmc2V0KTtcbiAgICB9XG4gICAgLnVpLmFuaW1hdGVkLmljb24uYnV0dG9uID4gLmNvbnRlbnQgPiAuaWNvbixcbiAgICAudWkuaWNvbi5idXR0b25zIC5idXR0b24gPiAuaWNvbixcbiAgICAudWkuaWNvbi5idXR0b24gPiAuaWNvbiB7XG4gICAgICAgIG9wYWNpdHk6IEBpY29uQnV0dG9uT3BhY2l0eTtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uQW5pbWF0ZWQpIHtcbiAgICAudWkuYW5pbWF0ZWQuYnV0dG9uID4gLmNvbnRlbnQgPiAuaWNvbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25CdXR0b25CYXNpYykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEJhc2ljXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5iYXNpYy5idXR0b25zIC5idXR0b24sXG4gICAgLnVpLmJhc2ljLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBiYXNpY0JhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAYmFzaWNUZXh0Q29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAYmFzaWNGb250V2VpZ2h0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYmFzaWNCb3JkZXJSYWRpdXM7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBAYmFzaWNUZXh0VHJhbnNmb3JtO1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBAYmFzaWNCb3hTaGFkb3c7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkdyb3Vwcykge1xuICAgICAgICAudWkuYmFzaWMuYnV0dG9ucyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAYmFzaWNHcm91cEJveFNoYWRvdztcbiAgICAgICAgICAgIGJvcmRlcjogQGJhc2ljR3JvdXBCb3JkZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcbiAgICAudWkuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGJhc2ljSG92ZXJCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQGJhc2ljSG92ZXJUZXh0Q29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IEBiYXNpY0hvdmVyQm94U2hhZG93O1xuICAgIH1cblxuICAgIC51aS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4gICAgLnVpLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBiYXNpY0ZvY3VzQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBiYXNpY0ZvY3VzVGV4dENvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBAYmFzaWNGb2N1c0JveFNoYWRvdztcbiAgICB9XG5cbiAgICAudWkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbiAgICAudWkuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBiYXNpY0Rvd25CYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQGJhc2ljRG93blRleHRDb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogQGJhc2ljRG93bkJveFNoYWRvdztcbiAgICB9XG5cbiAgICAudWkuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbiAgICAudWkuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBiYXNpY0FjdGl2ZUJhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6IEBiYXNpY0FjdGl2ZUJveFNoYWRvdztcbiAgICAgICAgY29sb3I6IEBiYXNpY0FjdGl2ZVRleHRDb2xvcjtcbiAgICB9XG5cbiAgICAudWkuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjpob3ZlcixcbiAgICAudWkuYmFzaWMuYWN0aXZlLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0cmFuc3BhcmVudEJsYWNrO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25Hcm91cHMpIHtcbiAgICAgICAgLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAYmFzaWNIb3ZlckJveFNoYWRvdztcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBiYXNpY0Rvd25Cb3hTaGFkb3c7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbiB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAYmFzaWNBY3RpdmVCb3hTaGFkb3c7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uSW52ZXJ0ZWQpIHtcbiAgICAgICAgLyogU3RhbmRhcmQgQmFzaWMgSW52ZXJ0ZWQgKi9cblxuICAgICAgICAudWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9ucyAuYnV0dG9uLFxuICAgICAgICAudWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6IEBvZmZXaGl0ZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBiYXNpY0ludmVydGVkQm94U2hhZG93O1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcbiAgICAgICAgLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGJhc2ljSW52ZXJ0ZWRIb3ZlckJveFNoYWRvdztcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4gICAgICAgIC51aS5iYXNpYy5pbnZlcnRlZC5idXR0b246Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBiYXNpY0ludmVydGVkRm9jdXNCb3hTaGFkb3c7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbiAgICAgICAgLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbjphY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRyYW5zcGFyZW50V2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGJhc2ljSW52ZXJ0ZWREb3duQm94U2hhZG93O1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4gICAgICAgIC51aS5iYXNpYy5pbnZlcnRlZC5hY3RpdmUuYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0cmFuc3BhcmVudFdoaXRlO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGJhc2ljSW52ZXJ0ZWRBY3RpdmVCb3hTaGFkb3c7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjpob3ZlcixcbiAgICAgICAgLnVpLmJhc2ljLmludmVydGVkLmFjdGl2ZS5idXR0b246aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHN0cm9uZ1RyYW5zcGFyZW50V2hpdGU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAYmFzaWNJbnZlcnRlZEhvdmVyQm94U2hhZG93O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uR3JvdXBzKSB7XG4gICAgICAgIC8qIEJhc2ljIEdyb3VwICovXG4gICAgICAgIC51aS5iYXNpYy5idXR0b25zQHtub3RJbnZlcnRlZH0gLmJ1dHRvbkB7bm90QmFzaWN9IHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogQGJhc2ljR3JvdXBCb3JkZXI7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uVmVydGljYWwpIHtcbiAgICAgICAgICAgIC51aS5iYXNpYy52ZXJ0aWNhbC5idXR0b25zIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IEBiYXNpY0dyb3VwQm9yZGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudWkuYmFzaWMudmVydGljYWwuYnV0dG9uc0B7bm90U3BhY2VkfUB7bm90Q2lyY3VsYXJ9IC5idXR0b246Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvblRlcnRpYXJ5KSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBUZXJ0aWFyeVxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBPdmVybGluZSBNaXhpbiAqL1xuICAgIC51aS50ZXJ0aWFyeS5idXR0b24ge1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciBAZGVmYXVsdER1cmF0aW9uIEBkZWZhdWx0RWFzaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIC8vIHByZXR0aWVyLWlnbm9yZVxuICAgICAgICBtYXJnaW46XG4gICAgICAgICAgICAoQHZlcnRpY2FsUGFkZGluZyAtIEB0ZXJ0aWFyeVZlcnRpY2FsUGFkZGluZylcbiAgICAgICAgICAgIChAaG9yaXpvbnRhbE1hcmdpbilcbiAgICAgICAgICAgIChAdmVydGljYWxQYWRkaW5nICsgQHNoYWRvd09mZnNldCArIEB2ZXJ0aWNhbE1hcmdpbiAtIEB0ZXJ0aWFyeVZlcnRpY2FsUGFkZGluZylcbiAgICAgICAgICAgIDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogQHRlcnRpYXJ5VmVydGljYWxQYWRkaW5nIEB0ZXJ0aWFyeUhvcml6b250YWxQYWRkaW5nICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJiB3aGVuIChAdGVydGlhcnlXaXRoVW5kZXJsaW5lID0gdHJ1ZSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtQHRlcnRpYXJ5TGluZUhlaWdodCAwIEB0ZXJ0aWFyeUxpbmVDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHRlcnRpYXJ5V2l0aE92ZXJsaW5lID0gdHJ1ZSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCBAdGVydGlhcnlMaW5lSGVpZ2h0IDAgQHRlcnRpYXJ5TGluZUNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdGVydGlhcnlXaXRoVW5kZXJsaW5lID0gZmFsc2UpIGFuZCAoQHRlcnRpYXJ5V2l0aE92ZXJsaW5lID0gZmFsc2UpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBjb2xvcjogQHRlcnRpYXJ5VGV4dENvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdGVydGlhcnlCYWNrZ3JvdW5kQ29sb3I7XG4gICAgfVxuXG4gICAgLnVpLnRlcnRpYXJ5LmJ1dHRvbjpob3ZlciB7XG4gICAgICAgICYgd2hlbiAoQHRlcnRpYXJ5SG92ZXJXaXRoVW5kZXJsaW5lID0gdHJ1ZSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtQHRlcnRpYXJ5TGluZUhlaWdodCAwIEB0ZXJ0aWFyeUhvdmVyTGluZUNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdGVydGlhcnlIb3ZlcldpdGhPdmVybGluZSA9IHRydWUpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgQHRlcnRpYXJ5TGluZUhlaWdodCAwIEB0ZXJ0aWFyeUhvdmVyTGluZUNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdGVydGlhcnlIb3ZlcldpdGhVbmRlcmxpbmUgPSBmYWxzZSkgYW5kIChAdGVydGlhcnlIb3ZlcldpdGhPdmVybGluZSA9IGZhbHNlKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgY29sb3I6IEB0ZXJ0aWFyeUhvdmVyQ29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0ZXJ0aWFyeUhvdmVyQmFja2dyb3VuZENvbG9yO1xuICAgIH1cblxuICAgIC51aS50ZXJ0aWFyeS5idXR0b246Zm9jdXMge1xuICAgICAgICAmIHdoZW4gKEB0ZXJ0aWFyeUZvY3VzV2l0aFVuZGVybGluZSA9IHRydWUpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLUB0ZXJ0aWFyeUxpbmVIZWlnaHQgMCBAdGVydGlhcnlGb2N1c0xpbmVDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHRlcnRpYXJ5Rm9jdXNXaXRoT3ZlcmxpbmUgPSB0cnVlKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIEB0ZXJ0aWFyeUxpbmVIZWlnaHQgMCBAdGVydGlhcnlGb2N1c0xpbmVDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHRlcnRpYXJ5Rm9jdXNXaXRoVW5kZXJsaW5lID0gZmFsc2UpIGFuZCAoQHRlcnRpYXJ5Rm9jdXNXaXRoT3ZlcmxpbmUgPSBmYWxzZSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbG9yOiBAdGVydGlhcnlGb2N1c0NvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdGVydGlhcnlGb2N1c0JhY2tncm91bmRDb2xvcjtcbiAgICB9XG5cbiAgICAudWkudGVydGlhcnkuYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgICYgd2hlbiAoQHRlcnRpYXJ5QWN0aXZlV2l0aFVuZGVybGluZSA9IHRydWUpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLUB0ZXJ0aWFyeUxpbmVIZWlnaHQgMCBAdGVydGlhcnlBY3RpdmVMaW5lQ29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdGVydGlhcnlBY3RpdmVXaXRoT3ZlcmxpbmUgPSB0cnVlKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIEB0ZXJ0aWFyeUxpbmVIZWlnaHQgMCBAdGVydGlhcnlBY3RpdmVMaW5lQ29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzO1xuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdGVydGlhcnlBY3RpdmVXaXRoVW5kZXJsaW5lID0gZmFsc2UpIGFuZCAoQHRlcnRpYXJ5QWN0aXZlV2l0aE92ZXJsaW5lID0gZmFsc2UpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgY29sb3I6IEB0ZXJ0aWFyeUFjdGl2ZUNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdGVydGlhcnlBY3RpdmVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25CdXR0b25MYWJlbGVkSWNvbikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBMYWJlbGVkIEljb25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uLFxuICAgIC51aS5sYWJlbGVkLmljb24uYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEBsYWJlbGVkSWNvblBhZGRpbmcgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogQGhvcml6b250YWxQYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogTGVmdCBMYWJlbGVkICovXG4gICAgLnVpLmxhYmVsZWQuaWNvbi5idXR0b25zID4gLmJ1dHRvbiA+IC5pY29uLFxuICAgIC51aS5sYWJlbGVkLmljb24uYnV0dG9uID4gLmljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IEB2ZXJ0aWNhbFBhZGRpbmcgMDtcbiAgICAgICAgbWFyZ2luOiBAbGFiZWxlZEljb25NYXJnaW47XG4gICAgICAgIHdpZHRoOiBAbGFiZWxlZEljb25XaWR0aDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGxhYmVsZWRJY29uQmFja2dyb3VuZENvbG9yO1xuICAgICAgICBjb2xvcjogQGxhYmVsZWRJY29uQ29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IEBsYWJlbGVkSWNvbkxlZnRTaGFkb3c7XG4gICAgfVxuXG4gICAgLyogUmlnaHQgTGFiZWxlZCAqL1xuICAgIC51aVtjbGFzcyo9XCJyaWdodCBsYWJlbGVkXCJdLmljb24uYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogQGxhYmVsZWRJY29uUGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEBob3Jpem9udGFsUGFkZGluZyAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51aVtjbGFzcyo9XCJyaWdodCBsYWJlbGVkXCJdLmljb24uYnV0dG9uID4gLmljb24ge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICBib3gtc2hhZG93OiBAbGFiZWxlZEljb25SaWdodFNoYWRvdztcbiAgICB9XG5cbiAgICAudWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgPiAuYnV0dG9uID4gLmljb246OmJlZm9yZSxcbiAgICAudWkubGFiZWxlZC5pY29uLmJ1dHRvbiA+IC5pY29uOjpiZWZvcmUsXG4gICAgLnVpLmxhYmVsZWQuaWNvbi5idXR0b25zID4gLmJ1dHRvbiA+IC5pY29uOjphZnRlcixcbiAgICAudWkubGFiZWxlZC5pY29uLmJ1dHRvbiA+IC5pY29uOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbiA+IC5pY29uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAudWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCA+IC5pY29uIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICB9XG5cbiAgICAudWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkID4gLmljb24ge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgfVxuXG4gICAgLnVpLnZlcnRpY2FsLmxhYmVsZWQuaWNvbi5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQgPiAuaWNvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgfVxuXG4gICAgLnVpLnZlcnRpY2FsLmxhYmVsZWQuaWNvbi5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCA+IC5pY29uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICB9XG5cbiAgICAvKiBMb2FkaW5nIEljb24gaW4gTGFiZWxlZCBCdXR0b24gKi9cbiAgICAudWkubGFiZWxlZC5pY29uLmJ1dHRvbiA+IC5sb2FkaW5nLmljb246OmJlZm9yZSB7XG4gICAgICAgIGFuaW1hdGlvbjogbG9hZGVyIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvblRvZ2dsZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBUb2dnbGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIFRvZ2dsZSAoTW9kaWZpZXMgYWN0aXZlIHN0YXRlIHRvIGdpdmUgYWZmb3JkYW5jZXMpICovXG4gICAgLnVpLnRvZ2dsZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuICAgIC51aS5idXR0b25zIC5idXR0b24udG9nZ2xlLmFjdGl2ZSxcbiAgICAudWkuYnV0dG9uLnRvZ2dsZS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9nZ2xlQmFja2dyb3VuZENvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB0ZXh0LXNoYWRvdzogQHRvZ2dsZVRleHRTaGFkb3c7XG4gICAgICAgIGNvbG9yOiBAdG9nZ2xlQ29sb3I7XG4gICAgfVxuXG4gICAgLnVpLmJ1dHRvbi50b2dnbGUuYWN0aXZlOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRvZ2dsZUhvdmVyQmFja2dyb3VuZENvbG9yO1xuICAgICAgICB0ZXh0LXNoYWRvdzogQHRvZ2dsZUhvdmVyVGV4dFNoYWRvdztcbiAgICAgICAgY29sb3I6IEB0b2dnbGVIb3ZlckNvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uQ2lyY3VsYXIpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBDaXJjdWxhclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC51aS51aS5jaXJjdWxhci5idXR0b25zIC5idXR0b24sXG4gICAgLnVpLnVpLnVpLnVpLmNpcmN1bGFyLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhckJvcmRlclJhZGl1cztcbiAgICAgICAgbWluLXdpZHRoOiBAY2lyY3VsYXJNaW5XaWR0aDtcbiAgICB9XG5cbiAgICAudWkuY2lyY3VsYXIuYnV0dG9ucyAuYnV0dG9uID4gLmljb24sXG4gICAgLnVpLmNpcmN1bGFyLmJ1dHRvbiA+IC5pY29uIHtcbiAgICAgICAgd2lkdGg6IEBjaXJjdWxhckljb25XaWR0aDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIC51aS5jaXJjdWxhci5idXR0b25zQHtub3RWZXJ0aWNhbH1Ae25vdFNwYWNlZH0gLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGNpcmN1bGFyR3JvdXBNYXJnaW47XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uVmVydGljYWwpIHtcbiAgICAgICAgLnVpLnZlcnRpY2FsLmNpcmN1bGFyLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBAY2lyY3VsYXJWZXJ0aWNhbEdyb3VwTWFyZ2luO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uQmFzaWMpIHtcbiAgICAgICAgLnVpLmNpcmN1bGFyLmJhc2ljLmJ1dHRvbnMge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgJiAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IEBiYXNpY0dyb3VwQm9yZGVyO1xuICAgICAgICAgICAgICAgICYuYmFzaWMge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25CdXR0b25Pcikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBPciBCdXR0b25zXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5idXR0b25zIC5vciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IEBvckdhcDtcbiAgICAgICAgaGVpZ2h0OiBAb3JIZWlnaHQ7XG4gICAgICAgIHotaW5kZXg6IEBvclpJbmRleDtcbiAgICB9XG5cbiAgICAudWkuYnV0dG9ucyAub3I6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgICAgIGNvbnRlbnQ6IEBvclRleHQ7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBvckJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IEBvclRleHRTaGFkb3c7XG4gICAgICAgIG1hcmdpbi10b3A6IEBvclZlcnRpY2FsT2Zmc2V0O1xuICAgICAgICBtYXJnaW4tbGVmdDogQG9ySG9yaXpvbnRhbE9mZnNldDtcbiAgICAgICAgd2lkdGg6IEBvckNpcmNsZVNpemU7XG4gICAgICAgIGhlaWdodDogQG9yQ2lyY2xlU2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBvckxpbmVIZWlnaHQ7XG4gICAgICAgIGNvbG9yOiBAb3JUZXh0Q29sb3I7XG4gICAgICAgIGZvbnQtc3R5bGU6IEBvclRleHRTdHlsZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBvclRleHRXZWlnaHQ7XG4gICAgICAgIGJveC1zaGFkb3c6IEBvckJveFNoYWRvdztcbiAgICB9XG5cbiAgICAudWkuYnV0dG9ucyAub3JbZGF0YS10ZXh0XTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRleHQpO1xuICAgIH1cblxuICAgIC8qIEZsdWlkIE9yICovXG4gICAgLnVpLmZsdWlkLmJ1dHRvbnMgLm9yIHtcbiAgICAgICAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWkuZmx1aWQuYnV0dG9ucyAub3I6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkF0dGFjaGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBBdHRhY2hlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBTaW5ndWxhciAqL1xuICAgIC51aS5hdHRhY2hlZC5idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IEBhdHRhY2hlZEJveFNoYWRvdztcbiAgICB9XG5cbiAgICAvKiBUb3AgLyBCb3R0b20gKi9cbiAgICAudWkuYXR0YWNoZWQudG9wLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwIDA7XG4gICAgfVxuXG4gICAgLnVpLmF0dGFjaGVkLmJvdHRvbS5idXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzO1xuICAgIH1cblxuICAgIC8qIExlZnQgLyBSaWdodCAqL1xuICAgIC51aS5sZWZ0LmF0dGFjaGVkLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAYXR0YWNoZWRIb3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyAwIDAgQGJvcmRlclJhZGl1cztcbiAgICB9XG5cbiAgICAudWkucmlnaHQuYXR0YWNoZWQuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEBhdHRhY2hlZEhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwO1xuICAgIH1cblxuICAgIC8qIFBsdXJhbCAqL1xuICAgIC51aS5hdHRhY2hlZC5idXR0b25zIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB6LWluZGV4OiBAYXR0YWNoZWRaSW5kZXg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAYXR0YWNoZWRPZmZzZXQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGF0dGFjaGVkT2Zmc2V0O1xuICAgIH1cblxuICAgIC51aS5hdHRhY2hlZC5idXR0b25zIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLnVpLmF0dGFjaGVkLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLnVpLmF0dGFjaGVkLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAvKiBUb3AgLyBCb3R0b20gKi9cbiAgICAudWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmJ1dHRvbnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBAdG9wQXR0YWNoZWRPZmZzZXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwIDA7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIDAgMCAwO1xuICAgIH1cblxuICAgIC51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0uYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIEBib3JkZXJSYWRpdXMgMCAwO1xuICAgIH1cblxuICAgIC51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0uYnV0dG9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IEBib3R0b21BdHRhY2hlZE9mZnNldDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cztcbiAgICB9XG5cbiAgICAudWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIEBib3JkZXJSYWRpdXM7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAYm9yZGVyUmFkaXVzIDA7XG4gICAgfVxuXG4gICAgLyogTGVmdCAvIFJpZ2h0ICovXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgYXR0YWNoZWRcIl0uYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAYXR0YWNoZWRPZmZzZXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDA7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgYXR0YWNoZWRcIl0uYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBhdHRhY2hlZE9mZnNldDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAYm9yZGVyUmFkaXVzIDAgMDtcbiAgICB9XG5cbiAgICAudWlbY2xhc3MqPVwibGVmdCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAYXR0YWNoZWRPZmZzZXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAYm9yZGVyUmFkaXVzIDA7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdLmJ1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGF0dGFjaGVkT2Zmc2V0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIDAgMCBAYm9yZGVyUmFkaXVzO1xuICAgIH1cblxuICAgIC51aVtjbGFzcyo9XCJyaWdodCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogQGF0dGFjaGVkT2Zmc2V0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIDAgMCAwO1xuICAgIH1cblxuICAgIC51aVtjbGFzcyo9XCJyaWdodCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAYXR0YWNoZWRPZmZzZXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIEBib3JkZXJSYWRpdXM7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25CdXR0b25GbHVpZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEZsdWlkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mbHVpZC5idXR0b25zLFxuICAgIC51aS5mbHVpZC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAudWkuZmx1aWQuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uRXF1YWxXaWR0aCkge1xuICAgIC51aS50d28uYnV0dG9ucyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC51aS50d28uYnV0dG9ucyA+IC5idXR0b24ge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuICAgIC51aS50aHJlZS5idXR0b25zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnVpLnRocmVlLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgfVxuXG4gICAgLnVpLmZvdXIuYnV0dG9ucyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC51aS5mb3VyLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG5cbiAgICAudWkuZml2ZS5idXR0b25zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnVpLmZpdmUuYnV0dG9ucyA+IC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgIH1cblxuICAgIC51aS5zaXguYnV0dG9ucyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC51aS5zaXguYnV0dG9ucyA+IC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMTYuNjY2JTtcbiAgICB9XG5cbiAgICAudWkuc2V2ZW4uYnV0dG9ucyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC51aS5zZXZlbi5idXR0b25zID4gLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxNC4yODUlO1xuICAgIH1cblxuICAgIC51aS5laWdodC5idXR0b25zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnVpLmVpZ2h0LmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEyLjUlO1xuICAgIH1cblxuICAgIC51aS5uaW5lLmJ1dHRvbnMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAudWkubmluZS5idXR0b25zID4gLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMS4xMSU7XG4gICAgfVxuXG4gICAgLnVpLnRlbi5idXR0b25zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnVpLnRlbi5idXR0b25zID4gLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMCU7XG4gICAgfVxuXG4gICAgLnVpLmVsZXZlbi5idXR0b25zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnVpLmVsZXZlbi5idXR0b25zID4gLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiA5LjA5JTtcbiAgICB9XG5cbiAgICAudWkudHdlbHZlLmJ1dHRvbnMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAudWkudHdlbHZlLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDguMzMzMyU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25CdXR0b25WZXJ0aWNhbCkge1xuICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkZsdWlkKSB7XG4gICAgICAgIC8qIEZsdWlkIFZlcnRpY2FsIEJ1dHRvbnMgKi9cbiAgICAgICAgLnVpLmZsdWlkLnZlcnRpY2FsLmJ1dHRvbnMsXG4gICAgICAgIC51aS5mbHVpZC52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkVxdWFsV2lkdGgpIHtcbiAgICAgICAgLnVpLnR3by52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS50aHJlZS52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMzLjMzMyU7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuZm91ci52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5maXZlLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgICAgIGhlaWdodDogMjAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLnNpeC52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2LjY2NiU7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuc2V2ZW4udmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICAgICAgICAgICAgaGVpZ2h0OiAxNC4yODUlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLmVpZ2h0LnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgICAgIGhlaWdodDogMTIuNSU7XG4gICAgICAgIH1cblxuICAgICAgICAudWkubmluZS52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDExLjExJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS50ZW4udmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMCU7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuZWxldmVuLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgICAgIGhlaWdodDogOS4wOSU7XG4gICAgICAgIH1cblxuICAgICAgICAudWkudHdlbHZlLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgICAgIGhlaWdodDogOC4zMzMzJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkJ1dHRvbkNvbG9ycyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uQnV0dG9uQ29sb3JzLCB7XG4gICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICBAYzogQGNvbG9yc1tAQGNvbG9yXVtjb2xvcl07XG4gICAgICAgIEBoOiBAY29sb3JzW0BAY29sb3JdW2hvdmVyXTtcbiAgICAgICAgQGY6IEBjb2xvcnNbQEBjb2xvcl1bZm9jdXNdO1xuICAgICAgICBAZDogQGNvbG9yc1tAQGNvbG9yXVtkb3duXTtcbiAgICAgICAgQGE6IEBjb2xvcnNbQEBjb2xvcl1bYWN0aXZlXTtcbiAgICAgICAgQHQ6IEBjb2xvcnNbQEBjb2xvcl1bdGV4dF07XG4gICAgICAgIEBzOiBAY29sb3JzW0BAY29sb3JdW3NoYWRvd107XG4gICAgICAgIEBsOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0XTtcbiAgICAgICAgQGxoOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0SG92ZXJdO1xuICAgICAgICBAbGY6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRGb2N1c107XG4gICAgICAgIEBsZDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodERvd25dO1xuICAgICAgICBAbGE6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRBY3RpdmVdO1xuICAgICAgICBAbHQ6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRUZXh0XTtcbiAgICAgICAgQGxzOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0U2hhZG93XTtcbiAgICAgICAgQHR5OiBAY29sb3JzW0BAY29sb3JdW3RlcnRpYXJ5XTtcbiAgICAgICAgQHR5aDogQGNvbG9yc1tAQGNvbG9yXVt0ZXJ0aWFyeUhvdmVyXTtcbiAgICAgICAgQHR5ZjogQGNvbG9yc1tAQGNvbG9yXVt0ZXJ0aWFyeUZvY3VzXTtcbiAgICAgICAgQHR5YTogQGNvbG9yc1tAQGNvbG9yXVt0ZXJ0aWFyeUFjdGl2ZV07XG4gICAgICAgIEBpc0Rhcms6IEBjb2xvcnNbQEBjb2xvcl1baXNEYXJrXTtcbiAgICAgICAgQGlzVmVyeURhcms6IEBjb2xvcnNbQEBjb2xvcl1baXNWZXJ5RGFya107XG5cbiAgICAgICAgLnVpLkB7Y29sb3J9LmJ1dHRvbnMgLmJ1dHRvbixcbiAgICAgICAgLnVpLkB7Y29sb3J9LmJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYztcbiAgICAgICAgICAgIGNvbG9yOiBAdDtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiBAcztcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IEBjb2xvcmVkQmFja2dyb3VuZEltYWdlO1xuICAgICAgICB9XG4gICAgICAgIC51aS5Ae2NvbG9yfS5idXR0b24ge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLkB7Y29sb3J9LmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcbiAgICAgICAgLnVpLkB7Y29sb3J9LmJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaDtcbiAgICAgICAgICAgIGNvbG9yOiBAdDtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiBAcztcbiAgICAgICAgfVxuICAgICAgICAudWkuQHtjb2xvcn0uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuICAgICAgICAudWkuQHtjb2xvcn0uYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBmO1xuICAgICAgICAgICAgY29sb3I6IEB0O1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IEBzO1xuICAgICAgICB9XG4gICAgICAgIC51aS5Ae2NvbG9yfS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuICAgICAgICAudWkuQHtjb2xvcn0uYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZDtcbiAgICAgICAgICAgIGNvbG9yOiBAdDtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiBAcztcbiAgICAgICAgfVxuICAgICAgICAudWkuQHtjb2xvcn0uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbiAgICAgICAgLnVpLkB7Y29sb3J9LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuICAgICAgICAudWkuQHtjb2xvcn0uYWN0aXZlLmJ1dHRvbixcbiAgICAgICAgLnVpLkB7Y29sb3J9LmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGE7XG4gICAgICAgICAgICBjb2xvcjogQHQ7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogQHM7XG4gICAgICAgIH1cblxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25CYXNpYykge1xuICAgICAgICAgICAgLyogQmFzaWMgKi9cbiAgICAgICAgICAgIC51aS5iYXNpYy5Ae2NvbG9yfS5idXR0b25zIC5idXR0b24sXG4gICAgICAgICAgICAudWkuYmFzaWMuQHtjb2xvcn0uYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCBAYmFzaWNCb3JkZXJTaXplIEBjIGluc2V0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5iYXNpYy5Ae2NvbG9yfS5idXR0b25zIC5idXR0b246aG92ZXIsXG4gICAgICAgICAgICAudWkuYmFzaWMuQHtjb2xvcn0uYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAaCBpbnNldDtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuYmFzaWMuQHtjb2xvcn0uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuICAgICAgICAgICAgLnVpLmJhc2ljLkB7Y29sb3J9LmJ1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQGYgaW5zZXQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmJhc2ljLkB7Y29sb3J9LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4gICAgICAgICAgICAudWkuYmFzaWMuQHtjb2xvcn0uYWN0aXZlLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQGEgaW5zZXQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmJhc2ljLkB7Y29sb3J9LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4gICAgICAgICAgICAudWkuYmFzaWMuQHtjb2xvcn0uYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQGQgaW5zZXQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkludmVydGVkKSB7XG4gICAgICAgICAgICAvKiBJbnZlcnRlZCAqL1xuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJ1dHRvbnMgLmJ1dHRvbixcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgJiB3aGVuIChAaXNEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIEBpbnZlcnRlZEJvcmRlclNpemUgQHNvbGlkQm9yZGVyQ29sb3IgaW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJiB3aGVuIG5vdCAoQGlzRGFyaykge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsIGluc2V0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJ1dHRvbnMgLmJ1dHRvbjpob3ZlcixcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5idXR0b246aG92ZXIsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJ1dHRvbjpmb2N1cyxcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJ1dHRvbi5hY3RpdmUsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5idXR0b246YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAbHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGxoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5idXR0b246Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBsZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmFjdGl2ZS5idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBsYTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJ1dHRvbjphY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBsZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5iYXNpYy5idXR0b25zIC5idXR0b24sXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJhc2ljLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQGJhc2ljSW52ZXJ0ZWRCb3hTaGFkb3c7XG4gICAgICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgQGludmVydGVkQm9yZGVyU2l6ZSBAbGggaW5zZXQ7XG5cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEBpc0RhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmIHdoZW4gbm90IChAaXNEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5iYXNpYy5idXR0b246Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIEBpbnZlcnRlZEJvcmRlclNpemUgQGxmIGluc2V0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgQGludmVydGVkQm9yZGVyU2l6ZSBAbGEgaW5zZXQ7XG5cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEBpc0RhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmIHdoZW4gbm90IChAaXNEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25CYXNpYykge1xuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgQGludmVydGVkQm9yZGVyU2l6ZSBAbGQgaW5zZXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgJiB3aGVuIChAaXNEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJiB3aGVuIG5vdCAoQGlzRGFyaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uVGVydGlhcnkpIHtcbiAgICAgICAgICAgIC8qIFRlcnRpYXJ5ICovXG5cbiAgICAgICAgICAgIC51aS50ZXJ0aWFyeS5Ae2NvbG9yfS5idXR0b25zIC5idXR0b24sXG4gICAgICAgICAgICAudWkudGVydGlhcnkuQHtjb2xvcn0uYnV0dG9ucyAudGVydGlhcnkuYnV0dG9uLFxuICAgICAgICAgICAgLnVpLnRlcnRpYXJ5LkB7Y29sb3J9LmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEB0ZXJ0aWFyeVdpdGhVbmRlcmxpbmUgPSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLUB0ZXJ0aWFyeUxpbmVIZWlnaHQgMCBAdHk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJiB3aGVuIChAdGVydGlhcnlXaXRoT3ZlcmxpbmUgPSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgQHRlcnRpYXJ5TGluZUhlaWdodCAwIEB0eTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEB0ZXJ0aWFyeVdpdGhVbmRlcmxpbmUgPSBmYWxzZSkgYW5kIChAdGVydGlhcnlXaXRoT3ZlcmxpbmUgPSBmYWxzZSl7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29sb3I6IEBjO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudWkudGVydGlhcnkuQHtjb2xvcn0uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuICAgICAgICAgICAgLnVpLnRlcnRpYXJ5LkB7Y29sb3J9LmJ1dHRvbnMgYnV0dG9uOmhvdmVyLFxuICAgICAgICAgICAgLnVpLnRlcnRpYXJ5LkB7Y29sb3J9LmJ1dHRvbjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEB0ZXJ0aWFyeUhvdmVyV2l0aFVuZGVybGluZSA9IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtQHRlcnRpYXJ5TGluZUhlaWdodCAwIEB0eWg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJiB3aGVuIChAdGVydGlhcnlIb3ZlcldpdGhPdmVybGluZSA9IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCBAdGVydGlhcnlMaW5lSGVpZ2h0IDAgQHR5aDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEB0ZXJ0aWFyeUhvdmVyV2l0aFVuZGVybGluZSA9IGZhbHNlKSBhbmQgKEB0ZXJ0aWFyeUhvdmVyV2l0aE92ZXJsaW5lID0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogQHR5aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnVpLnRlcnRpYXJ5LkB7Y29sb3J9LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbiAgICAgICAgICAgIC51aS50ZXJ0aWFyeS5Ae2NvbG9yfS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246Zm9jdXMsXG4gICAgICAgICAgICAudWkudGVydGlhcnkuQHtjb2xvcn0uYnV0dG9uOmZvY3VzIHtcblxuICAgICAgICAgICAgICAgICYgd2hlbiAoQHRlcnRpYXJ5Rm9jdXNXaXRoVW5kZXJsaW5lID0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC1AdGVydGlhcnlMaW5lSGVpZ2h0IDAgQHR5ZjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEB0ZXJ0aWFyeUZvY3VzV2l0aE92ZXJsaW5lID0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIEB0ZXJ0aWFyeUxpbmVIZWlnaHQgMCBAdHlmO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgd2hlbiAoQHRlcnRpYXJ5Rm9jdXNXaXRoVW5kZXJsaW5lID0gZmFsc2UpIGFuZCAoQHRlcnRpYXJ5Rm9jdXNXaXRoT3ZlcmxpbmUgPSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbG9yOiBAdHlmO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudWkudGVydGlhcnkuQHtjb2xvcn0uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbiAgICAgICAgICAgIC51aS50ZXJ0aWFyeS5Ae2NvbG9yfS5idXR0b25zIC50ZXJ0aWFyeS5hY3RpdmUuYnV0dG9uLFxuICAgICAgICAgICAgLnVpLnRlcnRpYXJ5LkB7Y29sb3J9LmFjdGl2ZS5idXR0b24sXG4gICAgICAgICAgICAudWkudGVydGlhcnkuQHtjb2xvcn0uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbiAgICAgICAgICAgIC51aS50ZXJ0aWFyeS5Ae2NvbG9yfS5idXR0b25zIC50ZXJ0aWFyeS5idXR0b246YWN0aXZlLFxuICAgICAgICAgICAgLnVpLnRlcnRpYXJ5LkB7Y29sb3J9LmJ1dHRvbjphY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgJiB3aGVuIChAdGVydGlhcnlBY3RpdmVXaXRoVW5kZXJsaW5lID0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC1AdGVydGlhcnlMaW5lSGVpZ2h0IDAgQHR5YTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEB0ZXJ0aWFyeUFjdGl2ZVdpdGhPdmVybGluZSA9IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCBAdGVydGlhcnlMaW5lSGVpZ2h0IDAgQHR5YTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEB0ZXJ0aWFyeUFjdGl2ZVdpdGhVbmRlcmxpbmUgPSBmYWxzZSkgYW5kIChAdGVydGlhcnlBY3RpdmVXaXRoT3ZlcmxpbmUgPSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbG9yOiBAYTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uQnV0dG9uQ29uc2VxdWVuY2VzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25CdXR0b25Db25zZXF1ZW5jZXMsIHtcbiAgICAgICAgQGNvbnNlcXVlbmNlOiBAdmFsdWU7XG5cbiAgICAgICAgQF9iYWNrZ3JvdW5kQ29sb3I6IFwiQHtjb25zZXF1ZW5jZX1Db2xvclwiO1xuICAgICAgICBAX2JhY2tncm91bmRDb2xvckhvdmVyOiBcIkB7Y29uc2VxdWVuY2V9Q29sb3JIb3ZlclwiO1xuICAgICAgICBAX2JhY2tncm91bmRDb2xvckZvY3VzOiBcIkB7Y29uc2VxdWVuY2V9Q29sb3JGb2N1c1wiO1xuICAgICAgICBAX2JhY2tncm91bmRDb2xvckRvd246IFwiQHtjb25zZXF1ZW5jZX1Db2xvckRvd25cIjtcbiAgICAgICAgQF9iYWNrZ3JvdW5kQ29sb3JBY3RpdmU6IFwiQHtjb25zZXF1ZW5jZX1Db2xvckFjdGl2ZVwiO1xuICAgICAgICBAX3RleHRDb2xvcjogXCJAe2NvbnNlcXVlbmNlfVRleHRDb2xvclwiO1xuICAgICAgICBAX3RleHRTaGFkb3c6IFwiQHtjb25zZXF1ZW5jZX1UZXh0U2hhZG93XCI7XG5cbiAgICAgICAgLyogU3RhbmRhcmQgKi9cbiAgICAgICAgLnVpLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbnMgLmJ1dHRvbixcbiAgICAgICAgLnVpLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAQF9iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICBjb2xvcjogQEBfdGV4dENvbG9yO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IEBAX3RleHRTaGFkb3c7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBAY29sb3JlZEJhY2tncm91bmRJbWFnZTtcbiAgICAgICAgfVxuICAgICAgICAudWkuQHtjb25zZXF1ZW5jZX0uYnV0dG9uIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBjb2xvcmVkQm94U2hhZG93O1xuICAgICAgICB9XG4gICAgICAgIC51aS5Ae2NvbnNlcXVlbmNlfS5idXR0b25zIC5idXR0b246aG92ZXIsXG4gICAgICAgIC51aS5Ae2NvbnNlcXVlbmNlfS5idXR0b246aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQEBfYmFja2dyb3VuZENvbG9ySG92ZXI7XG4gICAgICAgICAgICBjb2xvcjogQEBfdGV4dENvbG9yO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IEBAX3RleHRTaGFkb3c7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbiAgICAgICAgLnVpLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAQF9iYWNrZ3JvdW5kQ29sb3JGb2N1cztcbiAgICAgICAgICAgIGNvbG9yOiBAQF90ZXh0Q29sb3I7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogQEBfdGV4dFNoYWRvdztcbiAgICAgICAgfVxuICAgICAgICAudWkuQHtjb25zZXF1ZW5jZX0uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbiAgICAgICAgLnVpLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbjphY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQEBfYmFja2dyb3VuZENvbG9yRG93bjtcbiAgICAgICAgICAgIGNvbG9yOiBAQF90ZXh0Q29sb3I7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogQEBfdGV4dFNoYWRvdztcbiAgICAgICAgfVxuICAgICAgICAudWkuQHtjb25zZXF1ZW5jZX0uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbiAgICAgICAgLnVpLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuICAgICAgICAudWkuQHtjb25zZXF1ZW5jZX0uYWN0aXZlLmJ1dHRvbixcbiAgICAgICAgLnVpLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQEBfYmFja2dyb3VuZENvbG9yQWN0aXZlO1xuICAgICAgICAgICAgY29sb3I6IEBAX3RleHRDb2xvcjtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiBAQF90ZXh0U2hhZG93O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkJhc2ljKSB7XG4gICAgICAgICAgICAvKiBCYXNpYyAqL1xuICAgICAgICAgICAgLnVpLmJhc2ljLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbnMgLmJ1dHRvbixcbiAgICAgICAgICAgIC51aS5iYXNpYy5Ae2NvbnNlcXVlbmNlfS5idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIEBiYXNpY0JvcmRlclNpemUgQEBfYmFja2dyb3VuZENvbG9yIGluc2V0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAQF9iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuYmFzaWMuQHtjb25zZXF1ZW5jZX0uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuICAgICAgICAgICAgLnVpLmJhc2ljLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQEBfYmFja2dyb3VuZENvbG9ySG92ZXIgaW5zZXQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBAX2JhY2tncm91bmRDb2xvckhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmJhc2ljLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbiAgICAgICAgICAgIC51aS5iYXNpYy5Ae2NvbnNlcXVlbmNlfS5idXR0b246Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBAX2JhY2tncm91bmRDb2xvckZvY3VzIGluc2V0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAQF9iYWNrZ3JvdW5kQ29sb3JIb3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5iYXNpYy5Ae2NvbnNlcXVlbmNlfS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuICAgICAgICAgICAgLnVpLmJhc2ljLkB7Y29uc2VxdWVuY2V9LmFjdGl2ZS5idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBAX2JhY2tncm91bmRDb2xvckFjdGl2ZSBpbnNldDtcbiAgICAgICAgICAgICAgICBjb2xvcjogQEBfYmFja2dyb3VuZENvbG9yRG93bjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5iYXNpYy5Ae2NvbnNlcXVlbmNlfS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuICAgICAgICAgICAgLnVpLmJhc2ljLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbjphY3RpdmUge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBAX2JhY2tncm91bmRDb2xvckRvd24gaW5zZXQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBAX2JhY2tncm91bmRDb2xvckRvd247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuYnV0dG9uc0B7bm90VmVydGljYWx9ID4gLmJhc2ljLkB7Y29uc2VxdWVuY2V9LmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC1AYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25CdXR0b25Hcm91cHMpIHtcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICAgIEdyb3Vwc1xuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICAudWkuYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgbWFyZ2luOiBAdmVydGljYWxNYXJnaW4gQGhvcml6b250YWxNYXJnaW4gMCAwO1xuICAgIH1cblxuICAgIC51aS5idXR0b25zQHtub3RCYXNpY31Ae25vdEludmVydGVkfSB7XG4gICAgICAgIGJveC1zaGFkb3c6IEBncm91cEJveFNoYWRvdztcbiAgICB9XG5cbiAgICAvKiBDbGVhcmZpeCAqL1xuICAgIC51aS5idXR0b25zOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiLlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC8qIFN0YW5kYXJkIEdyb3VwICovXG4gICAgLnVpLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBtYXJnaW46IEBncm91cEJ1dHRvbk9mZnNldDtcbiAgICB9XG5cbiAgICAudWkuYnV0dG9uc0B7bm90QmFzaWN9QHtub3RJbnZlcnRlZH0gPiAuYnV0dG9uQHtub3RCYXNpY31Ae25vdEludmVydGVkfSB7XG4gICAgICAgIGJveC1zaGFkb3c6IEBncm91cEJ1dHRvbkJveFNoYWRvdztcbiAgICB9XG5cbiAgICAudWkuYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIH1cblxuICAgIC51aS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uVmVydGljYWwpIHtcbiAgICAgICAgLyogVmVydGljYWwgU3R5bGUgKi9cbiAgICAgICAgLnVpLnZlcnRpY2FsLmJ1dHRvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IEB2ZXJ0aWNhbEdyb3VwT2Zmc2V0O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICZAe25vdEJhc2ljfSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQHZlcnRpY2FsQm94U2hhZG93O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnVpLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgICAgIH1cblxuICAgICAgICAudWkudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS52ZXJ0aWNhbC5idXR0b25zIC5idXR0b246b25seS1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkJhc2ljKSB7XG4gICAgICAgICAgICAudWkudmVydGljYWwuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uV3JhcHBpbmcpIHtcbiAgICAgICAgLnVpLndyYXBwaW5nLmJ1dHRvbnMge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkJhc2ljKSB7XG4gICAgICAgICAgICAudWkud3JhcHBpbmcuYmFzaWMuYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICAmIC5idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBAYmFzaWNHcm91cEJvcmRlcjtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkNvbXBhY3QpIHtcbiAgICAgICAgICAgIC51aS5jb21wYWN0LndyYXBwaW5nLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25XcmFwcGVkKSB7XG4gICAgICAgIC51aS53cmFwcGVkLmJ1dHRvbnNAe25vdFNwYWNlZH0ge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAmIC5idXR0b24ge1xuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAYmFzaWNCb3JkZXJSYWRpdXMgMCAwIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAYmFzaWNCb3JkZXJSYWRpdXMgMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uQXR0YWNoZWQpIHtcbiAgICAgICAgICAgIC51aS53cmFwcGVkW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5idXR0b25zIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAYmFzaWNCb3JkZXJSYWRpdXMgMCAwIDA7XG4gICAgICAgICAgICAgICAgJiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS53cmFwcGVkW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5idXR0b25zIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCBAYmFzaWNCb3JkZXJSYWRpdXM7XG4gICAgICAgICAgICAgICAgJiAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uU3BhY2VkKSB7XG4gICAgICAgIC51aS5zcGFjZWQuYnV0dG9ucyAudWkuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IEBzcGFjZWRNYXJnaW47XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEBzcGFjZWRNYXJnaW47XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAYmFzaWNCb3JkZXJSYWRpdXM7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uQmFzaWMpIHtcbiAgICAgICAgICAgIC51aS5zcGFjZWQuYmFzaWMuYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICYgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogQGJhc2ljR3JvdXBCb3JkZXI7XG4gICAgICAgICAgICAgICAgICAgICYuYmFzaWMge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQnV0dG9uVmVydGljYWwpIHtcbiAgICAgICAgICAgICAgICAudWkuc3BhY2VkLmJhc2ljLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IEBiYXNpY0dyb3VwQm9yZGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbldyYXBwaW5nKSB7XG4gICAgICAgICAgICAgICAgLnVpLnNwYWNlZC5iYXNpYy53cmFwcGluZy5idXR0b25zIC5idXR0b25Ae25vdEJhc2ljfSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IEBiYXNpY0dyb3VwQm9yZGVyO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IEBiYXNpY0dyb3VwQm9yZGVyO1xuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBAYmFzaWNHcm91cEJvcmRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkludmVydGVkKSB7XG4gICAgICAgICAgICAgICAgLnVpLnNwYWNlZC5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5iYXNpYy5idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBlKCUoXCJjYWxjKCVkICsgJWQpXCIsIEBzcGFjZWRNYXJnaW4sIEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplKSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkJhc2ljKSB7XG4gICAgICAgIC51aS5iYXNpYy5idXR0b25zQHtub3RWZXJ0aWNhbH0uaW52ZXJ0ZWQgLmJ1dHRvbixcbiAgICAgICAgLnVpLmJhc2ljLmJ1dHRvbnNAe25vdFZlcnRpY2FsfSAuYmFzaWMuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtQGJhc2ljQ29sb3JlZEJvcmRlclNpemU7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmJhc2ljLmJ1dHRvbnNAe25vdFZlcnRpY2FsfUB7bm90U3BhY2VkfUB7bm90SW52ZXJ0ZWR9IC5iYXNpYy5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLUBiYXNpY0NvbG9yZWRCb3JkZXJTaXplO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25CdXR0b25BdHRhY2hlZCkgb3IgKEB2YXJpYXRpb25CdXR0b25JbnZlcnRlZCkge1xuICAgICAgICAgICAgLnVpLmludmVydGVkLmJhc2ljLmJ1dHRvbnNAe25vdFNwYWNlZH0gLmJ1dHRvbixcbiAgICAgICAgICAgIC51aS5hdHRhY2hlZC5iYXNpYy5idXR0b25zQHtub3RXcmFwcGluZ31Ae25vdEludmVydGVkfSAuYmFzaWMuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBAYXR0YWNoZWRPZmZzZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmJhc2ljLmJ1dHRvbnNAe25vdFZlcnRpY2FsfUB7bm90QXR0YWNoZWR9QHtub3RTcGFjZWR9QHtub3RXcmFwcGluZ31Ae25vdEludmVydGVkfSAuYmFzaWMuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC1AYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBDb250YWluZXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcImVsZW1lbnRcIjtcbkBlbGVtZW50OiBcImNvbnRhaW5lclwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdEZsdWlkOiBpZihAdmFyaWF0aW9uQ29udGFpbmVyRmx1aWQsIGUoXCI6bm90KC5mbHVpZClcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ29udGFpbmVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBBbGwgU2l6ZXMgKi9cbi51aS5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogQG1heFdpZHRoO1xufVxuXG4vKiBNb2JpbGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAudWkudWkudWkuY29udGFpbmVyQHtub3RGbHVpZH0ge1xuICAgICAgICB3aWR0aDogQG1vYmlsZVdpZHRoO1xuICAgICAgICBtYXJnaW4tbGVmdDogQG1vYmlsZUd1dHRlcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAbW9iaWxlR3V0dGVyO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJHcmlkKSBvciAoQHZhcmlhdGlvbkNvbnRhaW5lclJlbGF4ZWQpIHtcbiAgICAgICAgLnVpLnVpLnVpLmdyaWQuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiBAbW9iaWxlR3JpZFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclJlbGF4ZWQpIHtcbiAgICAgICAgICAgIC51aS51aS51aS5yZWxheGVkLmdyaWQuY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogQG1vYmlsZVJlbGF4ZWRHcmlkV2lkdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJWZXJ5UmVsYXhlZCkge1xuICAgICAgICAgICAgICAgIC51aS51aS51aS52ZXJ5LnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogQG1vYmlsZVZlcnlSZWxheGVkR3JpZFdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogVGFibGV0ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RUYWJsZXRTY3JlZW4pIHtcbiAgICAudWkudWkudWkuY29udGFpbmVyQHtub3RGbHVpZH0ge1xuICAgICAgICB3aWR0aDogQHRhYmxldFdpZHRoO1xuICAgICAgICBtYXJnaW4tbGVmdDogQHRhYmxldEd1dHRlcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdGFibGV0R3V0dGVyO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJHcmlkKSBvciAoQHZhcmlhdGlvbkNvbnRhaW5lclJlbGF4ZWQpIHtcbiAgICAgICAgLnVpLnVpLnVpLmdyaWQuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGFibGV0R3JpZFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclJlbGF4ZWQpIHtcbiAgICAgICAgICAgIC51aS51aS51aS5yZWxheGVkLmdyaWQuY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogQHRhYmxldFJlbGF4ZWRHcmlkV2lkdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJWZXJ5UmVsYXhlZCkge1xuICAgICAgICAgICAgICAgIC51aS51aS51aS52ZXJ5LnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogQHRhYmxldFZlcnlSZWxheGVkR3JpZFdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogU21hbGwgTW9uaXRvciAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAY29tcHV0ZXJCcmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RTbWFsbE1vbml0b3IpIHtcbiAgICAudWkudWkudWkuY29udGFpbmVyQHtub3RGbHVpZH0ge1xuICAgICAgICB3aWR0aDogQGNvbXB1dGVyV2lkdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAY29tcHV0ZXJHdXR0ZXI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGNvbXB1dGVyR3V0dGVyO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJHcmlkKSBvciAoQHZhcmlhdGlvbkNvbnRhaW5lclJlbGF4ZWQpIHtcbiAgICAgICAgLnVpLnVpLnVpLmdyaWQuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiBAY29tcHV0ZXJHcmlkV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVsYXhlZCkge1xuICAgICAgICAgICAgLnVpLnVpLnVpLnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBAY29tcHV0ZXJSZWxheGVkR3JpZFdpZHRoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyVmVyeVJlbGF4ZWQpIHtcbiAgICAgICAgICAgICAgICAudWkudWkudWkudmVyeS5yZWxheGVkLmdyaWQuY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IEBjb21wdXRlclZlcnlSZWxheGVkR3JpZFdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogTGFyZ2UgTW9uaXRvciAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAbGFyZ2VNb25pdG9yQnJlYWtwb2ludCkge1xuICAgIC51aS51aS51aS5jb250YWluZXJAe25vdEZsdWlkfSB7XG4gICAgICAgIHdpZHRoOiBAbGFyZ2VNb25pdG9yV2lkdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAbGFyZ2VNb25pdG9yR3V0dGVyO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBsYXJnZU1vbml0b3JHdXR0ZXI7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lckdyaWQpIG9yIChAdmFyaWF0aW9uQ29udGFpbmVyUmVsYXhlZCkge1xuICAgICAgICAudWkudWkudWkuZ3JpZC5jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IEBsYXJnZU1vbml0b3JHcmlkV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVsYXhlZCkge1xuICAgICAgICAgICAgLnVpLnVpLnVpLnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBAbGFyZ2VNb25pdG9yUmVsYXhlZEdyaWRXaWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclZlcnlSZWxheGVkKSB7XG4gICAgICAgICAgICAgICAgLnVpLnVpLnVpLnZlcnkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBAbGFyZ2VNb25pdG9yVmVyeVJlbGF4ZWRHcmlkV2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJUZXh0KSB7XG4gICAgLyogVGV4dCBDb250YWluZXIgKi9cbiAgICAudWkudGV4dC5jb250YWluZXIge1xuICAgICAgICBmb250LWZhbWlseTogQHRleHRGb250RmFtaWx5O1xuICAgICAgICBtYXgtd2lkdGg6IEB0ZXh0V2lkdGg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAdGV4dExpbmVIZWlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogQHRleHRTaXplO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyV2lkZSkge1xuICAgIC8qIFdpZGUgQ29udGFpbmVyICovXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAdGFibGV0QnJlYWtwb2ludCkgYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0VGFibGV0U2NyZWVuKSB7XG4gICAgICAgIC51aS51aS51aS53aWRlLmNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogQHRhYmxldFdpZGVXaWR0aDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBjb21wdXRlckJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdFNtYWxsTW9uaXRvcikge1xuICAgICAgICAudWkudWkudWkud2lkZS5jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IEBjb21wdXRlcldpZGVXaWR0aDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBsYXJnZU1vbml0b3JCcmVha3BvaW50KSB7XG4gICAgICAgIC51aS51aS51aS53aWRlLmNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogQGxhcmdlTW9uaXRvcldpZGVXaWR0aDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyRmx1aWQpIHtcbiAgICAvKiBGbHVpZCAqL1xuICAgIC51aS5mbHVpZC5jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4mIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJBbGlnbmVkKSB7XG4gICAgLnVpW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5jb250YWluZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0uY29udGFpbmVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5jb250YWluZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJKdXN0aWZpZWQpIHtcbiAgICAudWkuanVzdGlmaWVkLmNvbnRhaW5lciB7XG4gICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICAgIGh5cGhlbnM6IGF1dG87XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyU2Nyb2xsaW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNjcm9sbGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC51aS5zY3JvbGxpbmcuY29udGFpbmVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IEBvdmVyc2Nyb2xsQmVoYXZpb3I7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyU2Nyb2xsaW5nU2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLnNob3J0IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclNjcm9sbGluZ1ZlcnlTaG9ydCkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNjcm9sbGluZy5jb250YWluZXIge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJTY3JvbGxpbmdMb25nKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lci5sb25nIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4SGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEhlaWdodCAqIDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclNjcm9sbGluZ1ZlcnlMb25nKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lcltjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4SGVpZ2h0ICogMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSB7XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclNjcm9sbGluZ1Nob3J0KSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lci5zaG9ydCB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJTY3JvbGxpbmdWZXJ5U2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuY29udGFpbmVyW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS5zY3JvbGxpbmcuY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhIZWlnaHQ7XG4gICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4SGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclNjcm9sbGluZ0xvbmcpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLmxvbmcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhIZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4SGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyU2Nyb2xsaW5nVmVyeUxvbmcpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuY29udGFpbmVyW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEhlaWdodCAqIDM7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBjb21wdXRlckJyZWFrcG9pbnQpIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyU2Nyb2xsaW5nU2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLnNob3J0IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJTY3JvbGxpbmdWZXJ5U2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuY29udGFpbmVyW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhIZWlnaHQ7XG4gICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyU2Nyb2xsaW5nTG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5jb250YWluZXIubG9uZyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4SGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4SGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyU2Nyb2xsaW5nVmVyeUxvbmcpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuY29udGFpbmVyW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4SGVpZ2h0ICogMztcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4SGVpZ2h0ICogMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAd2lkZXNjcmVlbk1vbml0b3JCcmVha3BvaW50KSB7XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclNjcm9sbGluZ1Nob3J0KSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lci5zaG9ydCB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclNjcm9sbGluZ1ZlcnlTaG9ydCkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkuc2Nyb2xsaW5nLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEhlaWdodDtcbiAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4SGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclNjcm9sbGluZ0xvbmcpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuY29udGFpbmVyLmxvbmcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4SGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhIZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Db250YWluZXJTY3JvbGxpbmdWZXJ5TG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5jb250YWluZXJbY2xhc3MqPVwidmVyeSBsb25nXCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEhlaWdodCAqIDM7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvbkNvbnRhaW5lclJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4SGVpZ2h0ICogMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQ29udGFpbmVyUmVzaXphYmxlKSB7XG4gICAgICAgIC51aS5yZXNpemFibGUuc2Nyb2xsaW5nLmNvbnRhaW5lciB7XG4gICAgICAgICAgICByZXNpemU6IEByZXNpemFibGVEaXJlY3Rpb247XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIERpdmlkZXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcImVsZW1lbnRcIjtcbkBlbGVtZW50OiBcImRpdmlkZXJcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3RIb3Jpem9udGFsOiBpZihAdmFyaWF0aW9uRGl2aWRlckhvcml6b250YWwsIGUoXCI6bm90KC5ob3Jpem9udGFsKVwiKSk7XG5Abm90VmVydGljYWw6IGlmKEB2YXJpYXRpb25EaXZpZGVyVmVydGljYWwsIGUoXCI6bm90KC52ZXJ0aWNhbClcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRGl2aWRlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmRpdmlkZXIge1xuICAgIG1hcmdpbjogQG1hcmdpbjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZm9udC13ZWlnaHQ6IEBmb250V2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBAdGV4dFRyYW5zZm9ybTtcbiAgICBsZXR0ZXItc3BhY2luZzogQGxldHRlclNwYWNpbmc7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNpY1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5kaXZpZGVyQHtub3RWZXJ0aWNhbH1Ae25vdEhvcml6b250YWx9IHtcbiAgICBib3JkZXItdG9wOiBAc2hhZG93V2lkdGggQGJvcmRlclN0eWxlIEBzaGFkb3dDb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiBAaGlnaGxpZ2h0V2lkdGggQGJvcmRlclN0eWxlIEBoaWdobGlnaHRDb2xvcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIEFsbG93IGRpdmlkZXIgYmV0d2VlbiBlYWNoIGNvbHVtbiByb3cgKi9cbi51aS5ncmlkID4gLmNvbHVtbiArIC5kaXZpZGVyQHtub3RWZXJ0aWNhbH0sXG4udWkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uICsgLmRpdmlkZXJAe25vdFZlcnRpY2FsfSB7XG4gICAgbGVmdDogYXV0bztcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRGl2aWRlckhvcml6b250YWwpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIEhvcml6b250YWxcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5ob3Jpem9udGFsLmRpdmlkZXIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IEBob3Jpem9udGFsTWFyZ2luO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC51aS5ob3Jpem9udGFsLmRpdmlkZXI6OmJlZm9yZSxcbiAgICAudWkuaG9yaXpvbnRhbC5kaXZpZGVyOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuXG4gICAgLnVpLmhvcml6b250YWwuZGl2aWRlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgQGhvcml6b250YWxEaXZpZGVyTWFyZ2luIHRvcCA1MCU7XG4gICAgfVxuICAgIC51aS5ob3Jpem9udGFsLmRpdmlkZXI6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBAaG9yaXpvbnRhbERpdmlkZXJNYXJnaW4gdG9wIDUwJTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRpdmlkZXJWZXJ0aWNhbCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFZlcnRpY2FsXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudmVydGljYWwuZGl2aWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG5cbiAgICAudWkudmVydGljYWwuZGl2aWRlcjo6YmVmb3JlLFxuICAgIC51aS52ZXJ0aWNhbC5kaXZpZGVyOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBib3JkZXItbGVmdDogQHNoYWRvd1dpZHRoIEBib3JkZXJTdHlsZSBAc2hhZG93Q29sb3I7XG4gICAgICAgIGJvcmRlci1yaWdodDogQGhpZ2hsaWdodFdpZHRoIEBib3JkZXJTdHlsZSBAaGlnaGxpZ2h0Q29sb3I7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IEB2ZXJ0aWNhbERpdmlkZXJIZWlnaHQ7XG4gICAgfVxuXG4gICAgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogLTEwMCU7XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbC5kaXZpZGVyOjphZnRlciB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRTdGFja2FibGUpIHtcbiAgICAgICAgLyogSW5zaWRlIGdyaWQgKi9cbiAgICAgICAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyLFxuICAgICAgICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlciB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgICAgIC51aS5zdGFja2FibGUuZ3JpZCAuY29sdW1uICsgLnVpLnZlcnRpY2FsLmRpdmlkZXIsXG4gICAgICAgICAgICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAuY29sdW1uICsgLnVpLnZlcnRpY2FsLmRpdmlkZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogQHZlcnRpY2FsRGl2aWRlck1hcmdpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5zdGFja2FibGUuZ3JpZCAudWkudmVydGljYWwuZGl2aWRlcixcbiAgICAgICAgICAgIC51aS5ncmlkIC5zdGFja2FibGUucm93IC51aS52ZXJ0aWNhbC5kaXZpZGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW46IEBob3Jpem9udGFsTWFyZ2luO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmJlZm9yZSxcbiAgICAgICAgICAgIC51aS5ncmlkIC5zdGFja2FibGUucm93IC51aS52ZXJ0aWNhbC5kaXZpZGVyOjpiZWZvcmUsXG4gICAgICAgICAgICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmFmdGVyLFxuICAgICAgICAgICAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyOjpiZWZvcmUsXG4gICAgICAgICAgICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBAaG9yaXpvbnRhbERpdmlkZXJNYXJnaW4gdG9wIDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5zdGFja2FibGUuZ3JpZCAudWkudmVydGljYWwuZGl2aWRlcjo6YWZ0ZXIsXG4gICAgICAgICAgICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgQGhvcml6b250YWxEaXZpZGVyTWFyZ2luIHRvcCA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRpdmlkZXJJY29uKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBJY29uXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZGl2aWRlciA+IC5pY29uIHtcbiAgICAgICAgbWFyZ2luOiBAZGl2aWRlckljb25NYXJnaW47XG4gICAgICAgIGZvbnQtc2l6ZTogQGRpdmlkZXJJY29uU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25EaXZpZGVySG9yaXpvbnRhbCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBIZWFkZXJcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAudWkuaG9yaXpvbnRhbC5kaXZpZGVyW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5ob3Jpem9udGFsLmRpdmlkZXJbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRpdmlkZXJIaWRkZW4pIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBIaWRkZW5cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5oaWRkZW4uZGl2aWRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWkuaGlkZGVuLmRpdmlkZXI6OmJlZm9yZSxcbiAgICAudWkuaGlkZGVuLmRpdmlkZXI6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgSW52ZXJ0ZWRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIChAdmFyaWF0aW9uRGl2aWRlckludmVydGVkKSB7XG4gICAgLnVpLmRpdmlkZXIuaW52ZXJ0ZWQsXG4gICAgLnVpLnZlcnRpY2FsLmludmVydGVkLmRpdmlkZXIsXG4gICAgLnVpLmhvcml6b250YWwuaW52ZXJ0ZWQuZGl2aWRlciB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgfVxuICAgIC51aS5kaXZpZGVyLmludmVydGVkLFxuICAgIC51aS5kaXZpZGVyLmludmVydGVkOjphZnRlcixcbiAgICAudWkuZGl2aWRlci5pbnZlcnRlZDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAaW52ZXJ0ZWRTaGFkb3dDb2xvciBAaW52ZXJ0ZWRIaWdobGlnaHRDb2xvciBAaW52ZXJ0ZWRIaWdobGlnaHRDb2xvciBAaW52ZXJ0ZWRTaGFkb3dDb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBGaXR0ZWRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIChAdmFyaWF0aW9uRGl2aWRlckZpdHRlZCkge1xuICAgIC51aS5maXR0ZWQuZGl2aWRlciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRpdmlkZXJDbGVhcmluZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENsZWFyaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2xlYXJpbmcuZGl2aWRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRGl2aWRlclNlY3Rpb24pIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBTZWN0aW9uXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuc2VjdGlvbi5kaXZpZGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogQHNlY3Rpb25NYXJnaW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IEBzZWN0aW9uTWFyZ2luO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZGl2aWRlciB7XG4gICAgZm9udC1zaXplOiBAbWVkaXVtO1xufVxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkRpdmlkZXJTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uRGl2aWRlclNpemVzLCB7XG4gICAgICAgIEBzOiBAQHZhbHVlO1xuICAgICAgICAudWkuQHt2YWx1ZX0uZGl2aWRlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmhvcml6b250YWwuZGl2aWRlcjo6YmVmb3JlLFxuLnVpLmhvcml6b250YWwuZGl2aWRlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFCYUFBQUFBQ0NBWUFBQUN1VEh1S0FBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeUZwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOUzFqTURFMElEYzVMakUxTVRRNE1Td2dNakF4TXk4d015OHhNeTB4TWpvd09Ub3hOU0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESUNoWGFXNWtiM2R6S1NJZ2VHMXdUVTA2U1c1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRvMU9UaEJSRFk0T1VORE1UWXhNVVUwT1VFM05VVkdPRUpETXpNek1qRTJOeUlnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG8xT1RoQlJEWTRRVU5ETVRZeE1VVTBPVUUzTlVWR09FSkRNek16TWpFMk55SStJRHg0YlhCTlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPalU1T0VGRU5qZzNRME14TmpFeFJUUTVRVGMxUlVZNFFrTXpNek15TVRZM0lpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qVTVPRUZFTmpnNFEwTXhOakV4UlRRNVFUYzFSVVk0UWtNek16TXlNVFkzSWk4K0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4K1ZVNTEzZ0FBQURWSlJFRlVlTnJzMERFTkFDQVFCREJJV0xHQkpRYnkvbVVjSm41c0pYUW1PUU1BQUFBQUFKcXQrMnByQUFBQUFBQ2cyeGRnQU5rNkJFVnVKZ3lNQUFBQUFFbEZUa1N1UW1DQ1wiKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAoQHRhYmxldEJyZWFrcG9pbnQgLSAxcHgpKSB7XG4gICAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyOjpiZWZvcmUsXG4gICAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmJlZm9yZSxcbiAgICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXI6OmFmdGVyLFxuICAgIC51aS5ncmlkIC5zdGFja2FibGUucm93IC51aS52ZXJ0aWNhbC5kaXZpZGVyOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFCYUFBQUFBQ0NBWUFBQUN1VEh1S0FBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeUZwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOUzFqTURFMElEYzVMakUxTVRRNE1Td2dNakF4TXk4d015OHhNeTB4TWpvd09Ub3hOU0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESUNoWGFXNWtiM2R6S1NJZ2VHMXdUVTA2U1c1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRvMU9UaEJSRFk0T1VORE1UWXhNVVUwT1VFM05VVkdPRUpETXpNek1qRTJOeUlnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG8xT1RoQlJEWTRRVU5ETVRZeE1VVTBPVUUzTlVWR09FSkRNek16TWpFMk55SStJRHg0YlhCTlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPalU1T0VGRU5qZzNRME14TmpFeFJUUTVRVGMxUlVZNFFrTXpNek15TVRZM0lpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qVTVPRUZFTmpnNFEwTXhOakV4UlRRNVFUYzFSVVk0UWtNek16TXlNVFkzSWk4K0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4K1ZVNTEzZ0FBQURWSlJFRlVlTnJzMERFTkFDQVFCREJJV0xHQkpRYnkvbVVjSm41c0pYUW1PUU1BQUFBQUFKcXQrMnByQUFBQUFBQ2cyeGRnQU5rNkJFVnVKZ3lNQUFBQUFFbEZUa1N1UW1DQ1wiKTtcbiAgICB9XG59XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBFbW9qaVxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiZWxlbWVudFwiO1xuQGVsZW1lbnQ6IFwiZW1vamlcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3REaXNhYmxlZDogaWYoQHZhcmlhdGlvbkVtb2ppRGlzYWJsZWQsIGUoXCI6bm90KC5kaXNhYmxlZClcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEVtb2ppXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5lbVtkYXRhLWVtb2ppXSB7XG4gICAgb3BhY2l0eTogQG9wYWNpdHk7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5lbVtkYXRhLWVtb2ppXTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMDBBMFxcMDBBMFxcMDBBMFxcMDBBMFxcMDBBMFxcMDBBMFxcMDBBMFwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogQGVtb2ppTGluZUhlaWdodDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgJiB3aGVuIG5vdCAoQGVtb2ppRmlsZVR5cGUgPSBcInN2Z1wiKSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25FbW9qaURpc2FibGVkKSB7XG4gICAgZW1bZGF0YS1lbW9qaV0uZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiBAZGlzYWJsZWRPcGFjaXR5O1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uRW1vamlMb2FkaW5nKSB7XG4gICAgZW1bZGF0YS1lbW9qaV0ubG9hZGluZzo6YmVmb3JlIHtcbiAgICAgICAgYW5pbWF0aW9uOiBsb2FkZXIgQGxvYWRpbmdEdXJhdGlvbiBsaW5lYXIgaW5maW5pdGU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25FbW9qaUxpbmspIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgTGlua1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICBlbVtkYXRhLWVtb2ppXS5saW5rQHtub3REaXNhYmxlZH0ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG5cbmVhY2goQHNpemUtbWFwLCB7XG4gICAgZW1bZGF0YS1lbW9qaV0uQHtrZXl9IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbSAqIEB2YWx1ZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59KTtcblxuZWFjaChAZW1vamktbWFwLCB7XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRW1vamlDb2xvbnMpIHtcbiAgICAgICAgZW1bZGF0YS1lbW9qaT1cIjpAe3ZhbHVlfTpcIl06OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2Vtb2ppUGF0aH1Ae2tleX0uQHtlbW9qaUZpbGVUeXBlfVwiKTtcbiAgICAgICAgfVxuICAgICAgICBlbVtkYXRhLWVtb2ppPVwiQHt2YWx1ZX1cIl06OmJlZm9yZTpleHRlbmQoZW1bZGF0YS1lbW9qaT1cIjpAe3ZhbHVlfTpcIl06OmJlZm9yZSkgd2hlbiAoQHZhcmlhdGlvbkVtb2ppTm9Db2xvbnMpIHt9XG4gICAgfVxuICAgIGVtW2RhdGEtZW1vamk9XCJAe3ZhbHVlfVwiXTo6YmVmb3JlIHdoZW4gKEB2YXJpYXRpb25FbW9qaU5vQ29sb25zKSBhbmQgbm90IChAdmFyaWF0aW9uRW1vamlDb2xvbnMpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtlbW9qaVBhdGh9QHtrZXl9LkB7ZW1vamlGaWxlVHlwZX1cIik7XG4gICAgfVxufSk7XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gRmxhZ1xuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiZWxlbWVudFwiO1xuQGVsZW1lbnQ6IFwiZmxhZ1wiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBGbGFnXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5pLmZsYWc6bm90KC5pY29uKSB7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5pLmZsYWc6bm90KC5pY29uKTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMDBBMFxcMDBBMFxcMDBBMFxcMDBBMFxcMDBBMFxcMDBBMFxcMDBBMFwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogQGZsYWdMaW5lSGVpZ2h0O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAmIHdoZW4gbm90IChAZmxhZ0ZpbGVUeXBlID0gXCJzdmdcIikge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxufVxuXG5lYWNoKEBzaXplLW1hcCwge1xuICAgIGkuZmxhZy5Ae2tleX0ge1xuICAgICAgICBmb250LXNpemU6IDEuNWVtICogQHZhbHVlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbn0pO1xuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG5cbi8vIGZvciBzaW1wbGljaXR5LCBjbGFzcyBhbmQgYWxpYXMgbmFtZXMgaGF2ZSB0byBiZSB1bmlxdWUgYW5kIGRpZmZlcmVudCB0byBjb3VudHJ5Y29kZSBvdGhlcndpc2UgZmFsc2VcbmVhY2goQGZsYWdzLCB7XG4gICAgQHVuaWNvZGU6IHJlcGxhY2UoQGtleSwgXCJAXCIsIFwiXCIpO1xuICAgIEBjYzogcmVwbGFjZShAZmxhZ3NbQEB1bmljb2RlXVtjb3VudHJ5Y29kZV0sIFwiX1wiLCBcIi5cIiwgXCJnXCIpO1xuICAgIEBjbHM6IHJlcGxhY2UoQGZsYWdzW0BAdW5pY29kZV1bY2xhc3NdLCBcIl9cIiwgXCIuXCIsIFwiZ1wiKTtcbiAgICBAYWxpYXM6IHJlcGxhY2UoQGZsYWdzW0BAdW5pY29kZV1bYWxpYXNDbGFzc10sIFwiX1wiLCBcIi5cIiwgXCJnXCIpO1xuICAgIEBhbGlhczI6IHJlcGxhY2UoQGZsYWdzW0BAdW5pY29kZV1bYWxpYXNDbGFzczJdLCBcIl9cIiwgXCIuXCIsIFwiZ1wiKTtcbiAgICAmIHdoZW4gKEBjbHMgPSBmYWxzZSl7XG4gICAgICAgIGkuZmxhZy5Ae2NjfTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkB7ZmxhZ1BhdGh9QHt1bmljb2RlfS5Ae2ZsYWdGaWxlVHlwZX1cIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIG5vdCAoQGNscyA9IGZhbHNlKSBhbmQgKEBhbGlhcyA9IGZhbHNlKSB7XG4gICAgICAgIGkuZmxhZy5Ae2NjfTo6YmVmb3JlLFxuICAgICAgICBpLmZsYWcuQHtjbHN9OjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtmbGFnUGF0aH1Ae3VuaWNvZGV9LkB7ZmxhZ0ZpbGVUeXBlfVwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gbm90IChAY2xzID0gZmFsc2UpIGFuZCBub3QgKEBhbGlhcyA9IGZhbHNlKSBhbmQgKEBhbGlhczIgPSBmYWxzZSkge1xuICAgICAgICBpLmZsYWcuQHtjY306OmJlZm9yZSxcbiAgICAgICAgaS5mbGFnLkB7Y2xzfTo6YmVmb3JlLFxuICAgICAgICBpLmZsYWcuQHthbGlhc306OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2ZsYWdQYXRofUB7dW5pY29kZX0uQHtmbGFnRmlsZVR5cGV9XCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiBub3QgKEBhbGlhczIgPSBmYWxzZSkge1xuICAgICAgICBpLmZsYWcuQHtjY306OmJlZm9yZSxcbiAgICAgICAgaS5mbGFnLkB7Y2xzfTo6YmVmb3JlLFxuICAgICAgICBpLmZsYWcuQHthbGlhc306OmJlZm9yZSxcbiAgICAgICAgaS5mbGFnLkB7YWxpYXMyfTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkB7ZmxhZ1BhdGh9QHt1bmljb2RlfS5Ae2ZsYWdGaWxlVHlwZX1cIik7XG4gICAgICAgIH1cbiAgICB9XG59KTtcblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBIZWFkZXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcImVsZW1lbnRcIjtcbkBlbGVtZW50OiBcImhlYWRlclwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdENlbnRlcmVkQWxpZ25lZDogaWYoQHZhcmlhdGlvbkhlYWRlckFsaWduZWQsIGUoXCI6bm90KC5jZW50ZXJlZCk6bm90KC5hbGlnbmVkKVwiKSk7XG5Abm90SWNvbjogaWYoQHZhcmlhdGlvbkhlYWRlckljb24sIGUoXCI6bm90KC5pY29uKVwiKSk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBIZWFkZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIFN0YW5kYXJkICovXG4udWkuaGVhZGVyIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiBAbWFyZ2luO1xuICAgIHBhZGRpbmc6IEB2ZXJ0aWNhbFBhZGRpbmcgQGhvcml6b250YWxQYWRkaW5nO1xuICAgIGZvbnQtZmFtaWx5OiBAZm9udEZhbWlseTtcbiAgICBmb250LXdlaWdodDogQGZvbnRXZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lSGVpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBAdGV4dFRyYW5zZm9ybTtcbiAgICBjb2xvcjogQHRleHRDb2xvcjtcbn1cblxuLnVpLmhlYWRlcjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogQGZpcnN0TWFyZ2luO1xufVxuLnVpLmhlYWRlcjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiBAbGFzdE1hcmdpbjtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSGVhZGVyU3ViKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdWIgSGVhZGVyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAbm9ybWFsO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IEBzdWJIZWFkZXJNYXJnaW47XG4gICAgICAgIGZvbnQtc2l6ZTogQHN1YkhlYWRlckZvbnRTaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogQHN1YkhlYWRlckxpbmVIZWlnaHQ7XG4gICAgICAgIGNvbG9yOiBAc3ViSGVhZGVyQ29sb3I7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgSWNvblxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5oZWFkZXIgPiAuaWNvbnMsXG4udWkuaGVhZGVyID4gaS5pY29uIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIG9wYWNpdHk6IEBpY29uT3BhY2l0eTtcbiAgICBmb250LXNpemU6IEBpY29uU2l6ZTtcbiAgICBwYWRkaW5nLXRvcDogQGljb25PZmZzZXQ7XG4gICAgdmVydGljYWwtYWxpZ246IEBpY29uQWxpZ25tZW50O1xufVxuXG4vKiBXaXRoIFRleHQgTm9kZSAqL1xuLnVpLmhlYWRlckB7bm90SWNvbn0gPiAuaWNvbnM6b25seS1jaGlsZCxcbi51aS5oZWFkZXJAe25vdEljb259ID4gaS5pY29uOm9ubHktY2hpbGQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1yaWdodDogQGljb25NYXJnaW47XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW1hZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5oZWFkZXIgPiAuaW1hZ2U6bm90KC5pY29uKSxcbi51aS5oZWFkZXIgPiBpbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiBAaW1hZ2VPZmZzZXQ7XG4gICAgd2lkdGg6IEBpbWFnZVdpZHRoO1xuICAgIGhlaWdodDogQGltYWdlSGVpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBAaW1hZ2VBbGlnbm1lbnQ7XG59XG4udWkuaGVhZGVyID4gLmltYWdlOm5vdCguaWNvbik6b25seS1jaGlsZCxcbi51aS5oZWFkZXIgPiBpbWc6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBAaW1hZ2VNYXJnaW47XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuaGVhZGVyIC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IEBjb250ZW50QWxpZ25tZW50O1xufVxuXG4vKiBBZnRlciBJbWFnZSAqL1xuLnVpLmhlYWRlciA+IGltZyArIC5jb250ZW50LFxuLnVpLmhlYWRlciA+IC5pbWFnZSArIC5jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IEBpbWFnZU1hcmdpbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogQGNvbnRlbnRJbWFnZUFsaWdubWVudDtcbn1cblxuLyogQWZ0ZXIgSWNvbiAqL1xuLnVpLmhlYWRlckB7bm90SWNvbn1Ae25vdENlbnRlcmVkQWxpZ25lZH0gPiAuaWNvbnMgKyAuY29udGVudCxcbi51aS5oZWFkZXJAe25vdEljb259QHtub3RDZW50ZXJlZEFsaWduZWR9ID4gaS5pY29uICsgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogQGljb25NYXJnaW47XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogQGNvbnRlbnRJY29uQWxpZ25tZW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuIExvb3NlIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmhlYWRlciAudWkubGFiZWwge1xuICAgIGZvbnQtc2l6ZTogQGxhYmVsU2l6ZTtcbiAgICBtYXJnaW4tbGVmdDogQGxhYmVsRGlzdGFuY2U7XG4gICAgdmVydGljYWwtYWxpZ246IEBsYWJlbFZlcnRpY2FsQWxpZ247XG59XG5cbi8qIFBvc2l0aW9uaW5nICovXG4udWkuaGVhZGVyICsgcCB7XG4gICAgbWFyZ2luLXRvcDogQG5leHRQYXJhZ3JhcGhEaXN0YW5jZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25IZWFkZXJUYWdzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25IZWFkZXJUYWdzLCB7XG4gICAgICAgIEBzZjogQHt2YWx1ZX1TdWJIZWFkZXJGb250U2l6ZTtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIEB7dmFsdWV9LnVpLmhlYWRlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlclN1Yikge1xuICAgICAgICAgICAgQHt2YWx1ZX0udWkuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IEBAc2Y7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiBDb250ZW50IEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uSGVhZGVyU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkhlYWRlclNpemVzLCB7XG4gICAgICAgIEBzZjogQHt2YWx1ZX1TdWJIZWFkZXJGb250U2l6ZTtcbiAgICAgICAgQHNoZjogQHt2YWx1ZX1TdWJIZWFkaW5nU2l6ZTtcbiAgICAgICAgQHM6IEB7dmFsdWV9Rm9udFNpemU7O1xuICAgICAgICAudWkuQHt2YWx1ZX0uaGVhZGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQEBzO1xuICAgICAgICAgICAgJiB3aGVuIChAQHMgPj0gMikge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25IZWFkZXJTdWIpIHtcbiAgICAgICAgICAgIC51aS5Ae3ZhbHVlfS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogQEBzZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5Ae3ZhbHVlfS5zdWIuaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IEBAc2hmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlclN1Yikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgU3ViIEhlYWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5zdWIuaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogQHN1YkhlYWRpbmdEaXN0YW5jZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBzdWJIZWFkaW5nRm9udFdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiBAc3ViSGVhZGluZ0ZvbnRTaXplO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogQHN1YkhlYWRpbmdUZXh0VHJhbnNmb3JtO1xuICAgICAgICBjb2xvcjogQHN1YkhlYWRpbmdDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlckljb24pIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBJY29uXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pY29uLmhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IEBpY29uSGVhZGVyVG9wTWFyZ2luIDAgQGljb25IZWFkZXJCb3R0b21NYXJnaW47XG4gICAgfVxuICAgIC51aS5pY29uLmhlYWRlcjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC51aS5pY29uLmhlYWRlcjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IEBpY29uSGVhZGVyRmlyc3RNYXJnaW47XG4gICAgfVxuICAgIC51aS5pY29uLmhlYWRlciA+IC5pbWFnZS5pY29uLFxuICAgIC51aS5pY29uLmhlYWRlciA+IC5pY29ucyxcbiAgICAudWkuaWNvbi5oZWFkZXIgPiBpLmljb24ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXNpemU6IEBpY29uSGVhZGVyU2l6ZTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gQGljb25IZWFkZXJNYXJnaW47XG4gICAgICAgIG9wYWNpdHk6IEBpY29uSGVhZGVyT3BhY2l0eTtcbiAgICB9XG4gICAgLnVpLmljb24uaGVhZGVyIC5jb3JuZXIuaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogQGNvcm5lckljb25IZWFkZXJTaXplO1xuICAgIH1cbiAgICAudWkuaWNvbi5oZWFkZXIgLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLnVpLmljb24uaGVhZGVyID4gaS5jaXJjdWxhciB7XG4gICAgICAgIGZvbnQtc2l6ZTogQGNpcmN1bGFySGVhZGVySWNvblNpemU7XG4gICAgfVxuICAgIC51aS5pY29uLmhlYWRlciA+IGkuc3F1YXJlIHtcbiAgICAgICAgZm9udC1zaXplOiBAc3F1YXJlSGVhZGVySWNvblNpemU7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlckJsb2NrKSB7XG4gICAgICAgIC51aS5ibG9jay5pY29uLmhlYWRlciA+IC5pbWFnZS5pY29uLFxuICAgICAgICAudWkuYmxvY2suaWNvbi5oZWFkZXIgPiAuaWNvbnMsXG4gICAgICAgIC51aS5ibG9jay5pY29uLmhlYWRlciA+IGkuaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlckFsaWduZWQpIHtcbiAgICAgICAgLnVpLmljb24uaGVhZGVyLmFsaWduZWQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlckRpc2FibGVkKSB7XG4gICAgLnVpLmRpc2FibGVkLmhlYWRlciB7XG4gICAgICAgIG9wYWNpdHk6IEBkaXNhYmxlZE9wYWNpdHk7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25IZWFkZXJJbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaW52ZXJ0ZWQuaGVhZGVyIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZENvbG9yO1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFN1YkhlYWRlckNvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25IZWFkZXJBdHRhY2hlZCkge1xuICAgICAgICAudWkuaW52ZXJ0ZWQuYXR0YWNoZWQuaGVhZGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEF0dGFjaGVkQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlckJsb2NrKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5ibG9jay5oZWFkZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQmxvY2tCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uSGVhZGVyQ29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25IZWFkZXJDb2xvcnMsIHtcbiAgICAgICAgQGNvbG9yOiBAdmFsdWU7XG4gICAgICAgIEBjOiBAY29sb3JzW0BAY29sb3JdW2NvbG9yXTtcbiAgICAgICAgQGw6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRdO1xuICAgICAgICBAaDogQGNvbG9yc1tAQGNvbG9yXVtob3Zlcl07XG4gICAgICAgIEBsaDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodEhvdmVyXTtcblxuICAgICAgICAudWkuQHtjb2xvcn0uaGVhZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAYztcbiAgICAgICAgfVxuICAgICAgICBhLnVpLkB7Y29sb3J9LmhlYWRlcjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogQGg7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uSGVhZGVyRGl2aWRpbmcpIHtcbiAgICAgICAgICAgIC51aS5Ae2NvbG9yfS5kaXZpZGluZy5oZWFkZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IEBkaXZpZGVkQ29sb3JlZEJvcmRlcldpZHRoIHNvbGlkIEBjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlckludmVydGVkKSB7XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uaGVhZGVyLmhlYWRlci5oZWFkZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uaGVhZGVyLmhlYWRlci5oZWFkZXI6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAbGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uZGl2aWRpbmcuaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBAZGl2aWRlZENvbG9yZWRCb3JkZXJXaWR0aCBzb2xpZCBAbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25IZWFkZXJBbGlnbmVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBBbGlnbmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5sZWZ0LmFsaWduZWQuaGVhZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgLnVpLnJpZ2h0LmFsaWduZWQuaGVhZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgIC51aS5jZW50ZXJlZC5oZWFkZXIsXG4gICAgLnVpLmNlbnRlci5hbGlnbmVkLmhlYWRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlckp1c3RpZmllZCkge1xuICAgIC51aS5qdXN0aWZpZWQuaGVhZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICB9XG4gICAgLnVpLmp1c3RpZmllZC5oZWFkZXI6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlckZsb2F0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEZsb2F0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZsb2F0ZWQuaGVhZGVyLFxuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0uaGVhZGVyIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGZsb2F0ZWRNYXJnaW47XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLmhlYWRlciB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBmbG9hdGVkTWFyZ2luO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSGVhZGVyRml0dGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBGaXR0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZpdHRlZC5oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSGVhZGVyRGl2aWRpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRGl2aWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmRpdmlkaW5nLmhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBAZGl2aWRlZEJvcmRlclBhZGRpbmc7XG4gICAgICAgIGJvcmRlci1ib3R0b206IEBkaXZpZGVkQm9yZGVyO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25IZWFkZXJTdWIpIHtcbiAgICAgICAgLnVpLmRpdmlkaW5nLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogQGRpdmlkZWRTdWJIZWFkZXJQYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5kaXZpZGluZy5oZWFkZXIgaS5pY29uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogQGRpdmlkZWRJY29uUGFkZGluZztcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSGVhZGVySW52ZXJ0ZWQpIHtcbiAgICAgICAgLnVpLmludmVydGVkLmRpdmlkaW5nLmhlYWRlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAaW52ZXJ0ZWREaXZpZGVkQm9yZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlckJsb2NrKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgQmxvY2tcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmJsb2NrLmhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBibG9ja0JhY2tncm91bmQ7XG4gICAgICAgIHBhZGRpbmc6IEBibG9ja1ZlcnRpY2FsUGFkZGluZyBAYmxvY2tIb3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgYm94LXNoYWRvdzogQGJsb2NrQm94U2hhZG93O1xuICAgICAgICBib3JkZXI6IEBibG9ja0JvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJsb2NrQm9yZGVyUmFkaXVzO1xuICAgIH1cbiAgICAudWkuYmxvY2suaGVhZGVyOm5vdChoMSk6bm90KGgyKTpub3QoaDMpOm5vdChoNCk6bm90KGg1KTpub3QoaDYpIHtcbiAgICAgICAgZm9udC1zaXplOiBAbWVkaXVtQmxvY2s7XG4gICAgfVxuICAgICYgd2hlbiBub3QgKEB2YXJpYXRpb25IZWFkZXJTaXplcyA9IGZhbHNlKSB7XG4gICAgICAgIGVhY2goQHZhcmlhdGlvbkhlYWRlclNpemVzLCB7XG4gICAgICAgICAgICBAczogQHt2YWx1ZX1CbG9jaztcbiAgICAgICAgICAgIC51aS5Ae3ZhbHVlfS5ibG9jay5oZWFkZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogQEBzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkhlYWRlckF0dGFjaGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBBdHRhY2hlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuYXR0YWNoZWQuaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGF0dGFjaGVkQmFja2dyb3VuZDtcbiAgICAgICAgcGFkZGluZzogQGF0dGFjaGVkVmVydGljYWxQYWRkaW5nIEBhdHRhY2hlZEhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBtYXJnaW46IDAgQGF0dGFjaGVkT2Zmc2V0O1xuICAgICAgICBib3gtc2hhZG93OiBAYXR0YWNoZWRCb3hTaGFkb3c7XG4gICAgICAgIGJvcmRlcjogQGF0dGFjaGVkQm9yZGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25IZWFkZXJCbG9jaykge1xuICAgICAgICAudWkuYXR0YWNoZWQuYmxvY2suaGVhZGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBibG9ja0JhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLmF0dGFjaGVkOm5vdCgudG9wKS5oZWFkZXIge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cbiAgICAudWkudG9wLmF0dGFjaGVkLmhlYWRlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBhdHRhY2hlZEJvcmRlclJhZGl1cyBAYXR0YWNoZWRCb3JkZXJSYWRpdXMgMCAwO1xuICAgIH1cbiAgICAudWkuYm90dG9tLmF0dGFjaGVkLmhlYWRlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAYXR0YWNoZWRCb3JkZXJSYWRpdXMgQGF0dGFjaGVkQm9yZGVyUmFkaXVzO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25IZWFkZXJTZWFtbGVzcykge1xuICAgICAgICAudWkuc2VhbWxlc3MuYXR0YWNoZWQ6bm90KC5ib3R0b20pLmhlYWRlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogQXR0YWNoZWQgU2l6ZXMgKi9cbiAgICAudWkuYXR0YWNoZWQuaGVhZGVyOm5vdChoMSk6bm90KGgyKTpub3QoaDMpOm5vdChoNCk6bm90KGg1KTpub3QoaDYpIHtcbiAgICAgICAgZm9udC1zaXplOiBAbWVkaXVtQXR0YWNoZWRTaXplO1xuICAgIH1cbiAgICAmIHdoZW4gbm90IChAdmFyaWF0aW9uSGVhZGVyU2l6ZXMgPSBmYWxzZSkge1xuICAgICAgICBlYWNoKEB2YXJpYXRpb25IZWFkZXJTaXplcywge1xuICAgICAgICAgICAgQHM6IEB7dmFsdWV9QXR0YWNoZWRTaXplO1xuICAgICAgICAgICAgLnVpLkB7dmFsdWV9LmF0dGFjaGVkLmhlYWRlciB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBAQHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXppbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5oZWFkZXI6bm90KGgxKTpub3QoaDIpOm5vdChoMyk6bm90KGg0KTpub3QoaDUpOm5vdChoNikge1xuICAgIGZvbnQtc2l6ZTogQG1lZGl1bUZvbnRTaXplO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEljb25cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcImVsZW1lbnRcIjtcbkBlbGVtZW50OiBcImljb25cIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3REaXNhYmxlZDogaWYoQHZhcmlhdGlvbkljb25EaXNhYmxlZCwgZShcIjpub3QoLmRpc2FibGVkKVwiKSk7XG5Abm90Q29ybmVyOiBpZihAdmFyaWF0aW9uSWNvbkNvcm5lciwgZShcIjpub3QoLmNvcm5lcilcIikpO1xuQG5vdFJvdGF0ZWQ6IGlmKEB2YXJpYXRpb25JY29uUm90YXRlZCwgZShcIjpub3QoLnJvdGF0ZWQpXCIpKTtcbkBub3RGbGlwcGVkOiBpZihAdmFyaWF0aW9uSWNvbkZsaXBwZWQsIGUoXCI6bm90KC5mbGlwcGVkKVwiKSk7XG5Abm90Qm9yZGVyZWQ6IGlmKEB2YXJpYXRpb25JY29uQm9yZGVyZWQsIGUoXCI6bm90KC5ib3JkZXJlZClcIikpO1xuQG5vdENpcmN1bGFyOiBpZihAdmFyaWF0aW9uSWNvbkNpcmN1bGFyLCBlKFwiOm5vdCguY2lyY3VsYXIpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBJY29uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuJiB3aGVuIChAaW1wb3J0SWNvbnMpIHtcbiAgICBlYWNoKEBmb250cywge1xuICAgICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgICAgIGVhY2goQHZhbHVlLCB7XG4gICAgICAgICAgICAgICAgQHtrZXl9OiBAdmFsdWU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG5pLmljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvcGFjaXR5OiBAb3BhY2l0eTtcbiAgICBtYXJnaW46IDAgQGRpc3RhbmNlRnJvbVRleHQgMCAwO1xuICAgIHdpZHRoOiBAd2lkdGg7XG4gICAgaGVpZ2h0OiBAaGVpZ2h0O1xuICAgIGZvbnQtZmFtaWx5OiBAZm9udE5hbWU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBAbm9ybWFsO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbmkuaWNvbjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25JY29uTG9hZGluZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExvYWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIGkubG9hZGluZy5pY29uIHtcbiAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgICBpLmxvYWRpbmcuaWNvbixcbiAgICBpLmxvYWRpbmcuaWNvbnMge1xuICAgICAgICBhbmltYXRpb246IGxvYWRlciBAbG9hZGluZ0R1cmF0aW9uIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5pLmljb246aG92ZXIsXG5pLmljb25zOmhvdmVyLFxuaS5pY29uOmFjdGl2ZSxcbmkuaWNvbnM6YWN0aXZlLFxuaS5lbXBoYXNpemVkLmljb25Ae25vdERpc2FibGVkfSxcbmkuZW1waGFzaXplZC5pY29uc0B7bm90RGlzYWJsZWR9IHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JY29uRGlzYWJsZWQpIHtcbiAgICBpLmRpc2FibGVkLmljb24sXG4gICAgaS5kaXNhYmxlZC5pY29ucyB7XG4gICAgICAgIG9wYWNpdHk6IEBkaXNhYmxlZE9wYWNpdHk7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25JY29uRml0dGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgRml0dGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIGkuZml0dGVkLmljb25zLFxuICAgIGkuZml0dGVkLmljb24ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JY29uTGluaykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICBMaW5rXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIGkubGluay5pY29uQHtub3REaXNhYmxlZH0sXG4gICAgaS5saW5rLmljb25zQHtub3REaXNhYmxlZH0ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IEBsaW5rT3BhY2l0eTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSBAZGVmYXVsdER1cmF0aW9uIEBkZWZhdWx0RWFzaW5nO1xuICAgIH1cbiAgICBpLmxpbmsuaWNvbjpob3ZlcixcbiAgICBpLmxpbmsuaWNvbnM6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSWNvbkNpcmN1bGFyKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIENpcmN1bGFyXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIGkuY2lyY3VsYXIuaWNvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwMGVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IEBjaXJjdWxhclBhZGRpbmcgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogQGNpcmN1bGFyU2hhZG93O1xuICAgICAgICB3aWR0aDogQGNpcmN1bGFyU2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IEBjaXJjdWxhclNpemUgIWltcG9ydGFudDtcbiAgICAgICAgJi5jb2xvcmVkIHdoZW4gKEB2YXJpYXRpb25JY29uQ29sb3JlZCkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSWNvbkludmVydGVkKSB7XG4gICAgICAgIGkuY2lyY3VsYXIuaW52ZXJ0ZWQuaWNvbiB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JY29uRmxpcHBlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBGbGlwcGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIGkuZmxpcHBlZC5pY29uLFxuICAgIGkuaG9yaXpvbnRhbGx5LmZsaXBwZWQuaWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgICBpLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSWNvbkdyb3Vwcykge1xuICAgICAgICAuaWNvbnMgaS5mbGlwcGVkLmljb25Ae25vdENvcm5lcn06bm90KDpmaXJzdC1jaGlsZCksXG4gICAgICAgIC5pY29ucyBpLmhvcml6b250YWxseS5mbGlwcGVkLmljb25Ae25vdENvcm5lcn06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoLTEsIDEpO1xuICAgICAgICB9XG4gICAgICAgIC5pY29ucyBpLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uQHtub3RDb3JuZXJ9Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEsIC0xKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSWNvblJvdGF0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgUm90YXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICBpLnJvdGF0ZWQuaWNvbixcbiAgICBpLnJpZ2h0LnJvdGF0ZWQuaWNvbixcbiAgICBpLmNsb2Nrd2lzZS5yb3RhdGVkLmljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuXG4gICAgaS5sZWZ0LnJvdGF0ZWQuaWNvbixcbiAgICBpLmNvdW50ZXJjbG9ja3dpc2Uucm90YXRlZC5pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG5cbiAgICBpLmhhbGZ3YXkucm90YXRlZC5pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JY29uR3JvdXBzKSB7XG4gICAgICAgIC5pY29ucyBpLnJvdGF0ZWQucm90YXRlZC5pY29uQHtub3RDb3JuZXJ9Om5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgICAgICAuaWNvbnMgaS5yaWdodC5yb3RhdGVkLmljb25Ae25vdENvcm5lcn06bm90KDpmaXJzdC1jaGlsZCksXG4gICAgICAgIC5pY29ucyBpLmNsb2Nrd2lzZS5yb3RhdGVkLmljb25Ae25vdENvcm5lcn06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAuaWNvbnMgaS5sZWZ0LnJvdGF0ZWQuaWNvbkB7bm90Q29ybmVyfTpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAgICAgLmljb25zIGkuY291bnRlcmNsb2Nrd2lzZS5yb3RhdGVkLmljb25Ae25vdENvcm5lcn06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgLmljb25zIGkuaGFsZndheS5yb3RhdGVkLmljb25Ae25vdENvcm5lcn06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkljb25GbGlwcGVkKSBhbmQgKEB2YXJpYXRpb25JY29uUm90YXRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRmxpcHBlZCAmIFJvdGF0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIGkucm90YXRlZC5mbGlwcGVkLmljb24sXG4gICAgaS5yaWdodC5yb3RhdGVkLmZsaXBwZWQuaWNvbixcbiAgICBpLmNsb2Nrd2lzZS5yb3RhdGVkLmZsaXBwZWQuaWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuXG4gICAgaS5sZWZ0LnJvdGF0ZWQuZmxpcHBlZC5pY29uLFxuICAgIGkuY291bnRlcmNsb2Nrd2lzZS5yb3RhdGVkLmZsaXBwZWQuaWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpIHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cblxuICAgIGkuaGFsZndheS5yb3RhdGVkLmZsaXBwZWQuaWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpIHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgIGkucm90YXRlZC52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbixcbiAgICBpLnJpZ2h0LnJvdGF0ZWQudmVydGljYWxseS5mbGlwcGVkLmljb24sXG4gICAgaS5jbG9ja3dpc2Uucm90YXRlZC52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuXG4gICAgaS5sZWZ0LnJvdGF0ZWQudmVydGljYWxseS5mbGlwcGVkLmljb24sXG4gICAgaS5jb3VudGVyY2xvY2t3aXNlLnJvdGF0ZWQudmVydGljYWxseS5mbGlwcGVkLmljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG5cbiAgICBpLmhhbGZ3YXkucm90YXRlZC52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpIHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkljb25Hcm91cHMpIHtcbiAgICAgICAgLmljb25zIGkucm90YXRlZC5mbGlwcGVkLmljb25Ae25vdENvcm5lcn06bm90KDpmaXJzdC1jaGlsZCksXG4gICAgICAgIC5pY29ucyBpLnJpZ2h0LnJvdGF0ZWQuZmxpcHBlZC5pY29uQHtub3RDb3JuZXJ9Om5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgICAgICAuaWNvbnMgaS5jbG9ja3dpc2Uucm90YXRlZC5mbGlwcGVkLmljb25Ae25vdENvcm5lcn06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoLTEsIDEpIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgLmljb25zIGkubGVmdC5yb3RhdGVkLmZsaXBwZWQuaWNvbkB7bm90Q29ybmVyfTpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAgICAgLmljb25zIGkuY291bnRlcmNsb2Nrd2lzZS5yb3RhdGVkLmZsaXBwZWQuaWNvbkB7bm90Q29ybmVyfTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgtMSwgMSkgcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgLmljb25zIGkuaGFsZndheS5yb3RhdGVkLmZsaXBwZWQuaWNvbkB7bm90Q29ybmVyfTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgtMSwgMSkgcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgLmljb25zIGkucm90YXRlZC52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbkB7bm90Q29ybmVyfTpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAgICAgLmljb25zIGkucmlnaHQucm90YXRlZC52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbkB7bm90Q29ybmVyfTpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAgICAgLmljb25zIGkuY2xvY2t3aXNlLnJvdGF0ZWQudmVydGljYWxseS5mbGlwcGVkLmljb25Ae25vdENvcm5lcn06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSwgLTEpIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgLmljb25zIGkubGVmdC5yb3RhdGVkLnZlcnRpY2FsbHkuZmxpcHBlZC5pY29uQHtub3RDb3JuZXJ9Om5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgICAgICAuaWNvbnMgaS5jb3VudGVyY2xvY2t3aXNlLnJvdGF0ZWQudmVydGljYWxseS5mbGlwcGVkLmljb25Ae25vdENvcm5lcn06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSwgLTEpIHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG4gICAgICAgIC5pY29ucyBpLmhhbGZ3YXkucm90YXRlZC52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbkB7bm90Q29ybmVyfTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLCAtMSkgcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkljb25Cb3JkZXJlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBCb3JkZXJlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICBpLmJvcmRlcmVkLmljb24ge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICB3aWR0aDogQGJvcmRlcmVkU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAYm9yZGVyZWRTaXplO1xuICAgICAgICBwYWRkaW5nOiBAYm9yZGVyZWRWZXJ0aWNhbFBhZGRpbmcgQGJvcmRlcmVkSG9yaXpvbnRhbFBhZGRpbmcgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogQGJvcmRlcmVkU2hhZG93O1xuICAgICAgICAmLmNvbG9yZWQgd2hlbiAoQHZhcmlhdGlvbkljb25Db2xvcmVkKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAY29sb3JlZEJveFNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JY29uSW52ZXJ0ZWQpIHtcbiAgICAgICAgaS5ib3JkZXJlZC5pbnZlcnRlZC5pY29uIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkljb25JbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBJbnZlcnRlZCBTaGFwZXMgKi9cbiAgICBpLmludmVydGVkLmJvcmRlcmVkLmljb24sXG4gICAgaS5pbnZlcnRlZC5jaXJjdWxhci5pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJsYWNrO1xuICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgIH1cblxuICAgIGkuaW52ZXJ0ZWQuaWNvbiB7XG4gICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkljb25Db2xvcnMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkljb25Db2xvcnMsIHtcbiAgICAgICAgQGNvbG9yOiBAdmFsdWU7XG4gICAgICAgIEBjOiBAY29sb3JzW0BAY29sb3JdW2NvbG9yXTtcbiAgICAgICAgQGw6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRdO1xuXG4gICAgICAgIGkuQHtjb2xvcn0uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24ge1xuICAgICAgICAgICAgY29sb3I6IEBjO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkljb25JbnZlcnRlZCkge1xuICAgICAgICAgICAgaS5pbnZlcnRlZC5Ae2NvbG9yfS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uSWNvbkJvcmRlcmVkKSBvciAoQHZhcmlhdGlvbkljb25DaXJjdWxhcikge1xuICAgICAgICAgICAgICAgIGkuaW52ZXJ0ZWQuYm9yZGVyZWQuQHtjb2xvcn0uaWNvbi5pY29uLmljb24uaWNvbi5pY29uLmljb24sXG4gICAgICAgICAgICAgICAgaS5pbnZlcnRlZC5jaXJjdWxhci5Ae2NvbG9yfS5pY29uLmljb24uaWNvbi5pY29uLmljb24uaWNvbixcbiAgICAgICAgICAgICAgICBpLmludmVydGVkLmJvcmRlcmVkLkB7Y29sb3J9Lmljb25zLFxuICAgICAgICAgICAgICAgIGkuaW52ZXJ0ZWQuY2lyY3VsYXIuQHtjb2xvcn0uaWNvbnMge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuaS5pY29uLFxuaS5pY29ucyB7XG4gICAgZm9udC1zaXplOiBAbWVkaXVtO1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZUhlaWdodDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uSWNvblNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25JY29uU2l6ZXMsIHtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIGkuQHt2YWx1ZX0uQHt2YWx1ZX0uQHt2YWx1ZX0uaWNvbixcbiAgICAgICAgaS5Ae3ZhbHVlfS5Ae3ZhbHVlfS5Ae3ZhbHVlfS5pY29ucyB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JY29uR3JvdXBzKSBvciAoQHZhcmlhdGlvbkljb25Db3JuZXIpIHtcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICAgIEdyb3Vwc1xuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBpLmljb25zIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtaW4td2lkdGg6IEB3aWR0aDtcbiAgICAgICAgbWluLWhlaWdodDogQGhlaWdodDtcbiAgICAgICAgbWFyZ2luOiAwIEBkaXN0YW5jZUZyb21UZXh0IDAgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIGkuaWNvbnMgLmljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgJkB7bm90Q29ybmVyfUB7bm90Um90YXRlZH1Ae25vdEZsaXBwZWR9IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaS5pY29ucyAuaWNvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICAgIGkuaWNvbnNAe25vdEJvcmRlcmVkfUB7bm90Q2lyY3VsYXJ9IC5pY29uOmZpcnN0LWNoaWxkQHtub3RSb3RhdGVkfUB7bm90RmxpcHBlZH0ge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSWNvbkNvcm5lcikge1xuICAgICAgICAvKiBDb3JuZXIgSWNvbiAqL1xuICAgICAgICBpLmljb25zIC5jb3JuZXIuaWNvbiB7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IEBjb3JuZXJPZmZzZXQ7XG4gICAgICAgICAgICBib3R0b206IEBjb3JuZXJPZmZzZXQ7XG4gICAgICAgICAgICBmb250LXNpemU6IEBjb3JuZXJJY29uU2l6ZTtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiBAY29ybmVySWNvblNoYWRvdztcbiAgICAgICAgICAgICZAe25vdFJvdGF0ZWR9QHtub3RGbGlwcGVkfSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGkuaWNvbnMgLmljb24uY29ybmVyW2NsYXNzKj1cInRvcCByaWdodFwiXSB7XG4gICAgICAgICAgICB0b3A6IEBjb3JuZXJPZmZzZXQ7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IEBjb3JuZXJPZmZzZXQ7XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgaS5pY29ucyAuaWNvbi5jb3JuZXJbY2xhc3MqPVwidG9wIGxlZnRcIl0ge1xuICAgICAgICAgICAgdG9wOiBAY29ybmVyT2Zmc2V0O1xuICAgICAgICAgICAgbGVmdDogQGNvcm5lck9mZnNldDtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIGkuaWNvbnMgLmljb24uY29ybmVyW2NsYXNzKj1cImJvdHRvbSBsZWZ0XCJdIHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGxlZnQ6IEBjb3JuZXJPZmZzZXQ7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogQGNvcm5lck9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICBpLmljb25zIC5pY29uLmNvcm5lcltjbGFzcyo9XCJib3R0b20gcmlnaHRcIl0ge1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiBAY29ybmVyT2Zmc2V0O1xuICAgICAgICAgICAgYm90dG9tOiBAY29ybmVyT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkljb25JbnZlcnRlZCkge1xuICAgICAgICAgICAgaS5pY29ucyAuaW52ZXJ0ZWQuY29ybmVyLmljb24ge1xuICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiBAY29ybmVySWNvbkludmVydGVkU2hhZG93O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKChAdmFyaWF0aW9uSWNvbkdyb3Vwcykgb3IgKEB2YXJpYXRpb25JY29uQ29ybmVyKSkgYW5kICgoQHZhcmlhdGlvbkljb25Cb3JkZXJlZCkgb3IgKEB2YXJpYXRpb25JY29uQ2lyY3VsYXIpKSB7XG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICBCb3JkZXJlZC9jaXJjdWxhciB3aXRoIGNvcm5lciBvciBncm91cCBpY29uc1xuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICAgaS5ib3JkZXJlZC5pY29ucyxcbiAgICBpLmNpcmN1bGFyLmljb25zIHtcbiAgICAgICAgd2lkdGg6IEBib3JkZXJlZFNpemU7XG4gICAgICAgIGhlaWdodDogQGJvcmRlcmVkU2l6ZTtcbiAgICAgICAgYm94LXNoYWRvdzogQGJvcmRlcmVkU2hhZG93O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAmLmNvbG9yZWQgd2hlbiAoQHZhcmlhdGlvbkljb25Db2xvcmVkKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAY29sb3JlZEJveFNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cbiAgICBpLmNpcmN1bGFyLmljb25zIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAwZW07XG4gICAgfVxuICAgIGkuYm9yZGVyZWQuaWNvbnMgaS5pY29uOmZpcnN0LWNoaWxkLFxuICAgIGkuY2lyY3VsYXIuaWNvbnMgaS5pY29uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JY29uSW52ZXJ0ZWQpIHtcbiAgICAgICAgLyogSW52ZXJ0ZWQgSWNvbiAqL1xuICAgICAgICBpLmJvcmRlcmVkLmludmVydGVkLmljb25zLFxuICAgICAgICBpLmNpcmN1bGFyLmludmVydGVkLmljb25zIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmxhY2s7XG4gICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSWNvbkNvcm5lcikge1xuICAgICAgICAvKiBDb3JuZXIgSWNvbiAqL1xuICAgICAgICBpLmJvcmRlcmVkLmljb25zIC5pY29uLmNvcm5lcixcbiAgICAgICAgaS5jaXJjdWxhci5pY29ucyAuaWNvbi5jb3JuZXIsXG4gICAgICAgIGkuYm9yZGVyZWQuaWNvbnMgLmljb24uY29ybmVyW2NsYXNzKj1cImJvdHRvbSByaWdodFwiXSxcbiAgICAgICAgaS5jaXJjdWxhci5pY29ucyAuaWNvbi5jb3JuZXJbY2xhc3MqPVwiYm90dG9tIHJpZ2h0XCJdIHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogQGJvcmRlcmVkR3JvdXBDb3JuZXJPZmZzZXQ7XG4gICAgICAgICAgICBib3R0b206IEBib3JkZXJlZEdyb3VwQ29ybmVyT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIGkuYm9yZGVyZWQuaWNvbnMgLmljb24uY29ybmVyW2NsYXNzKj1cInRvcCByaWdodFwiXSxcbiAgICAgICAgaS5jaXJjdWxhci5pY29ucyAuaWNvbi5jb3JuZXJbY2xhc3MqPVwidG9wIHJpZ2h0XCJdIHtcbiAgICAgICAgICAgIHRvcDogQGJvcmRlcmVkR3JvdXBDb3JuZXJPZmZzZXQ7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IEBib3JkZXJlZEdyb3VwQ29ybmVyT2Zmc2V0O1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIGkuYm9yZGVyZWQuaWNvbnMgLmljb24uY29ybmVyW2NsYXNzKj1cInRvcCBsZWZ0XCJdLFxuICAgICAgICBpLmNpcmN1bGFyLmljb25zIC5pY29uLmNvcm5lcltjbGFzcyo9XCJ0b3AgbGVmdFwiXSB7XG4gICAgICAgICAgICB0b3A6IEBib3JkZXJlZEdyb3VwQ29ybmVyT2Zmc2V0O1xuICAgICAgICAgICAgbGVmdDogQGJvcmRlcmVkR3JvdXBDb3JuZXJPZmZzZXQ7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgfVxuICAgICAgICBpLmJvcmRlcmVkLmljb25zIC5pY29uLmNvcm5lcltjbGFzcyo9XCJib3R0b20gbGVmdFwiXSxcbiAgICAgICAgaS5jaXJjdWxhci5pY29ucyAuaWNvbi5jb3JuZXJbY2xhc3MqPVwiYm90dG9tIGxlZnRcIl0ge1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogQGJvcmRlcmVkR3JvdXBDb3JuZXJPZmZzZXQ7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogQGJvcmRlcmVkR3JvdXBDb3JuZXJPZmZzZXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5nZW5lcmF0ZUljb25zKEBtYXAsIEBmb250RmFtaWx5OiBmYWxzZSwgQHBzZXVkbzogYmVmb3JlKSB7XG4gICAgZWFjaChAbWFwLCB7XG4gICAgICAgIEBlc2NhcGVkS2V5OiByZXBsYWNlKEBrZXksIFwiXihbMC05XSlcIiwgXCJcXDMkMSBcIik7XG4gICAgICAgIEBub3JtYWxpemVkS2V5OiByZXBsYWNlKEBlc2NhcGVkS2V5LCBcIl9cIiwgQGljb25DbGFzc1NlcGFyYXRvciwgXCJnXCIpO1xuICAgICAgICBAdW5vcmRlcmVkS2V5OiBlKCUoXCIuJXM6OiVzXCIsQG5vcm1hbGl6ZWRLZXksIEBwc2V1ZG8pKTtcbiAgICAgICAgQG9yZGVyZWRLZXk6IGUoJSgnWyVzKj1cIiVzXCJdOjolcycsIEBpY29uRm9yY2VkQXR0cmlidXRlLCBAbm9ybWFsaXplZEtleSwgQHBzZXVkbykpO1xuICAgICAgICBAc2VsZWN0b3JLZXk6IGlmKEBpY29uRm9yY2VkT3JkZXIgb3IgQGljb25DbGFzc1NlcGFyYXRvciA9IFwiIFwiLCBAb3JkZXJlZEtleSwgQHVub3JkZXJlZEtleSk7XG4gICAgICAgIGkuaWNvbkB7c2VsZWN0b3JLZXl9IHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiQHt2YWx1ZX1cIjtcbiAgICAgICAgICAgICYgd2hlbiBub3QgKEBmb250RmFtaWx5ID0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogQGZvbnRGYW1pbHk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSWNvbkRlcHJlY2F0ZWQpIHtcbiAgICAvKiBEZXByZWNhdGVkICpJbi9PdXQgTmFtaW5nIENvbmZsaWN0KSAqL1xuICAgIC5nZW5lcmF0ZUljb25zKEBpY29uLWRlcHJlY2F0ZWQtbWFwKTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSWNvblNvbGlkKSB7XG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFNvbGlkIEljb25zXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIC8qIEljb25zICovXG4gICAgLmdlbmVyYXRlSWNvbnMoQGljb24tbWFwKTtcbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JY29uQWxpYXNlcykge1xuICAgICAgICAvKiBBbGlhc2VzICovXG4gICAgICAgIC5nZW5lcmF0ZUljb25zKEBpY29uLWFsaWFzZXMtbWFwKTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkljb25PdXRsaW5lKSB7XG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBPdXRsaW5lIEljb25zXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIGkuaWNvbi5vdXRsaW5lIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBvdXRsaW5lRm9udE5hbWU7XG4gICAgfVxuXG4gICAgLyogSWNvbnMgKi9cbiAgICAuZ2VuZXJhdGVJY29ucyhAaWNvbi1vdXRsaW5lLW1hcCk7XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSWNvbkFsaWFzZXMpIHtcbiAgICAgICAgLyogQWxpYXNlcyAqL1xuICAgICAgICAuZ2VuZXJhdGVJY29ucyhAaWNvbi1vdXRsaW5lLWFsaWFzZXMtbWFwKTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkljb25UaGluKSB7XG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVGhpbiBJY29uc1xuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICAvKiBJY29ucyAqL1xuICAgIGkuaWNvbi50aGluIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IEB0aGluRm9udE5hbWU7XG4gICAgfVxuICAgIC5nZW5lcmF0ZUljb25zKEBpY29uLXRoaW4tbWFwKTtcbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JY29uQWxpYXNlcykge1xuICAgICAgICAvKiBBbGlhc2VzICovXG4gICAgICAgIC5nZW5lcmF0ZUljb25zKEBpY29uLXRoaW4tYWxpYXNlcy1tYXApO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSWNvbkJyYW5kKSB7XG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgQnJhbmQgSWNvbnNcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgLyogSWNvbnMgKi9cbiAgICAuZ2VuZXJhdGVJY29ucyhAaWNvbi1icmFuZC1tYXAsIEBicmFuZEZvbnROYW1lKTtcbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JY29uQWxpYXNlcykge1xuICAgICAgICAvKiBBbGlhc2VzICovXG4gICAgICAgIC5nZW5lcmF0ZUljb25zKEBpY29uLWJyYW5kLWFsaWFzZXMtbWFwLCBAYnJhbmRGb250TmFtZSk7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JY29uRHVvdG9uZSkge1xuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgIER1b3RvbmUgSWNvbnNcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgLyogTWFrZSBkdW90b25lIGljb25zIHVzZSB0aGUgcHJvcGVyIGZvbnQgKi9cbiAgICBpLmljb24uZHVvdG9uZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAZHVvdG9uZUZvbnROYW1lO1xuXG4gICAgICAgIC8qIFRvIHBvc2l0aW9uIHRoZSBzZWNvbmRhcnkgbGF5ZXIgb24gdG9wIG9mIHRoZSBmaXJzdCBsYXllciAqL1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLyogU2V0IHRoZSBkZWZhdWx0IG9wYWNpdHkgbGV2ZWxzIGFuZCBjb2xvcnMgZm9yIGVhY2ggbGF5ZXIgKi9cbiAgICBpLmljb24uZHVvdG9uZTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IEBkdW90b25lUHJpbWFyeUNvbG9yO1xuICAgICAgICBvcGFjaXR5OiBAZHVvdG9uZVByaW1hcnlPcGFjaXR5O1xuICAgIH1cblxuICAgIGkuaWNvbi5kdW90b25lOjphZnRlciB7XG4gICAgICAgIC8qIFBvc2l0aW9uIHNlY29uZGFyeSBsYXllciB0byB0aGUgbGVmdCwgY2VudGVyZWQgaG9yaXpvbnRhbGx5IGFuZCBhbGlnbmVkIHZlcnRpY2FsbHkgdG8gZmxleCB3aXRoIGRpZmZlcmVudCBsaW5lIGhlaWdodHMgKi9cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBAZHVvdG9uZVNlY29uZGFyeUNvbG9yO1xuICAgICAgICBvcGFjaXR5OiBAZHVvdG9uZVNlY29uZGFyeU9wYWNpdHk7XG4gICAgfVxuXG4gICAgLmdlbmVyYXRlSWNvbnMoQGljb24tZHVvdG9uZS1tYXApO1xuICAgIC5nZW5lcmF0ZUljb25zKEBpY29uLWR1b3RvbmUtc2Vjb25kYXJ5LW1hcCwgZmFsc2UsIGFmdGVyKTtcblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkljb25BbGlhc2VzKSB7XG4gICAgICAgIC8qIEFsaWFzZXMgKi9cbiAgICAgICAgLmdlbmVyYXRlSWNvbnMoQGljb24tZHVvdG9uZS1hbGlhc2VzLW1hcCk7XG4gICAgICAgIC5nZW5lcmF0ZUljb25zKEBpY29uLWR1b3RvbmUtc2Vjb25kYXJ5LWFsaWFzZXMtbWFwLCBmYWxzZSwgYWZ0ZXIpO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQ29sb3JzIGZvciBkdW90b25lIGljb25zLCBpbiB0aGUgZm9ybSBgcHJpbWFyeS1zZWNvbmRhcnlgKGUuZy4gYGJsYWNrLWdyZXkgZHVvdG9uZSBpY29uYCkuXG4gICAgICovXG4gICAgJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkljb25Db2xvcnMgPSBmYWxzZSkge1xuICAgICAgICBlYWNoKEB2YXJpYXRpb25JY29uQ29sb3JzLCB7XG4gICAgICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgICAgIEBjOiBAY29sb3JzW0BAY29sb3JdW2NvbG9yXTtcbiAgICAgICAgICAgIEBsOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0XTtcblxuICAgICAgICAgICAgaS5pY29uLmR1b3RvbmVbY2xhc3MqPVwiQHtjb2xvcn0tXCJdOjpiZWZvcmUsXG4gICAgICAgICAgICBpLmljb24uZHVvdG9uZVtjbGFzcyo9XCItQHtjb2xvcn1cIl06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkljb25JbnZlcnRlZCkge1xuICAgICAgICAgICAgICAgIGkuaWNvbi5pbnZlcnRlZC5kdW90b25lW2NsYXNzKj1cIkB7Y29sb3J9LVwiXTo6YmVmb3JlLFxuICAgICAgICAgICAgICAgIGkuaWNvbi5pbnZlcnRlZC5kdW90b25lW2NsYXNzKj1cIi1Ae2NvbG9yfVwiXTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gSW1hZ2VcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcImVsZW1lbnRcIjtcbkBlbGVtZW50OiBcImltYWdlXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEltYWdlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHBsYWNlaG9sZGVyQ29sb3I7XG59XG5cbmltZy51aS5pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi51aS5pbWFnZSBzdmcsXG4udWkuaW1hZ2UgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuaGlkZGVuLmltYWdlcyxcbi51aS51aS5oaWRkZW4uaW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4udWkuaGlkZGVuLnRyYW5zaXRpb24uaW1hZ2VzLFxuLnVpLmhpZGRlbi50cmFuc2l0aW9uLmltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkuaW1hZ2VzID4gLmhpZGRlbi50cmFuc2l0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JbWFnZURpc2FibGVkKSB7XG4gICAgLnVpLmRpc2FibGVkLmltYWdlcyxcbiAgICAudWkuZGlzYWJsZWQuaW1hZ2Uge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIG9wYWNpdHk6IEBkaXNhYmxlZE9wYWNpdHk7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkltYWdlSW5saW5lKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIElubGluZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmlubGluZS5pbWFnZSxcbiAgICAudWkuaW5saW5lLmltYWdlIHN2ZyxcbiAgICAudWkuaW5saW5lLmltYWdlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkltYWdlQWxpZ25lZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmVydGljYWwgQWxpZ25lZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS50b3AuYWxpZ25lZC5pbWFnZSxcbiAgICAudWkudG9wLmFsaWduZWQuaW1hZ2Ugc3ZnLFxuICAgIC51aS50b3AuYWxpZ25lZC5pbWFnZSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICAgIC51aS5taWRkbGUuYWxpZ25lZC5pbWFnZSxcbiAgICAudWkubWlkZGxlLmFsaWduZWQuaW1hZ2Ugc3ZnLFxuICAgIC51aS5taWRkbGUuYWxpZ25lZC5pbWFnZSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICAgIC51aS5ib3R0b20uYWxpZ25lZC5pbWFnZSxcbiAgICAudWkuYm90dG9tLmFsaWduZWQuaW1hZ2Ugc3ZnLFxuICAgIC51aS5ib3R0b20uYWxpZ25lZC5pbWFnZSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICAgIC51aS50b3AuYWxpZ25lZC5pbWFnZXMgLmltYWdlLFxuICAgIC51aS5pbWFnZXMgLnVpLnRvcC5hbGlnbmVkLmltYWdlIHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICB9XG4gICAgLnVpLm1pZGRsZS5hbGlnbmVkLmltYWdlcyAuaW1hZ2UsXG4gICAgLnVpLmltYWdlcyAudWkubWlkZGxlLmFsaWduZWQuaW1hZ2Uge1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuICAgIC51aS5ib3R0b20uYWxpZ25lZC5pbWFnZXMgLmltYWdlLFxuICAgIC51aS5pbWFnZXMgLnVpLmJvdHRvbS5hbGlnbmVkLmltYWdlIHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JbWFnZVJvdW5kZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgUm91bmRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnJvdW5kZWQuaW1hZ2VzIC5pbWFnZSxcbiAgICAudWkucm91bmRlZC5pbWFnZSxcbiAgICAudWkucm91bmRlZC5pbWFnZXMgLmltYWdlID4gKixcbiAgICAudWkucm91bmRlZC5pbWFnZSA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAcm91bmRlZEJvcmRlclJhZGl1cztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkltYWdlQm9yZGVyZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBCb3JkZXJlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmJvcmRlcmVkLmltYWdlcyAuaW1hZ2UsXG4gICAgLnVpLmJvcmRlcmVkLmltYWdlcyBpbWcsXG4gICAgLnVpLmJvcmRlcmVkLmltYWdlcyBzdmcsXG4gICAgLnVpLmJvcmRlcmVkLmltYWdlIGltZyxcbiAgICAudWkuYm9yZGVyZWQuaW1hZ2Ugc3ZnLFxuICAgIGltZy51aS5ib3JkZXJlZC5pbWFnZSB7XG4gICAgICAgIGJvcmRlcjogQGltYWdlQm9yZGVyO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSW1hZ2VDaXJjdWxhcikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENpcmN1bGFyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2lyY3VsYXIuaW1hZ2VzLFxuICAgIC51aS5jaXJjdWxhci5pbWFnZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnVpLmNpcmN1bGFyLmltYWdlcyAuaW1hZ2UsXG4gICAgLnVpLmNpcmN1bGFyLmltYWdlLFxuICAgIC51aS5jaXJjdWxhci5pbWFnZXMgLmltYWdlID4gKixcbiAgICAudWkuY2lyY3VsYXIuaW1hZ2UgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSW1hZ2VGbHVpZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBGbHVpZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZsdWlkLmltYWdlcyxcbiAgICAudWkuZmx1aWQuaW1hZ2UsXG4gICAgLnVpLmZsdWlkLmltYWdlcyBpbWcsXG4gICAgLnVpLmZsdWlkLmltYWdlcyBzdmcsXG4gICAgLnVpLmZsdWlkLmltYWdlIHN2ZyxcbiAgICAudWkuZmx1aWQuaW1hZ2UgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JbWFnZUF2YXRhcikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBBdmF0YXJcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5hdmF0YXIuaW1hZ2VzIC5pbWFnZSxcbiAgICAudWkuYXZhdGFyLmltYWdlcyBpbWcsXG4gICAgLnVpLmF2YXRhci5pbWFnZXMgc3ZnLFxuICAgIC51aS5hdmF0YXIuaW1hZ2UgaW1nLFxuICAgIC51aS5hdmF0YXIuaW1hZ2Ugc3ZnLFxuICAgIC51aS5hdmF0YXIuaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBhdmF0YXJNYXJnaW47XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IEBhdmF0YXJTaXplO1xuICAgICAgICBoZWlnaHQ6IEBhdmF0YXJTaXplO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JbWFnZVNwYWNlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgU3BhY2VkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5zcGFjZWQuaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBzcGFjZWREaXN0YW5jZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAc3BhY2VkRGlzdGFuY2U7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgc3BhY2VkXCJdLmltYWdlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBzcGFjZWREaXN0YW5jZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC51aVtjbGFzcyo9XCJyaWdodCBzcGFjZWRcIl0uaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAc3BhY2VkRGlzdGFuY2U7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JbWFnZUZsb2F0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEZsb2F0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZsb2F0ZWQuaW1hZ2UsXG4gICAgLnVpLmZsb2F0ZWQuaW1hZ2VzIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGZsb2F0ZWRIb3Jpem9udGFsTWFyZ2luO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBAZmxvYXRlZFZlcnRpY2FsTWFyZ2luO1xuICAgIH1cbiAgICAudWkucmlnaHQuZmxvYXRlZC5pbWFnZXMsXG4gICAgLnVpLnJpZ2h0LmZsb2F0ZWQuaW1hZ2Uge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogQGZsb2F0ZWRWZXJ0aWNhbE1hcmdpbjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBmbG9hdGVkSG9yaXpvbnRhbE1hcmdpbjtcbiAgICB9XG5cbiAgICAudWkuZmxvYXRlZC5pbWFnZXM6bGFzdC1jaGlsZCxcbiAgICAudWkuZmxvYXRlZC5pbWFnZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkltYWdlQ2VudGVyZWQpIHtcbiAgICAudWkuY2VudGVyZWQuaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gICAgLnVpLmNlbnRlcmVkLmltYWdlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLm1lZGl1bS5pbWFnZXMgLmltYWdlLFxuLnVpLm1lZGl1bS5pbWFnZXMgaW1nLFxuLnVpLm1lZGl1bS5pbWFnZXMgc3ZnLFxuLnVpLm1lZGl1bS5pbWFnZSB7XG4gICAgd2lkdGg6IEBtZWRpdW1XaWR0aDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZm9udC1zaXplOiBAbWVkaXVtO1xufVxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkltYWdlU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkltYWdlU2l6ZXMsIHtcbiAgICAgICAgQHc6IEB7dmFsdWV9V2lkdGg7XG4gICAgICAgIEBzOiBAQHZhbHVlO1xuICAgICAgICAudWkuQHt2YWx1ZX0uaW1hZ2VzIC5pbWFnZSxcbiAgICAgICAgLnVpLkB7dmFsdWV9LmltYWdlcyBpbWcsXG4gICAgICAgIC51aS5Ae3ZhbHVlfS5pbWFnZXMgc3ZnLFxuICAgICAgICAudWkuQHt2YWx1ZX0uaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IEBAdztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSW1hZ2VHcm91cHMpIHtcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICAgICAgR3JvdXBzXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIC51aS5pbWFnZXMge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIG1hcmdpbjogMCAtQGltYWdlSG9yaXpvbnRhbE1hcmdpbjtcbiAgICB9XG5cbiAgICAudWkuaW1hZ2VzIC5pbWFnZSxcbiAgICAudWkuaW1hZ2VzID4gaW1nLFxuICAgIC51aS5pbWFnZXMgPiBzdmcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBAaW1hZ2VIb3Jpem9udGFsTWFyZ2luIEBpbWFnZVZlcnRpY2FsTWFyZ2luO1xuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBJbnB1dFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiZWxlbWVudFwiO1xuQGVsZW1lbnQ6IFwiaW5wdXRcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3RDb3JuZXI6IGlmKEB2YXJpYXRpb25JbnB1dENvcm5lciwgZShcIjpub3QoLmNvcm5lcilcIikpO1xuQG5vdEFjdGlvbjogaWYoQHZhcmlhdGlvbklucHV0QWN0aW9uLCBlKFwiOm5vdCguYWN0aW9uKVwiKSk7XG5Abm90RGlzYWJsZWQ6IGlmKEB2YXJpYXRpb25JbnB1dERpc2FibGVkLCBlKFwiOm5vdCguZGlzYWJsZWQpXCIpKTtcblxuQG5vdEJhc2ljOiBpZihAdmFyaWF0aW9uQnV0dG9uQmFzaWMsIGUoXCI6bm90KC5iYXNpYylcIikpO1xuQG5vdFRlcnRpYXJ5OiBpZihAdmFyaWF0aW9uQnV0dG9uVGVydGlhcnksIGUoXCI6bm90KC50ZXJ0aWFyeSlcIikpO1xuQG5vdExpbms6IGlmKEB2YXJpYXRpb25JY29uTGluaywgZShcIjpub3QoLmxpbmspXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgU3RhbmRhcmRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtd2VpZ2h0OiBAbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBjb2xvcjogQGlucHV0Q29sb3I7XG59XG4udWkuaW5wdXQgPiBpbnB1dCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICB0ZXh0LWFsaWduOiBAdGV4dEFsaWduO1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZUhlaWdodDtcbiAgICBmb250LWZhbWlseTogQGlucHV0Rm9udDtcbiAgICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgICBib3JkZXI6IEBib3JkZXI7XG4gICAgY29sb3I6IEBpbnB1dENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgYm94LXNoYWRvdzogQGJveFNoYWRvdztcbiAgICAmOm5vdChbdHlwZT1cImNvbG9yXCJdKSB7XG4gICAgICAgIHBhZGRpbmc6IEBwYWRkaW5nO1xuICAgIH1cbiAgICAmOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBvcGFjaXR5OiBAaWNvbk9wYWNpdHk7XG4gICAgICAgIHRyYW5zaXRpb246IEBpY29uVHJhbnNpdGlvbjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBsYWNlaG9sZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogYnJvd3NlcnMgcmVxdWlyZSB0aGVzZSBydWxlcyBzZXBhcmF0ZSAqL1xuXG4udWkuaW5wdXQgPiBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBAcGxhY2Vob2xkZXJDb2xvcjtcbn1cbi51aS5pbnB1dCA+IGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuLnVpLmlucHV0ID4gaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHdoZW4gKEBzdXBwb3J0SUUpIHtcbiAgICBjb2xvcjogQHBsYWNlaG9sZGVyQ29sb3I7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4mIHdoZW4gKEB2YXJpYXRpb25JbnB1dERpc2FibGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZGlzYWJsZWQuaW5wdXQsXG4gICAgLnVpLmlucHV0QHtub3REaXNhYmxlZH0gaW5wdXRbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogQGRpc2FibGVkT3BhY2l0eTtcbiAgICB9XG5cbiAgICAudWkuZGlzYWJsZWQuaW5wdXQgPiBpbnB1dCxcbiAgICAudWkuaW5wdXRAe25vdERpc2FibGVkfSBpbnB1dFtkaXNhYmxlZF0ge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogQGRpc2FibGVkUG9pbnRlckV2ZW50cztcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5pbnB1dCA+IGlucHV0OmFjdGl2ZSxcbi51aS5pbnB1dC5kb3duIGlucHV0IHtcbiAgICBib3JkZXItY29sb3I6IEBkb3duQm9yZGVyQ29sb3I7XG4gICAgYmFja2dyb3VuZDogQGRvd25CYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBAZG93bkNvbG9yO1xuICAgIGJveC1zaGFkb3c6IEBkb3duQm94U2hhZG93O1xufVxuXG4udWkuZm9ybSAuZmllbGQgPiB0ZXh0YXJlYTpob3Zlcjpub3QoOmZvY3VzKSxcbi51aS5pbnB1dCA+IHRleHRhcmVhOmhvdmVyOm5vdCg6Zm9jdXMpLFxuLnVpLmZvcm0gLmZpZWxkID4gaW5wdXQ6aG92ZXI6bm90KDpmb2N1cyksXG4udWkuaW5wdXQgPiBpbnB1dDpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiBAc2VsZWN0ZWRCb3JkZXJDb2xvcjtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSW5wdXRMb2FkaW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgTG9hZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnVpLmxvYWRpbmcuaW5wdXQgPiBpLmljb246OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luOiBAbG9hZGVyTWFyZ2luO1xuICAgICAgICB3aWR0aDogQGxvYWRlclNpemU7XG4gICAgICAgIGhlaWdodDogQGxvYWRlclNpemU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgICAgICAgYm9yZGVyOiBAbG9hZGVyTGluZVdpZHRoIHNvbGlkIEBsb2FkZXJGaWxsQ29sb3I7XG4gICAgfVxuICAgIC51aS51aS5sb2FkaW5nLmlucHV0ID4gaS5pY29uOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luOiBAbG9hZGVyTWFyZ2luO1xuICAgICAgICB3aWR0aDogQGxvYWRlclNpemU7XG4gICAgICAgIGhlaWdodDogQGxvYWRlclNpemU7XG4gICAgICAgIGFuaW1hdGlvbjogbG9hZGVyIEBsb2FkZXJTcGVlZCBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgIGJvcmRlcjogQGxvYWRlckxpbmVXaWR0aCBzb2xpZCBAbG9hZGVyTGluZUNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmlucHV0LmZvY3VzID4gaW5wdXQsXG4udWkuaW5wdXQgPiBpbnB1dDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiBAZm9jdXNCb3JkZXJDb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiBAZm9jdXNCYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBAZm9jdXNDb2xvcjtcbiAgICBib3gtc2hhZG93OiBAZm9jdXNCb3hTaGFkb3c7XG59XG4udWkuaW5wdXQuZm9jdXMgPiBpbnB1dDo6cGxhY2Vob2xkZXIsXG4udWkuaW5wdXQgPiBpbnB1dDpmb2N1czo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBAcGxhY2Vob2xkZXJGb2N1c0NvbG9yO1xufVxuJiB3aGVuIChAc3VwcG9ydElFKSB7XG4gICAgLnVpLmlucHV0LmZvY3VzID4gaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICAgIC51aS5pbnB1dCA+IGlucHV0OmZvY3VzOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiBAcGxhY2Vob2xkZXJGb2N1c0NvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbklucHV0U3RhdGVzID0gZmFsc2UpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgU3RhdGVzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgZWFjaChAdmFyaWF0aW9uSW5wdXRTdGF0ZXMsIHtcbiAgICAgICAgQHN0YXRlOiBAdmFsdWU7XG5cbiAgICAgICAgLnVpLmlucHV0LkB7c3RhdGV9ID4gaW5wdXQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bYmFja2dyb3VuZF07XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2JvcmRlckNvbG9yXTtcbiAgICAgICAgICAgIGNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtjb2xvcl07XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtib3hTaGFkb3ddO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHN0YXRlPWVycm9yKSBhbmQgKEB2YXJpYXRpb25JbnB1dEludmFsaWQpIHtcbiAgICAgICAgICAgIC51aS5pbnB1dCA+IGlucHV0Om5vdCg6cGxhY2Vob2xkZXItc2hvd24pOmludmFsaWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2JhY2tncm91bmRdO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bYm9yZGVyQ29sb3JdO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtjb2xvcl07XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bYm94U2hhZG93XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5pbnB1dCA+IGlucHV0Om5vdCg6LW1zLWlucHV0LXBsYWNlaG9sZGVyKTppbnZhbGlkIHdoZW4gKEBzdXBwb3J0SUUpe1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2JhY2tncm91bmRdO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bYm9yZGVyQ29sb3JdO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtjb2xvcl07XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bYm94U2hhZG93XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFBsYWNlaG9sZGVyICovXG4gICAgICAgIC51aS5pbnB1dC5Ae3N0YXRlfSA+IGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1baW5wdXRQbGFjZWhvbGRlckNvbG9yXTtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW5wdXQuQHtzdGF0ZX0gPiBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgd2hlbiAoQHN1cHBvcnRJRSkge1xuICAgICAgICAgICAgY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2lucHV0UGxhY2Vob2xkZXJDb2xvcl0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEZvY3VzZWQgUGxhY2Vob2xkZXIgKi9cbiAgICAgICAgLnVpLmlucHV0LkB7c3RhdGV9ID4gaW5wdXQ6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtpbnB1dFBsYWNlaG9sZGVyRm9jdXNDb2xvcl07XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmlucHV0LkB7c3RhdGV9ID4gaW5wdXQ6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHdoZW4gKEBzdXBwb3J0SUUpe1xuICAgICAgICAgICAgY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2lucHV0UGxhY2Vob2xkZXJGb2N1c0NvbG9yXSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbklucHV0VHJhbnNwYXJlbnQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIFRyYW5zcGFyZW50XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudHJhbnNwYXJlbnQuaW5wdXQgPiB0ZXh0YXJlYSxcbiAgICAudWkudHJhbnNwYXJlbnQuaW5wdXQgPiBpbnB1dCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5maWVsZCAudWkudHJhbnNwYXJlbnQuaW5wdXQgPiB0ZXh0YXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IEBwYWRkaW5nO1xuICAgIH1cblxuICAgIC8qIFRyYW5zcGFyZW50IEljb24gKi9cbiAgICA6bm90KC5maWVsZCkgPiAudWkudHJhbnNwYXJlbnQuaWNvbi5pbnB1dCA+IGkuaWNvbiB7XG4gICAgICAgIHdpZHRoOiBAdHJhbnNwYXJlbnRJY29uV2lkdGg7XG4gICAgfVxuICAgIDpub3QoLmZpZWxkKSA+IC51aS51aS51aS50cmFuc3BhcmVudC5pY29uLmlucHV0ID4gaW5wdXQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEB0cmFuc3BhcmVudEljb25NYXJnaW47XG4gICAgfVxuICAgIDpub3QoLmZpZWxkKSA+IC51aS51aS51aS50cmFuc3BhcmVudFtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiBpbnB1dCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQHRyYW5zcGFyZW50SWNvbk1hcmdpbjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSW5wdXRJbnZlcnRlZCkge1xuICAgICAgICAvKiBUcmFuc3BhcmVudCBJbnZlcnRlZCAqL1xuICAgICAgICAudWkudHJhbnNwYXJlbnQuaW52ZXJ0ZWQuaW5wdXQge1xuICAgICAgICAgICAgY29sb3I6IEB0cmFuc3BhcmVudEludmVydGVkQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnVpLnRyYW5zcGFyZW50LmludmVydGVkLmlucHV0ID4gdGV4dGFyZWEsXG4gICAgICAgIC51aS51aS50cmFuc3BhcmVudC5pbnZlcnRlZC5pbnB1dCA+IGlucHV0IHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLnRyYW5zcGFyZW50LmludmVydGVkLmlucHV0ID4gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAdHJhbnNwYXJlbnRJbnZlcnRlZFBsYWNlaG9sZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnRyYW5zcGFyZW50LmludmVydGVkLmlucHV0ID4gaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHdoZW4gKEBzdXBwb3J0SUUpIHtcbiAgICAgICAgICAgIGNvbG9yOiBAdHJhbnNwYXJlbnRJbnZlcnRlZFBsYWNlaG9sZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbklucHV0SWNvbikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgSWNvblxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmljb24uaW5wdXQgPiBpLmljb24ge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBAaWNvbldpZHRoO1xuICAgICAgICBvcGFjaXR5OiBAaWNvbk9wYWNpdHk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDA7XG4gICAgICAgIHRyYW5zaXRpb246IEBpY29uVHJhbnNpdGlvbjtcbiAgICB9XG4gICAgLnVpLmljb24uaW5wdXQgPiBpLmljb25Ae25vdExpbmt9IHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgIC51aS51aS51aS51aS5pY29uLmlucHV0QHtub3RDb3JuZXJ9ID4gdGV4dGFyZWEsXG4gICAgLnVpLnVpLnVpLnVpLmljb24uaW5wdXRAe25vdENvcm5lcn0gPiBpbnB1dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEBpY29uTWFyZ2luO1xuICAgIH1cblxuICAgIC51aS5pY29uLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4gICAgLnVpLmljb24uaW5wdXQgPiBpLmljb246OmFmdGVyIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogQGljb25PZmZzZXQ7XG4gICAgfVxuICAgIC51aS5pY29uLmlucHV0ID4gaS5saW5rLmljb24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgIC51aS5pY29uLmlucHV0ID4gaS5jaXJjdWxhci5pY29uIHtcbiAgICAgICAgdG9wOiBAY2lyY3VsYXJJY29uVmVydGljYWxPZmZzZXQ7XG4gICAgICAgIHJpZ2h0OiBAY2lyY3VsYXJJY29uSG9yaXpvbnRhbE9mZnNldDtcbiAgICB9XG5cbiAgICAvKiBMZWZ0IEljb24gSW5wdXQgKi9cbiAgICAudWlbY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gaS5pY29uIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IEBib3JkZXJXaWR0aDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyAwIDAgQGJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IGkuY2lyY3VsYXIuaWNvbiB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiBAY2lyY3VsYXJJY29uSG9yaXpvbnRhbE9mZnNldDtcbiAgICB9XG4gICAgLnVpLnVpLnVpLnVpW2NsYXNzKj1cImxlZnQgaWNvblwiXTpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyXCJdKS5pbnB1dCA+IHRleHRhcmVhLFxuICAgIC51aS51aS51aS51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lclwiXSkuaW5wdXQgPiBpbnB1dCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQGljb25NYXJnaW47XG4gICAgfVxuICAgIC51aS51aS51aS51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl1Ae25vdENvcm5lcn0uaW5wdXQgPiB0ZXh0YXJlYSxcbiAgICAudWkudWkudWkudWlbY2xhc3MqPVwibGVmdCBpY29uXCJdQHtub3RDb3JuZXJ9LmlucHV0ID4gaW5wdXQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAaG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgfVxuXG4gICAgLyogRm9jdXMgKi9cbiAgICAudWkuaW5wdXQgPiBpbnB1dDpmb2N1czo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yLFxuICAgIC51aS5pY29uLmlucHV0ID4gdGV4dGFyZWE6Zm9jdXMgfiBpLmljb24sXG4gICAgLnVpLmljb24uaW5wdXQgPiBpbnB1dDpmb2N1cyB+IGkuaWNvbiB7XG4gICAgICAgIG9wYWNpdHk6IEBpY29uRm9jdXNPcGFjaXR5O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSW5wdXRMYWJlbGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIExhYmVsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIEFkamFjZW50IExhYmVsICovXG4gICAgLnVpLmxhYmVsZWQuaW5wdXQgPiAubGFiZWwge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IEByZWxhdGl2ZU1lZGl1bTtcbiAgICB9XG4gICAgLnVpLmxhYmVsZWQuaW5wdXQgPiAubGFiZWxAe25vdENvcm5lcn0ge1xuICAgICAgICBwYWRkaW5nLXRvcDogQHZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IEB2ZXJ0aWNhbFBhZGRpbmc7XG4gICAgfVxuXG4gICAgLyogUmVndWxhciBMYWJlbCBvbiBMZWZ0ICovXG4gICAgLnVpLmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgLmxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cbiAgICAudWkubGFiZWxlZC5pbnB1dDpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSAubGFiZWw6Zmlyc3QtY2hpbGQgKyBpbnB1dCB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgLnVpLmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgLmxhYmVsOmZpcnN0LWNoaWxkICsgaW5wdXQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogQGZvY3VzQm9yZGVyQ29sb3I7XG4gICAgfVxuXG4gICAgLyogUmVndWxhciBMYWJlbCBvbiBSaWdodCAqL1xuICAgIC51aVtjbGFzcyo9XCJyaWdodCBsYWJlbGVkXCJdLmlucHV0ID4gaW5wdXQge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJyaWdodCBsYWJlbGVkXCJdLmlucHV0ID4gaW5wdXQgKyAubGFiZWwge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC51aVtjbGFzcyo9XCJyaWdodCBsYWJlbGVkXCJdLmlucHV0ID4gaW5wdXQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IEBmb2N1c0JvcmRlckNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JbnB1dENvcm5lcikge1xuICAgIC8qIENvcm5lciBMYWJlbCAqL1xuICAgIC51aS5sYWJlbGVkLmlucHV0IC5jb3JuZXIubGFiZWwge1xuICAgICAgICB0b3A6IEBsYWJlbENvcm5lclRvcDtcbiAgICAgICAgcmlnaHQ6IEBsYWJlbENvcm5lclJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IEBsYWJlbENvcm5lclNpemU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGJvcmRlclJhZGl1cyAwIDA7XG4gICAgfVxuXG4gICAgLyogU3BhY2luZyB3aXRoIGNvcm5lciBsYWJlbCAqL1xuICAgIC51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXTpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pLmlucHV0ID4gLnVpLmRyb3Bkb3duLFxuICAgIC51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXTpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pLmlucHV0ID4gdGV4dGFyZWEsXG4gICAgLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkuaW5wdXQgPiBpbnB1dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEBsYWJlbGVkTWFyZ2luO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0uaWNvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmRyb3Bkb3duLFxuICAgIC51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXS5pY29uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkgPiB0ZXh0YXJlYSxcbiAgICAudWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0uaWNvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pID4gaW5wdXQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAbGFiZWxlZEljb25JbnB1dE1hcmdpbjtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdLmljb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKSA+IGkuaWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGxhYmVsZWRJY29uTWFyZ2luO1xuICAgIH1cblxuICAgIC8qIExlZnQgTGFiZWxlZCAqL1xuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiAudWkuZHJvcGRvd246Zmlyc3QtY2hpbGQsXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IGkuaWNvbiArIC51aS5kcm9wZG93bixcbiAgICAudWlbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXS5pbnB1dCA+IC51aS5kcm9wZG93bixcbiAgICAudWlbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXS5pbnB1dCA+IHRleHRhcmVhLFxuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdLmlucHV0ID4gaW5wdXQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEBsYWJlbGVkTWFyZ2luO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JbnB1dEljb24pIHtcbiAgICAgICAgLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSlbY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gLnVpLmRyb3Bkb3duLFxuICAgICAgICAudWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiB0ZXh0YXJlYSxcbiAgICAgICAgLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSlbY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gaW5wdXQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQGxhYmVsZWRJY29uSW5wdXRNYXJnaW47XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl1bY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gLnVpLmRyb3Bkb3duLFxuICAgICAgICAudWkudWlbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiB0ZXh0YXJlYSxcbiAgICAgICAgLnVpLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl1bY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gaW5wdXQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAbGFiZWxlZEFuZEljb25NYXJnaW47XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0uaWNvbi5pbnB1dCA+IGkuaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQGxhYmVsZWRJY29uTWFyZ2luO1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdLmljb246bm90KFtjbGFzcyo9XCJsZWZ0IGljb25cIl0pLmlucHV0ID4gaW5wdXQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQGxhYmVsZWRNYXJnaW47XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkuaWNvbjpub3QoW2NsYXNzKj1cImxlZnQgaWNvblwiXSkuaW5wdXQgPiBpbnB1dCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAbGFiZWxlZE1hcmdpbiAqIDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWlbY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gLnVpLmRyb3Bkb3duLFxuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdLmlucHV0ID4gLnVpLmRyb3Bkb3duIHtcbiAgICAgICAgJiA+IC5zZWFyY2gge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAbGFiZWxlZE1hcmdpbjtcbiAgICAgICAgfVxuICAgICAgICAmID4gLm1lbnUge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAbGFiZWxlZEljb25NYXJnaW47XG4gICAgICAgICAgICAmID4gLml0ZW0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQGxhYmVsZWRNYXJnaW47XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC1AbGFiZWxlZEljb25NYXJnaW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl1bY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gLnVpLmRyb3Bkb3duIHtcbiAgICAgICAgJiA+IC5zZWFyY2gge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAbGFiZWxlZEFuZEljb25NYXJnaW47XG4gICAgICAgIH1cbiAgICAgICAgJiA+IC5tZW51ID4gLml0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAbGFiZWxlZEFuZEljb25NYXJnaW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLmljb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGljb25cIl0pID4gLnVpLmRyb3Bkb3duLFxuICAgIC51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXTpub3QoW2NsYXNzKj1cImxlZnQgY29ybmVyIGxhYmVsZWRcIl0pLmlucHV0ID4gLnVpLmRyb3Bkb3duIHtcbiAgICAgICAgJiA+IC5zZWFyY2gge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQGxhYmVsZWRNYXJnaW4gKyBAbGFiZWxlZEljb25JbnB1dE1hcmdpbjtcbiAgICAgICAgfVxuICAgICAgICAmID4gLnJlbW92ZS5pY29uLFxuICAgICAgICA+IC5kcm9wZG93bi5pY29uIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IEBsYWJlbGVkTWFyZ2luO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKC5mKSkge1xuICAgICAgICAudWkuaWNvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgaWNvblwiXSkgPiAudWkuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pY29uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBpY29uXCJdKTpub3QoOmhhcygudWkuZHJvcGRvd24gfiBpbnB1dCkpID4gLnVpLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQGxhYmVsZWRNYXJnaW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkuaWNvbjpub3QoW2NsYXNzKj1cImxlZnQgaWNvblwiXSkuaW5wdXQgPiAudWkuZHJvcGRvd24ge1xuICAgICAgICAmID4gLnNlYXJjaCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAbGFiZWxlZEFuZEljb25NYXJnaW4gKyBAbGFiZWxlZEljb25JbnB1dE1hcmdpbjtcbiAgICAgICAgfVxuICAgICAgICAmID4gLnJlbW92ZS5pY29uLFxuICAgICAgICA+IC5kcm9wZG93bi5pY29uIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IEBsYWJlbGVkQW5kSWNvbk1hcmdpbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkuaWNvbi5pbnB1dCA+IC51aS52aXNpYmxlLmRyb3Bkb3duIH4gaS5pY29uLFxuICAgIC51aS5pY29uLmlucHV0ID4gLnVpLmFjdGl2ZS5kcm9wZG93biB+IGkuaWNvbixcbiAgICAudWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0uaW5wdXQgPiAudWkudmlzaWJsZS5kcm9wZG93biB+IC51aS5jb3JuZXIubGFiZWwsXG4gICAgLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdLmlucHV0ID4gLnVpLmFjdGl2ZS5kcm9wZG93biB+IC51aS5jb3JuZXIubGFiZWwge1xuICAgICAgICB6LWluZGV4OiBAbGFiZWxlZERyb3Bkb3duWkluZGV4O1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvbklucHV0SWNvbikge1xuICAgIC51aS5pY29uLmlucHV0ID4gdGV4dGFyZWEgfiBpLmljb24ge1xuICAgICAgICBoZWlnaHQ6IEB0ZXh0YXJlYUljb25IZWlnaHQ7XG4gICAgfVxuICAgIDpub3QoLmZpZWxkKSA+IC51aS50cmFuc3BhcmVudC5pY29uLmlucHV0ID4gdGV4dGFyZWEgfiBpLmljb24ge1xuICAgICAgICBoZWlnaHQ6IEB0cmFuc3BhcmVudFRleHRhcmVhSWNvbkhlaWdodDtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25JbnB1dENvcm5lcikge1xuICAgIC8qIENvcm5lciBMYWJlbCBQb3NpdGlvbiAqL1xuICAgIC51aS5pbnB1dCA+IC51aS5jb3JuZXIubGFiZWwge1xuICAgICAgICB0b3A6IEBib3JkZXJXaWR0aDtcbiAgICAgICAgcmlnaHQ6IEBib3JkZXJXaWR0aDtcbiAgICB9XG4gICAgLnVpLmlucHV0ID4gLnVpLmxlZnQuY29ybmVyLmxhYmVsIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IEBib3JkZXJXaWR0aDtcbiAgICB9XG59XG5cbiYgd2hlbiAoKEB2YXJpYXRpb25JbnB1dExhYmVsZWQpIG9yIChAdmFyaWF0aW9uSW5wdXRBY3Rpb24pKSBhbmQgbm90IChAdmFyaWF0aW9uSW5wdXRTdGF0ZXMgPSBmYWxzZSkge1xuICAgIC8qIExhYmVsZWQgYW5kIGFjdGlvbiBpbnB1dCBzdGF0ZXMgKi9cbiAgICBlYWNoKEB2YXJpYXRpb25JbnB1dFN0YXRlcywge1xuICAgICAgICBAc3RhdGU6IEB2YWx1ZTtcbiAgICAgICAgQGJvcmRlckNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtib3JkZXJDb2xvcl07XG5cbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9ID4gLnVpLmFjdGlvbi5pbnB1dCA+IC51aS5idXR0b24sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSA+IC51aS5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsLFxuICAgICAgICAudWkuYWN0aW9uLmlucHV0LkB7c3RhdGV9ID4gLnVpLmJ1dHRvbixcbiAgICAgICAgLnVpLmxhYmVsZWQuaW5wdXQuQHtzdGF0ZX06bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWwge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogQGJvcmRlcldpZHRoIHNvbGlkIEBib3JkZXJDb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IEBib3JkZXJXaWR0aCBzb2xpZCBAYm9yZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9ID4gLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gLnVpLmJ1dHRvbixcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9ID4gLnVpLmxhYmVsZWQuaW5wdXQ6bm90KC5yaWdodCk6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgPiAudWkubGFiZWwsXG4gICAgICAgIC51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dC5Ae3N0YXRlfSA+IC51aS5idXR0b24sXG4gICAgICAgIC51aS5sYWJlbGVkLmlucHV0LkB7c3RhdGV9Om5vdCgucmlnaHQpOm5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBAYm9yZGVyV2lkdGggc29saWQgQGJvcmRlckNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSA+IC51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgPiBpbnB1dCArIC51aS5idXR0b24sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSA+IC51aS5yaWdodC5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gaW5wdXQgKyAudWkubGFiZWwsXG4gICAgICAgIC51aS5hY3Rpb24uaW5wdXQuQHtzdGF0ZX06bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgPiBpbnB1dCArIC51aS5idXR0b24sXG4gICAgICAgIC51aS5yaWdodC5sYWJlbGVkLmlucHV0LkB7c3RhdGV9Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gaW5wdXQgKyAudWkubGFiZWwsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSA+IC51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgPiB0ZXh0YXJlYSArIC51aS5idXR0b24sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSA+IC51aS5yaWdodC5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gdGV4dGFyZWEgKyAudWkubGFiZWwsXG4gICAgICAgIC51aS5hY3Rpb24uaW5wdXQuQHtzdGF0ZX06bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgPiB0ZXh0YXJlYSArIC51aS5idXR0b24sXG4gICAgICAgIC51aS5yaWdodC5sYWJlbGVkLmlucHV0LkB7c3RhdGV9Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gdGV4dGFyZWEgKyAudWkubGFiZWwge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBAYm9yZGVyV2lkdGggc29saWQgQGJvcmRlckNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSA+IC51aS5yaWdodC5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pID4gLnVpLmxhYmVsOmZpcnN0LWNoaWxkLFxuICAgICAgICAudWkucmlnaHQubGFiZWxlZC5pbnB1dC5Ae3N0YXRlfTpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSA+IC51aS5sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogQGJvcmRlcldpZHRoIHNvbGlkIEBib3JkZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JbnB1dEFjdGlvbikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBBY3Rpb25cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5hY3Rpb24uaW5wdXQgPiAuYnV0dG9uLFxuICAgIC51aS5hY3Rpb24uaW5wdXQgPiAuYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICAudWkuYWN0aW9uLmlucHV0ID4gLmJ1dHRvbixcbiAgICAudWkuYWN0aW9uLmlucHV0ID4gLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IEB2ZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBAdmVydGljYWxQYWRkaW5nO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyogSW5wdXQgd2hlbiB1aSBMZWZ0ICovXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gaW5wdXQsXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gdGV4dGFyZWEge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLyogSW5wdXQgd2hlbiB1aSBSaWdodCAqL1xuICAgIC51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgPiBpbnB1dCxcbiAgICAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gdGV4dGFyZWEge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLyogQnV0dG9uIGFuZCBEcm9wZG93biAqL1xuICAgIC51aS5hY3Rpb24uaW5wdXQgPiAuZHJvcGRvd246Zmlyc3QtY2hpbGQsXG4gICAgLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b246Zmlyc3QtY2hpbGQsXG4gICAgLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b25zOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgMCAwIEBib3JkZXJSYWRpdXM7XG4gICAgfVxuICAgIC51aS5hY3Rpb24uaW5wdXQgPiAuZHJvcGRvd246bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b246bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b25zOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuICAgIC51aS5hY3Rpb24uaW5wdXQgPiAuZHJvcGRvd246bGFzdC1jaGlsZCxcbiAgICAudWkuYWN0aW9uLmlucHV0ID4gLmJ1dHRvbjpsYXN0LWNoaWxkLFxuICAgIC51aS5hY3Rpb24uaW5wdXQgPiAuYnV0dG9uczpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDA7XG4gICAgfVxuXG4gICAgLyogSW5wdXQgRm9jdXMgKi9cbiAgICAudWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gaW5wdXQ6Zm9jdXMsXG4gICAgLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IHRleHRhcmVhOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAZm9jdXNCb3JkZXJDb2xvcjtcbiAgICB9XG5cbiAgICAudWkudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiBpbnB1dDpmb2N1cyxcbiAgICAudWkudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAZm9jdXNCb3JkZXJDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbklucHV0SW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogU3RhbmRhcmQgKi9cbiAgICAudWkuaW52ZXJ0ZWQuaW5wdXQgPiBpbnB1dCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbklucHV0Rmx1aWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgRmx1aWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mbHVpZC5pbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgIC51aS5mbHVpZC5pbnB1dCA+IGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbklucHV0RmlsZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBGaWxlXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiB3aWR0aCBoYWNrIGZvciBjaHJvbWUvZWRnZSAqL1xuICAgIC51aS5maWxlLmlucHV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICYgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWkuZm9ybSAuZmllbGQgPiBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbiAgICAudWkuZmlsZS5pbnB1dEB7bm90QWN0aW9ufSBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnVpLmFjdGlvbi5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC51aS5mb3JtIC5maWVsZCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24sXG4gICAgLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IEBwYWRkaW5nO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBmaWxlQnV0dG9uTWFyZ2luO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAZmlsZUJ1dHRvbkJhY2tncm91bmQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAZmlsZUJ1dHRvbkZvbnRXZWlnaHQ7XG4gICAgICAgIGNvbG9yOiBAZmlsZUJ1dHRvblRleHRDb2xvcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAZmlsZUJ1dHRvbkJhY2tncm91bmRIb3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiBAZmlsZUJ1dHRvblRleHRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEBzdXBwb3J0SUUpIHtcbiAgICAgICAgLnVpLmFjdGlvbi5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkIGlucHV0W3R5cGU9XCJmaWxlXCJdOjotbXMtYnJvd3NlLFxuICAgICAgICAudWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LW1zLWJyb3dzZSB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiBAcGFkZGluZztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBmaWxlQnV0dG9uQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBAZmlsZUJ1dHRvbkZvbnRXZWlnaHQ7XG4gICAgICAgICAgICBjb2xvcjogQGZpbGVCdXR0b25UZXh0Q29sb3I7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAZmlsZUJ1dHRvbkJhY2tncm91bmRIb3ZlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGZpbGVCdXR0b25UZXh0Q29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvKiBJRSBuZWVkcyBhZGRpdGlvbmFsIHN0eWxpbmcgZm9yIGlucHV0IGZpZWxkIDpTICovXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICAgICAgLnVpLmZpbGUuaW5wdXQgPiBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS5hY3Rpb24uZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAudWkuZm9ybSAuZmllbGQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuICAgIC51aS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwYWRkaW5nOiBAcGFkZGluZztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAZmlsZUJ1dHRvbk1hcmdpbjtcbiAgICAgICAgYmFja2dyb3VuZDogQGZpbGVCdXR0b25CYWNrZ3JvdW5kO1xuICAgICAgICBmb250LXdlaWdodDogQGZpbGVCdXR0b25Gb250V2VpZ2h0O1xuICAgICAgICBjb2xvcjogQGZpbGVCdXR0b25UZXh0Q29sb3I7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGZpbGVCdXR0b25CYWNrZ3JvdW5kSG92ZXI7XG4gICAgICAgICAgICBjb2xvcjogQGZpbGVCdXR0b25UZXh0Q29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSW5wdXRJbnZhbGlkKSB7XG4gICAgICAgIC51aS5mb3JtIC5maWVsZCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpyZXF1aXJlZDppbnZhbGlkLFxuICAgICAgICAudWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpyZXF1aXJlZDppbnZhbGlkIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmVnYXRpdmVUZXh0Q29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAbmVnYXRpdmVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBuZWdhdGl2ZUJvcmRlckNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuaW52aXNpYmxlLmZpbGUuaW5wdXQsXG4gICAgLnVpLmludmlzaWJsZS5maWxlLmlucHV0IGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAgICAgbGVmdDogLTk5OTk5cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXS51aS5maWxlLmlucHV0OmZvY3VzICsgbGFiZWwudWkuYnV0dG9uQHtub3RCYXNpY31Ae25vdFRlcnRpYXJ5fSxcbiAgICAudWkuZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyArIGxhYmVsLnVpLmJ1dHRvbkB7bm90QmFzaWN9QHtub3RUZXJ0aWFyeX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAZmlsZUJ1dHRvbkJhY2tncm91bmRIb3ZlcjtcbiAgICAgICAgY29sb3I6IEBob3ZlcmVkVGV4dENvbG9yO1xuICAgICAgICAmLmludmVydGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBmaWxlQnV0dG9uSW52ZXJ0ZWRCYWNrZ3JvdW5kSG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiB0aGlzIGlzIHJlbGF0ZWQgdG8gZXhpc3RpbmcgYnV0dG9ucywgc28gdGhlIGJ1dHRvbiBjb2xvciB2YXJpYWJsZSBpcyB1c2VkIGhlcmUhICovXG4gICAgJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkJ1dHRvbkNvbG9ycyA9IGZhbHNlKSB7XG4gICAgICAgIGVhY2goQHZhcmlhdGlvbkJ1dHRvbkNvbG9ycywge1xuICAgICAgICAgICAgQGNvbG9yOiBAdmFsdWU7XG4gICAgICAgICAgICBAaDogQGNvbG9yc1tAQGNvbG9yXVtob3Zlcl07XG4gICAgICAgICAgICBAbGg6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRIb3Zlcl07XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLmZpbGUuaW5wdXQ6Zm9jdXMgKyBsYWJlbC51aS5Ae2NvbG9yfS5idXR0b25Ae25vdEJhc2ljfUB7bm90VGVydGlhcnl9LFxuICAgICAgICAgICAgLnVpLmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgKyBsYWJlbC51aS5Ae2NvbG9yfS5idXR0b25Ae25vdEJhc2ljfUB7bm90VGVydGlhcnl9IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaDtcbiAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgICYuaW52ZXJ0ZWQgd2hlbiAoQHZhcmlhdGlvbkJ1dHRvbkludmVydGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBsaDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgICYgd2hlbiBub3QgKEB2YXJpYXRpb25JbnB1dENvbG9ycyA9IGZhbHNlKSB7XG4gICAgICAgIGVhY2goQHZhcmlhdGlvbklucHV0Q29sb3JzLCB7XG4gICAgICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgICAgIEBjOiBAY29sb3JzW0BAY29sb3JdW2NvbG9yXTtcbiAgICAgICAgICAgIEBoOiBAY29sb3JzW0BAY29sb3JdW2hvdmVyXTtcblxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImZpbGVcIl0udWkuQHtjb2xvcn0uZmlsZS5pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24sXG4gICAgICAgICAgICAudWkuQHtjb2xvcn0uZmlsZS5pbnB1dCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHN1cHBvcnRJRSkge1xuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLkB7Y29sb3J9LmZpbGUuaW5wdXQ6Oi1tcy1icm93c2UsXG4gICAgICAgICAgICAgICAgLnVpLkB7Y29sb3J9LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06Oi1tcy1icm93c2Uge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdLnVpLkB7Y29sb3J9LmZpbGUuaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuICAgICAgICAgICAgLnVpLkB7Y29sb3J9LmZpbGUuaW5wdXQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYztcbiAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5pbnB1dCB7XG4gICAgZm9udC1zaXplOiBAcmVsYXRpdmVNZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uSW5wdXRTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uSW5wdXRTaXplcywge1xuICAgICAgICBAczogQHt2YWx1ZX1JbnB1dFNpemU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5pbnB1dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBAcztcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIExhYmVsXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJlbGVtZW50XCI7XG5AZWxlbWVudDogXCJsYWJlbFwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdFRhZzogaWYoQHZhcmlhdGlvbkxhYmVsVGFnLCBlKFwiOm5vdCgudGFnKVwiKSk7XG5Abm90SW1hZ2U6IGlmKEB2YXJpYXRpb25MYWJlbEltYWdlLCBlKFwiOm5vdCguaW1hZ2UpXCIpKTtcbkBub3RSaWJib246IGlmKEB2YXJpYXRpb25MYWJlbFJpYmJvbiwgZShcIjpub3QoLnJpYmJvbilcIikpO1xuXG5Abm90QmFzaWM6IGlmKEB2YXJpYXRpb25TZWdtZW50QmFzaWMsIGUoXCI6bm90KC5iYXNpYylcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTGFiZWxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHZlcnRpY2FsLWFsaWduOiBAdmVydGljYWxBbGlnbjtcbiAgICBtYXJnaW46IEB2ZXJ0aWNhbE1hcmdpbiBAaG9yaXpvbnRhbE1hcmdpbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZENvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IEBiYWNrZ3JvdW5kSW1hZ2U7XG4gICAgcGFkZGluZzogQHZlcnRpY2FsUGFkZGluZyBAaG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogQHRleHRUcmFuc2Zvcm07XG4gICAgZm9udC13ZWlnaHQ6IEBmb250V2VpZ2h0O1xuICAgIGJvcmRlcjogQGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xufVxuXG4udWkubGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnVpLmxhYmVsOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLyogTGluayAqL1xuYS51aS5sYWJlbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBJbnNpZGUgTGluayAqL1xuLnVpLmxhYmVsID4gYSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIG9wYWNpdHk6IEBsaW5rT3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uOiBAbGlua1RyYW5zaXRpb247XG59XG4udWkubGFiZWwgPiBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vKiBJbWFnZSAqL1xuLnVpLmxhYmVsID4gaW1nIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgaGVpZ2h0OiBAaW1hZ2VIZWlnaHQ7XG59XG5cbi8qIEljb24gKi9cbi51aS51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl0ubGFiZWwgPiAuaWNvbixcbi51aS5sYWJlbCA+IC5pY29uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDAgQGljb25EaXN0YW5jZSAwIDA7XG59XG5cbi8qIERldGFpbCAqL1xuLnVpLmxhYmVsID4gLmRldGFpbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZm9udC13ZWlnaHQ6IEBkZXRhaWxGb250V2VpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiBAZGV0YWlsTWFyZ2luO1xuICAgIG9wYWNpdHk6IEBkZXRhaWxPcGFjaXR5O1xufVxuLnVpLmxhYmVsID4gLmRldGFpbCAuaWNvbiB7XG4gICAgbWFyZ2luOiAwIEBkZXRhaWxJY29uRGlzdGFuY2UgMCAwO1xufVxuXG4vKiBSZW1vdmFibGUgbGFiZWwgKi9cbi51aS5sYWJlbCA+IC5jbG9zZS5pY29uLFxuLnVpLmxhYmVsID4gLmRlbGV0ZS5pY29uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiBAZGVsZXRlU2l6ZTtcbiAgICBvcGFjaXR5OiBAZGVsZXRlT3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uOiBAZGVsZXRlVHJhbnNpdGlvbjtcbn1cbi51aS5sYWJlbCA+IC5jbG9zZS5pY29uOmhvdmVyLFxuLnVpLmxhYmVsID4gLmRlbGV0ZS5pY29uOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vKiBCYWNrd2FyZCBjb21wYXRpYmxlIHBvc2l0aW9uaW5nICovXG4udWkubGFiZWxbY2xhc3MqPVwibGVmdCBpY29uXCJdID4gLmNsb3NlLmljb24sXG4udWkubGFiZWxbY2xhc3MqPVwibGVmdCBpY29uXCJdID4gLmRlbGV0ZS5pY29uIHtcbiAgICBtYXJnaW46IDAgQGRlbGV0ZU1hcmdpbiAwIDA7XG4gICAgJi5yaWdodCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgQGRlbGV0ZU1hcmdpbjtcbiAgICB9XG59XG4udWkubGFiZWw6bm90KC5pY29uKSA+IC5jbG9zZS5pY29uLFxuLnVpLmxhYmVsOm5vdCguaWNvbikgPiAuZGVsZXRlLmljb24ge1xuICAgIG1hcmdpbjogMCAwIDAgQGRlbGV0ZU1hcmdpbjtcbn1cblxuLyogTGFiZWwgZm9yIG9ubHkgYW4gaWNvbiAqL1xuLnVpLmljb24ubGFiZWwgPiAuaWNvbiB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8qIFJpZ2h0IFNpZGUgSWNvbiAqL1xuLnVpW2NsYXNzKj1cInJpZ2h0IGljb25cIl0ubGFiZWwgPiAuaWNvbiB7XG4gICAgbWFyZ2luOiAwIDAgMCBAaWNvbkRpc3RhbmNlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgR3JvdXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5sYWJlbHMgPiAubGFiZWwge1xuICAgIG1hcmdpbjogMCBAZ3JvdXBIb3Jpem9udGFsTWFyZ2luIEBncm91cFZlcnRpY2FsTWFyZ2luIDA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmhlYWRlciA+IC51aS5sYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogQGxpbmVIZWlnaHRPZmZzZXQ7XG59XG5cbi8qIFJlbW92ZSBib3JkZXIgcmFkaXVzIG9uIGF0dGFjaGVkIHNlZ21lbnQgKi9cbi51aS5hdHRhY2hlZC5zZWdtZW50ID4gLnVpLnRvcC5sZWZ0LmF0dGFjaGVkLmxhYmVsLFxuLnVpLmJvdHRvbS5hdHRhY2hlZC5zZWdtZW50ID4gLnVpLnRvcC5sZWZ0LmF0dGFjaGVkLmxhYmVsIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xufVxuLnVpLmF0dGFjaGVkLnNlZ21lbnQgPiAudWkudG9wLnJpZ2h0LmF0dGFjaGVkLmxhYmVsLFxuLnVpLmJvdHRvbS5hdHRhY2hlZC5zZWdtZW50ID4gLnVpLnRvcC5yaWdodC5hdHRhY2hlZC5sYWJlbCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG4udWkudG9wLmF0dGFjaGVkLnNlZ21lbnQgPiAudWkuYm90dG9tLmxlZnQuYXR0YWNoZWQubGFiZWwge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4udWkudG9wLmF0dGFjaGVkLnNlZ21lbnQgPiAudWkuYm90dG9tLnJpZ2h0LmF0dGFjaGVkLmxhYmVsIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLyogUGFkZGluZyBvbiBuZXh0IGNvbnRlbnQgYWZ0ZXIgYSBsYWJlbCAqL1xuLnVpLnRvcC5hdHRhY2hlZC5sYWJlbCB+IC51aS5ib3R0b20uYXR0YWNoZWQubGFiZWwgKyA6bm90KC5hdHRhY2hlZCksXG4udWkudG9wLmF0dGFjaGVkLmxhYmVsICsgOm5vdCguYXR0YWNoZWQpIHtcbiAgICBtYXJnaW4tdG9wOiBAYXR0YWNoZWRTZWdtZW50UGFkZGluZyAhaW1wb3J0YW50O1xufVxuLnVpLmJvdHRvbS5hdHRhY2hlZC5sYWJlbCB+IDpsYXN0LWNoaWxkOm5vdCguYXR0YWNoZWQpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IEBhdHRhY2hlZFNlZ21lbnRQYWRkaW5nICFpbXBvcnRhbnQ7XG59XG5cbi51aS5zZWdtZW50QHtub3RCYXNpY30gPiAudWkudG9wLmF0dGFjaGVkLmxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiBAYXR0YWNoZWRPZmZzZXQ7XG59XG4udWkuc2VnbWVudEB7bm90QmFzaWN9ID4gLnVpLmJvdHRvbS5hdHRhY2hlZC5sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogQGF0dGFjaGVkT2Zmc2V0O1xufVxuLnVpLnNlZ21lbnRAe25vdEJhc2ljfSA+IC51aS5hdHRhY2hlZC5sYWJlbDpub3QoLnJpZ2h0KSB7XG4gICAgbWFyZ2luLWxlZnQ6IEBhdHRhY2hlZE9mZnNldDtcbn1cbi51aS5zZWdtZW50QHtub3RCYXNpY30gPiAudWkucmlnaHQuYXR0YWNoZWQubGFiZWwge1xuICAgIG1hcmdpbi1yaWdodDogQGF0dGFjaGVkT2Zmc2V0O1xufVxuLnVpLnNlZ21lbnRAe25vdEJhc2ljfSA+IC51aS5hdHRhY2hlZC5sYWJlbDpub3QoLmxlZnQpOm5vdCgucmlnaHQpIHtcbiAgICB3aWR0aDogQGF0dGFjaGVkV2lkdGhPZmZzZXQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4mIHdoZW4gKEB2YXJpYXRpb25MYWJlbEltYWdlKSB7XG4gICAgLnVpLmltYWdlLmxhYmVscyAubGFiZWwsXG4gICAgLnVpLmltYWdlLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1heC13aWR0aDogOTk5OXB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW1hZ2VMYWJlbEJhY2tncm91bmQ7XG4gICAgICAgIHBhZGRpbmc6IEBpbWFnZUxhYmVsUGFkZGluZztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGltYWdlTGFiZWxCb3JkZXJSYWRpdXM7XG4gICAgICAgIGJveC1zaGFkb3c6IEBpbWFnZUxhYmVsQm94U2hhZG93O1xuICAgICAgICAmLmF0dGFjaGVkQHtub3RCYXNpY30gd2hlbiAoQHZhcmlhdGlvbkxhYmVsQXR0YWNoZWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IEBpbWFnZUxhYmVsUGFkZGluZztcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkubGFiZWxzIC5pbWFnZS5sYWJlbCxcbiAgICAudWkuaW1hZ2UubGFiZWxzIC5sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IEBncm91cFZlcnRpY2FsTWFyZ2luO1xuICAgIH1cblxuICAgIC51aS5pbWFnZS5sYWJlbCBpbWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGhlaWdodDogQGltYWdlTGFiZWxJbWFnZUhlaWdodDtcbiAgICAgICAgbWFyZ2luOiBAaW1hZ2VMYWJlbEltYWdlTWFyZ2luO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAaW1hZ2VMYWJlbEltYWdlQm9yZGVyUmFkaXVzO1xuICAgIH1cblxuICAgIC51aS5pbWFnZS5sYWJlbCAuZGV0YWlsIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGltYWdlTGFiZWxEZXRhaWxCYWNrZ3JvdW5kO1xuICAgICAgICBtYXJnaW46IEBpbWFnZUxhYmVsRGV0YWlsTWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiBAaW1hZ2VMYWJlbERldGFpbFBhZGRpbmc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGltYWdlTGFiZWxCb3JkZXJSYWRpdXMgQGltYWdlTGFiZWxCb3JkZXJSYWRpdXMgMDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGFiZWxBdHRhY2hlZCkge1xuICAgICAgICAudWkuYm90dG9tLmF0dGFjaGVkLmltYWdlLmxhYmVsOm5vdCgucmlnaHQpID4gaW1nLFxuICAgICAgICAudWkudG9wLnJpZ2h0LmF0dGFjaGVkLmltYWdlLmxhYmVsID4gaW1nIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAudWkudG9wLmF0dGFjaGVkLmltYWdlLmxhYmVsOm5vdCgucmlnaHQpID4gaW1nLFxuICAgICAgICAudWkuYm90dG9tLnJpZ2h0LmF0dGFjaGVkLmltYWdlLmxhYmVsID4gaW1nIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsVGFnKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgIFRhZ1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudGFnLmxhYmVscyAubGFiZWwsXG4gICAgLnVpLnRhZy5sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBAdGFnSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEB0YWdIb3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogQHRhZ1RyYW5zaXRpb247XG4gICAgfVxuICAgIC51aS50YWcubGFiZWxzIC5sYWJlbDo6YmVmb3JlLFxuICAgIC51aS50YWcubGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdG9wOiBAdGFnVHJpYW5nbGVUb3BPZmZzZXQ7XG4gICAgICAgIHJpZ2h0OiBAdGFnVHJpYW5nbGVSaWdodE9mZnNldDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogQHRhZ1RyaWFuZ2xlQmFja2dyb3VuZEltYWdlO1xuICAgICAgICB3aWR0aDogQHRhZ1RyaWFuZ2xlU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAdGFnVHJpYW5nbGVTaXplO1xuICAgICAgICB0cmFuc2l0aW9uOiBAdGFnVHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICAudWkudGFnLmxhYmVscyAubGFiZWw6OmFmdGVyLFxuICAgIC51aS50YWcubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogLShAdGFnQ2lyY2xlU2l6ZSAvIDIpO1xuICAgICAgICBtYXJnaW4tdG9wOiAtKEB0YWdDaXJjbGVTaXplIC8gMik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0YWdDaXJjbGVDb2xvcjtcbiAgICAgICAgd2lkdGg6IEB0YWdDaXJjbGVTaXplO1xuICAgICAgICBoZWlnaHQ6IEB0YWdDaXJjbGVTaXplO1xuICAgICAgICBib3gtc2hhZG93OiBAdGFnQ2lyY2xlQm94U2hhZG93O1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsQmFzaWMpIHtcbiAgICAgICAgLnVpLmJhc2ljLnRhZy5sYWJlbHMgLmxhYmVsOjpiZWZvcmUsXG4gICAgICAgIC51aS5iYXNpYy50YWcubGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IEBiYXNpY0JvcmRlcldpZHRoIDAgMCBAYmFzaWNCb3JkZXJXaWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogaW5oZXJpdDtcbiAgICAgICAgICAgIHJpZ2h0OiBAYmFzaWNCb3JkZXJGdWxsV2lkdGhPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmJhc2ljLnRhZy5sYWJlbHMgLmxhYmVsOjphZnRlcixcbiAgICAgICAgLnVpLmJhc2ljLnRhZy5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGJhc2ljVGFnQ2lyY2xlQm94U2hhZG93O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25MYWJlbENvcm5lcikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQ29ybmVyIExhYmVsXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jb3JuZXIubGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItY29sb3I6IEBiYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIHdpZHRoOiBAY29ybmVyVHJpYW5nbGVTaXplO1xuICAgICAgICBoZWlnaHQ6IEBjb3JuZXJUcmlhbmdsZVNpemU7XG4gICAgICAgIHotaW5kZXg6IEBjb3JuZXJUcmlhbmdsZVpJbmRleDtcbiAgICAgICAgdHJhbnNpdGlvbjogQGNvcm5lclRyaWFuZ2xlVHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICAvKiBJY29uIExhYmVsICovXG4gICAgLnVpLmNvcm5lci5sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5jb3JuZXIubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogQGNvcm5lclRyaWFuZ2xlU2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogQGNvcm5lclRyaWFuZ2xlU2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdHJhbnNpdGlvbjogQGNvcm5lclRyaWFuZ2xlVHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICAudWkuY29ybmVyLmxhYmVsIC5pY29uIHtcbiAgICAgICAgY3Vyc29yOiBpbmhlcml0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogQGNvcm5lckljb25Ub3BPZmZzZXQ7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBAY29ybmVySWNvblJpZ2h0T2Zmc2V0O1xuICAgICAgICBmb250LXNpemU6IEBjb3JuZXJJY29uU2l6ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qIExlZnQgQ29ybmVyICovXG4gICAgLnVpLmxlZnQuY29ybmVyLmxhYmVsLFxuICAgIC51aS5sZWZ0LmNvcm5lci5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgLnVpLmxlZnQuY29ybmVyLmxhYmVsOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3A6IEBjb3JuZXJUcmlhbmdsZVNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogQGNvcm5lclRyaWFuZ2xlU2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC51aS5sZWZ0LmNvcm5lci5sYWJlbCAuaWNvbiB7XG4gICAgICAgIGxlZnQ6IEBjb3JuZXJJY29uTGVmdE9mZnNldDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyogU2VnbWVudCAqL1xuICAgIC51aS5zZWdtZW50ID4gLnVpLmNvcm5lci5sYWJlbCB7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgfVxuICAgIC51aS5zZWdtZW50ID4gLnVpLmxlZnQuY29ybmVyLmxhYmVsIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25MYWJlbFJpYmJvbikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgUmliYm9uXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5yaWJib24ubGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAcmliYm9uU2hhZG93Q29sb3I7XG4gICAgfVxuXG4gICAgLnVpLnJpYmJvbi5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCBAcmliYm9uVHJpYW5nbGVTaXplIEByaWJib25UcmlhbmdsZVNpemUgMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qIFBvc2l0aW9uaW5nICovXG4gICAgLnVpLnJpYmJvbi5sYWJlbCB7XG4gICAgICAgIGxlZnQ6IEByaWJib25PZmZzZXQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLUByaWJib25UcmlhbmdsZVNpemU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQHJpYmJvbkRpc3RhbmNlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAcmliYm9uVHJpYW5nbGVTaXplO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwicmlnaHQgcmliYm9uXCJdLmxhYmVsIHtcbiAgICAgICAgbGVmdDogQHJpZ2h0UmliYm9uT2Zmc2V0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEByaWJib25UcmlhbmdsZVNpemU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEByaWJib25EaXN0YW5jZTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGFiZWxCYXNpYykge1xuICAgICAgICAudWkuYmFzaWMucmliYm9uLmxhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBAYmFzaWNSaWJib25PZmZzZXQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogQGJhc2ljUmliYm9uT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIC51aS5iYXNpYy5yaWJib24ubGFiZWw6bm90KFtjbGFzcyo9XCJyaWdodCByaWJib25cIl0pIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQGJhc2ljUmliYm9uVHJpYW5nbGVTaXplT2Zmc2V0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQGJhc2ljUmliYm9uVHJpYW5nbGVTaXplO1xuICAgICAgICB9XG4gICAgICAgIC51aS5iYXNpY1tjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAYmFzaWNSaWJib25UcmlhbmdsZVNpemU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAYmFzaWNSaWJib25UcmlhbmdsZVNpemVPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmJhc2ljLnJpYmJvbi5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiBAYmFzaWNCb3JkZXJGdWxsV2lkdGhPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmJhc2ljLnJpYmJvbi5sYWJlbDpub3QoW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXSk6OmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IEBiYXNpY0JvcmRlcldpZHRoT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIC51aS5iYXNpY1tjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiBAYmFzaWNCb3JkZXJXaWR0aE9mZnNldDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFJpZ2h0IFJpYmJvbiAqL1xuICAgIC51aVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWwge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIDAgMCBAYm9yZGVyUmFkaXVzO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwicmlnaHQgcmliYm9uXCJdLmxhYmVsOjphZnRlciB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IEByaWJib25UcmlhbmdsZVNpemUgQHJpYmJvblRyaWFuZ2xlU2l6ZSAwIDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLnVpLnVpLmNlbnRlci5yaWJib24ubGFiZWwge1xuICAgICAgICB0b3A6IEByaWJib25DZW50ZXJPZmZzZXQ7XG4gICAgICAgIHotaW5kZXg6IEByaWJib25aSW5kZXg7XG4gICAgfVxuICAgIC51aS5ib3R0b20ucmliYm9uLmxhYmVsOjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3JkZXItd2lkdGg6IEByaWJib25UcmlhbmdsZVNpemUgQHJpYmJvblRyaWFuZ2xlU2l6ZSAwIDA7XG4gICAgfVxuICAgIC51aS5ib3R0b21bY2xhc3MqPVwicmlnaHQgcmliYm9uXCJdLmxhYmVsOjphZnRlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogQHJpYmJvblRyaWFuZ2xlU2l6ZSAwIDAgQHJpYmJvblRyaWFuZ2xlU2l6ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyogSW5zaWRlIEltYWdlICovXG4gICAgLnVpLmltYWdlID4gLnJpYmJvbi5sYWJlbCxcbiAgICAudWkuY2FyZCAuaW1hZ2UgPiAucmliYm9uLmxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IEByaWJib25JbWFnZVRvcERpc3RhbmNlO1xuICAgIH1cbiAgICAudWkuY2FyZCAuaW1hZ2UgPiAudWkucmliYm9uLmxhYmVsLFxuICAgIC51aS5pbWFnZSA+IC51aS5yaWJib24ubGFiZWwge1xuICAgICAgICBsZWZ0OiBAcmliYm9uSW1hZ2VPZmZzZXQ7XG4gICAgfVxuICAgIC51aS5jYXJkIC5pbWFnZSA+IC51aVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWwsXG4gICAgLnVpLmltYWdlID4gLnVpW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbCB7XG4gICAgICAgIGxlZnQ6IEByaWdodFJpYmJvbkltYWdlT2Zmc2V0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEBob3Jpem9udGFsUGFkZGluZztcbiAgICB9XG4gICAgLnVpLmNhcmQgLmltYWdlID4gLnVpLmJvdHRvbS5yaWJib24ubGFiZWwsXG4gICAgLnVpLmltYWdlID4gLnVpLmJvdHRvbS5yaWJib24ubGFiZWwge1xuICAgICAgICBib3R0b206IEByaWJib25JbWFnZUJvdHRvbURpc3RhbmNlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgfVxuXG4gICAgLyogSW5zaWRlIFRhYmxlICovXG4gICAgLnVpLnRhYmxlIHRkID4gLnVpLnJpYmJvbi5sYWJlbCB7XG4gICAgICAgIGxlZnQ6IEByaWJib25UYWJsZU9mZnNldDtcbiAgICB9XG4gICAgLnVpLnRhYmxlIHRkID4gLnVpW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbCB7XG4gICAgICAgIGxlZnQ6IEByaWdodFJpYmJvblRhYmxlT2Zmc2V0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEBob3Jpem9udGFsUGFkZGluZztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsQXR0YWNoZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgQXR0YWNoZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5sYWJlbCxcbiAgICAudWkuYXR0YWNoZWQubGFiZWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogQGF0dGFjaGVkVmVydGljYWxQYWRkaW5nIEBhdHRhY2hlZEhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYXR0YWNoZWRDb3JuZXJCb3JkZXJSYWRpdXMgQGF0dGFjaGVkQ29ybmVyQm9yZGVyUmFkaXVzIDAgMDtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQGF0dGFjaGVkQ29ybmVyQm9yZGVyUmFkaXVzIEBhdHRhY2hlZENvcm5lckJvcmRlclJhZGl1cztcbiAgICB9XG5cbiAgICAudWlbY2xhc3MqPVwidG9wIGxlZnQgYXR0YWNoZWRcIl0ubGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGF0dGFjaGVkQ29ybmVyQm9yZGVyUmFkaXVzIDAgQGF0dGFjaGVkQm9yZGVyUmFkaXVzIDA7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cInRvcCByaWdodCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAYXR0YWNoZWRDb3JuZXJCb3JkZXJSYWRpdXMgMCBAYXR0YWNoZWRCb3JkZXJSYWRpdXM7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJib3R0b20gbGVmdCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBAYXR0YWNoZWRCb3JkZXJSYWRpdXMgMCBAYXR0YWNoZWRDb3JuZXJCb3JkZXJSYWRpdXM7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJib3R0b20gcmlnaHQgYXR0YWNoZWRcIl0ubGFiZWwge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYXR0YWNoZWRCb3JkZXJSYWRpdXMgMCBAYXR0YWNoZWRDb3JuZXJCb3JkZXJSYWRpdXMgMDtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsRGlzYWJsZWQpIHtcbiAgICAudWkuZGlzYWJsZWQubGFiZWxzIC5sYWJlbCxcbiAgICAudWkubGFiZWwuZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiBAZGlzYWJsZWRPcGFjaXR5O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogQGRpc2FibGVkUG9pbnRlckV2ZW50cztcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkubGFiZWw6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBsYWJlbEhvdmVyQmFja2dyb3VuZENvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQGxhYmVsSG92ZXJCYWNrZ3JvdW5kQ29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogQGxhYmVsSG92ZXJCYWNrZ3JvdW5kSW1hZ2U7XG4gICAgY29sb3I6IEBsYWJlbEhvdmVyVGV4dENvbG9yO1xufVxuLnVpLmxhYmVscyBhLmxhYmVsOmhvdmVyOjpiZWZvcmUsXG5hLnVpLmxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICAgIGNvbG9yOiBAbGFiZWxIb3ZlclRleHRDb2xvcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5hY3RpdmUubGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBsYWJlbEFjdGl2ZUJhY2tncm91bmRDb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEBsYWJlbEFjdGl2ZUJhY2tncm91bmRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBAbGFiZWxBY3RpdmVCYWNrZ3JvdW5kSW1hZ2U7XG4gICAgY29sb3I6IEBsYWJlbEFjdGl2ZVRleHRDb2xvcjtcbn1cbi51aS5hY3RpdmUubGFiZWw6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGxhYmVsQWN0aXZlQmFja2dyb3VuZENvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IEBsYWJlbEFjdGl2ZUJhY2tncm91bmRJbWFnZTtcbiAgICBjb2xvcjogQGxhYmVsQWN0aXZlVGV4dENvbG9yO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFjdGl2ZSBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmxhYmVscyBhLmFjdGl2ZS5sYWJlbDpob3ZlcixcbmEudWkuYWN0aXZlLmxhYmVsOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGFiZWxBY3RpdmVIb3ZlckJhY2tncm91bmRDb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEBsYWJlbEFjdGl2ZUhvdmVyQmFja2dyb3VuZENvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IEBsYWJlbEFjdGl2ZUhvdmVyQmFja2dyb3VuZEltYWdlO1xuICAgIGNvbG9yOiBAbGFiZWxBY3RpdmVIb3ZlclRleHRDb2xvcjtcbn1cbi51aS5sYWJlbHMgYS5hY3RpdmUubGFiZWw6aG92ZXI6OmJlZm9yZSxcbmEudWkuYWN0aXZlLmxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBsYWJlbEFjdGl2ZUhvdmVyQmFja2dyb3VuZENvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IEBsYWJlbEFjdGl2ZUhvdmVyQmFja2dyb3VuZEltYWdlO1xuICAgIGNvbG9yOiBAbGFiZWxBY3RpdmVIb3ZlclRleHRDb2xvcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmlzaWJsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmxhYmVscy52aXNpYmxlIC5sYWJlbCxcbi51aS5sYWJlbC52aXNpYmxlOm5vdCguZHJvcGRvd24pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgSGlkZGVuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubGFiZWxzLmhpZGRlbiAubGFiZWwsXG4udWkubGFiZWwuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsQmFzaWMpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBCYXNpY1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuYmFzaWMubGFiZWxzIC5sYWJlbCxcbiAgICAudWkuYmFzaWMubGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAYmFzaWNCYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXI6IEBiYXNpY0JvcmRlcjtcbiAgICAgICAgY29sb3I6IEBiYXNpY0NvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBAYmFzaWNCb3hTaGFkb3c7XG4gICAgICAgIHBhZGRpbmctdG9wOiBAYmFzaWNWZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBAYmFzaWNWZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEBiYXNpY0hvcml6b250YWxQYWRkaW5nO1xuICAgIH1cbiAgICAudWkuYmFzaWMubGFiZWxzQHtub3RUYWd9QHtub3RJbWFnZX1Ae25vdFJpYmJvbn0gLmxhYmVsLFxuICAgIC51aS5iYXNpYy5sYWJlbEB7bm90VGFnfUB7bm90SW1hZ2V9QHtub3RSaWJib259IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBAYmFzaWNIb3Jpem9udGFsUGFkZGluZztcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGFiZWxJbWFnZSkge1xuICAgICAgICAudWkuYmFzaWMuaW1hZ2UubGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAYmFzaWNJbWFnZUxhYmVsUGFkZGluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIExpbmsgKi9cbiAgICAudWkuYmFzaWMubGFiZWxzIGEubGFiZWw6aG92ZXIsXG4gICAgYS51aS5iYXNpYy5sYWJlbDpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogQGJhc2ljSG92ZXJCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQGJhc2ljSG92ZXJDb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogQGJhc2ljSG92ZXJCb3hTaGFkb3c7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsUG9pbnRpbmcpIHtcbiAgICAgICAgLyogUG9pbnRpbmcgKi9cbiAgICAgICAgLnVpLmJhc2ljLnBvaW50aW5nLmxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25MYWJlbEZsdWlkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBGbHVpZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkubGFiZWwuZmx1aWQsXG4gICAgLnVpLmZsdWlkLmxhYmVscyA+IC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTGFiZWxDZW50ZXJlZCkge1xuICAgIC51aS5jZW50ZXJlZC5sYWJlbHMgLmxhYmVsLFxuICAgIC51aS5jZW50ZXJlZC5sYWJlbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsSW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pbnZlcnRlZC5sYWJlbHMgLmxhYmVsLFxuICAgIC51aS5pbnZlcnRlZC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZEJhY2tncm91bmRDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLmNvcm5lci5sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGludmVydGVkQmFja2dyb3VuZENvbG9yO1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQuY29ybmVyLmxhYmVsOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAYmFja2dyb3VuZENvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIC5sYWJlbCxcbiAgICAudWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWwsXG4gICAgLnVpLmludmVydGVkLmJhc2ljLmxhYmVsOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAYmFzaWNJbnZlcnRlZEJvcmRlckNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAYmxhY2s7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5iYXNpYy5sYWJlbDpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAbGlua0NvbG9yO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25MYWJlbENvbG9ycyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uTGFiZWxDb2xvcnMsIHtcbiAgICAgICAgQGNvbG9yOiBAdmFsdWU7XG4gICAgICAgIEBpc0Rhcms6IEBjb2xvcnNbQEBjb2xvcl1baXNEYXJrXTtcbiAgICAgICAgQF9sYWJlbENvbG9yOiBAY29sb3JzW0BAY29sb3JdW2NvbG9yXTtcbiAgICAgICAgQF9sYWJlbEludmVydGVkQ29sb3I6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRdO1xuICAgICAgICBAX2xhYmVsVGV4dENvbG9yOiBAY29sb3JzW0BAY29sb3JdW3RleHRdO1xuICAgICAgICBAX2xhYmVsSG92ZXI6IEBjb2xvcnNbQEBjb2xvcl1baG92ZXJdO1xuICAgICAgICBAX2xhYmVsSW52ZXJ0ZWRIb3ZlcjogQGNvbG9yc1tAQGNvbG9yXVtsaWdodEhvdmVyXTtcbiAgICAgICAgQF9sYWJlbEhvdmVyVGV4dENvbG9yOiBAY29sb3JzW0BAY29sb3JdW2hvdmVyVGV4dF07XG4gICAgICAgIEBfbGFiZWxSaWJib25TaGFkb3c6IEBjb2xvcnNbQEBjb2xvcl1bcmliYm9uXTtcbiAgICAgICAgQF9sYWJlbEludmVydGVkUmliYm9uU2hhZG93OiBAY29sb3JzW0BAY29sb3JdW2ludmVydGVkUmliYm9uXTtcblxuICAgICAgICAudWkuQHtjb2xvcn0ubGFiZWxzIC5sYWJlbCxcbiAgICAgICAgLnVpLnVpLnVpLkB7Y29sb3J9LmxhYmVsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBfbGFiZWxDb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQF9sYWJlbENvbG9yO1xuICAgICAgICAgICAgY29sb3I6IEBfbGFiZWxUZXh0Q29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLyogTGluayAqL1xuICAgICAgICAudWkuQHtjb2xvcn0ubGFiZWxzIGEubGFiZWw6aG92ZXIsXG4gICAgICAgIGEudWkudWkudWkuQHtjb2xvcn0ubGFiZWw6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQF9sYWJlbEhvdmVyO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAX2xhYmVsSG92ZXI7XG4gICAgICAgICAgICBjb2xvcjogQF9sYWJlbEhvdmVyVGV4dENvbG9yO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsUmliYm9uKSB7XG4gICAgICAgICAgICAvKiBSaWJib24gKi9cbiAgICAgICAgICAgIC51aS51aS51aS5Ae2NvbG9yfS5yaWJib24ubGFiZWwge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQF9sYWJlbFJpYmJvblNoYWRvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25MYWJlbEJhc2ljKSB7XG4gICAgICAgICAgICAvKiBCYXNpYyAqL1xuICAgICAgICAgICAgLnVpLmJhc2ljLmxhYmVscyAuQHtjb2xvcn0ubGFiZWwsXG4gICAgICAgICAgICAudWkudWkudWkuYmFzaWMuQHtjb2xvcn0ubGFiZWwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBiYXNpY0JhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAX2xhYmVsQ29sb3I7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBfbGFiZWxDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5iYXNpYy5sYWJlbHMgYS5Ae2NvbG9yfS5sYWJlbDpob3ZlcixcbiAgICAgICAgICAgIGEudWkudWkudWkuYmFzaWMuQHtjb2xvcn0ubGFiZWw6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBiYXNpY0JhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAX2xhYmVsSG92ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBfbGFiZWxIb3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25MYWJlbEludmVydGVkKSB7XG4gICAgICAgICAgICAvKiBJbnZlcnRlZCAqL1xuICAgICAgICAgICAgLnVpLmludmVydGVkLmxhYmVscyAuQHtjb2xvcn0ubGFiZWwsXG4gICAgICAgICAgICAudWkudWkudWkuaW52ZXJ0ZWQuQHtjb2xvcn0ubGFiZWwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBfbGFiZWxJbnZlcnRlZENvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQF9sYWJlbEludmVydGVkQ29sb3I7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8qIEludmVydGVkIExpbmsgKi9cbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5sYWJlbHMgYS5Ae2NvbG9yfS5sYWJlbDpob3ZlcixcbiAgICAgICAgICAgIGEudWkudWkudWkuaW52ZXJ0ZWQuQHtjb2xvcn0ubGFiZWw6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBfbGFiZWxJbnZlcnRlZEhvdmVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQF9sYWJlbEludmVydGVkSG92ZXI7XG4gICAgICAgICAgICAgICAgJiB3aGVuIG5vdCAoQGlzRGFyaykge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGJsYWNrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEBpc0RhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBfbGFiZWxUZXh0Q29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uTGFiZWxSaWJib24pIHtcbiAgICAgICAgICAgICAgICAvKiBJbnZlcnRlZCBSaWJib24gKi9cbiAgICAgICAgICAgICAgICAudWkudWkudWkuaW52ZXJ0ZWQuQHtjb2xvcn0ucmliYm9uLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAX2xhYmVsSW52ZXJ0ZWRSaWJib25TaGFkb3c7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uTGFiZWxCYXNpYykge1xuICAgICAgICAgICAgICAgIC8qIEludmVydGVkIEJhc2ljICovXG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLmJhc2ljLmxhYmVscyAuQHtjb2xvcn0ubGFiZWwsXG4gICAgICAgICAgICAgICAgLnVpLnVpLnVpLmludmVydGVkLmJhc2ljLkB7Y29sb3J9LmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAX2xhYmVsSW52ZXJ0ZWRDb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgJiB3aGVuIG5vdCAoQGlzRGFyaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBfbGFiZWxJbnZlcnRlZENvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgd2hlbiAoQGlzRGFyaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuYmFzaWMubGFiZWxzIGEuQHtjb2xvcn0ubGFiZWw6aG92ZXIsXG4gICAgICAgICAgICAgICAgYS51aS51aS51aS5pbnZlcnRlZC5iYXNpYy5Ae2NvbG9yfS5sYWJlbDpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQF9sYWJlbEludmVydGVkSG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgICAgICYgd2hlbiBub3QgKEBpc0RhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAX2xhYmVsSW52ZXJ0ZWRIb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25MYWJlbFRhZykge1xuICAgICAgICAgICAgICAgICAgICAvKiBJbnZlcnRlZCBCYXNpYyBUYWdzICovXG4gICAgICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5iYXNpYy50YWcubGFiZWxzIC5Ae2NvbG9yfS5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgLnVpLnVpLnVpLmludmVydGVkLkB7Y29sb3J9LmJhc2ljLnRhZy5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IEBpbnZlcnRlZEJvcmRlclNpemUgc29saWQgQF9sYWJlbEludmVydGVkQ29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnVpLmludmVydGVkLmJhc2ljLnRhZy5sYWJlbHMgLkB7Y29sb3J9LmxhYmVsOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgIC51aS51aS51aS5pbnZlcnRlZC5Ae2NvbG9yfS5iYXNpYy50YWcubGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IEBpbnZlcnRlZEJvcmRlclNpemUgMCAwIEBpbnZlcnRlZEJvcmRlclNpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGUoJShcImNhbGMoMTAwJSUgKyAlZClcIiwgQGludmVydGVkQm9yZGVyU2l6ZSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgSG9yaXpvbnRhbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmhvcml6b250YWwubGFiZWxzIC5sYWJlbCxcbi51aS5ob3Jpem9udGFsLmxhYmVsIHtcbiAgICBtYXJnaW46IDAgQGhvcml6b250YWxMYWJlbE1hcmdpbiAwIDA7XG4gICAgcGFkZGluZzogQGhvcml6b250YWxMYWJlbFZlcnRpY2FsUGFkZGluZyBAaG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgbWluLXdpZHRoOiBAaG9yaXpvbnRhbExhYmVsTWluV2lkdGg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25MYWJlbENpcmN1bGFyKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBDaXJjdWxhclxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2lyY3VsYXIubGFiZWxzIC5sYWJlbCxcbiAgICAudWkuY2lyY3VsYXIubGFiZWwge1xuICAgICAgICBtaW4td2lkdGg6IEBjaXJjdWxhck1pblNpemU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IEBjaXJjdWxhck1pblNpemU7XG4gICAgICAgIHBhZGRpbmc6IEBjaXJjdWxhclBhZGRpbmcgIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgfVxuICAgIC51aS5lbXB0eS5jaXJjdWxhci5sYWJlbHMgLmxhYmVsLFxuICAgIC51aS5lbXB0eS5jaXJjdWxhci5sYWJlbCB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IEBlbXB0eUNpcmNsZVNpemU7XG4gICAgICAgIGhlaWdodDogQGVtcHR5Q2lyY2xlU2l6ZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTGFiZWxQb2ludGluZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgUG9pbnRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnBvaW50aW5nLmxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC51aS5hdHRhY2hlZC5wb2ludGluZy5sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAudWkucG9pbnRpbmcubGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAcG9pbnRpbmdCb3JkZXJDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBBcnJvdyAqL1xuICAgIC51aS5wb2ludGluZy5sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IEBwb2ludGluZ1RyaWFuZ2xlWkluZGV4O1xuICAgICAgICB3aWR0aDogQHBvaW50aW5nVHJpYW5nbGVTaXplO1xuICAgICAgICBoZWlnaHQ6IEBwb2ludGluZ1RyaWFuZ2xlU2l6ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogQHBvaW50aW5nVHJpYW5nbGVUcmFuc2l0aW9uO1xuICAgIH1cblxuICAgIC8qIC0tLSBBYm92ZSAtLS0gKi9cbiAgICAudWkucG9pbnRpbmcubGFiZWwsXG4gICAgLnVpW2NsYXNzKj1cInBvaW50aW5nIGFib3ZlXCJdLmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogQHBvaW50aW5nVmVydGljYWxEaXN0YW5jZTtcbiAgICB9XG4gICAgLnVpLnBvaW50aW5nLmxhYmVsOjpiZWZvcmUsXG4gICAgLnVpW2NsYXNzKj1cInBvaW50aW5nIGFib3ZlXCJdLmxhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItd2lkdGg6IEBib3JkZXJXaWR0aCAwIDAgQGJvcmRlcldpZHRoO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICB9XG5cbiAgICAvKiAtLS0gQmVsb3cgLS0tICovXG4gICAgLnVpW2NsYXNzKj1cImJvdHRvbSBwb2ludGluZ1wiXS5sYWJlbCxcbiAgICAudWlbY2xhc3MqPVwicG9pbnRpbmcgYmVsb3dcIl0ubGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBAcG9pbnRpbmdWZXJ0aWNhbERpc3RhbmNlO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwiYm90dG9tIHBvaW50aW5nXCJdLmxhYmVsOjpiZWZvcmUsXG4gICAgLnVpW2NsYXNzKj1cInBvaW50aW5nIGJlbG93XCJdLmxhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgQGJvcmRlcldpZHRoIEBib3JkZXJXaWR0aCAwO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgfVxuXG4gICAgLyogLS0tIExlZnQgLS0tICovXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgcG9pbnRpbmdcIl0ubGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogQHBvaW50aW5nSG9yaXpvbnRhbERpc3RhbmNlO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwibGVmdCBwb2ludGluZ1wiXS5sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgQGJvcmRlcldpZHRoIEBib3JkZXJXaWR0aDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLyogLS0tIFJpZ2h0IC0tLSAqL1xuICAgIC51aVtjbGFzcyo9XCJyaWdodCBwb2ludGluZ1wiXS5sYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQHBvaW50aW5nSG9yaXpvbnRhbERpc3RhbmNlO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwicmlnaHQgcG9pbnRpbmdcIl0ubGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogQGJvcmRlcldpZHRoIEBib3JkZXJXaWR0aCAwIDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkxhYmVsQmFzaWMpIHtcbiAgICAgICAgLyogQmFzaWMgUG9pbnRpbmcgKi9cblxuICAgICAgICAvKiAtLS0gQWJvdmUgLS0tICovXG4gICAgICAgIC51aS5iYXNpYy5wb2ludGluZy5sYWJlbDo6YmVmb3JlLFxuICAgICAgICAudWkuYmFzaWNbY2xhc3MqPVwicG9pbnRpbmcgYWJvdmVcIl0ubGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBAYmFzaWNQb2ludGluZ1RyaWFuZ2xlT2Zmc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogLS0tIEJlbG93IC0tLSAqL1xuICAgICAgICAudWkuYmFzaWNbY2xhc3MqPVwiYm90dG9tIHBvaW50aW5nXCJdLmxhYmVsOjpiZWZvcmUsXG4gICAgICAgIC51aS5iYXNpY1tjbGFzcyo9XCJwb2ludGluZyBiZWxvd1wiXS5sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC1AYmFzaWNQb2ludGluZ1RyaWFuZ2xlT2Zmc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogLS0tIExlZnQgLS0tICovXG4gICAgICAgIC51aS5iYXNpY1tjbGFzcyo9XCJsZWZ0IHBvaW50aW5nXCJdLmxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiBAYmFzaWNQb2ludGluZ1RyaWFuZ2xlT2Zmc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogLS0tIFJpZ2h0IC0tLSAqL1xuICAgICAgICAudWkuYmFzaWNbY2xhc3MqPVwicmlnaHQgcG9pbnRpbmdcIl0ubGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiBAYmFzaWNQb2ludGluZ1RyaWFuZ2xlT2Zmc2V0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25MYWJlbEZsb2F0aW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRmxvYXRpbmcgTGFiZWxcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZmxvYXRpbmcubGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IEBmbG9hdGluZ1pJbmRleDtcbiAgICAgICAgdG9wOiBAZmxvYXRpbmdUb3BPZmZzZXQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICB9XG4gICAgLnVpLnJpZ2h0LmFsaWduZWQuZmxvYXRpbmcubGFiZWwge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoQGZsb2F0aW5nQWxpZ25PZmZzZXQpO1xuICAgIH1cbiAgICAudWkubGVmdC5mbG9hdGluZy5sYWJlbCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICAgIC51aS5sZWZ0LmFsaWduZWQuZmxvYXRpbmcubGFiZWwge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLUBmbG9hdGluZ0FsaWduT2Zmc2V0KTtcbiAgICB9XG4gICAgLnVpLmJvdHRvbS5mbG9hdGluZy5sYWJlbCB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiBAZmxvYXRpbmdCb3R0b21PZmZzZXQ7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubGFiZWxzIC5sYWJlbCxcbi51aS5sYWJlbCB7XG4gICAgZm9udC1zaXplOiBAbWVkaXVtO1xufVxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkxhYmVsU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkxhYmVsU2l6ZXMsIHtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5sYWJlbHMgLmxhYmVsLFxuICAgICAgICAudWkuQHt2YWx1ZX0ubGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAcztcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIExpc3RcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcImVsZW1lbnRcIjtcbkBlbGVtZW50OiBcImxpc3RcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3RTZWxlY3Rpb246IGlmKEB2YXJpYXRpb25MaXN0U2VsZWN0aW9uLCBlKFwiOm5vdCguc2VsZWN0aW9uKVwiKSk7XG5Abm90SWNvbjogaWYoQHZhcmlhdGlvbkxpc3RJY29uLCBlKFwiOm5vdCguaWNvbilcIikpO1xuQG5vdEhvcml6b250YWw6IGlmKEB2YXJpYXRpb25MaXN0SG9yaXpvbnRhbCwgZShcIjpub3QoLmhvcml6b250YWwpXCIpKTtcbkBub3RDZWxsZWQ6IGlmKEB2YXJpYXRpb25MaXN0Q2VsbGVkLCBlKFwiOm5vdCguY2VsbGVkKVwiKSk7XG5cbkBub3RMb2FkaW5nOiBpZihAdmFyaWF0aW9uSWNvbkxvYWRpbmcsIGUoXCI6bm90KC5sb2FkaW5nKVwiKSk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBMaXN0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG51bC51aS5saXN0LFxub2wudWkubGlzdCxcbi51aS5saXN0IHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IEBsaXN0U3R5bGVUeXBlO1xuICAgIG1hcmdpbjogQG1hcmdpbjtcbiAgICBwYWRkaW5nOiBAdmVydGljYWxQYWRkaW5nIEBob3Jpem9udGFsUGFkZGluZztcbn1cblxudWwudWkubGlzdDpmaXJzdC1jaGlsZCxcbm9sLnVpLmxpc3Q6Zmlyc3QtY2hpbGQsXG4udWkubGlzdDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cblxudWwudWkubGlzdDpsYXN0LWNoaWxkLFxub2wudWkubGlzdDpsYXN0LWNoaWxkLFxuLnVpLmxpc3Q6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIExpc3QgSXRlbSAqL1xudWwudWkubGlzdCBsaSxcbm9sLnVpLmxpc3QgbGksXG4udWkubGlzdCA+IC5pdGVtLFxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBAbGlzdFN0eWxlVHlwZTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBAbGlzdFN0eWxlUG9zaXRpb247XG4gICAgcGFkZGluZzogQGl0ZW1QYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiBAaXRlbUxpbmVIZWlnaHQ7XG59XG5cbnVsLnVpLmxpc3QgPiBsaTpmaXJzdC1jaGlsZDo6YWZ0ZXIsXG5vbC51aS5saXN0ID4gbGk6Zmlyc3QtY2hpbGQ6OmFmdGVyLFxuLnVpLmxpc3QgPiAubGlzdCA+IC5pdGVtOjphZnRlcixcbi51aS5saXN0ID4gLml0ZW06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbnVsLnVpLmxpc3QgbGk6Zmlyc3QtY2hpbGQsXG5vbC51aS5saXN0IGxpOmZpcnN0LWNoaWxkLFxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCxcbi51aS5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxudWwudWkubGlzdCBsaTpsYXN0LWNoaWxkLFxub2wudWkubGlzdCBsaTpsYXN0LWNoaWxkLFxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkLFxuLnVpLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLyogQ2hpbGQgTGlzdCAqL1xudWwudWkubGlzdCB1bCxcbm9sLnVpLmxpc3Qgb2wsXG4udWkubGlzdCAubGlzdEB7bm90SWNvbn0ge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiBAY2hpbGRMaXN0UGFkZGluZztcbn1cblxuLyogQ2hpbGQgSXRlbSAqL1xudWwudWkubGlzdCB1bCBsaSxcbm9sLnVpLmxpc3Qgb2wgbGksXG4udWkubGlzdCAubGlzdCA+IC5pdGVtIHtcbiAgICBwYWRkaW5nOiBAY2hpbGRJdGVtUGFkZGluZztcbiAgICBsaW5lLWhlaWdodDogQGNoaWxkSXRlbUxpbmVIZWlnaHQ7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RJY29uKSB7XG4gICAgLyogSWNvbiAqL1xuICAgIC51aS5saXN0IC5saXN0ID4gLml0ZW0gPiBpLmljb24sXG4gICAgLnVpLmxpc3QgPiAuaXRlbSA+IGkuaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIG1pbi13aWR0aDogMS41NWVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiBAaWNvbk9mZnNldDtcbiAgICAgICAgdHJhbnNpdGlvbjogQGljb25UcmFuc2l0aW9uO1xuICAgICAgICAmQHtub3RMb2FkaW5nfSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAaWNvbkRpc3RhbmNlO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IEBpY29uQ29udGVudFZlcnRpY2FsQWxpZ247XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IGkuaWNvbjpvbmx5LWNoaWxkLFxuICAgIC51aS5saXN0ID4gLml0ZW0gPiBpLmljb246b25seS1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogQGljb25WZXJ0aWNhbEFsaWduO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTGlzdEltYWdlKSB7XG4gICAgLyogSW1hZ2UgKi9cbiAgICAudWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmltYWdlLFxuICAgIC51aS5saXN0ID4gLml0ZW0gPiAuaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogQGltYWdlQWxpZ247XG4gICAgfVxuICAgIC51aS5saXN0IC5saXN0ID4gLml0ZW0gPiAuaW1hZ2U6bm90KDpvbmx5LWNoaWxkKTpub3QoaW1nKSxcbiAgICAudWkubGlzdCA+IC5pdGVtID4gLmltYWdlOm5vdCg6b25seS1jaGlsZCk6bm90KGltZykge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAaW1hZ2VEaXN0YW5jZTtcbiAgICB9XG4gICAgLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSBpbWcsXG4gICAgLnVpLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSBpbWcge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogQGltYWdlQWxpZ247XG4gICAgfVxuXG4gICAgLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IGltZy5pbWFnZSxcbiAgICAudWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmltYWdlOm9ubHktY2hpbGQsXG4gICAgLnVpLmxpc3QgPiAuaXRlbSA+IGltZy5pbWFnZSxcbiAgICAudWkubGlzdCA+IC5pdGVtID4gLmltYWdlOm9ubHktY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG4vKiBDb250ZW50ICovXG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQsXG4udWkubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQge1xuICAgIGxpbmUtaGVpZ2h0OiBAY29udGVudExpbmVIZWlnaHQ7XG4gICAgY29sb3I6IEBjb250ZW50Q29sb3I7XG59XG4mIHdoZW4gKEB2YXJpYXRpb25MaXN0SW1hZ2UpIG9yIChAdmFyaWF0aW9uTGlzdEljb24pIHtcbiAgICAudWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmltYWdlICsgLmNvbnRlbnQsXG4gICAgLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IGkuaWNvbiArIC5jb250ZW50LFxuICAgIC51aS5saXN0ID4gLml0ZW0gPiAuaW1hZ2UgKyAuY29udGVudCxcbiAgICAudWkubGlzdCA+IC5pdGVtID4gaS5pY29uICsgLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgQGNvbnRlbnREaXN0YW5jZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IEBjb250ZW50VmVydGljYWxBbGlnbjtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25MaXN0SWNvbikge1xuICAgIC51aS5saXN0IC5saXN0ID4gLml0ZW0gPiBpLmxvYWRpbmcuaWNvbiArIC5jb250ZW50LFxuICAgIC51aS5saXN0ID4gLml0ZW0gPiBpLmxvYWRpbmcuaWNvbiArIC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBlKCUoXCJjYWxjKCVkICsgJWQpXCIsIEBpY29uRGlzdGFuY2UsIEBjb250ZW50RGlzdGFuY2UpKTtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25MaXN0SW1hZ2UpIHtcbiAgICAudWkubGlzdCAubGlzdCA+IC5pdGVtID4gaW1nLmltYWdlICsgLmNvbnRlbnQsXG4gICAgLnVpLmxpc3QgPiAuaXRlbSA+IGltZy5pbWFnZSArIC5jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQgPiAubGlzdCxcbi51aS5saXN0ID4gLml0ZW0gPiAuY29udGVudCA+IC5saXN0IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4mIHdoZW4gKEB2YXJpYXRpb25MaXN0SGVhZGVyKSB7XG4gICAgLyogSGVhZGVyICovXG4gICAgLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSAuaGVhZGVyLFxuICAgIC51aS5saXN0ID4gLml0ZW0gLmhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAaXRlbUhlYWRlckZvbnRGYW1pbHk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAaXRlbUhlYWRlckZvbnRXZWlnaHQ7XG4gICAgICAgIGNvbG9yOiBAaXRlbUhlYWRlckNvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTGlzdERlc2NyaXB0aW9uKSB7XG4gICAgLyogRGVzY3JpcHRpb24gKi9cbiAgICAudWkubGlzdCAubGlzdCA+IC5pdGVtIC5kZXNjcmlwdGlvbixcbiAgICAudWkubGlzdCA+IC5pdGVtIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogQGl0ZW1EZXNjcmlwdGlvbkNvbG9yO1xuICAgIH1cbn1cblxuLyogQ2hpbGQgTGluayAqL1xuLnVpLmxpc3QgPiAuaXRlbSBhLFxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSBhIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIExpbmtpbmcgSXRlbSAqL1xuLnVpLmxpc3QgLmxpc3QgPiBhLml0ZW0sXG4udWkubGlzdCA+IGEuaXRlbSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiBAaXRlbUxpbmtDb2xvcjtcbn1cbi51aS5saXN0IC5saXN0ID4gYS5pdGVtOmhvdmVyLFxuLnVpLmxpc3QgPiBhLml0ZW06aG92ZXIge1xuICAgIGNvbG9yOiBAaXRlbUxpbmtIb3ZlckNvbG9yO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25MaXN0SWNvbikge1xuICAgIC8qIExpbmtlZCBJdGVtIEljb25zICovXG4gICAgLnVpLmxpc3QgLmxpc3QgPiBhLml0ZW0gPiBpLmljb25zLFxuICAgIC51aS5saXN0ID4gYS5pdGVtID4gaS5pY29ucyxcbiAgICAudWkubGlzdCAubGlzdCA+IGEuaXRlbSA+IGkuaWNvbixcbiAgICAudWkubGlzdCA+IGEuaXRlbSA+IGkuaWNvbiB7XG4gICAgICAgIGNvbG9yOiBAaXRlbUxpbmtJY29uQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25MaXN0SGVhZGVyKSB7XG4gICAgLyogSGVhZGVyIExpbmsgKi9cbiAgICAudWkubGlzdCAubGlzdCA+IC5pdGVtIGEuaGVhZGVyLFxuICAgIC51aS5saXN0ID4gLml0ZW0gYS5oZWFkZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGNvbG9yOiBAaXRlbUhlYWRlckxpbmtDb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkubGlzdCAubGlzdCA+IC5pdGVtID4gYS5oZWFkZXI6aG92ZXIsXG4gICAgLnVpLmxpc3QgPiAuaXRlbSA+IGEuaGVhZGVyOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBpdGVtSGVhZGVyTGlua0hvdmVyQ29sb3IgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RGbG9hdGVkKSB7XG4gICAgLyogRmxvYXRlZCBDb250ZW50ICovXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5saXN0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLmxpc3Qge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSBbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLFxuICAgIC51aS5saXN0ID4gLml0ZW0gW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IEBsZWZ0RmxvYXRNYXJnaW47XG4gICAgfVxuICAgIC51aS5saXN0IC5saXN0ID4gLml0ZW0gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0sXG4gICAgLnVpLmxpc3QgPiAuaXRlbSBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luOiBAcmlnaHRGbG9hdE1hcmdpbjtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb3VwbGluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLm1lbnUgLnVpLmxpc3QgPiAuaXRlbSxcbi51aS5tZW51IC51aS5saXN0IC5saXN0ID4gLml0ZW0ge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogQGxpc3RTdHlsZVR5cGU7XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogQGxpc3RTdHlsZVBvc2l0aW9uO1xuICAgIHBhZGRpbmc6IEBpdGVtVmVydGljYWxQYWRkaW5nIEBpdGVtSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IEBpdGVtTGluZUhlaWdodDtcbn1cbi51aS5tZW51IC51aS5saXN0IC5saXN0ID4gLml0ZW06OmJlZm9yZSxcbi51aS5tZW51IC51aS5saXN0ID4gLml0ZW06OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG4udWkubWVudSAudWkubGlzdCAubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkLFxuLnVpLm1lbnUgLnVpLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG59XG4udWkubWVudSAudWkubGlzdCAubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQsXG4udWkubWVudSAudWkubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RIb3Jpem9udGFsKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEhvcml6b250YWxcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmhvcml6b250YWwubGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgIH1cbiAgICAudWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGhvcml6b250YWxTcGFjaW5nO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuICAgIC51aS5ob3Jpem9udGFsLmxpc3RAe25vdENlbGxlZH0gPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAudWkuaG9yaXpvbnRhbC5saXN0IC5saXN0QHtub3RJY29ufSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICAgIC51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSxcbiAgICAudWkuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0gPiAuaW1hZ2UsXG4gICAgLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gaS5pY29uLFxuICAgIC51aS5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSA+IGkuaWNvbixcbiAgICAudWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0gPiAuY29udGVudCxcbiAgICAudWkuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0gPiAuY29udGVudCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBAaG9yaXpvbnRhbFZlcnRpY2FsQWxpZ247XG4gICAgfVxuXG4gICAgLyogUGFkZGluZyBvbiBhbGwgZWxlbWVudHMgKi9cbiAgICAudWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQsXG4gICAgLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogQGl0ZW1WZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBAaXRlbVZlcnRpY2FsUGFkZGluZztcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdEljb24pIHtcbiAgICAgICAgLyogSG9yaXpvbnRhbCBMaXN0ICovXG4gICAgICAgIC51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IGkuaWNvbixcbiAgICAgICAgLnVpLmhvcml6b250YWwubGlzdCAuaXRlbSA+IGkuaWNvbnMgPiBpLmljb24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCBAaG9yaXpvbnRhbEljb25EaXN0YW5jZSAwIDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdEltYWdlKSBvciAoQHZhcmlhdGlvbkxpc3RJY29uKSB7XG4gICAgICAgIC51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSArIC5jb250ZW50LFxuICAgICAgICAudWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0gPiBpLmljb24sXG4gICAgICAgIC51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IGkuaWNvbiArIC5jb250ZW50IHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdEltYWdlKSB7XG4gICAgICAgIC51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25MaXN0RGlzYWJsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5saXN0IC5saXN0ID4gLmRpc2FibGVkLml0ZW0sXG4gICAgLnVpLmxpc3QgPiAuZGlzYWJsZWQuaXRlbSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBjb2xvcjogQGRpc2FibGVkQ29sb3IgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdEludmVydGVkKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5saXN0IC5saXN0ID4gLmRpc2FibGVkLml0ZW0sXG4gICAgICAgIC51aS5pbnZlcnRlZC5saXN0ID4gLmRpc2FibGVkLml0ZW0ge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZERpc2FibGVkQ29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RJY29uKSB7XG4gICAgLnVpLmxpc3QgLmxpc3QgPiBhLml0ZW06aG92ZXIgPiAuaWNvbnMsXG4gICAgLnVpLmxpc3QgPiBhLml0ZW06aG92ZXIgPiAuaWNvbnMsXG4gICAgLnVpLmxpc3QgLmxpc3QgPiBhLml0ZW06aG92ZXIgPiBpLmljb24sXG4gICAgLnVpLmxpc3QgPiBhLml0ZW06aG92ZXIgPiBpLmljb24ge1xuICAgICAgICBjb2xvcjogQGl0ZW1MaW5rSWNvbkhvdmVyQ29sb3I7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25MaXN0SW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0SWNvbikge1xuICAgICAgICAudWkuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IGEuaXRlbSA+IGkuaWNvbixcbiAgICAgICAgLnVpLmludmVydGVkLmxpc3QgPiBhLml0ZW0gPiBpLmljb24ge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEljb25MaW5rQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdEhlYWRlcikge1xuICAgICAgICAudWkuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IC5pdGVtIC5oZWFkZXIsXG4gICAgICAgIC51aS5pbnZlcnRlZC5saXN0ID4gLml0ZW0gLmhlYWRlciB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkSGVhZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdERlc2NyaXB0aW9uKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5saXN0IC5saXN0ID4gLml0ZW0gLmRlc2NyaXB0aW9uLFxuICAgICAgICAudWkuaW52ZXJ0ZWQubGlzdCA+IC5pdGVtIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkRGVzY3JpcHRpb25Db2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQsXG4gICAgLnVpLmludmVydGVkLmxpc3QgPiAuaXRlbSA+IC5jb250ZW50IHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZENvbnRlbnRDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBJdGVtIExpbmsgKi9cbiAgICAudWkuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IGEuaXRlbSxcbiAgICAudWkuaW52ZXJ0ZWQubGlzdCA+IGEuaXRlbSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZEl0ZW1MaW5rQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5saXN0IC5saXN0ID4gYS5pdGVtOmhvdmVyLFxuICAgIC51aS5pbnZlcnRlZC5saXN0ID4gYS5pdGVtOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZEl0ZW1MaW5rSG92ZXJDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBMaW5raW5nIENvbnRlbnQgKi9cbiAgICAudWkuaW52ZXJ0ZWQubGlzdCAuaXRlbSBhOm5vdCgudWkpIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZEl0ZW1MaW5rQ29sb3IgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLmxpc3QgLml0ZW0gYTpub3QoLnVpKTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRJdGVtTGlua0hvdmVyQ29sb3IgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RBbGlnbmVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBBbGlnbmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5saXN0W2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdIC5pbWFnZSxcbiAgICAudWkubGlzdFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXSAuY29udGVudCxcbiAgICAudWkubGlzdCBbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5saXN0W2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdIC5pbWFnZSxcbiAgICAudWkubGlzdFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXSAuY29udGVudCxcbiAgICAudWkubGlzdCBbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5saXN0W2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdIC5pbWFnZSxcbiAgICAudWkubGlzdFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXSAuY29udGVudCxcbiAgICAudWkubGlzdCBbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25MaXN0TGluaykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgTGlua1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkubGluay5saXN0IC5pdGVtLFxuICAgIC51aS5saW5rLmxpc3QgYS5pdGVtLFxuICAgIC51aS5saW5rLmxpc3QgLml0ZW0gYTpub3QoLnVpKSB7XG4gICAgICAgIGNvbG9yOiBAbGlua0xpc3RJdGVtQ29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IEBsaW5rTGlzdFRyYW5zaXRpb247XG4gICAgfVxuICAgIC51aS51aS5saW5rLmxpc3QgYS5pdGVtOmhvdmVyLFxuICAgIC51aS51aS5saW5rLmxpc3QgLml0ZW0gYTpub3QoLnVpKTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAbGlua0xpc3RJdGVtSG92ZXJDb2xvcjtcbiAgICB9XG4gICAgLnVpLnVpLmxpbmsubGlzdCBhLml0ZW06YWN0aXZlLFxuICAgIC51aS51aS5saW5rLmxpc3QgLml0ZW0gYTpub3QoLnVpKTphY3RpdmUge1xuICAgICAgICBjb2xvcjogQGxpbmtMaXN0SXRlbURvd25Db2xvcjtcbiAgICB9XG4gICAgLnVpLnVpLmxpbmsubGlzdCAuYWN0aXZlLml0ZW0sXG4gICAgLnVpLnVpLmxpbmsubGlzdCAuYWN0aXZlLml0ZW0gYTpub3QoLnVpKSB7XG4gICAgICAgIGNvbG9yOiBAbGlua0xpc3RJdGVtQWN0aXZlQ29sb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkxpc3RJbnZlcnRlZCkge1xuICAgICAgICAvKiBJbnZlcnRlZCAqL1xuICAgICAgICAudWkuaW52ZXJ0ZWQubGluay5saXN0IC5pdGVtLFxuICAgICAgICAudWkuaW52ZXJ0ZWQubGluay5saXN0IGEuaXRlbSxcbiAgICAgICAgLnVpLmludmVydGVkLmxpbmsubGlzdCAuaXRlbSBhOm5vdCgudWkpIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRMaW5rTGlzdEl0ZW1Db2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkudWkuaW52ZXJ0ZWQubGluay5saXN0IGEuaXRlbTpob3ZlcixcbiAgICAgICAgLnVpLnVpLmludmVydGVkLmxpbmsubGlzdCAuaXRlbSBhOm5vdCgudWkpOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRMaW5rTGlzdEl0ZW1Ib3ZlckNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS51aS5pbnZlcnRlZC5saW5rLmxpc3QgYS5pdGVtOmFjdGl2ZSxcbiAgICAgICAgLnVpLnVpLmludmVydGVkLmxpbmsubGlzdCAuaXRlbSBhOm5vdCgudWkpOmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkTGlua0xpc3RJdGVtRG93bkNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS51aS5pbnZlcnRlZC5saW5rLmxpc3QgYS5hY3RpdmUuaXRlbSxcbiAgICAgICAgLnVpLnVpLmludmVydGVkLmxpbmsubGlzdCAuYWN0aXZlLml0ZW0gYTpub3QoLnVpKSB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkTGlua0xpc3RJdGVtQWN0aXZlQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RTZWxlY3Rpb24pIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgU2VsZWN0aW9uXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtLFxuICAgIC51aS5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAc2VsZWN0aW9uTGlzdEJhY2tncm91bmQ7XG4gICAgICAgIHBhZGRpbmc6IEBzZWxlY3Rpb25MaXN0SXRlbVZlcnRpY2FsUGFkZGluZyBAc2VsZWN0aW9uTGlzdEl0ZW1Ib3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgbWFyZ2luOiBAc2VsZWN0aW9uTGlzdEl0ZW1NYXJnaW47XG4gICAgICAgIGNvbG9yOiBAc2VsZWN0aW9uTGlzdENvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAc2VsZWN0aW9uTGlzdEl0ZW1Cb3JkZXJSYWRpdXM7XG4gICAgICAgIHRyYW5zaXRpb246IEBzZWxlY3Rpb25MaXN0VHJhbnNpdGlvbjtcbiAgICB9XG4gICAgLnVpLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCxcbiAgICAudWkuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgLnVpLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW06aG92ZXIsXG4gICAgLnVpLnNlbGVjdGlvbi5saXN0ID4gLml0ZW06aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAc2VsZWN0aW9uTGlzdEhvdmVyQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBzZWxlY3Rpb25MaXN0SG92ZXJDb2xvcjtcbiAgICB9XG4gICAgLnVpLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW06YWN0aXZlLFxuICAgIC51aS5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzZWxlY3Rpb25MaXN0RG93bkJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAc2VsZWN0aW9uTGlzdERvd25Db2xvcjtcbiAgICB9XG4gICAgLnVpLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW0uYWN0aXZlLFxuICAgIC51aS5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzZWxlY3Rpb25MaXN0QWN0aXZlQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBzZWxlY3Rpb25MaXN0QWN0aXZlQ29sb3I7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdEludmVydGVkKSB7XG4gICAgICAgIC8qIEludmVydGVkICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFNlbGVjdGlvbkxpc3RCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFNlbGVjdGlvbkxpc3RDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRTZWxlY3Rpb25MaXN0SG92ZXJCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFNlbGVjdGlvbkxpc3RIb3ZlckNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRTZWxlY3Rpb25MaXN0RG93bkJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkU2VsZWN0aW9uTGlzdERvd25Db2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbS5hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkU2VsZWN0aW9uTGlzdEFjdGl2ZUJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkU2VsZWN0aW9uTGlzdEFjdGl2ZUNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdENlbGxlZCkgb3IgKEB2YXJpYXRpb25MaXN0RGl2aWRlZCkge1xuICAgICAgICAvKiBDZWxsZWQgLyBEaXZpZGVkIFNlbGVjdGlvbiBMaXN0ICovXG4gICAgICAgIC51aS5jZWxsZWQuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbSxcbiAgICAgICAgLnVpLmRpdmlkZWQuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbSxcbiAgICAgICAgLnVpLmNlbGxlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtLFxuICAgICAgICAudWkuZGl2aWRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RBbmltYXRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQW5pbWF0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmFuaW1hdGVkLmxpc3QgPiAuaXRlbSB7XG4gICAgICAgIHRyYW5zaXRpb246IEBhbmltYXRlZExpc3RUcmFuc2l0aW9uO1xuICAgIH1cbiAgICAudWkuYW5pbWF0ZWQubGlzdEB7bm90SG9yaXpvbnRhbH0gPiAuaXRlbTpob3ZlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQGFuaW1hdGVkTGlzdEluZGVudDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RGaXR0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEZpdHRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLnVpLmZpdHRlZC5saXN0QHtub3RTZWxlY3Rpb259IC5saXN0ID4gLml0ZW0sXG4gICAgLnVpLmZpdHRlZC5saXN0QHtub3RTZWxlY3Rpb259ID4gLml0ZW0ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICAgIC51aS5maXR0ZWQuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbSxcbiAgICAudWkuZml0dGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogLUBzZWxlY3Rpb25MaXN0SXRlbUhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC1Ac2VsZWN0aW9uTGlzdEl0ZW1Ib3Jpem9udGFsUGFkZGluZztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RCdWxsZXRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBCdWxsZXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICB1bC51aS5saXN0LFxuICAgIC51aS5idWxsZXRlZC5saXN0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBidWxsZXREaXN0YW5jZTtcbiAgICB9XG4gICAgdWwudWkubGlzdCBsaSxcbiAgICAudWkuYnVsbGV0ZWQubGlzdCAubGlzdCA+IC5pdGVtLFxuICAgIC51aS5idWxsZXRlZC5saXN0ID4gLml0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIHVsLnVpLmxpc3QgbGk6OmJlZm9yZSxcbiAgICAudWkuYnVsbGV0ZWQubGlzdCAubGlzdCA+IC5pdGVtOjpiZWZvcmUsXG4gICAgLnVpLmJ1bGxldGVkLmxpc3QgPiAuaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBub3JtYWw7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAYnVsbGV0T2Zmc2V0O1xuICAgICAgICBjb250ZW50OiBAYnVsbGV0Q2hhcmFjdGVyO1xuICAgICAgICBvcGFjaXR5OiBAYnVsbGV0T3BhY2l0eTtcbiAgICAgICAgY29sb3I6IEBidWxsZXRDb2xvcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IEBidWxsZXRWZXJ0aWNhbEFsaWduO1xuICAgIH1cblxuICAgIHVsLnVpLmxpc3QgbGk6OmJlZm9yZSxcbiAgICAudWkuYnVsbGV0ZWQubGlzdCAubGlzdCA+IGEuaXRlbTo6YmVmb3JlLFxuICAgIC51aS5idWxsZXRlZC5saXN0ID4gYS5pdGVtOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogQGJ1bGxldExpbmtDb2xvcjtcbiAgICB9XG5cbiAgICB1bC51aS5saXN0IHVsLFxuICAgIC51aS5idWxsZXRlZC5saXN0IC5saXN0QHtub3RJY29ufSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQGJ1bGxldENoaWxkRGlzdGFuY2U7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdEhvcml6b250YWwpIHtcbiAgICAgICAgLyogSG9yaXpvbnRhbCBCdWxsZXRlZCAqL1xuICAgICAgICB1bC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QsXG4gICAgICAgIC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgdWwudWkuaG9yaXpvbnRhbC5idWxsZXRlZC5saXN0IGxpLFxuICAgICAgICAudWkuaG9yaXpvbnRhbC5idWxsZXRlZC5saXN0ID4gLml0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBob3Jpem9udGFsQnVsbGV0U3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICB1bC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgbGk6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICB1bC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgbGk6OmJlZm9yZSxcbiAgICAgICAgLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCA+IC5pdGVtOjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IEBob3Jpem9udGFsQnVsbGV0Q29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgdWwudWkuaG9yaXpvbnRhbC5idWxsZXRlZC5saXN0IGxpOmZpcnN0LWNoaWxkOjpiZWZvcmUsXG4gICAgICAgIC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RPcmRlcmVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBPcmRlcmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIG9sLnVpLmxpc3QsXG4gICAgLnVpLm9yZGVyZWQubGlzdCxcbiAgICAudWkub3JkZXJlZC5saXN0IC5saXN0QHtub3RJY29ufSxcbiAgICBvbC51aS5saXN0IG9sIHtcbiAgICAgICAgY291bnRlci1yZXNldDogQG9yZGVyZWRDb3VudE5hbWU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAb3JkZXJlZENvdW50RGlzdGFuY2U7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB9XG4gICAgb2wudWkubGlzdCBsaSxcbiAgICAudWkub3JkZXJlZC5saXN0IC5saXN0ID4gLml0ZW0sXG4gICAgLnVpLm9yZGVyZWQubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIG9sLnVpLmxpc3QgbGk6OmJlZm9yZSxcbiAgICAudWkub3JkZXJlZC5saXN0IC5saXN0ID4gLml0ZW06OmJlZm9yZSxcbiAgICAudWkub3JkZXJlZC5saXN0ID4gLml0ZW06OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtKEBvcmRlcmVkQ291bnREaXN0YW5jZSk7XG4gICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBAb3JkZXJlZENvdW50TmFtZTtcbiAgICAgICAgY29udGVudDogQG9yZGVyZWRDb3VudENvbnRlbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IEBvcmRlcmVkQ291bnRUZXh0QWxpZ247XG4gICAgICAgIGNvbG9yOiBAb3JkZXJlZENvdW50Q29sb3I7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBAb3JkZXJlZENvdW50VmVydGljYWxBbGlnbjtcbiAgICAgICAgb3BhY2l0eTogQG9yZGVyZWRDb3VudE9wYWNpdHk7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdEludmVydGVkKSB7XG4gICAgICAgIG9sLnVpLmludmVydGVkLmxpc3QgbGk6OmJlZm9yZSxcbiAgICAgICAgLnVpLm9yZGVyZWQuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IC5pdGVtOjpiZWZvcmUsXG4gICAgICAgIC51aS5vcmRlcmVkLmludmVydGVkLmxpc3QgPiAuaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiBAb3JkZXJlZEludmVydGVkQ291bnRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFZhbHVlICovXG4gICAgLnVpLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtW2RhdGEtdmFsdWVdOjpiZWZvcmUsXG4gICAgLnVpLm9yZGVyZWQubGlzdCA+IC5pdGVtW2RhdGEtdmFsdWVdOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdmFsdWUpO1xuICAgIH1cbiAgICBvbC51aS5saXN0IGxpW3ZhbHVlXTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogYXR0cih2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyogQ2hpbGQgTGlzdHMgKi9cbiAgICBvbC51aS5saXN0IG9sLFxuICAgIC51aS5vcmRlcmVkLmxpc3QgLmxpc3RAe25vdEljb259IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBvcmRlcmVkQ2hpbGRDb3VudERpc3RhbmNlO1xuICAgIH1cbiAgICBvbC51aS5saXN0IG9sIGxpOjpiZWZvcmUsXG4gICAgLnVpLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogQG9yZGVyZWRDaGlsZENvdW50T2Zmc2V0O1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkxpc3RIb3Jpem9udGFsKSB7XG4gICAgICAgIC8qIEhvcml6b250YWwgT3JkZXJlZCAqL1xuICAgICAgICBvbC51aS5ob3Jpem9udGFsLmxpc3QsXG4gICAgICAgIC51aS5vcmRlcmVkLmhvcml6b250YWwubGlzdCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICBvbC51aS5ob3Jpem9udGFsLmxpc3QgbGk6OmJlZm9yZSxcbiAgICAgICAgLnVpLm9yZGVyZWQuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW06OmJlZm9yZSxcbiAgICAgICAgLnVpLm9yZGVyZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW06OmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgbWFyZ2luOiAwIEBob3Jpem9udGFsT3JkZXJlZENvdW50RGlzdGFuY2UgMCAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25MaXN0U3VmZml4ZWQpIHtcbiAgICAvKiBTdWZmaXhlZCBPcmRlcmVkICovXG4gICAgb2wudWkuc3VmZml4ZWQubGlzdCBsaTo6YmVmb3JlLFxuICAgIC51aS5zdWZmaXhlZC5vcmRlcmVkLmxpc3QgLmxpc3QgPiAuaXRlbTo6YmVmb3JlLFxuICAgIC51aS5zdWZmaXhlZC5vcmRlcmVkLmxpc3QgPiAuaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogQG9yZGVyZWRDb3VudENvbnRlbnRTdWZmaXhlZDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3REaXZpZGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBEaXZpZGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5kaXZpZGVkLmxpc3QgPiAuaXRlbSB7XG4gICAgICAgIGJvcmRlci10b3A6IEBkaXZpZGVkQm9yZGVyO1xuICAgIH1cbiAgICAudWkuZGl2aWRlZC5saXN0IC5saXN0ID4gLml0ZW0ge1xuICAgICAgICBib3JkZXItdG9wOiBAZGl2aWRlZENoaWxkTGlzdEJvcmRlcjtcbiAgICB9XG4gICAgLnVpLmRpdmlkZWQubGlzdCAuaXRlbSAubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgYm9yZGVyLXRvcDogQGRpdmlkZWRDaGlsZEl0ZW1Cb3JkZXI7XG4gICAgfVxuICAgIC51aS5kaXZpZGVkLmxpc3QgLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCxcbiAgICAudWkuZGl2aWRlZC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgIC8qIFN1YiBNZW51ICovXG4gICAgLnVpLmRpdmlkZWQubGlzdEB7bm90SG9yaXpvbnRhbH0gLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IEBkaXZpZGVkQm9yZGVyV2lkdGg7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdEJ1bGxldGVkKSB7XG4gICAgICAgIC8qIERpdmlkZWQgYnVsbGV0ZWQgKi9cbiAgICAgICAgLnVpLmRpdmlkZWQuYnVsbGV0ZWQubGlzdEB7bm90SG9yaXpvbnRhbH0sXG4gICAgICAgIC51aS5kaXZpZGVkLmJ1bGxldGVkLmxpc3QgLmxpc3RAe25vdEljb259IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIC51aS5kaXZpZGVkLmJ1bGxldGVkLmxpc3QgPiAuaXRlbUB7bm90SG9yaXpvbnRhbH0ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAYnVsbGV0RGlzdGFuY2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0T3JkZXJlZCkge1xuICAgICAgICAvKiBEaXZpZGVkIE9yZGVyZWQgKi9cbiAgICAgICAgLnVpLmRpdmlkZWQub3JkZXJlZC5saXN0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIC51aS5kaXZpZGVkLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtLFxuICAgICAgICAudWkuZGl2aWRlZC5vcmRlcmVkLmxpc3QgPiAuaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEBvcmRlcmVkQ291bnREaXN0YW5jZTtcbiAgICAgICAgfVxuICAgICAgICAudWkuZGl2aWRlZC5vcmRlcmVkLmxpc3QgLml0ZW0gLmxpc3RAe25vdEljb259IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IEBpdGVtVmVydGljYWxQYWRkaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS5kaXZpZGVkLm9yZGVyZWQubGlzdCAuaXRlbSAubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQG9yZGVyZWRDaGlsZENvdW50RGlzdGFuY2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0U2VsZWN0aW9uKSB7XG4gICAgICAgIC8qIERpdmlkZWQgU2VsZWN0aW9uICovXG5cbiAgICAgICAgLnVpLmRpdmlkZWQuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbSxcbiAgICAgICAgLnVpLmRpdmlkZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdEhvcml6b250YWwpIHtcbiAgICAgICAgLyogRGl2aWRlZCBob3Jpem9udGFsICovXG4gICAgICAgIC51aS5kaXZpZGVkLmhvcml6b250YWwubGlzdCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZGl2aWRlZC5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEBob3Jpem9udGFsRGl2aWRlZFNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmRpdmlkZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAaG9yaXpvbnRhbERpdmlkZWRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS5kaXZpZGVkLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IEBkaXZpZGVkQm9yZGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IEBob3Jpem9udGFsRGl2aWRlZExpbmVIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmhvcml6b250YWwuZGl2aWRlZC5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0SW52ZXJ0ZWQpIHtcbiAgICAgICAgLyogSW52ZXJ0ZWQgKi9cblxuICAgICAgICAudWkuZGl2aWRlZC5pbnZlcnRlZC5saXN0ID4gLml0ZW0sXG4gICAgICAgIC51aS5kaXZpZGVkLmludmVydGVkLmxpc3QgPiAubGlzdCxcbiAgICAgICAgLnVpLmRpdmlkZWQuaW52ZXJ0ZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAZGl2aWRlZEludmVydGVkQm9yZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxpc3RDZWxsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBDZWxsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNlbGxlZC5saXN0ID4gLml0ZW0sXG4gICAgLnVpLmNlbGxlZC5saXN0ID4gLmxpc3Qge1xuICAgICAgICBib3JkZXItdG9wOiBAY2VsbGVkQm9yZGVyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEBjZWxsZWRIb3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogQGNlbGxlZEhvcml6b250YWxQYWRkaW5nO1xuICAgIH1cbiAgICAudWkuY2VsbGVkLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogQGNlbGxlZEJvcmRlcjtcbiAgICB9XG5cbiAgICAvKiBQYWRkaW5nIG9uIGFsbCBlbGVtZW50cyAqL1xuICAgIC51aS5jZWxsZWQubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkLFxuICAgIC51aS5jZWxsZWQubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogQGl0ZW1WZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBAaXRlbVZlcnRpY2FsUGFkZGluZztcbiAgICB9XG5cbiAgICAvKiBTdWIgTWVudSAqL1xuICAgIC51aS5jZWxsZWQubGlzdCAuaXRlbSAubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cbiAgICAudWkuY2VsbGVkLmxpc3QgLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdEJ1bGxldGVkKSB7XG4gICAgICAgIC8qIENlbGxlZCBCdWxsZXRlZCAqL1xuICAgICAgICAudWkuY2VsbGVkLmJ1bGxldGVkLmxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmNlbGxlZC5idWxsZXRlZC5saXN0IC5saXN0ID4gLml0ZW0sXG4gICAgICAgIC51aS5jZWxsZWQuYnVsbGV0ZWQubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogKEBidWxsZXREaXN0YW5jZSk7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmNlbGxlZC5idWxsZXRlZC5saXN0IC5pdGVtIC5saXN0QHtub3RJY29ufSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLShAYnVsbGV0RGlzdGFuY2UpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtKEBidWxsZXREaXN0YW5jZSk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogQGl0ZW1WZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0T3JkZXJlZCkge1xuICAgICAgICAvKiBDZWxsZWQgT3JkZXJlZCAqL1xuICAgICAgICAudWkuY2VsbGVkLm9yZGVyZWQubGlzdCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAudWkuY2VsbGVkLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtLFxuICAgICAgICAudWkuY2VsbGVkLm9yZGVyZWQubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQG9yZGVyZWRDb3VudERpc3RhbmNlO1xuICAgICAgICB9XG4gICAgICAgIC51aS5jZWxsZWQub3JkZXJlZC5saXN0IC5pdGVtIC5saXN0QHtub3RJY29ufSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBAaXRlbVZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgfVxuICAgICAgICAudWkuY2VsbGVkLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQG9yZGVyZWRDaGlsZENvdW50RGlzdGFuY2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0SG9yaXpvbnRhbCkge1xuICAgICAgICAvKiBDZWxsZWQgSG9yaXpvbnRhbCAqL1xuICAgICAgICAudWkuaG9yaXpvbnRhbC5jZWxsZWQubGlzdCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAudWkuaG9yaXpvbnRhbC5jZWxsZWQubGlzdCAubGlzdCA+IC5pdGVtLFxuICAgICAgICAudWkuaG9yaXpvbnRhbC5jZWxsZWQubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogQGNlbGxlZEJvcmRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQGhvcml6b250YWxDZWxsZWRTcGFjaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQGhvcml6b250YWxDZWxsZWRTcGFjaW5nO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IEBob3Jpem9udGFsQ2VsbGVkTGluZUhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICAudWkuaG9yaXpvbnRhbC5jZWxsZWQubGlzdCAubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQsXG4gICAgICAgIC51aS5ob3Jpem9udGFsLmNlbGxlZC5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBAY2VsbGVkQm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTGlzdEludmVydGVkKSB7XG4gICAgICAgIC8qIEludmVydGVkICovXG4gICAgICAgIC51aS5jZWxsZWQuaW52ZXJ0ZWQubGlzdCA+IC5pdGVtLFxuICAgICAgICAudWkuY2VsbGVkLmludmVydGVkLmxpc3QgPiAubGlzdCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBjZWxsZWRJbnZlcnRlZEJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuY2VsbGVkLmludmVydGVkLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtLFxuICAgICAgICAudWkuY2VsbGVkLmludmVydGVkLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGNlbGxlZEludmVydGVkQm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25MaXN0UmVsYXhlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgUmVsYXhlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkucmVsYXhlZC5saXN0QHtub3RIb3Jpem9udGFsfSA+IC5pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IEByZWxheGVkSXRlbVZlcnRpY2FsUGFkZGluZztcbiAgICB9XG4gICAgLnVpLnJlbGF4ZWQubGlzdEB7bm90SG9yaXpvbnRhbH0gPiAuaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IEByZWxheGVkSXRlbVZlcnRpY2FsUGFkZGluZztcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0SG9yaXpvbnRhbCkge1xuICAgICAgICAudWkuaG9yaXpvbnRhbC5yZWxheGVkLmxpc3QgLmxpc3QgPiAuaXRlbTpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAgICAgLnVpLmhvcml6b250YWwucmVsYXhlZC5saXN0ID4gLml0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAcmVsYXhlZEhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS5ob3Jpem9udGFsLnJlbGF4ZWQubGlzdCAubGlzdCA+IC5pdGVtOm5vdCg6bGFzdC1jaGlsZCksXG4gICAgICAgIC51aS5ob3Jpem9udGFsLnJlbGF4ZWQubGlzdCA+IC5pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQHJlbGF4ZWRIb3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25MaXN0VmVyeVJlbGF4ZWQpIHtcbiAgICAgICAgLyogVmVyeSBSZWxheGVkICovXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ubGlzdEB7bm90SG9yaXpvbnRhbH0gPiAuaXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogQHZlcnlSZWxheGVkSXRlbVZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmxpc3RAe25vdEhvcml6b250YWx9ID4gLml0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogQHZlcnlSZWxheGVkSXRlbVZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkxpc3RIb3Jpem9udGFsKSB7XG4gICAgICAgICAgICAudWkuaG9yaXpvbnRhbFtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ubGlzdCAubGlzdCA+IC5pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgICAgICAgICAgLnVpLmhvcml6b250YWxbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmxpc3QgPiAuaXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAdmVyeVJlbGF4ZWRIb3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5ob3Jpem9udGFsW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5saXN0IC5saXN0ID4gLml0ZW06bm90KDpsYXN0LWNoaWxkKSxcbiAgICAgICAgICAgIC51aS5ob3Jpem9udGFsW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5saXN0ID4gLml0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQHZlcnlSZWxheGVkSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubGlzdCB7XG4gICAgZm9udC1zaXplOiBAcmVsYXRpdmVNZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uTGlzdFNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25MaXN0U2l6ZXMsIHtcbiAgICAgICAgQHJzOiBAe3ZhbHVlfUxpc3RTaXplO1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9Lmxpc3Qge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAQHJzO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkxpc3RIb3Jpem9udGFsKSB7XG4gICAgICAgICAgICAudWkuQHt2YWx1ZX0uaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4gICAgICAgICAgICAudWkuQHt2YWx1ZX0uaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBMb2FkZXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcImVsZW1lbnRcIjtcbkBlbGVtZW50OiBcImxvYWRlclwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdEVsYXN0aWM6IGlmKEB2YXJpYXRpb25Mb2FkZXJFbGFzdGljLCBlKFwiOm5vdCguZWxhc3RpYylcIikpO1xuQG5vdERvdWJsZTogaWYoQHZhcmlhdGlvbkxvYWRlckRvdWJsZSwgZShcIjpub3QoLmRvdWJsZSlcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTG9hZGVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBTdGFuZGFyZCBTaXplICovXG4udWkubG9hZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IEBsb2FkZXJUb3BPZmZzZXQ7XG4gICAgbGVmdDogQGxvYWRlckxlZnRPZmZzZXQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vKiBTdGF0aWMgU2hhcGUgKi9cbi51aS5sb2FkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuICAgIGJvcmRlcjogQGxvYWRlckxpbmVXaWR0aCBzb2xpZCBAbG9hZGVyRmlsbENvbG9yO1xufVxuXG4vKiBBY3RpdmUgU2hhcGUgKi9cbi51aS5sb2FkZXI6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhbmltYXRpb246IGxvYWRlciBAbG9hZGVyU3BlZWQgaW5maW5pdGUgbGluZWFyO1xuICAgIGJvcmRlcjogQGxvYWRlckxpbmVXaWR0aCBzb2xpZCBAc2hhcGVCb3JkZXJDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHRyYW5zcGFyZW50O1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Mb2FkZXJTcGVlZHMpIHtcbiAgICAvKiBTcGVlZHMgKi9cblxuICAgIC51aS51aS5mYXN0LmxvYWRpbmc6OmFmdGVyLFxuICAgIC51aS51aS5mYXN0LmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbiAgICAudWkudWkuZmFzdC5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbiAgICAudWkuZmFzdC5sb2FkZXI6OmFmdGVyIHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBAbG9hZGVyU3BlZWRGYXN0O1xuICAgIH1cblxuICAgIC51aS51aS5zbG93LmxvYWRpbmc6OmFmdGVyLFxuICAgIC51aS51aS5zbG93LmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbiAgICAudWkudWkuc2xvdy5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbiAgICAudWkuc2xvdy5sb2FkZXI6OmFmdGVyIHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBAbG9hZGVyU3BlZWRTbG93O1xuICAgIH1cbn1cblxuLyogQWN0aXZlIEFuaW1hdGlvbiAqL1xuQGtleWZyYW1lcyBsb2FkZXIge1xuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIFNob3cgaW5zaWRlIGFjdGl2ZSBkaW1tZXIgKi9cbi51aS5kaW1tZXIgPiAubG9hZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogQmxhY2sgRGltbWVyICovXG4udWkuZGltbWVyID4gLnVpLmxvYWRlciB7XG4gICAgY29sb3I6IEBpbnZlcnRlZExvYWRlclRleHRDb2xvcjtcbn1cbi51aS5kaW1tZXIgPiAudWkubG9hZGVyQHtub3RFbGFzdGljfTo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IEBpbnZlcnRlZExvYWRlckZpbGxDb2xvcjtcbn1cblxuLyogV2hpdGUgRGltbWVyIChJbnZlcnRlZCkgKi9cbi51aS5pbnZlcnRlZC5kaW1tZXIgPiAudWkubG9hZGVyIHtcbiAgICBjb2xvcjogQGxvYWRlclRleHRDb2xvcjtcbn1cbi51aS5pbnZlcnRlZC5kaW1tZXIgPiAudWkubG9hZGVyQHtub3RFbGFzdGljfTo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IEBsb2FkZXJGaWxsQ29sb3I7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkxvYWRlclRleHQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBUZXh0XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS51aS51aS51aS50ZXh0LmxvYWRlciB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiYgd2hlbiAoQHZhcmlhdGlvbkxvYWRlckluZGV0ZXJtaW5hdGUpIHtcbiAgICAudWkuaW5kZXRlcm1pbmF0ZS5sb2FkZXI6OmFmdGVyIHtcbiAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogQGluZGV0ZXJtaW5hdGVEaXJlY3Rpb247XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogQGluZGV0ZXJtaW5hdGVTcGVlZDtcbiAgICB9XG59XG5cbi51aS5sb2FkZXIuYWN0aXZlLFxuLnVpLmxvYWRlci52aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5sb2FkZXIuZGlzYWJsZWQsXG4udWkubG9hZGVyLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5sb2FkZXIge1xuICAgIHdpZHRoOiBAbWVkaXVtO1xuICAgIGhlaWdodDogQG1lZGl1bTtcbiAgICBmb250LXNpemU6IEBtZWRpdW1Gb250U2l6ZTtcbn1cbi51aS5sb2FkZXI6OmJlZm9yZSxcbi51aS5sb2FkZXI6OmFmdGVyIHtcbiAgICB3aWR0aDogQG1lZGl1bTtcbiAgICBoZWlnaHQ6IEBtZWRpdW07XG4gICAgbWFyZ2luOiBAbWVkaXVtT2Zmc2V0O1xufVxuJiB3aGVuIChAdmFyaWF0aW9uTG9hZGVyVGV4dCkge1xuICAgIC51aS50ZXh0LmxvYWRlciB7XG4gICAgICAgIG1pbi13aWR0aDogQG1lZGl1bTtcbiAgICAgICAgcGFkZGluZy10b3A6IChAbWVkaXVtICsgQHRleHREaXN0YW5jZSk7XG4gICAgfVxufVxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkxvYWRlclNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25Mb2FkZXJTaXplcywge1xuICAgICAgICBAbzogQHt2YWx1ZX1PZmZzZXQ7XG4gICAgICAgIEBmOiBAe3ZhbHVlfUZvbnRTaXplO1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9LmxvYWRlciB7XG4gICAgICAgICAgICB3aWR0aDogQHM7XG4gICAgICAgICAgICBoZWlnaHQ6IEBzO1xuICAgICAgICAgICAgZm9udC1zaXplOiBAQGY7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLkB7dmFsdWV9LmxvYWRlcjo6YmVmb3JlLFxuICAgICAgICAudWkuQHt2YWx1ZX0ubG9hZGVyOjphZnRlciB7XG4gICAgICAgICAgICB3aWR0aDogQHM7XG4gICAgICAgICAgICBoZWlnaHQ6IEBzO1xuICAgICAgICAgICAgbWFyZ2luOiBAQG87XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uTG9hZGVyVGV4dCkge1xuICAgICAgICAgICAgLnVpLkB7dmFsdWV9LnRleHQubG9hZGVyIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IEBzO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAoQHMgKyBAdGV4dERpc3RhbmNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkxvYWRlckNvbG9ycyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uTG9hZGVyQ29sb3JzLCB7XG4gICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICBAYzogQGNvbG9yc1tAQGNvbG9yXVtjb2xvcl07XG4gICAgICAgIEBsOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0XTtcblxuICAgICAgICAudWkudWkuQHtjb2xvcn0uZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSxcbiAgICAgICAgLnVpLkB7Y29sb3J9LmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmJlZm9yZSxcbiAgICAgICAgLnVpLkB7Y29sb3J9LmJhc2ljLmVsYXN0aWMubG9hZGluZy5idXR0b246OmFmdGVyLFxuICAgICAgICAudWkudWkudWkuQHtjb2xvcn0uZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuICAgICAgICAudWkudWkudWkuQHtjb2xvcn0uZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuICAgICAgICAudWkudWkudWkudWkuQHtjb2xvcn0uZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4gICAgICAgIC51aS51aS51aS51aS5Ae2NvbG9yfS5sb2FkaW5nOm5vdCgudXN1YWwpOm5vdCguYnV0dG9uKTo6YWZ0ZXIsXG4gICAgICAgIC51aS51aS51aS51aS5Ae2NvbG9yfS5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4gICAgICAgIC51aS51aS51aS51aS5Ae2NvbG9yfS5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbiAgICAgICAgLnVpLnVpLnVpLkB7Y29sb3J9LmxvYWRlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6IEBjO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5lbGFzdGljLmxvYWRlcjo6YmVmb3JlLFxuICAgICAgICAudWkudWkudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uZWxhc3RpYy5sb2FkaW5nOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuICAgICAgICAudWkudWkudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuICAgICAgICAudWkudWkudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4gICAgICAgIC51aS51aS51aS51aS5pbnZlcnRlZC5Ae2NvbG9yfS5sb2FkaW5nOm5vdCgudXN1YWwpOjphZnRlcixcbiAgICAgICAgLnVpLnVpLnVpLnVpLmludmVydGVkLkB7Y29sb3J9LmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbiAgICAgICAgLnVpLnVpLnVpLnVpLmludmVydGVkLkB7Y29sb3J9LmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuICAgICAgICAudWkudWkudWkuaW52ZXJ0ZWQuQHtjb2xvcn0ubG9hZGVyOjphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogQGw7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLnVpLnVpLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUsXG4udWkudWkudWkuZWxhc3RpYy5sb2FkaW5nOjpiZWZvcmUsXG4udWkudWkudWkuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuLnVpLnVpLnVpLnVpLmxvYWRpbmc6bm90KC51c3VhbCk6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS5sb2FkZXI6OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi51aS51aS51aS51aS5lbGFzdGljLmxvYWRpbmcuYnV0dG9uOm5vdCguaW52ZXJ0ZWQpOm5vdCguYmFzaWMpOjpiZWZvcmUge1xuICAgIGNvbG9yOiBAaW52ZXJ0ZWRMb2FkZXJMaW5lQ29sb3I7XG59XG4udWkuZWxhc3RpYy5iYXNpYy5sb2FkaW5nLmJ1dHRvbjo6YmVmb3JlLFxuLnVpLmVsYXN0aWMuYmFzaWMubG9hZGluZy5idXR0b246OmFmdGVyIHtcbiAgICBjb2xvcjogQGxvYWRlckxpbmVDb2xvcjtcbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkxvYWRlckRvdWJsZSkge1xuICAgIC51aS51aS51aS51aS5kb3VibGUubG9hZGluZy5idXR0b246OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTG9hZGVySW5saW5lKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBJbmxpbmVcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmlubGluZS5sb2FkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBAaW5saW5lVmVydGljYWxBbGlnbjtcbiAgICAgICAgbWFyZ2luOiBAaW5saW5lTWFyZ2luO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAudWkuaW5saW5lLmxvYWRlci5hY3RpdmUsXG4gICAgLnVpLmlubGluZS5sb2FkZXIudmlzaWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKiBDZW50ZXJlZCBJbmxpbmUgKi9cbiAgICAudWkuY2VudGVyZWQuaW5saW5lLmxvYWRlci5hY3RpdmUsXG4gICAgLnVpLmNlbnRlcmVkLmlubGluZS5sb2FkZXIudmlzaWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbn1cblxuLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmc6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS51aS51aS5sb2FkaW5nID4gaS5pY29uOjphZnRlcixcbi51aS51aS51aS51aS51aS5sb2FkZXI6OmFmdGVyIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi51aS51aS51aS51aS51aS51aS51aS5sb2FkaW5nQHtub3REb3VibGV9OjphZnRlcixcbi51aS51aS51aS51aS51aS51aS51aS5sb2FkaW5nQHtub3REb3VibGV9IC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkudWkudWkudWkubG9hZGluZ0B7bm90RG91YmxlfSA+IGkuaWNvbjo6YWZ0ZXIsXG4udWkudWkudWkudWkudWkudWkubG9hZGVyQHtub3REb3VibGV9OjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4udWkudWkudWkudWkudWkudWkubG9hZGluZy5jYXJkOjphZnRlcixcbi51aS51aS51aS51aS51aS51aS5sb2FkaW5nLnNlZ21lbnRzOjphZnRlcixcbi51aS51aS51aS51aS51aS51aS5sb2FkaW5nLnNlZ21lbnQ6OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmcuZm9ybTo6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAbG9hZGVyRmlsbENvbG9yO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogQGxvYWRlckZpbGxDb2xvcjtcbn1cbi51aS51aS51aS51aS51aS51aS5sb2FkaW5nLmNhcmRAe25vdERvdWJsZX06OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmcuc2VnbWVudHNAe25vdERvdWJsZX06OmFmdGVyLFxuLnVpLnVpLnVpLnVpLnVpLnVpLmxvYWRpbmcuc2VnbWVudEB7bm90RG91YmxlfTo6YWZ0ZXIsXG4udWkudWkudWkudWkudWkudWkubG9hZGluZy5mb3JtQHtub3REb3VibGV9OjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQGxvYWRlckZpbGxDb2xvcjtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTG9hZGVyRWxhc3RpYykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgRWxhc3RpY1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZGltbWVyID4gLnVpLmVsYXN0aWMubG9hZGVyIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZExvYWRlckxpbmVDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLmRpbW1lciA+IC51aS5lbGFzdGljLmxvYWRlciB7XG4gICAgICAgIGNvbG9yOiBAbG9hZGVyTGluZUNvbG9yO1xuICAgIH1cbiAgICAudWkudWkuZWxhc3RpYy5sb2FkaW5nOm5vdCguZm9ybSk6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjphZnRlcixcbiAgICAudWkudWkuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4gICAgLnVpLnVpLmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4gICAgLnVpLnVpLmVsYXN0aWMubG9hZGVyOjphZnRlciB7XG4gICAgICAgIGFuaW1hdGlvbjogbG9hZGVyIDFzIGluZmluaXRlIGN1YmljLWJlemllcigwLjI3LCAxLjA1LCAwLjkyLCAwLjYxKTtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzO1xuICAgIH1cbiAgICAudWkudWkudWkuZWxhc3RpYy5sb2FkaW5nOm5vdCguZm9ybSk6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjpiZWZvcmUsXG4gICAgLnVpLnVpLnVpLmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmJlZm9yZSxcbiAgICAudWkudWkudWkuZWxhc3RpYy5sb2FkaW5nID4gaS5pY29uOjpiZWZvcmUsXG4gICAgLnVpLnVpLmVsYXN0aWMubG9hZGVyOjpiZWZvcmUge1xuICAgICAgICBhbmltYXRpb246IGVsYXN0aWMtbG9hZGVyIDFzIGluZmluaXRlIGN1YmljLWJlemllcigwLjI3LCAxLjA1LCAwLjkyLCAwLjYxKTtcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL3B1bGwvMzYzXG4gICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG4gICAgICAgIC1tb3otYW5pbWF0aW9uOiBjdXJyZW50Y29sb3ItZWxhc3RpYy1sb2FkZXIgMXMgaW5maW5pdGUgY3ViaWMtYmV6aWVyKDAuMjcsIDEuMDUsIDAuOTIsIDAuNjEpO1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Mb2FkZXJJbmxpbmUpIHtcbiAgICAgICAgLnVpLmVsYXN0aWMuaW5saW5lLmxvYWRlcjplbXB0eSB7XG4gICAgICAgICAgICBhbmltYXRpb246IGxvYWRlciA4cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTG9hZGVyU3BlZWRzKSB7XG4gICAgICAgIC51aS51aS5zbG93LmVsYXN0aWMubG9hZGluZzpub3QoLmZvcm0pOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YWZ0ZXIsXG4gICAgICAgIC51aS51aS5zbG93LmVsYXN0aWMubG9hZGluZyAuaW5wdXQgPiBpLmljb246OmFmdGVyLFxuICAgICAgICAudWkudWkuc2xvdy5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmFmdGVyLFxuICAgICAgICAudWkudWkuc2xvdy5lbGFzdGljLmxvYWRlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjQ1cztcbiAgICAgICAgfVxuICAgICAgICAudWkudWkudWkuc2xvdy5lbGFzdGljLmxvYWRpbmc6bm90KC5mb3JtKTpub3QoLnNlZ21lbnQpOm5vdCguc2VnbWVudHMpOm5vdCguY2FyZCk6OmJlZm9yZSxcbiAgICAgICAgLnVpLnVpLnVpLnNsb3cuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlLFxuICAgICAgICAudWkudWkudWkuc2xvdy5lbGFzdGljLmxvYWRpbmcgPiBpLmljb246OmJlZm9yZSxcbiAgICAgICAgLnVpLnVpLnNsb3cuZWxhc3RpYy5sb2FkZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnVpLmZhc3QuZWxhc3RpYy5sb2FkaW5nOm5vdCguZm9ybSk6bm90KC5zZWdtZW50KTpub3QoLnNlZ21lbnRzKTpub3QoLmNhcmQpOjphZnRlcixcbiAgICAgICAgLnVpLnVpLmZhc3QuZWxhc3RpYy5sb2FkaW5nIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIsXG4gICAgICAgIC51aS51aS5mYXN0LmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YWZ0ZXIsXG4gICAgICAgIC51aS51aS5mYXN0LmVsYXN0aWMubG9hZGVyOjphZnRlciB7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNjZzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjJzO1xuICAgICAgICB9XG4gICAgICAgIC51aS51aS51aS5mYXN0LmVsYXN0aWMubG9hZGluZzpub3QoLmZvcm0pOm5vdCguc2VnbWVudCk6bm90KC5zZWdtZW50cyk6bm90KC5jYXJkKTo6YmVmb3JlLFxuICAgICAgICAudWkudWkudWkuZmFzdC5lbGFzdGljLmxvYWRpbmcgLmlucHV0ID4gaS5pY29uOjpiZWZvcmUsXG4gICAgICAgIC51aS51aS51aS5mYXN0LmVsYXN0aWMubG9hZGluZyA+IGkuaWNvbjo6YmVmb3JlLFxuICAgICAgICAudWkudWkuZmFzdC5lbGFzdGljLmxvYWRlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC42NnM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBlbGFzdGljLWxvYWRlciB7XG4gICAgICAgIDAlLFxuICAgICAgICAxJSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAxLjElLFxuICAgICAgICA1MCUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgICAgMTAlLFxuICAgICAgICAzNS4xJSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAxMC4xJSxcbiAgICAgICAgMzUlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgICAgNTAuMSUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBjdXJyZW50Y29sb3ItZWxhc3RpYy1sb2FkZXIge1xuICAgICAgICAwJSxcbiAgICAgICAgMSUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgMS4xJSxcbiAgICAgICAgNTAlIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgMTAlLFxuICAgICAgICAzNS4xJSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAxMC4xJSxcbiAgICAgICAgMzUlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICA1MC4xJSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gUGxhY2Vob2xkZXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcImVsZW1lbnRcIjtcbkBlbGVtZW50OiBcInBsYWNlaG9sZGVyXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkucGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBhbmltYXRpb246IHBsYWNlaG9sZGVyU2hpbW1lciBAcGxhY2Vob2xkZXJMb2FkaW5nQW5pbWF0aW9uRHVyYXRpb24gbGluZWFyO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBAcGxhY2Vob2xkZXJMb2FkaW5nR3JhZGllbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBAcGxhY2Vob2xkZXJMb2FkaW5nR3JhZGllbnRXaWR0aCAxMDAlO1xuICAgIG1heC13aWR0aDogQHBsYWNlaG9sZGVyTWF4V2lkdGg7XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXJTaGltbWVyIHtcbiAgICAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC1AcGxhY2Vob2xkZXJMb2FkaW5nR3JhZGllbnRXaWR0aCAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogQHBsYWNlaG9sZGVyTG9hZGluZ0dyYWRpZW50V2lkdGggMDtcbiAgICB9XG59XG5cbi51aS5wbGFjZWhvbGRlciArIC51aS5wbGFjZWhvbGRlciB7XG4gICAgbWFyZ2luLXRvcDogQGNvbnNlY3V0aXZlUGxhY2Vob2xkZXJTcGFjaW5nO1xufVxuLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IEBwbGFjZWhvbGRlckFuaW1hdGlvbkludGVydmFsO1xufVxuLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IChAcGxhY2Vob2xkZXJBbmltYXRpb25JbnRlcnZhbCAqIDIpO1xufVxuLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IChAcGxhY2Vob2xkZXJBbmltYXRpb25JbnRlcnZhbCAqIDMpO1xufVxuLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IChAcGxhY2Vob2xkZXJBbmltYXRpb25JbnRlcnZhbCAqIDQpO1xufVxuXG4udWkucGxhY2Vob2xkZXIsXG4udWkucGxhY2Vob2xkZXIgPiA6OmJlZm9yZSxcbi51aS5wbGFjZWhvbGRlciAuaW1hZ2UuaGVhZGVyOjphZnRlcixcbi51aS5wbGFjZWhvbGRlciAubGluZSxcbi51aS5wbGFjZWhvbGRlciAubGluZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEB3aGl0ZTtcbn1cblxuLnVpLnBsYWNlaG9sZGVyLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUGxhY2Vob2xkZXJJbWFnZSkge1xuICAgIC8qIEltYWdlICovXG4gICAgLnVpLnBsYWNlaG9sZGVyIC5pbWFnZTpub3QoLmhlYWRlcik6bm90KC51aSk6bm90KC5pY29uKSB7XG4gICAgICAgIGhlaWdodDogQHBsYWNlaG9sZGVySW1hZ2VIZWlnaHQ7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlciAuc3F1YXJlLmltYWdlOm5vdCguaGVhZGVyKSB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAvKiAxLzEgYXNwZWN0IHJhdGlvICovXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgIH1cbiAgICAudWkucGxhY2Vob2xkZXIgLnJlY3Rhbmd1bGFyLmltYWdlOm5vdCguaGVhZGVyKSB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAvKiA0LzMgYXNwZWN0IHJhdGlvICovXG4gICAgICAgIHBhZGRpbmctdG9wOiA3NSU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25QbGFjZWhvbGRlckxpbmUpIG9yIChAdmFyaWF0aW9uUGxhY2Vob2xkZXJIZWFkZXIpIHtcbiAgICAvKiBMaW5lcyAqL1xuICAgIC51aS5wbGFjZWhvbGRlciAubGluZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiBAcGxhY2Vob2xkZXJMaW5lTWFyZ2luO1xuICAgIH1cbiAgICAudWkucGxhY2Vob2xkZXIgLmxpbmU6OmJlZm9yZSxcbiAgICAudWkucGxhY2Vob2xkZXIgLmxpbmU6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlciAubGluZTo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgLnVpLnBsYWNlaG9sZGVyIC5saW5lOjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qIEFueSBMaW5lcyAqL1xuICAgIC51aS5wbGFjZWhvbGRlciAubGluZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IEBwbGFjZWhvbGRlckxpbmVIZWlnaHQ7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlciAubGluZTo6YmVmb3JlLFxuICAgIC51aS5wbGFjZWhvbGRlciAubGluZTo6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IEBwbGFjZWhvbGRlckxpbmVIZWlnaHQ7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlciAubGluZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IEBwbGFjZWhvbGRlckxpbmVIZWlnaHQ7XG4gICAgfVxuXG4gICAgLyogTGluZSBPdXRkZW50ICovXG4gICAgLnVpLnBsYWNlaG9sZGVyIC5saW5lOm50aC1jaGlsZCgxKTo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogQHBsYWNlaG9sZGVyTGluZU9uZU91dGRlbnQ7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlciAubGluZTpudGgtY2hpbGQoMik6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IEBwbGFjZWhvbGRlckxpbmVUd29PdXRkZW50O1xuICAgIH1cbiAgICAudWkucGxhY2Vob2xkZXIgLmxpbmU6bnRoLWNoaWxkKDMpOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiBAcGxhY2Vob2xkZXJMaW5lVGhyZWVPdXRkZW50O1xuICAgIH1cbiAgICAudWkucGxhY2Vob2xkZXIgLmxpbmU6bnRoLWNoaWxkKDQpOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiBAcGxhY2Vob2xkZXJMaW5lRm91ck91dGRlbnQ7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlciAubGluZTpudGgtY2hpbGQoNSk6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IEBwbGFjZWhvbGRlckxpbmVGaXZlT3V0ZGVudDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblBsYWNlaG9sZGVySGVhZGVyKSB7XG4gICAgLyogSGVhZGVyIEltYWdlICsgMiBMaW5lcyAqL1xuICAgIC51aS5wbGFjZWhvbGRlciAuaGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC8qIEhlYWRlciBMaW5lIDEgJiAyICovXG4gICAgLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBAcGxhY2Vob2xkZXJIZWFkZXJMaW5lSGVpZ2h0O1xuICAgIH1cbiAgICAudWkucGxhY2Vob2xkZXIgLmhlYWRlciAubGluZTo6YmVmb3JlLFxuICAgIC51aS5wbGFjZWhvbGRlciAuaGVhZGVyIC5saW5lOjphZnRlciB7XG4gICAgICAgIGhlaWdodDogQHBsYWNlaG9sZGVySGVhZGVyTGluZUhlaWdodDtcbiAgICB9XG4gICAgLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmU6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBAcGxhY2Vob2xkZXJIZWFkZXJMaW5lSGVpZ2h0O1xuICAgIH1cbiAgICAudWkucGxhY2Vob2xkZXIgLmhlYWRlciAubGluZTo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogQHBsYWNlaG9sZGVySGVhZGVyTGluZU9uZU91dGRlbnQ7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlciAuaGVhZGVyIC5saW5lOm50aC1jaGlsZCgyKTo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogQHBsYWNlaG9sZGVySGVhZGVyTGluZVR3b091dGRlbnQ7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUGxhY2Vob2xkZXJJbWFnZSkge1xuICAgICAgICAvKiBJbWFnZSBIZWFkZXIgKi9cbiAgICAgICAgLnVpLnBsYWNlaG9sZGVyIC5pbWFnZS5oZWFkZXIgLmxpbmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBwbGFjZWhvbGRlckltYWdlV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnBsYWNlaG9sZGVyIC5pbWFnZS5oZWFkZXIgLmxpbmU6OmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogQHBsYWNlaG9sZGVySW1hZ2VUZXh0SW5kZW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5wbGFjZWhvbGRlciAuaW1hZ2UuaGVhZGVyOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogQHBsYWNlaG9sZGVyTGluZU1hcmdpbjtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHBsYWNlaG9sZGVySW1hZ2VXaWR0aDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogU3BhY2luZyAqL1xuLnVpLnBsYWNlaG9sZGVyIC5pbWFnZSAubGluZTpmaXJzdC1jaGlsZCxcbi51aS5wbGFjZWhvbGRlciAucGFyYWdyYXBoIC5saW5lOmZpcnN0LWNoaWxkLFxuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmU6Zmlyc3QtY2hpbGQge1xuICAgIGhlaWdodDogMC4wMXB4O1xufVxuLnVpLnBsYWNlaG9sZGVyIC5pbWFnZTpub3QoOmZpcnN0LWNoaWxkKTo6YmVmb3JlLFxuLnVpLnBsYWNlaG9sZGVyIC5wYXJhZ3JhcGg6bm90KDpmaXJzdC1jaGlsZCk6OmJlZm9yZSxcbi51aS5wbGFjZWhvbGRlciAuaGVhZGVyOm5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUge1xuICAgIGhlaWdodDogQHBsYWNlaG9sZGVyU3BhY2luZztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25QbGFjZWhvbGRlckludmVydGVkKSB7XG4gICAgLyogSW52ZXJ0ZWQgQ29udGVudCBMb2FkZXIgKi9cbiAgICAudWkuaW52ZXJ0ZWQucGxhY2Vob2xkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBAcGxhY2Vob2xkZXJJbnZlcnRlZExvYWRpbmdHcmFkaWVudDtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLnBsYWNlaG9sZGVyLFxuICAgIC51aS5pbnZlcnRlZC5wbGFjZWhvbGRlciA+IDo6YmVmb3JlLFxuICAgIC51aS5pbnZlcnRlZC5wbGFjZWhvbGRlciAuaW1hZ2UuaGVhZGVyOjphZnRlcixcbiAgICAudWkuaW52ZXJ0ZWQucGxhY2Vob2xkZXIgLmxpbmUsXG4gICAgLnVpLmludmVydGVkLnBsYWNlaG9sZGVyIC5saW5lOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBibGFjaztcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIChAdmFyaWF0aW9uUGxhY2Vob2xkZXJMZW5ndGhzKSB7XG4gICAgLnVpLnBsYWNlaG9sZGVyIC5mdWxsLmxpbmUubGluZS5saW5lOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiBAcGxhY2Vob2xkZXJGdWxsTGluZU91dGRlbnQ7XG4gICAgfVxuICAgIC51aS5wbGFjZWhvbGRlciAudmVyeS5sb25nLmxpbmUubGluZS5saW5lOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiBAcGxhY2Vob2xkZXJWZXJ5TG9uZ0xpbmVPdXRkZW50O1xuICAgIH1cbiAgICAudWkucGxhY2Vob2xkZXIgLmxvbmcubGluZS5saW5lLmxpbmU6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IEBwbGFjZWhvbGRlckxvbmdMaW5lT3V0ZGVudDtcbiAgICB9XG4gICAgLnVpLnBsYWNlaG9sZGVyIC5tZWRpdW0ubGluZS5saW5lLmxpbmU6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IEBwbGFjZWhvbGRlck1lZGl1bUxpbmVPdXRkZW50O1xuICAgIH1cbiAgICAudWkucGxhY2Vob2xkZXIgLnNob3J0LmxpbmUubGluZS5saW5lOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiBAcGxhY2Vob2xkZXJTaG9ydExpbmVPdXRkZW50O1xuICAgIH1cbiAgICAudWkucGxhY2Vob2xkZXIgLnZlcnkuc2hvcnQubGluZS5saW5lLmxpbmU6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IEBwbGFjZWhvbGRlclZlcnlTaG9ydExpbmVPdXRkZW50O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUGxhY2Vob2xkZXJGbHVpZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEZsdWlkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mbHVpZC5wbGFjZWhvbGRlciB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gUmFpbFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiZWxlbWVudFwiO1xuQGVsZW1lbnQ6IFwicmFpbFwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBSYWlsc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnJhaWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IEB3aWR0aDtcbiAgICBoZWlnaHQ6IEBoZWlnaHQ7XG59XG5cbi51aS5sZWZ0LnJhaWwge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMCBAc3BsaXREaXN0YW5jZSAwIDA7XG4gICAgbWFyZ2luOiAwIEBzcGxpdERpc3RhbmNlIDAgMDtcbn1cblxuLnVpLnJpZ2h0LnJhaWwge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMCAwIDAgQHNwbGl0RGlzdGFuY2U7XG4gICAgbWFyZ2luOiAwIDAgMCBAc3BsaXREaXN0YW5jZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uUmFpbEludGVybmFsKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEludGVybmFsXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkubGVmdC5pbnRlcm5hbC5yYWlsIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIEBzcGxpdERpc3RhbmNlO1xuICAgICAgICBtYXJnaW46IDAgMCAwIEBzcGxpdERpc3RhbmNlO1xuICAgIH1cblxuICAgIC51aS5yaWdodC5pbnRlcm5hbC5yYWlsIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgQHNwbGl0RGlzdGFuY2UgMCAwO1xuICAgICAgICBtYXJnaW46IDAgQHNwbGl0RGlzdGFuY2UgMCAwO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUmFpbERpdmlkaW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRGl2aWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5kaXZpZGluZy5yYWlsIHtcbiAgICAgICAgd2lkdGg6IEBkaXZpZGluZ1dpZHRoO1xuICAgIH1cbiAgICAudWkubGVmdC5kaXZpZGluZy5yYWlsIHtcbiAgICAgICAgcGFkZGluZzogMCBAc3BsaXREaXZpZGluZ0Rpc3RhbmNlIDAgMDtcbiAgICAgICAgbWFyZ2luOiAwIEBzcGxpdERpdmlkaW5nRGlzdGFuY2UgMCAwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IEBkaXZpZGluZ0JvcmRlcjtcbiAgICB9XG4gICAgLnVpLnJpZ2h0LmRpdmlkaW5nLnJhaWwge1xuICAgICAgICBib3JkZXItbGVmdDogQGRpdmlkaW5nQm9yZGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCBAc3BsaXREaXZpZGluZ0Rpc3RhbmNlO1xuICAgICAgICBtYXJnaW46IDAgMCAwIEBzcGxpdERpdmlkaW5nRGlzdGFuY2U7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25SYWlsRGlzdGFuY2UpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBEaXN0YW5jZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNsb3NlLnJhaWwge1xuICAgICAgICB3aWR0aDogQGNsb3NlV2lkdGg7XG4gICAgfVxuICAgIC51aS5jbG9zZS5sZWZ0LnJhaWwge1xuICAgICAgICBwYWRkaW5nOiAwIEBzcGxpdENsb3NlRGlzdGFuY2UgMCAwO1xuICAgICAgICBtYXJnaW46IDAgQHNwbGl0Q2xvc2VEaXN0YW5jZSAwIDA7XG4gICAgfVxuICAgIC51aS5jbG9zZS5yaWdodC5yYWlsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgQHNwbGl0Q2xvc2VEaXN0YW5jZTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBAc3BsaXRDbG9zZURpc3RhbmNlO1xuICAgIH1cblxuICAgIC51aS52ZXJ5LmNsb3NlLnJhaWwge1xuICAgICAgICB3aWR0aDogQHZlcnlDbG9zZVdpZHRoO1xuICAgIH1cbiAgICAudWkudmVyeS5jbG9zZS5sZWZ0LnJhaWwge1xuICAgICAgICBwYWRkaW5nOiAwIEBzcGxpdFZlcnlDbG9zZURpc3RhbmNlIDAgMDtcbiAgICAgICAgbWFyZ2luOiAwIEBzcGxpdFZlcnlDbG9zZURpc3RhbmNlIDAgMDtcbiAgICB9XG4gICAgLnVpLnZlcnkuY2xvc2UucmlnaHQucmFpbCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIEBzcGxpdFZlcnlDbG9zZURpc3RhbmNlO1xuICAgICAgICBtYXJnaW46IDAgMCAwIEBzcGxpdFZlcnlDbG9zZURpc3RhbmNlO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUmFpbEF0dGFjaGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQXR0YWNoZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5hdHRhY2hlZC5sZWZ0LnJhaWwsXG4gICAgLnVpLmF0dGFjaGVkLnJpZ2h0LnJhaWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTaXppbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkucmFpbCB7XG4gICAgZm9udC1zaXplOiBAbWVkaXVtO1xufVxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvblJhaWxTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uUmFpbFNpemVzLCB7XG4gICAgICAgIEBzOiBAQHZhbHVlO1xuICAgICAgICAudWkuQHt2YWx1ZX0ucmFpbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gUmV2ZWFsXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJlbGVtZW50XCI7XG5AZWxlbWVudDogXCJyZXZlYWxcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBSZXZlYWxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5yZXZlYWwge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAwO1xufVxuXG4udWkucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IEB0b3BaSW5kZXggIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cbi51aS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IEBib3R0b21aSW5kZXggIWltcG9ydGFudDtcbn1cblxuLyogTWFrZSBzdXJlIGhvdmVyZWQgZWxlbWVudCBpcyBvbiB0b3Agb2Ygb3RoZXIgcmV2ZWFsICovXG4udWkuYWN0aXZlLnJldmVhbCAudmlzaWJsZS5jb250ZW50LFxuLnVpLnJldmVhbDpob3ZlciAudmlzaWJsZS5jb250ZW50IHtcbiAgICB6LWluZGV4OiBAYWN0aXZlWkluZGV4ICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25SZXZlYWxTbGlkZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgU2xpZGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5zbGlkZS5yZXZlYWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC51aS5zbGlkZS5yZXZlYWwgPiAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogQHNsaWRlVHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICAudWkuc2xpZGUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuc2xpZGUucmV2ZWFsID4gLmhpZGRlbi5jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5zbGlkZS5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbiAgICAudWkuc2xpZGUucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLnNsaWRlLmFjdGl2ZS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQsXG4gICAgLnVpLnNsaWRlLnJldmVhbDpob3ZlciA+IC5oaWRkZW4uY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51aS5zbGlkZS5yaWdodC5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5zbGlkZS5yaWdodC5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5zbGlkZS5yaWdodC5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbiAgICAudWkuc2xpZGUucmlnaHQucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuc2xpZGUucmlnaHQuYWN0aXZlLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCxcbiAgICAudWkuc2xpZGUucmlnaHQucmV2ZWFsOmhvdmVyID4gLmhpZGRlbi5jb250ZW50IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVpLnNsaWRlLnVwLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuc2xpZGUudXAuYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4gICAgLnVpLnNsaWRlLnVwLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5zbGlkZS51cC5hY3RpdmUucmV2ZWFsID4gLmhpZGRlbi5jb250ZW50LFxuICAgIC51aS5zbGlkZS51cC5yZXZlYWw6aG92ZXIgPiAuaGlkZGVuLmNvbnRlbnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWkuc2xpZGUuZG93bi5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5zbGlkZS5kb3duLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuICAgIC51aS5zbGlkZS5kb3duLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLnNsaWRlLmRvd24uYWN0aXZlLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCxcbiAgICAudWkuc2xpZGUuZG93bi5yZXZlYWw6aG92ZXIgPiAuaGlkZGVuLmNvbnRlbnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblJldmVhbEZhZGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEZhZGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mYWRlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAudWkuZmFkZS5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbiAgICAudWkuZmFkZS5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblJldmVhbE1vdmUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIE1vdmVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5tb3ZlLnJldmVhbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnVpLm1vdmUucmV2ZWFsID4gLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogQG1vdmVUcmFuc2l0aW9uO1xuICAgIH1cblxuICAgIC51aS5tb3ZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLm1vdmUucmV2ZWFsID4gLmhpZGRlbi5jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLm1vdmUuYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4gICAgLnVpLm1vdmUucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLm1vdmUucmlnaHQuYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4gICAgLnVpLm1vdmUucmlnaHQucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkubW92ZS51cC5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbiAgICAudWkubW92ZS51cC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkubW92ZS5kb3duLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuICAgIC51aS5tb3ZlLmRvd24ucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUmV2ZWFsUm90YXRlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFJvdGF0ZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnJvdGF0ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogQHRyYW5zaXRpb25EdXJhdGlvbjtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgfVxuXG4gICAgLnVpLnJvdGF0ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuICAgIC51aS5yb3RhdGUucmlnaHQucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbiAgICB9XG4gICAgLnVpLnJvdGF0ZS5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbiAgICAudWkucm90YXRlLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQsXG4gICAgLnVpLnJvdGF0ZS5yaWdodC5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbiAgICAudWkucm90YXRlLnJpZ2h0LnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZShAcm90YXRlRGVncmVlcyk7XG4gICAgfVxuXG4gICAgLnVpLnJvdGF0ZS5sZWZ0LnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQge1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgICB9XG4gICAgLnVpLnJvdGF0ZS5sZWZ0LmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuICAgIC51aS5yb3RhdGUubGVmdC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLUByb3RhdGVEZWdyZWVzKTtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uUmV2ZWFsRGlzYWJsZWQpIHtcbiAgICAudWkuZGlzYWJsZWQucmV2ZWFsOmhvdmVyID4gLnZpc2libGUudmlzaWJsZS5jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLmRpc2FibGVkLnJldmVhbDpob3ZlciA+IC5oaWRkZW4uaGlkZGVuLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDb3VwbGluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnJldmVhbCA+IC51aS5yaWJib24ubGFiZWwge1xuICAgIHotaW5kZXg6IEBvdmVybGF5WkluZGV4O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBWaXNpYmxlXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnZpc2libGUucmV2ZWFsIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgSW5zdGFudFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5pbnN0YW50LnJldmVhbCA+IC5jb250ZW50IHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcyAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTaXppbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkucmV2ZWFsID4gLmNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25SZXZlYWxTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uUmV2ZWFsU2l6ZXMsIHtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5yZXZlYWwgPiAuY29udGVudCB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gU2VnbWVudFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiZWxlbWVudFwiO1xuQGVsZW1lbnQ6IFwic2VnbWVudFwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdEhvcml6b250YWw6IGlmKEB2YXJpYXRpb25TZWdtZW50SG9yaXpvbnRhbCwgZShcIjpub3QoLmhvcml6b250YWwpXCIpKTtcbkBub3RDb21wYWN0OiBpZihAdmFyaWF0aW9uU2VnbWVudENvbXBhY3QsIGUoXCI6bm90KC5jb21wYWN0KVwiKSk7XG5Abm90SW52ZXJ0ZWQ6IGlmKEB2YXJpYXRpb25TZWdtZW50SW52ZXJ0ZWQsIGUoXCI6bm90KC5pbnZlcnRlZClcIikpO1xuQG5vdEJhc2ljOiBpZihAdmFyaWF0aW9uU2VnbWVudEJhc2ljLCBlKFwiOm5vdCguYmFzaWMpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFNlZ21lbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5zZWdtZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gICAgYm94LXNoYWRvdzogQGJveFNoYWRvdztcbiAgICBtYXJnaW46IEBtYXJnaW47XG4gICAgcGFkZGluZzogQHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICBib3JkZXI6IEBib3JkZXI7XG59XG5cbi51aS5zZWdtZW50OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLnNlZ21lbnQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFZlcnRpY2FsKSB7XG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWkudmVydGljYWwuc2VnbWVudCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci10b3A6IEBib3JkZXJXaWR0aCBzb2xpZCBAYm9yZGVyQ29sb3I7XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbC5zZWdtZW50OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBMb29zZSBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRJbnZlcnRlZCkge1xuICAgIC8qIEhlYWRlciAqL1xuICAgIC51aS5pbnZlcnRlZC5zZWdtZW50cyAuc2VnbWVudCA+IC51aS5oZWFkZXIgLnN1Yi5oZWFkZXIsXG4gICAgLnVpLmludmVydGVkLnNlZ21lbnRzIC5zZWdtZW50ID4gLnVpLmhlYWRlcixcbiAgICAudWkuaW52ZXJ0ZWQuc2VnbWVudCA+IC51aS5oZWFkZXIgLnN1Yi5oZWFkZXIsXG4gICAgLnVpLmludmVydGVkLnNlZ21lbnQgPiAudWkuaGVhZGVyIHtcbiAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRBdHRhY2hlZCkge1xuICAgIC8qIExhYmVsICovXG4gICAgLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5zZWdtZW50ID4gW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLnNlZ21lbnQgPiBbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuICAgIC51aS5hdHRhY2hlZC5zZWdtZW50Om5vdCgudG9wKTpub3QoLmJvdHRvbSkgPiBbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuICAgIC51aS5hdHRhY2hlZC5zZWdtZW50Om5vdCgudG9wKTpub3QoLmJvdHRvbSkgPiBbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxufVxuXG4vKiBHcmlkICovXG4udWkucGFnZS5ncmlkLnNlZ21lbnQsXG4udWkuZ3JpZCA+IC5yb3cgPiAudWkuc2VnbWVudC5jb2x1bW4sXG4udWkuZ3JpZCA+IC51aS5zZWdtZW50LmNvbHVtbiB7XG4gICAgcGFkZGluZy10b3A6IEBwYWdlR3JpZE1hcmdpbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogQHBhZ2VHcmlkTWFyZ2luO1xufVxuLnVpLmdyaWQuc2VnbWVudCB7XG4gICAgbWFyZ2luOiBAbWFyZ2luO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG59XG5cbi8qIFRhYmxlICovXG4udWkuYmFzaWMudGFibGUuc2VnbWVudCB7XG4gICAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiBAYm9yZGVyO1xuICAgIGJveC1zaGFkb3c6IEBib3hTaGFkb3c7XG59XG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZS5zZWdtZW50IHtcbiAgICBwYWRkaW5nOiBAcGFkZGluZztcbn1cblxuLyogVGFiICovXG4udWkuc2VnbWVudC50YWI6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogQHZlcnRpY2FsTWFyZ2luO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UGxhY2Vob2xkZXIpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBQbGFjZWhvbGRlclxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkucGxhY2Vob2xkZXIuc2VnbWVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBwYWRkaW5nOiBAcGxhY2Vob2xkZXJQYWRkaW5nO1xuICAgICAgICBtaW4taGVpZ2h0OiBAcGxhY2Vob2xkZXJNaW5IZWlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQ6IEBwbGFjZWhvbGRlckJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQHBsYWNlaG9sZGVyQm9yZGVyQ29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IEBwbGFjZWhvbGRlckJveFNoYWRvdztcbiAgICAgICAgJi50YWIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgLmJ1dHRvbixcbiAgICAudWkucGxhY2Vob2xkZXIuc2VnbWVudCB0ZXh0YXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAudWkucGxhY2Vob2xkZXIuc2VnbWVudCAuZmllbGQsXG4gICAgLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgdGV4dGFyZWEsXG4gICAgLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgPiAudWkuaW5wdXQsXG4gICAgLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgLmJ1dHRvbiB7XG4gICAgICAgIG1heC13aWR0aDogQHBsYWNlaG9sZGVyQ29udGVudE1heFdpZHRoO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAudWkucGxhY2Vob2xkZXIuc2VnbWVudCAuY29sdW1uIC5idXR0b24sXG4gICAgLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgLmNvbHVtbiAuZmllbGQsXG4gICAgLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgLmNvbHVtbiB0ZXh0YXJlYSxcbiAgICAudWkucGxhY2Vob2xkZXIuc2VnbWVudCAuY29sdW1uID4gLnVpLmlucHV0IHtcbiAgICAgICAgbWF4LXdpZHRoOiBAcGxhY2Vob2xkZXJDb250ZW50TWF4V2lkdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgPiAuaW5saW5lIHtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cbiAgICAudWkucGxhY2Vob2xkZXIuc2VnbWVudCA+IC5pbmxpbmUgPiAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiBAcGxhY2Vob2xkZXJDb250ZW50SW5saW5lQnV0dG9uTWFyZ2luO1xuICAgIH1cbiAgICAudWkucGxhY2Vob2xkZXIuc2VnbWVudCA+IC5pbmxpbmUgPiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UGlsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBQaWxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkucGlsZWQuc2VnbWVudHMsXG4gICAgLnVpLnBpbGVkLnNlZ21lbnQge1xuICAgICAgICBtYXJnaW46IEBwaWxlZE1hcmdpbiAwO1xuICAgICAgICBib3gtc2hhZG93OiBAcGlsZWRCb3hTaGFkb3c7XG4gICAgICAgIHotaW5kZXg6IEBwaWxlZFpJbmRleDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHdoaXRlO1xuICAgICAgICBib3JkZXI6IEBwaWxlZEJvcmRlcjtcbiAgICAgICAgY29sb3I6IEB0ZXh0Q29sb3I7XG4gICAgfVxuICAgIC51aS5waWxlZC5zZWdtZW50OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgLnVpLnBpbGVkLnNlZ21lbnQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC51aS5waWxlZC5zZWdtZW50czo6YWZ0ZXIsXG4gICAgLnVpLnBpbGVkLnNlZ21lbnRzOjpiZWZvcmUsXG4gICAgLnVpLnBpbGVkLnNlZ21lbnQ6OmFmdGVyLFxuICAgIC51aS5waWxlZC5zZWdtZW50OjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IGluaGVyaXQ7XG4gICAgICAgIGJveC1zaGFkb3c6IEBwaWxlZEJveFNoYWRvdztcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudEludmVydGVkKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5waWxlZC5zZWdtZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgICAgICBib3JkZXI6IEBpbnZlcnRlZFBpbGVkQm9yZGVyO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkucGlsZWQuc2VnbWVudHM6OmJlZm9yZSxcbiAgICAudWkucGlsZWQuc2VnbWVudDo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLUBwaWxlZERlZ3JlZXMpO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IC0yO1xuICAgIH1cbiAgICAudWkucGlsZWQuc2VnbWVudHM6OmFmdGVyLFxuICAgIC51aS5waWxlZC5zZWdtZW50OjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKEBwaWxlZERlZ3JlZXMpO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50QXR0YWNoZWQpIHtcbiAgICAgICAgLyogUGlsZWQgQXR0YWNoZWQgKi9cbiAgICAgICAgLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5waWxlZC5zZWdtZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IEBwaWxlZE1hcmdpbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnBpbGVkLnNlZ21lbnRbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnBpbGVkLnNlZ21lbnRbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBAcGlsZWRNYXJnaW47XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnBpbGVkLnNlZ21lbnRbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAc3VwcG9ydHMgc2VsZWN0b3IoOmhhcyguZikpIHtcbiAgICAgICAgKjpoYXMoPiAudWkucGlsZWQuc2VnbWVudCkge1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFN0YWNrZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFN0YWNrZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnN0YWNrZWQuc2VnbWVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBAc3RhY2tlZFBhZGRpbmc7XG4gICAgfVxuICAgIC51aS5zdGFja2VkLnNlZ21lbnRzOjpiZWZvcmUsXG4gICAgLnVpLnN0YWNrZWQuc2VnbWVudHM6OmFmdGVyLFxuICAgIC51aS5zdGFja2VkLnNlZ21lbnQ6OmJlZm9yZSxcbiAgICAudWkuc3RhY2tlZC5zZWdtZW50OjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtKEBzdGFja2VkSGVpZ2h0IC8gMik7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IEBib3JkZXJXaWR0aCBzb2xpZCBAc3RhY2tlZEJvcmRlckNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAc3RhY2tlZFBhZ2VCYWNrZ3JvdW5kO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBAc3RhY2tlZEhlaWdodDtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gICAgLnVpLnN0YWNrZWQuc2VnbWVudHM6OmJlZm9yZSxcbiAgICAudWkuc3RhY2tlZC5zZWdtZW50OjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIEFkZCBhZGRpdGlvbmFsIHBhZ2UgKi9cbiAgICAudWkudGFsbC5zdGFja2VkLnNlZ21lbnRzOjpiZWZvcmUsXG4gICAgLnVpLnRhbGwuc3RhY2tlZC5zZWdtZW50OjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50SW52ZXJ0ZWQpIHtcbiAgICAgICAgLyogSW52ZXJ0ZWQgKi9cbiAgICAgICAgLnVpLnN0YWNrZWQuaW52ZXJ0ZWQuc2VnbWVudHMsXG4gICAgICAgIC51aS5zdGFja2VkLmludmVydGVkLnNlZ21lbnQge1xuICAgICAgICAgICAgYm9yZGVyOiBAYm9yZGVyV2lkdGggc29saWQgQGludmVydGVkU3RhY2tlZEJvcmRlckNvbG9yO1xuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzdWJ0bGVUcmFuc3BhcmVudEJsYWNrO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IEBib3JkZXJXaWR0aCBzb2xpZCBAaW52ZXJ0ZWRTdGFja2VkQm9yZGVyQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRQYWRkZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFBhZGRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkucGFkZGVkLnNlZ21lbnQge1xuICAgICAgICBwYWRkaW5nOiBAcGFkZGVkU2VnbWVudFBhZGRpbmc7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRWZXJ5UGFkZGVkKSB7XG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHBhZGRlZFwiXS5zZWdtZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IEB2ZXJ5UGFkZGVkU2VnbWVudFBhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50VmVydGljYWwpIHtcbiAgICAgICAgLyogUGFkZGVkIHZlcnRpY2FsICovXG4gICAgICAgIC51aS5wYWRkZWQuc2VnbWVudC52ZXJ0aWNhbC5zZWdtZW50LFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udmVydGljYWwuc2VnbWVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50Q29tcGFjdCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQ29tcGFjdFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY29tcGFjdC5zZWdtZW50IHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgLyogQ29tcGFjdCBHcm91cCAqL1xuICAgIC51aS5jb21wYWN0LnNlZ21lbnRzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfVxuICAgIC51aS5jb21wYWN0LnNlZ21lbnRzIC5zZWdtZW50LFxuICAgIC51aS5zZWdtZW50cyAuY29tcGFjdC5zZWdtZW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudENpcmN1bGFyKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBDaXJjdWxhclxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2lyY3VsYXIuc2VnbWVudCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHBhZGRpbmc6IEBjaXJjdWxhclBhZGRpbmc7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAwZW07XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UmFpc2VkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBSYWlzZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnVpLnJhaXNlZC5zZWdtZW50cyxcbiAgICAudWkudWkucmFpc2VkLnNlZ21lbnQge1xuICAgICAgICBib3gtc2hhZG93OiBAcmFpc2VkQm94U2hhZG93O1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50SW52ZXJ0ZWQpIHtcbiAgICAgICAgLnVpLnVpLmludmVydGVkLnJhaXNlZC5zZWdtZW50cyxcbiAgICAgICAgLnVpLnVpLmludmVydGVkLnJhaXNlZC5zZWdtZW50IHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBpbnZlcnRlZFJhaXNlZEJveFNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudEdyb3Vwcykge1xuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgICAgR3JvdXBzXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIC8qIEdyb3VwICovXG4gICAgLnVpLnNlZ21lbnRzIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IEBncm91cGVkTWFyZ2luO1xuICAgICAgICBib3JkZXI6IEBncm91cGVkQm9yZGVyO1xuICAgICAgICBib3gtc2hhZG93OiBAZ3JvdXBlZEJveFNoYWRvdztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGdyb3VwZWRCb3JkZXJSYWRpdXM7XG4gICAgfVxuICAgIC51aS5zZWdtZW50czpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIC51aS5zZWdtZW50czpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvKiBOZXN0ZWQgU2VnbWVudCAqL1xuICAgIC51aS5zZWdtZW50cyA+IC5zZWdtZW50IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbjogQGdyb3VwZWRTZWdtZW50TWFyZ2luO1xuICAgICAgICB3aWR0aDogQGdyb3VwZWRTZWdtZW50V2lkdGg7XG4gICAgICAgIGJveC1zaGFkb3c6IEBncm91cGVkU2VnbWVudEJveFNoYWRvdztcbiAgICAgICAgYm9yZGVyOiBAZ3JvdXBlZFNlZ21lbnRCb3JkZXI7XG4gICAgICAgIGJvcmRlci10b3A6IEBncm91cGVkU2VnbWVudERpdmlkZXI7XG4gICAgfVxuXG4gICAgLnVpLnNlZ21lbnRzQHtub3RIb3Jpem9udGFsfSA+IC5zZWdtZW50OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgdG9wOiBAYXR0YWNoZWRUb3BPZmZzZXQ7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDAgMDtcbiAgICB9XG5cbiAgICAvKiBCb3R0b20gKi9cbiAgICAudWkuc2VnbWVudHNAe25vdEhvcml6b250YWx9ID4gLnNlZ21lbnQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHRvcDogQGF0dGFjaGVkQm90dG9tT2Zmc2V0O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IEBhdHRhY2hlZEJvdHRvbUJveFNoYWRvdztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cztcbiAgICB9XG5cbiAgICAvKiBPbmx5ICovXG4gICAgLnVpLnNlZ21lbnRzQHtub3RIb3Jpem9udGFsfSA+IC5zZWdtZW50Om9ubHktY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIH1cblxuICAgIC8qIE5lc3RlZCBHcm91cCAqL1xuICAgIC51aS5zZWdtZW50cyA+IC51aS5zZWdtZW50cyB7XG4gICAgICAgIGJvcmRlci10b3A6IEBncm91cGVkU2VnbWVudERpdmlkZXI7XG4gICAgICAgIG1hcmdpbjogQG5lc3RlZEdyb3VwTWFyZ2luO1xuICAgIH1cbiAgICAudWkuc2VnbWVudHMgPiAuc2VnbWVudHM6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cbiAgICAudWkuc2VnbWVudHMgPiAuc2VnbWVudCArIC5zZWdtZW50c0B7bm90SG9yaXpvbnRhbH0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRIb3Jpem9udGFsKSB7XG4gICAgICAgIC8qIEhvcml6b250YWwgR3JvdXAgKi9cbiAgICAgICAgLnVpLmhvcml6b250YWwuc2VnbWVudHMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAZ3JvdXBlZEJveFNoYWRvdztcbiAgICAgICAgICAgIG1hcmdpbjogQGdyb3VwZWRNYXJnaW47XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAZ3JvdXBlZEJvcmRlclJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlcjogQGdyb3VwZWRCb3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLndyYXBwaW5nLmhvcml6b250YWwuc2VnbWVudHMsXG4gICAgICAgIC51aS5zdGFja2FibGUuaG9yaXpvbnRhbC5zZWdtZW50cyB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBOZXN0ZWQgSG9yaXpvbnRhbCBHcm91cCAqL1xuICAgICAgICAudWkuc2VnbWVudHMgPiAuaG9yaXpvbnRhbC5zZWdtZW50cyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogQGdyb3VwZWRTZWdtZW50RGl2aWRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEhvcml6b250YWwgU2VnbWVudCAqL1xuICAgICAgICAudWkuaG9yaXpvbnRhbC5zZWdtZW50c0B7bm90Q29tcGFjdH0gPiAuc2VnbWVudEB7bm90Q29tcGFjdH0ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICAmIHdoZW4gKEBzdXBwb3J0SUUpIHtcbiAgICAgICAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vU2VtYW50aWMtT3JnL1NlbWFudGljLVVJL2lzc3Vlcy8yNTUwXG4gICAgICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgICAgICAgICAtbXMtZmxleDogMSAxIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmhvcml6b250YWwuc2VnbWVudHMgPiAuc2VnbWVudCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBAYm9yZGVyV2lkdGggc29saWQgQGJvcmRlckNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogQm9yZGVyIEZpeGVzICovXG4gICAgICAgIC51aS5zZWdtZW50cyA+IC5ob3Jpem9udGFsLnNlZ21lbnRzOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmhvcml6b250YWwuc2VnbWVudHM6bm90KC5zdGFja2FibGUpOm5vdCgud3JhcHBpbmcpID4gLnNlZ21lbnQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmhvcml6b250YWwuc2VnbWVudHMgPiAuc2VnbWVudDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIDAgMCBAYm9yZGVyUmFkaXVzO1xuICAgICAgICB9XG4gICAgICAgIC51aS5ob3Jpem9udGFsLnNlZ21lbnRzID4gLnNlZ21lbnQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogRXF1YWwgV2lkdGggKi9cbiAgICAgICAgLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLmhvcml6b250YWwuc2VnbWVudHMgPiAuc2VnbWVudCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudERpc2FibGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5kaXNhYmxlZC5zZWdtZW50cyxcbiAgICAudWkuZGlzYWJsZWQuc2VnbWVudCB7XG4gICAgICAgIG9wYWNpdHk6IEBkaXNhYmxlZE9wYWNpdHk7XG4gICAgICAgIGNvbG9yOiBAZGlzYWJsZWRUZXh0Q29sb3I7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRMb2FkaW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTG9hZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmxvYWRpbmcuc2VnbWVudHMsXG4gICAgLnVpLmxvYWRpbmcuc2VnbWVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gICAgICAgIG1pbi1oZWlnaHQ6IEBsb2FkaW5nTWluSGVpZ2h0O1xuICAgIH1cbiAgICAudWkubG9hZGluZy5zZWdtZW50czo6YmVmb3JlLFxuICAgIC51aS5sb2FkaW5nLnNlZ21lbnQ6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAbG9hZGVyRGltbWVyQ29sb3I7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgICAgIHotaW5kZXg6IEBsb2FkZXJEaW1tZXJaSW5kZXg7XG4gICAgfVxuICAgIC51aS5sb2FkaW5nLnNlZ21lbnRzOjphZnRlcixcbiAgICAudWkubG9hZGluZy5zZWdtZW50OjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luOiBAbG9hZGVyTWFyZ2luO1xuICAgICAgICB3aWR0aDogQGxvYWRlclNpemU7XG4gICAgICAgIGhlaWdodDogQGxvYWRlclNpemU7XG4gICAgICAgIGFuaW1hdGlvbjogbG9hZGVyIEBsb2FkZXJTcGVlZCBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgIGJvcmRlcjogQGxvYWRlckxpbmVXaWR0aCBzb2xpZCBAbG9hZGVyTGluZUNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgei1pbmRleDogQGxvYWRlckxpbmVaSW5kZXg7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50QmFzaWMpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIEJhc2ljXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5iYXNpYy5zZWdtZW50LFxuICAgIC51aS5zZWdtZW50cyAudWkuYmFzaWMuc2VnbWVudCxcbiAgICAudWkuYmFzaWMuc2VnbWVudHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAYmFzaWNCYWNrZ3JvdW5kO1xuICAgICAgICBib3gtc2hhZG93OiBAYmFzaWNCb3hTaGFkb3c7XG4gICAgICAgIGJvcmRlcjogQGJhc2ljQm9yZGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYmFzaWNCb3JkZXJSYWRpdXM7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50Q2xlYXJpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIENsZWFyaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jbGVhcmluZy5zZWdtZW50OjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uU2VnbWVudENvbG9ycyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uU2VnbWVudENvbG9ycywge1xuICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICAmIHdoZW4gbm90IChAY29sb3I9cHJpbWFyeSkgYW5kIG5vdCAoQGNvbG9yPXNlY29uZGFyeSkge1xuICAgICAgICAgICAgLnVpLnVpLnVpLnVpLnVpLkB7Y29sb3J9LnNlZ21lbnRAe25vdEludmVydGVkfSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogQGNvbG9yZWRCb3JkZXJTaXplIHNvbGlkIEBjO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudEludmVydGVkKSB7XG4gICAgICAgICAgICAgICAgLnVpLnVpLnVpLnVpLnVpLmludmVydGVkLkB7Y29sb3J9LnNlZ21lbnQge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgJiB3aGVuIG5vdCAoQHZhcmlhdGlvblNlZ21lbnRQaWxlZCkgYW5kICgoQHZhcmlhdGlvblNlZ21lbnRBdHRhY2hlZCkgb3IgKEB2YXJpYXRpb25TZWdtZW50U3RhY2tlZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogYztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudWkudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uc2VnbWVudDpub3QoLnBpbGVkKSB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFBpbGVkKSBhbmQgKChAdmFyaWF0aW9uU2VnbWVudEF0dGFjaGVkKSBvciAoQHZhcmlhdGlvblNlZ21lbnRTdGFja2VkKSkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBjO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50QWxpZ25lZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgQWxpZ25lZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWlbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdLnNlZ21lbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5zZWdtZW50IHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5zZWdtZW50IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudEZsb2F0aW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBGbG9hdGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mbG9hdGVkLnNlZ21lbnQsXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5zZWdtZW50IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGZsb2F0ZWREaXN0YW5jZTtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0uc2VnbWVudCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBmbG9hdGVkRGlzdGFuY2U7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50SW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC51aS5pbnZlcnRlZC5zZWdtZW50cyxcbiAgICAudWkuaW52ZXJ0ZWQuc2VnbWVudHMgLnNlZ21lbnQsXG4gICAgLnVpLmludmVydGVkLnNlZ21lbnQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5zZWdtZW50cyAuc2VnbWVudCxcbiAgICAudWkuaW52ZXJ0ZWQuc2VnbWVudCxcbiAgICAudWkucHJpbWFyeS5pbnZlcnRlZC5zZWdtZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBOZXN0ZWQgKi9cbiAgICAudWkuaW52ZXJ0ZWQuc2VnbWVudCAuc2VnbWVudCB7XG4gICAgICAgIGNvbG9yOiBAdGV4dENvbG9yO1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQuc2VnbWVudCAuaW52ZXJ0ZWQuc2VnbWVudCB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRBdHRhY2hlZCkge1xuICAgICAgICAvKiBBdHRhY2hlZCAqL1xuICAgICAgICAudWkudWkuaW52ZXJ0ZWQuYXR0YWNoZWQuc2VnbWVudCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBzb2xpZFdoaXRlQm9yZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudExvYWRpbmcpIHtcbiAgICAgICAgLyogTG9hZGluZyAqL1xuICAgICAgICAudWkuaW52ZXJ0ZWQubG9hZGluZy5zZWdtZW50cyxcbiAgICAgICAgLnVpLmludmVydGVkLmxvYWRpbmcuc2VnbWVudCB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkTG9hZGVyTGluZUNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5sb2FkaW5nLnNlZ21lbnRzOjpiZWZvcmUsXG4gICAgICAgIC51aS5pbnZlcnRlZC5sb2FkaW5nLnNlZ21lbnQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAbG9hZGVySW52ZXJ0ZWREaW1tZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBFbXBoYXNpc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRTZWNvbmRhcnkpIHtcbiAgICAvKiBTZWNvbmRhcnkgKi9cbiAgICAudWkuc2Vjb25kYXJ5LnNlZ21lbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAc2Vjb25kYXJ5QmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBzZWNvbmRhcnlDb2xvcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudEludmVydGVkKSB7XG4gICAgICAgIC51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQuc2VnbWVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAc2Vjb25kYXJ5SW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6IEBzZWNvbmRhcnlJbnZlcnRlZENvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50VGVydGlhcnkpIHtcbiAgICAvKiBUZXJ0aWFyeSAqL1xuICAgIC51aS50ZXJ0aWFyeS5zZWdtZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogQHRlcnRpYXJ5QmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEB0ZXJ0aWFyeUNvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50SW52ZXJ0ZWQpIHtcbiAgICAgICAgLnVpLnRlcnRpYXJ5LmludmVydGVkLnNlZ21lbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHRlcnRpYXJ5SW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6IEB0ZXJ0aWFyeUludmVydGVkQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRBdHRhY2hlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBBdHRhY2hlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBNaWRkbGUgKi9cbiAgICAudWkuYXR0YWNoZWQuc2VnbWVudCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBtYXJnaW46IDAgQGF0dGFjaGVkSG9yaXpvbnRhbE9mZnNldDtcbiAgICAgICAgd2lkdGg6IEBhdHRhY2hlZFdpZHRoO1xuICAgICAgICBtYXgtd2lkdGg6IEBhdHRhY2hlZFdpZHRoO1xuICAgICAgICBib3gtc2hhZG93OiBAYXR0YWNoZWRCb3hTaGFkb3c7XG4gICAgICAgICZAe25vdEJhc2ljfSB7XG4gICAgICAgICAgICBib3JkZXI6IEBhdHRhY2hlZEJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkuYXR0YWNoZWQ6bm90KC5tZXNzYWdlKTpub3QoLnRleHQpICsgLnVpLmF0dGFjaGVkLnNlZ21lbnQ6bm90KC50b3ApOm5vdChbY2xhc3MqPVwibGVmdCBhdHRhY2hlZFwiXSk6bm90KFtjbGFzcyo9XCJyaWdodCBhdHRhY2hlZFwiXSkge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgIC8qIFRvcCAqL1xuICAgIC51aS5zZWdtZW50W2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdG9wOiBAYXR0YWNoZWRUb3BPZmZzZXQ7XG4gICAgICAgIG1hcmdpbi10b3A6IEB2ZXJ0aWNhbE1hcmdpbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDAgMDtcbiAgICB9XG4gICAgLnVpLnNlZ21lbnRbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgLnVpLnRhYi5zZWdtZW50W2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IEB2ZXJ0aWNhbE1hcmdpbjtcbiAgICB9XG5cbiAgICAvKiBCb3R0b20gKi9cbiAgICAudWkuc2VnbWVudFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHRvcDogQGF0dGFjaGVkQm90dG9tT2Zmc2V0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBAdmVydGljYWxNYXJnaW47XG4gICAgICAgIGJveC1zaGFkb3c6IEBhdHRhY2hlZEJvdHRvbUJveFNoYWRvdztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpLnNlZ21lbnRbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAudWkudGFiLnNlZ21lbnRbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBAdmVydGljYWxNYXJnaW47XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGF0dGFjaGVkXCJdLnNlZ21lbnQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJyaWdodCBhdHRhY2hlZFwiXS5zZWdtZW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRTZWFtbGVzcykge1xuICAgICAgICAudWkuc2VhbWxlc3MuYXR0YWNoZWQuc2VnbWVudCB7XG4gICAgICAgICAgICAmOm5vdCgudG9wKTpub3QoLmJvdHRvbSk6bm90KFtjbGFzcyo9XCJyaWdodCBhdHRhY2hlZFwiXSk6bm90KFtjbGFzcyo9XCJsZWZ0IGF0dGFjaGVkXCJdKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi50b3Age1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmJvdHRvbSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZbY2xhc3MqPVwibGVmdCBhdHRhY2hlZFwiXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJltjbGFzcyo9XCJyaWdodCBhdHRhY2hlZFwiXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRGaXR0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRml0dGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZml0dGVkLnNlZ21lbnQ6bm90KC5ob3Jpem9udGFsbHkpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgICAudWkuZml0dGVkLnNlZ21lbnQ6bm90KC52ZXJ0aWNhbGx5KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRTY3JvbGxpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgU2Nyb2xsaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLnVpLnNjcm9sbGluZy5zZWdtZW50IHtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IEBvdmVyc2Nyb2xsQmVoYXZpb3I7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFNjcm9sbGluZ1Nob3J0KSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQuc2hvcnQge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRTY3JvbGxpbmdWZXJ5U2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuc2VnbWVudFtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNjcm9sbGluZy5zZWdtZW50IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhIZWlnaHQ7XG4gICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50U2Nyb2xsaW5nTG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5zZWdtZW50Lmxvbmcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhIZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEhlaWdodCAqIDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRTY3JvbGxpbmdWZXJ5TG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5zZWdtZW50W2NsYXNzKj1cInZlcnkgbG9uZ1wiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEhlaWdodCAqIDM7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4SGVpZ2h0ICogMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSB7XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRTY3JvbGxpbmdTaG9ydCkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5zZWdtZW50LnNob3J0IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50U2Nyb2xsaW5nVmVyeVNob3J0KSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnNlZ21lbnRbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS5zY3JvbGxpbmcuc2VnbWVudCB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4SGVpZ2h0O1xuICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFNjcm9sbGluZ0xvbmcpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuc2VnbWVudC5sb25nIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4SGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhIZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50U2Nyb2xsaW5nVmVyeUxvbmcpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuc2VnbWVudFtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEhlaWdodCAqIDM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGNvbXB1dGVyQnJlYWtwb2ludCkge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50U2Nyb2xsaW5nU2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuc2VnbWVudC5zaG9ydCB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRTY3JvbGxpbmdWZXJ5U2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuc2VnbWVudFtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS5zY3JvbGxpbmcuc2VnbWVudCB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhIZWlnaHQ7XG4gICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4SGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRTY3JvbGxpbmdMb25nKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQubG9uZyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4SGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEhlaWdodCAqIDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRTY3JvbGxpbmdWZXJ5TG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5zZWdtZW50W2NsYXNzKj1cInZlcnkgbG9uZ1wiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4SGVpZ2h0ICogMztcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEhlaWdodCAqIDM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHdpZGVzY3JlZW5Nb25pdG9yQnJlYWtwb2ludCkge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50U2Nyb2xsaW5nU2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuc2VnbWVudC5zaG9ydCB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50U2Nyb2xsaW5nVmVyeVNob3J0KSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnNlZ21lbnRbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNjcm9sbGluZy5zZWdtZW50IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4SGVpZ2h0O1xuICAgICAgICAgICAgJi5yZXNpemFibGUgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4SGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlZ21lbnRTY3JvbGxpbmdMb25nKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnNlZ21lbnQubG9uZyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhIZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgICYucmVzaXphYmxlIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50UmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhIZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWdtZW50U2Nyb2xsaW5nVmVyeUxvbmcpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuc2VnbWVudFtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4SGVpZ2h0ICogMztcbiAgICAgICAgICAgICAgICAmLnJlc2l6YWJsZSB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4SGVpZ2h0ICogMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2VnbWVudFJlc2l6YWJsZSkge1xuICAgICAgICAudWkucmVzaXphYmxlLnNjcm9sbGluZy5zZWdtZW50IHtcbiAgICAgICAgICAgIHJlc2l6ZTogQHJlc2l6YWJsZURpcmVjdGlvbjtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLnNlZ21lbnQge1xuICAgIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25TZWdtZW50U2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvblNlZ21lbnRTaXplcywge1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9LnNlZ21lbnRzIC5zZWdtZW50LFxuICAgICAgICAudWkuQHt2YWx1ZX0uc2VnbWVudCB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gU3RlcFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RlcFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgIExvYWQgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AdHlwZTogXCJlbGVtZW50XCI7XG5AZWxlbWVudDogXCJzdGVwXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90Q2lyY3VsYXI6IGlmKEB2YXJpYXRpb25TdGVwQ2lyY3VsYXIsIGUoXCI6bm90KC5jaXJjdWxhcilcIikpO1xuQG5vdFZlcnRpY2FsOiBpZihAdmFyaWF0aW9uU3RlcFZlcnRpY2FsLCBlKFwiOm5vdCgudmVydGljYWwpXCIpKTtcbkBub3RVbnN0YWNrYWJsZTogaWYoQHZhcmlhdGlvblN0ZXBVbnN0YWNrYWJsZSwgZShcIjpub3QoLnVuc3RhY2thYmxlKVwiKSk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBQbHVyYWxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIG1hcmdpbjogQHN0ZXBNYXJnaW47XG4gICAgYmFja2dyb3VuZDogQHN0ZXBzQmFja2dyb3VuZDtcbiAgICBib3gtc2hhZG93OiBAc3RlcHNCb3hTaGFkb3c7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lSGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6IEBzdGVwc0JvcmRlclJhZGl1cztcbiAgICBib3JkZXI6IEBzdGVwc0JvcmRlcjtcbn1cbi51aS5zdGVwc0B7bm90VW5zdGFja2FibGV9IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi8qIEZpcnN0IFN0ZXBzICovXG4udWkuc3RlcHM6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qIExhc3QgU3RlcHMgKi9cbi51aS5zdGVwczpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBTaW5ndWxhclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogQGp1c3RpZnlDb250ZW50O1xuICAgIG1hcmdpbjogQHZlcnRpY2FsTWFyZ2luIEBob3Jpem9udGFsTWFyZ2luO1xuICAgIHBhZGRpbmc6IEB2ZXJ0aWNhbFBhZGRpbmcgQGhvcml6b250YWxQYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6IEBiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xuICAgIGJveC1zaGFkb3c6IEBib3hTaGFkb3c7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICBib3JkZXI6IEBib3JkZXI7XG4gICAgYm9yZGVyLXJpZ2h0OiBAZGl2aWRlcjtcbiAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cblxuLyogQXJyb3cgKi9cbi51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHRvcDogQGFycm93VG9wT2Zmc2V0O1xuICAgIHJpZ2h0OiBAYXJyb3dSaWdodE9mZnNldDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYXJyb3dCYWNrZ3JvdW5kQ29sb3I7XG4gICAgd2lkdGg6IEBhcnJvd1NpemU7XG4gICAgaGVpZ2h0OiBAYXJyb3dTaXplO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyQ29sb3I7XG4gICAgYm9yZGVyLXdpZHRoOiBAYXJyb3dCb3JkZXJXaWR0aDtcbiAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpIHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4vKiBGaXJzdCBTdGVwICovXG4udWkuc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcDpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiBAaG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogQHN0ZXBzQm9yZGVyUmFkaXVzIDAgMCBAc3RlcHNCb3JkZXJSYWRpdXM7XG59XG5cbi8qIExhc3QgU3RlcCAqL1xuLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCBAc3RlcHNCb3JkZXJSYWRpdXMgQHN0ZXBzQm9yZGVyUmFkaXVzIDA7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLyogT25seSBTdGVwICovXG4udWkuc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcDpvbmx5LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiBAc3RlcHNCb3JkZXJSYWRpdXM7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBUaXRsZSAqL1xuLnVpLnN0ZXBzIC5zdGVwIC50aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IEB0aXRsZUZvbnRGYW1pbHk7XG4gICAgZm9udC1zaXplOiBAdGl0bGVGb250U2l6ZTtcbiAgICBmb250LXdlaWdodDogQHRpdGxlRm9udFdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogQGxpbmVIZWlnaHQ7XG59XG4udWkuc3RlcHMgLnN0ZXAgPiAudGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBEZXNjcmlwdGlvbiAqL1xuLnVpLnN0ZXBzIC5zdGVwIC5kZXNjcmlwdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6IEBkZXNjcmlwdGlvbkZvbnRXZWlnaHQ7XG4gICAgZm9udC1zaXplOiBAZGVzY3JpcHRpb25Gb250U2l6ZTtcbiAgICBjb2xvcjogQGRlc2NyaXB0aW9uQ29sb3I7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lSGVpZ2h0O1xufVxuLnVpLnN0ZXBzIC5zdGVwID4gLmRlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi51aS5zdGVwcyAuc3RlcCAudGl0bGUgfiAuZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IEBkZXNjcmlwdGlvbkRpc3RhbmNlO1xufVxuXG4vKiBJY29uICovXG4udWkuc3RlcHMgLnN0ZXAgPiBpLmljb24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogQGljb25TaXplO1xuICAgIG1hcmdpbjogMCBAaWNvbkRpc3RhbmNlIDAgMDtcbn1cbi51aS5zdGVwcyAuc3RlcCA+IGkuaWNvbixcbi51aS5zdGVwcyAuc3RlcCA+IGkuaWNvbiB+IC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBhbGlnbi1zZWxmOiBAaWNvbkFsaWduO1xufVxuXG4vKiBIb3Jpem9udGFsIEljb24gKi9cbi51aS5zdGVwc0B7bm90VmVydGljYWx9IC5zdGVwID4gaS5pY29uIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLyogTGluayAqL1xuLnVpLnN0ZXBzIC5saW5rLnN0ZXAsXG4udWkuc3RlcHMgYS5zdGVwIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uU3RlcENpcmN1bGFyKSB7XG4gICAgLnVpLmNpcmN1bGFyLnN0ZXBzIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgICZAe25vdFZlcnRpY2FsfSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBhZGRpbmc6IEBjaXJjdWxhclN0ZXBzTWFyZ2luO1xuICAgICAgICAgICAgbWFyZ2luOiBAY2lyY3VsYXJTdGVwc1BhZGRpbmc7XG5cbiAgICAgICAgICAgICYgLnN0ZXAge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjaXJjdWxhclN0ZXBDb2xvcjtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBAY2lyY3VsYXJTdGVwQm9yZGVyV2lkdGg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogQGNpcmN1bGFyU3RlcFJpbmdTaXplO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLUBjaXJjdWxhclN0ZXBSaW5nU2l6ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBAY2lyY3VsYXJTdGVwSWNvbkRpc3RhbmNlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuY29tcGxldGVkIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGNpcmN1bGFyU3RlcENvbXBsZXRlZEJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuY29tcGxldGVkOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IEBjaXJjdWxhclN0ZXBDb21wbGV0ZWRJY29uRGlzdGFuY2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBAY2lyY3VsYXJTdGVwQ29udGVudE1hcmdpblRvcDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogQGNpcmN1bGFyU3RlcENvbnRlbnRQYWRkaW5nO1xuICAgICAgICAgICAgICAgICAgICAmLmNlbnRlci5hbGlnbmVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IEBjaXJjdWxhclN0ZXBDb250ZW50Q2VudGVyQWxpZ25lZE1hcmdpblRvcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICYgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBAY2lyY3VsYXJTdGVwQ29udGVudFBhZGRpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBjaXJjdWxhclN0ZXBDb250ZW50Q2VudGVyQWxpZ25lZE1hcmdpbkxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGNpcmN1bGFyU3RlcENvbnRlbnRDZW50ZXJBbGlnbmVkQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLmJvdHRvbS5hbGlnbmVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IEBjaXJjdWxhclN0ZXBDb250ZW50Qm90dG9tQWxpZ25lZE1hcmdpblRvcDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOm5vdCguYWxpZ25lZCkgLnRpdGxlICsgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IEBjaXJjdWxhclN0ZXBDb250ZW50RGVzY3JpcHRpb25EaXN0YW5jZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiBhLnN0ZXA6OmJlZm9yZSxcbiAgICAgICAgICAgICYgYS5zdGVwOjphZnRlcixcbiAgICAgICAgICAgICYgYS5zdGVwIC5jb250ZW50LFxuICAgICAgICAgICAgJiAuc3RlcC5saW5rIC5jb250ZW50LFxuICAgICAgICAgICAgJiAuc3RlcC5saW5rOjpiZWZvcmUsXG4gICAgICAgICAgICAmIC5zdGVwLmxpbms6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmIC5zdGVwIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogQGNpcmN1bGFyU3RlcEJvcmRlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBjaXJjdWxhclN0ZXBSaW5nU2l6ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogQGNpcmN1bGFyU3RlcFJpbmdTaXplO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBAY2lyY3VsYXJTdGVwUmluZ1NpemU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY2lyY3VsYXJTdGVwQ29sb3I7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBAY2lyY3VsYXJTdGVwSWNvblNpemU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IEBjaXJjdWxhclN0ZXBJY29uU2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBjaXJjdWxhclN0ZXBBY3RpdmVDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjaXJjdWxhclN0ZXBBY3RpdmVDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGNpcmN1bGFyU3RlcEFjdGl2ZUNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuY29tcGxldGVkIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY2lyY3VsYXJTdGVwQ29tcGxldGVkQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAY2lyY3VsYXJTdGVwQ29tcGxldGVkQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MDBcIjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFN0ZXA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAY2lyY3VsYXJTdGVwQ29tcGxldGVkQ29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IEBjaXJjdWxhclN0ZXBDb21wbGV0ZWRJY29uTGluZUhlaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoLmYpKSB7XG4gICAgICAgIC51aS5jaXJjdWxhci5zdGVwc0B7bm90VmVydGljYWx9IC5zdGVwOmxhc3QtY2hpbGQ6aGFzKC5jb250ZW50KSB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG4gICAgICAgIC51aS5jaXJjdWxhci5zdGVwc0B7bm90VmVydGljYWx9IC5zdGVwOmxhc3QtY2hpbGQ6aGFzKC5jZW50ZXIuYWxpZ25lZC5jb250ZW50KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TdGVwT3JkZXJlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBPcmRlcmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkub3JkZXJlZC5zdGVwcyB7XG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IG9yZGVyZWQ7XG4gICAgfVxuICAgIC51aS5vcmRlcmVkLnN0ZXBzIC5zdGVwOjpiZWZvcmUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIob3JkZXJlZCk7XG4gICAgICAgIGFsaWduLXNlbGY6IEBpY29uQWxpZ247XG4gICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBvcmRlcmVkO1xuICAgICAgICBmb250LWZhbWlseTogQG9yZGVyZWRGb250RmFtaWx5O1xuICAgICAgICBmb250LXdlaWdodDogQG9yZGVyZWRGb250V2VpZ2h0O1xuICAgIH1cbiAgICAudWkub3JkZXJlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgZm9udC1zaXplOiBAaWNvblNpemU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGljb25EaXN0YW5jZTtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TdGVwQ2lyY3VsYXIpIHtcbiAgICAgICAgLnVpLmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogY2FsYyhAY2lyY3VsYXJTdGVwUmluZ1NpemUgLSBAY2lyY3VsYXJTdGVwQm9yZGVyV2lkdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5jb21wbGV0ZWQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAY2lyY3VsYXJTdGVwQWN0aXZlQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWkub3JkZXJlZC5zdGVwcyAuc3RlcCA+ICoge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYWxpZ24tc2VsZjogQGljb25BbGlnbjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblN0ZXBWZXJ0aWNhbCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFZlcnRpY2FsXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudmVydGljYWwuc3RlcHNAe25vdENpcmN1bGFyfSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXAge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgICAgIHBhZGRpbmc6IEB2ZXJ0aWNhbFBhZGRpbmcgQGhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IEB2ZXJ0aWNhbERpdmlkZXI7XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZzogQHZlcnRpY2FsUGFkZGluZyBAaG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBzdGVwc0JvcmRlclJhZGl1cyBAc3RlcHNCb3JkZXJSYWRpdXMgMCAwO1xuICAgIH1cbiAgICAudWkudmVydGljYWwuc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBzdGVwc0JvcmRlclJhZGl1cyBAc3RlcHNCb3JkZXJSYWRpdXM7XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwOm9ubHktY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAc3RlcHNCb3JkZXJSYWRpdXM7XG4gICAgfVxuXG4gICAgLyogQXJyb3cgKi9cbiAgICAudWkudmVydGljYWwuc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcDo6YWZ0ZXIge1xuICAgICAgICB0b3A6IEB2ZXJ0aWNhbEFycm93VG9wT2Zmc2V0O1xuICAgICAgICByaWdodDogQHZlcnRpY2FsQXJyb3dSaWdodE9mZnNldDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiBAdmVydGljYWxBcnJvd0JvcmRlcldpZHRoO1xuICAgICAgICBkaXNwbGF5OiBAdmVydGljYWxBcnJvd0Rpc3BsYXk7XG4gICAgfVxuICAgIC51aS5yaWdodC52ZXJ0aWNhbC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwOjphZnRlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogQHZlcnRpY2FsTGVmdEFycm93Qm9yZGVyV2lkdGg7XG4gICAgICAgIGxlZnQ6IEB2ZXJ0aWNhbExlZnRBcnJvd0xlZnRPZmZzZXQ7XG4gICAgICAgIHJpZ2h0OiBAdmVydGljYWxMZWZ0QXJyb3dSaWdodE9mZnNldDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gICAgfVxuXG4gICAgLnVpLnZlcnRpY2FsLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmFjdGl2ZS5zdGVwOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IEB2ZXJ0aWNhbEFjdGl2ZUFycm93RGlzcGxheTtcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXA6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBAdmVydGljYWxMYXN0QXJyb3dEaXNwbGF5O1xuICAgIH1cbiAgICAudWkudmVydGljYWwuc3RlcHNAe25vdENpcmN1bGFyfSAuYWN0aXZlLnN0ZXA6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBAdmVydGljYWxBY3RpdmVMYXN0QXJyb3dEaXNwbGF5O1xuICAgIH1cblxuICAgIC8qIENpcmN1bGFyIFN0ZXAgKi9cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TdGVwQ2lyY3VsYXIpIHtcbiAgICAgICAgLnVpLmNpcmN1bGFyLnZlcnRpY2FsLnN0ZXBzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICAmIC5zdGVwIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBAdmVydGljYWxDaXJjdWxhclN0ZXBJY29uRGlzdGFuY2U7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogQHZlcnRpY2FsQ2lyY3VsYXJTdGVwSWNvbkRpc3RhbmNlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEB2ZXJ0aWNhbENpcmN1bGFyU3RlcENvbnRlbnRQYWRkaW5nO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBAdmVydGljYWxDaXJjdWxhclN0ZXBQYWRkaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICYgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IEBjaXJjdWxhclN0ZXBCb3JkZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IEBjaXJjdWxhclN0ZXBSaW5nU2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IEB2ZXJ0aWNhbENpcmN1bGFyU3RlcExpbmVEaXN0YW5jZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuY29tcGxldGVkIC5jb250ZW50OjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBjaXJjdWxhclN0ZXBDb21wbGV0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuY29tcGxldGVkOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY2lyY3VsYXJTdGVwQ29tcGxldGVkQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAY2lyY3VsYXJTdGVwQ29tcGxldGVkQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5jb21wbGV0ZWQ6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBAdmVydGljYWxDaXJjdWxhclN0ZXBDb21wbGV0ZWRJY29uRGlzdGFuY2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS1cbiAgICBSZXNwb25zaXZlXG4tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIE1vYmlsZSAoRGVmYXVsdCkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogKEBsYXJnZXN0TW9iaWxlU2NyZWVuKSkge1xuICAgIC51aS5zdGVwc0B7bm90VW5zdGFja2FibGV9QHtub3RDaXJjdWxhcn0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIC51aS5zdGVwc0B7bm90VW5zdGFja2FibGV9QHtub3RDaXJjdWxhcn0gLnN0ZXAge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgICAgICBwYWRkaW5nOiBAdmVydGljYWxQYWRkaW5nIEBob3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiBAc3RlcHNCb3JkZXI7XG4gICAgfVxuICAgIC51aS5zdGVwc0B7bm90VW5zdGFja2FibGV9QHtub3RDaXJjdWxhcn0gLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nOiBAdmVydGljYWxQYWRkaW5nIEBob3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQHN0ZXBzQm9yZGVyUmFkaXVzIEBzdGVwc0JvcmRlclJhZGl1cyAwIDA7XG4gICAgfVxuICAgIC51aS5zdGVwc0B7bm90VW5zdGFja2FibGV9QHtub3RDaXJjdWxhcn0gLnN0ZXA6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAc3RlcHNCb3JkZXJSYWRpdXMgQHN0ZXBzQm9yZGVyUmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC8qIEFycm93ICovXG4gICAgLnVpLnN0ZXBzQHtub3RVbnN0YWNrYWJsZX1Ae25vdENpcmN1bGFyfSAuc3RlcDo6YWZ0ZXIge1xuICAgICAgICB0b3A6IHVuc2V0O1xuICAgICAgICBib3R0b206IC1AYXJyb3dTaXplO1xuICAgICAgICByaWdodDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblN0ZXBWZXJ0aWNhbCkge1xuICAgICAgICAudWkudmVydGljYWwuc3RlcHNAe25vdENpcmN1bGFyfSAuYWN0aXZlLnN0ZXA6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIENvbnRlbnQgKi9cbiAgICAudWkuc3RlcHNAe25vdFVuc3RhY2thYmxlfUB7bm90Q2lyY3VsYXJ9IC5zdGVwIC5jb250ZW50IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8qIEljb24gKi9cbiAgICAudWkuc3RlcHNAe25vdFVuc3RhY2thYmxlfUB7bm90Q2lyY3VsYXJ9IC5zdGVwID4gaS5pY29uLFxuICAgIC51aS5vcmRlcmVkLnN0ZXBzQHtub3RVbnN0YWNrYWJsZX1Ae25vdENpcmN1bGFyfSAuc3RlcDo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgQG1vYmlsZUljb25EaXN0YW5jZSAwO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIExpbmsgSG92ZXIgKi9cbi51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5saW5rLnN0ZXA6aG92ZXI6OmFmdGVyLFxuLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmxpbmsuc3RlcDpob3Zlcixcbi51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IGEuc3RlcDpob3Zlcjo6YWZ0ZXIsXG4udWkuc3RlcHNAe25vdENpcmN1bGFyfSBhLnN0ZXA6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IEBob3ZlckJhY2tncm91bmQ7XG4gICAgY29sb3I6IEBob3ZlckNvbG9yO1xufVxuXG4vKiBMaW5rIERvd24gKi9cbi51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5saW5rLnN0ZXA6YWN0aXZlOjphZnRlcixcbi51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5saW5rLnN0ZXA6YWN0aXZlLFxuLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gYS5zdGVwOmFjdGl2ZTo6YWZ0ZXIsXG4udWkuc3RlcHNAe25vdENpcmN1bGFyfSBhLnN0ZXA6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBAZG93bkJhY2tncm91bmQ7XG4gICAgY29sb3I6IEBkb3duQ29sb3I7XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXAuYWN0aXZlIHtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYmFja2dyb3VuZDogQGFjdGl2ZUJhY2tncm91bmQ7XG59XG4udWkuc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcC5hY3RpdmU6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBAYWN0aXZlQmFja2dyb3VuZDtcbn1cbi51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwLmFjdGl2ZSAudGl0bGUge1xuICAgIGNvbG9yOiBAYWN0aXZlQ29sb3I7XG59XG4udWkub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6OmJlZm9yZSxcbi51aS5zdGVwcyAuYWN0aXZlLnN0ZXAgaS5pY29uIHtcbiAgICBjb2xvcjogQGFjdGl2ZUljb25Db2xvcjtcbn1cblxuLyogQWN0aXZlIEFycm93ICovXG4udWkuc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IEBhcnJvd0Rpc3BsYXk7XG59XG4udWkuc3RlcHNAe25vdENpcmN1bGFyfSAuYWN0aXZlLnN0ZXA6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBAYWN0aXZlQXJyb3dEaXNwbGF5O1xufVxuLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXA6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IEBsYXN0QXJyb3dEaXNwbGF5O1xufVxuLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmFjdGl2ZS5zdGVwOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBAYWN0aXZlTGFzdEFycm93RGlzcGxheTtcbn1cblxuLyogQWN0aXZlIEhvdmVyICovXG4udWkuc3RlcHNAe25vdENpcmN1bGFyfSAubGluay5hY3RpdmUuc3RlcDpob3Zlcjo6YWZ0ZXIsXG4udWkuc3RlcHNAe25vdENpcmN1bGFyfSAubGluay5hY3RpdmUuc3RlcDpob3Zlcixcbi51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IGEuYWN0aXZlLnN0ZXA6aG92ZXI6OmFmdGVyLFxuLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gYS5hY3RpdmUuc3RlcDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IEBhY3RpdmVIb3ZlckJhY2tncm91bmQ7XG4gICAgY29sb3I6IEBhY3RpdmVIb3ZlckNvbG9yO1xufVxuXG4vKiBDb21wbGV0ZWQgKi9cbi51aS5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgPiBpLmljb246OmJlZm9yZSxcbi51aS5vcmRlcmVkLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgICBjb2xvcjogQGNvbXBsZXRlZENvbG9yO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TdGVwRGlzYWJsZWQpIHtcbiAgICAvKiBEaXNhYmxlZCAqL1xuICAgIC51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5kaXNhYmxlZC5zdGVwIHtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAZGlzYWJsZWRCYWNrZ3JvdW5kO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmRpc2FibGVkLnN0ZXAsXG4gICAgLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmRpc2FibGVkLnN0ZXAgLnRpdGxlLFxuICAgIC51aS5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5kaXNhYmxlZC5zdGVwIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiBAZGlzYWJsZWRDb2xvcjtcbiAgICB9XG4gICAgLnVpLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmRpc2FibGVkLnN0ZXA6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGRpc2FibGVkQmFja2dyb3VuZDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU3RlcENpcmN1bGFyKSB7XG4gICAgICAgIC51aS5jaXJjdWxhci5zdGVwcyAuZGlzYWJsZWQuc3RlcCB7XG4gICAgICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICAgICAgICBvcGFjaXR5OiBAY2lyY3VsYXJTdGVwRGlzYWJsZWRJdGVtT3BhY2l0eTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25TdGVwU3RhY2thYmxlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdGFja2FibGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIFRhYmxldCBPciBCZWxvdyAqL1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RUYWJsZXRTY3JlZW4pIHtcbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHNAe25vdENpcmN1bGFyfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFN0ZXBzICovXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXAge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgICAgICAgICBwYWRkaW5nOiBAdmVydGljYWxQYWRkaW5nIEBob3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IEBzdGVwc0JvcmRlcjtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IEB2ZXJ0aWNhbFBhZGRpbmcgQGhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogQHN0ZXBzQm9yZGVyUmFkaXVzIEBzdGVwc0JvcmRlclJhZGl1cyAwIDA7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAc3RlcHNCb3JkZXJSYWRpdXMgQHN0ZXBzQm9yZGVyUmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEFycm93ICovXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXA6OmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgICAgICBib3R0b206IC1AYXJyb3dTaXplO1xuICAgICAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIENvbnRlbnQgKi9cbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcCAuY29udGVudCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBJY29uICovXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnN0ZXBzIC5zdGVwID4gaS5pY29uLFxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5vcmRlcmVkLnN0ZXBzIC5zdGVwOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgQG1vYmlsZUljb25EaXN0YW5jZSAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TdGVwRmx1aWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEZsdWlkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBGbHVpZCAqL1xuICAgIC51aS5mbHVpZC5zdGVwcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU3RlcEF0dGFjaGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQXR0YWNoZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIFRvcCAqL1xuICAgIC51aS5hdHRhY2hlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IHtcbiAgICAgICAgd2lkdGg6IEBhdHRhY2hlZFdpZHRoICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCBAYXR0YWNoZWRIb3Jpem9udGFsT2Zmc2V0IEBhdHRhY2hlZFZlcnRpY2FsT2Zmc2V0O1xuICAgICAgICBtYXgtd2lkdGg6IEBhdHRhY2hlZFdpZHRoO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAc3RlcHNCb3JkZXJSYWRpdXMgQHN0ZXBzQm9yZGVyUmFkaXVzIDAgMDtcbiAgICB9XG4gICAgLnVpLmF0dGFjaGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAc3RlcHNCb3JkZXJSYWRpdXMgMCAwIDA7XG4gICAgfVxuICAgIC51aS5hdHRhY2hlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIEBzdGVwc0JvcmRlclJhZGl1cyAwIDA7XG4gICAgfVxuXG4gICAgLyogQm90dG9tICovXG4gICAgLnVpLmJvdHRvbS5hdHRhY2hlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IHtcbiAgICAgICAgbWFyZ2luOiBAYXR0YWNoZWRWZXJ0aWNhbE9mZnNldCBAYXR0YWNoZWRIb3Jpem9udGFsT2Zmc2V0IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAc3RlcHNCb3JkZXJSYWRpdXMgQHN0ZXBzQm9yZGVyUmFkaXVzO1xuICAgIH1cbiAgICAudWkuYm90dG9tLmF0dGFjaGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCBAc3RlcHNCb3JkZXJSYWRpdXM7XG4gICAgfVxuICAgIC51aS5ib3R0b20uYXR0YWNoZWQuc3RlcHNAe25vdENpcmN1bGFyfSAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBzdGVwc0JvcmRlclJhZGl1cyAwO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU3RlcEVxdWFsV2lkdGgpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEV2ZW5seSBEaXZpZGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5vbmUuc3RlcHMsXG4gICAgLnVpLnR3by5zdGVwcyxcbiAgICAudWkudGhyZWUuc3RlcHMsXG4gICAgLnVpLmZvdXIuc3RlcHMsXG4gICAgLnVpLmZpdmUuc3RlcHMsXG4gICAgLnVpLnNpeC5zdGVwcyxcbiAgICAudWkuc2V2ZW4uc3RlcHMsXG4gICAgLnVpLmVpZ2h0LnN0ZXBzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC51aS5vbmUuc3RlcHMgPiAuc3RlcCxcbiAgICAudWkudHdvLnN0ZXBzID4gLnN0ZXAsXG4gICAgLnVpLnRocmVlLnN0ZXBzID4gLnN0ZXAsXG4gICAgLnVpLmZvdXIuc3RlcHMgPiAuc3RlcCxcbiAgICAudWkuZml2ZS5zdGVwcyA+IC5zdGVwLFxuICAgIC51aS5zaXguc3RlcHMgPiAuc3RlcCxcbiAgICAudWkuc2V2ZW4uc3RlcHMgPiAuc3RlcCxcbiAgICAudWkuZWlnaHQuc3RlcHMgPiAuc3RlcCB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cbiAgICAudWkub25lLnN0ZXBzID4gLnN0ZXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLnVpLnR3by5zdGVwcyA+IC5zdGVwIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgLnVpLnRocmVlLnN0ZXBzID4gLnN0ZXAge1xuICAgICAgICB3aWR0aDogMzMuMzMzJTtcbiAgICB9XG4gICAgLnVpLmZvdXIuc3RlcHMgPiAuc3RlcCB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgfVxuICAgIC51aS5maXZlLnN0ZXBzID4gLnN0ZXAge1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgIH1cbiAgICAudWkuc2l4LnN0ZXBzID4gLnN0ZXAge1xuICAgICAgICB3aWR0aDogMTYuNjY2JTtcbiAgICB9XG4gICAgLnVpLnNldmVuLnN0ZXBzID4gLnN0ZXAge1xuICAgICAgICB3aWR0aDogMTQuMjg1JTtcbiAgICB9XG4gICAgLnVpLmVpZ2h0LnN0ZXBzID4gLnN0ZXAge1xuICAgICAgICB3aWR0aDogMTIuNSU7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5zdGVwcyAuc3RlcCxcbi51aS5zdGVwIHtcbiAgICBmb250LXNpemU6IEBtZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uU3RlcFNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25TdGVwU2l6ZXMsIHtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5zdGVwcyAuc3RlcCxcbiAgICAgICAgLnVpLkB7dmFsdWV9LnN0ZXAge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAcztcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TdGVwQ2lyY3VsYXIpIHtcbiAgICAgICAgICAgIC51aS5Ae3ZhbHVlfS5jaXJjdWxhci5zdGVwc0B7bm90VmVydGljYWx9IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IEBzIDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogQHMgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TdGVwSW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmludmVydGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBAc29saWRXaGl0ZUJvcmRlckNvbG9yO1xuICAgIH1cblxuICAgIC51aS5pbnZlcnRlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZDogQGJsYWNrO1xuICAgICAgICBib3JkZXItY29sb3I6IEBzb2xpZFdoaXRlQm9yZGVyQ29sb3I7XG4gICAgfVxuXG4gICAgLnVpLmludmVydGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXA6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJsYWNrO1xuICAgICAgICBib3JkZXItY29sb3I6IEBzb2xpZFdoaXRlQm9yZGVyQ29sb3I7XG4gICAgfVxuXG4gICAgLnVpLmludmVydGVkLnN0ZXBzIC5zdGVwIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgfVxuXG4gICAgLyogQWN0aXZlICovXG4gICAgLnVpLmludmVydGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gLnN0ZXAuYWN0aXZlLFxuICAgIC51aS5pbnZlcnRlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwLmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRBY3RpdmVCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQub3JkZXJlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5zdGVwLmFjdGl2ZTo6YmVmb3JlLFxuICAgIC51aS5pbnZlcnRlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5hY3RpdmUuc3RlcCBpLmljb24ge1xuICAgICAgICBjb2xvcjogQGludmVydGVkU2VsZWN0ZWRUZXh0Q29sb3I7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU3RlcERpc2FibGVkKSB7XG4gICAgICAgIC8qIERpc2FibGVkICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5kaXNhYmxlZC5zdGVwLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuc3RlcHNAe25vdENpcmN1bGFyfSAuZGlzYWJsZWQuc3RlcDo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkRGlzYWJsZWRCYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5kaXNhYmxlZC5zdGVwLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuc3RlcHNAe25vdENpcmN1bGFyfSAuZGlzYWJsZWQuc3RlcCAudGl0bGUsXG4gICAgICAgIC51aS5pbnZlcnRlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5kaXNhYmxlZC5zdGVwIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkRGlzYWJsZWRUZXh0Q29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBMaW5rIEhvdmVyICovXG4gICAgLnVpLmludmVydGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmxpbmsuc3RlcDpob3Zlcjo6YWZ0ZXIsXG4gICAgLnVpLmludmVydGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmxpbmsuc3RlcDpob3ZlcixcbiAgICAudWkuaW52ZXJ0ZWQuc3RlcHNAe25vdENpcmN1bGFyfSBhLnN0ZXA6aG92ZXI6OmFmdGVyLFxuICAgIC51aS5pbnZlcnRlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IGEuc3RlcDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEhvdmVyQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZEhvdmVyZWRUZXh0Q29sb3I7XG4gICAgfVxuXG4gICAgLyogTGluayBEb3duICovXG4gICAgLnVpLmludmVydGVkLnN0ZXBzQHtub3RDaXJjdWxhcn0gLmxpbmsuc3RlcDphY3RpdmU6OmFmdGVyLFxuICAgIC51aS5pbnZlcnRlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IC5saW5rLnN0ZXA6YWN0aXZlLFxuICAgIC51aS5pbnZlcnRlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IGEuc3RlcDphY3RpdmU6OmFmdGVyLFxuICAgIC51aS5pbnZlcnRlZC5zdGVwc0B7bm90Q2lyY3VsYXJ9IGEuc3RlcDphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRBY3RpdmVIb3ZlckJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRQcmVzc2VkVGV4dENvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TdGVwQ2lyY3VsYXIpIHtcbiAgICAgICAgLyogQ2lyY3VsYXIgU3RlcCAqL1xuICAgICAgICAudWkuaW52ZXJ0ZWQuY2lyY3VsYXIuc3RlcHMge1xuICAgICAgICAgICAgJiAuc3RlcCAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJkB7bm90VmVydGljYWx9IHtcbiAgICAgICAgICAgICAgICAmIC5zdGVwOm5vdCguY29tcGxldGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiAuc3RlcDpub3QoLmFjdGl2ZSk6bm90KC5jb21wbGV0ZWQpOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiAuc3RlcCAuY2VudGVyLmFsaWduZWQuY29udGVudCAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRDaXJjdWxhclN0ZXBDb250ZW50Q2VudGVyQWxpZ25lZEJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpub3QoLm9yZGVyZWQpIC5zdGVwOm5vdCguYWN0aXZlKTpub3QoLmNvbXBsZXRlZCk6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblN0ZXBWZXJ0aWNhbCkge1xuICAgICAgICAgICAgICAgICYudmVydGljYWwge1xuICAgICAgICAgICAgICAgICAgICAmIC5zdGVwOm5vdCguYWN0aXZlKTpub3QoLmNvbXBsZXRlZCk6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmIC5zdGVwOm5vdCguY29tcGxldGVkKSAuY29udGVudDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU3RlcENpcmN1bGFyKSBhbmQgbm90IChAdmFyaWF0aW9uU3RlcENvbG9ycyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uU3RlcENvbG9ycywge1xuICAgICAgICBAdmFyaWF0aW9uOiBAdmFsdWU7XG4gICAgICAgIEBjb2xvcjogQGNvbG9yc1tAQHZhcmlhdGlvbl1bY29sb3JdO1xuXG4gICAgICAgIC51aS51aS5jaXJjdWxhci5zdGVwcyAuc3RlcC5Ae3ZhcmlhdGlvbn0ge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnVpLkB7dmFyaWF0aW9ufS5jaXJjdWxhci5zdGVwcyAuc3RlcCwgLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLkB7dmFyaWF0aW9ufSB7XG4gICAgICAgICAgICAmLmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWN0aXZlOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5jb21wbGV0ZWQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS51aS5Ae3ZhcmlhdGlvbn0uY2lyY3VsYXIuc3RlcHNAe25vdFZlcnRpY2FsfSAuc3RlcCwgLnVpLnVpLnVpLmNpcmN1bGFyLnN0ZXBzQHtub3RWZXJ0aWNhbH0gLnN0ZXAuQHt2YXJpYXRpb259IHtcbiAgICAgICAgICAgICYuY29tcGxldGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnVpLmNpcmN1bGFyLnN0ZXBzQHtub3RWZXJ0aWNhbH0gLnN0ZXAuQHt2YXJpYXRpb259IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkudWkuQHt2YXJpYXRpb259LmNpcmN1bGFyLnN0ZXBzIC5zdGVwLCAudWkudWkudWkuY2lyY3VsYXIuc3RlcHMgLnN0ZXAuQHt2YXJpYXRpb259IHtcbiAgICAgICAgICAgICYuYWN0aXZlIC5jb250ZW50IC50aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TdGVwVmVydGljYWwpIHtcbiAgICAgICAgICAgIC51aS51aS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcC5jb21wbGV0ZWQuQHt2YXJpYXRpb259IC5jb250ZW50OjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLnVpLkB7dmFyaWF0aW9ufS52ZXJ0aWNhbC5jaXJjdWxhci5zdGVwcyAuc3RlcCwgLnVpLnVpLnZlcnRpY2FsLmNpcmN1bGFyLnN0ZXBzIC5zdGVwLkB7dmFyaWF0aW9ufSB7XG4gICAgICAgICAgICAgICAgJi5jb21wbGV0ZWQgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblN0ZXBPcmRlcmVkKSB7XG4gICAgICAgICAgICAudWkudWkuQHt2YXJpYXRpb259LmNpcmN1bGFyLm9yZGVyZWQuc3RlcHMgLnN0ZXAsIC51aS51aS5jaXJjdWxhci5vcmRlcmVkLnN0ZXBzIC5zdGVwLkB7dmFyaWF0aW9ufSB7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFN0ZXA7XG4gICAgc3JjOiB1cmwoXCJkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtiYXNlNjQsZDA5R1JnQUJBQUFBQUFxZ0FCQUFBQUFBRVh3QUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUtoQUFBQUJ3QUFBQWNqT0x6eEVkRVJVWUFBQXBvQUFBQUhBQUFBQ0FBSndBWVQxTXZNZ0FBQWVRQUFBQkVBQUFBVmo0d1NVWmpiV0Z3QUFBQ1BBQUFBRVlBQUFGTzBCa0R4Mk4yZENBQUFBZllBQUFBRkFBQUFCd0dTZitVWm5CbmJRQUFBb1FBQUFUNUFBQUprWW9LZUR0bllYTndBQUFLWUFBQUFBZ0FBQUFJQUFBQUVHZHNlV1lBQUFmNEFBQUF1QUFBQUxqNXlqVCthR1ZoWkFBQUFXd0FBQUExQUFBQU5oR0FTbFZvYUdWaEFBQUJwQUFBQUNBQUFBQWtCM3dEYTJodGRIZ0FBQUlvQUFBQUZBQUFBQlFNd2dCRGJHOWpZUUFBQit3QUFBQU1BQUFBREFBNEFGeHRZWGh3QUFBQnhBQUFBQ0FBQUFBZ0FLZ0FSMjVoYldVQUFBaXdBQUFCZ1FBQUF1Z2dxOWlLY0c5emRBQUFDalFBQUFBcUFBQUFQYTdBUUpwd2NtVndBQUFIZ0FBQUFGWUFBQUJXa3FHYS8zaWNZMkJrWUdBQVlpbittK254L0RaZkdlUlpHRURndk9tTVhoQjlQeUgzMy8rLy85Y3o3MktXQTNJNUdKaEFvZ0JBc0F5VEFBQUFlSnhqWUdSZ1lFNzduOFlRdzhMdy8rLy8vOHk3R0lBaUtJQVZBS2dsQnUwQUFRQUFBQVVBRmdBQkFBQUFBQUFDQUFZQUV3QnVBQUFBTFFBY0FBQUFBSGljWTJCa1BzODRnWUdWZ1lPcGsra3NBd05EUDRSbWZNTmd4TWpCd01ERXdNck1nQlVFcExtbU1EaThZSGpCeUp6MlA0MGhobG1PSVJBb3pBaVNBd0FZRGd2MEJBQUFBQUFBQUFBQlZBQUFCQUFBUmdOdC8vMTRuTjJNd1EzQUlBd0R6eFF4QlNNd0NQdFB3UmJVQ2YxMEJTd2xKMHUyZ1lkekhSR2Fka3BmR1dZelJZR2x2U093T014VXpiYS9HdCtBNlhRMGZoTFg2d1dBVXdhd0FBQjRuSjFWMlhiVFZoU1ZQR1J3RWpwa29LQU8xOXc0VU92S2hDa1lNR2txeFhZaEhSd0lyUVFkcEF4MDVKM0hQdXRyamtLN1ZoLzV0TzU5UFNTMGRLMjJMSmJQdmtkYlo5ZzY1MFljSXlwOUdvaHIxS0dTbHdPcHJEMldTdmRKWE5kMUw0K1ZEQVp4WGJZU1QwbWJxSjBrU21yZDdGQXU4VmpyS2xrbldDZmo1U0JXVDFXZVo2QU00aFFlWlVsRUcwUWJxWmNtU2VLSjR5ZUpGbWNRSHlWSklDV2pFS2ZTeUZCQ05SckVVdFdoVE9uUXE5Y1RjZE5BeWthakhuVllWUGREeFNmSE5hZlVyQU5HS2xjNXdoWHIxVWErRzZjREwzdVF4RHJCczYySE1SNTRySDZVS3BDS2tlbklQM1pLVHBTR2dWUngxS0ZXNHVnd2sxLzNrVXdxelVDbWpHSkZwZTZCdU4zOWROc1dNVDEwT3I0dVNwVkdxcnE1emlpYTdkSHhxSU1vRDluRzZhVGMwTm4yOE9VWlUxU3JYWEd6N1VCbURWeEt5V3gwbjBRQUhTWlM0K2tCVGpXY0Fxa1o5VWZGMmVmUEFSTEpYSlNxUEZVeWgzb0RtVE03ZTNFeDdXNG5xN0p3cEo4SE1tOTJkdU9kaDBPblY0ZC8wZm9YVE9ITVI0L2lZbjQrUXZwUWFuNGlUaVNsUmxqTThxZUdIM0ZYSUVLNU1ZZ0xGOHJnVTRRNWRFWGEyV1pkNDdVeDlvYlArVXFwWVQwSjJ1aWorSDRLL1U0a0t4eG5VYVAxU0p6Tlk5ZDFyZHhuVUV1MXV4YzdNcTlEbFNMdTd3c0xyalBuaEdHZUZndFZYNTc1M2dVMC93YUlaL3hBM2pTRlMvdVdLVXEwYjV1aVRMdG9pZ3J0RWxTbFhUYkZGTzJLS2FacHo1cGlodllkVTh6U25qTXk0Ly9MM09lUit4emU4WkNiOWwza3BuMFB1V25mUjI3YUQ1Q2JWaUUzYlIyNWFTOGdONjFHYnRwVm96cDJCQm9HYVJkU0ZVSFFOTEw2WWR4V20vVkExb3cwZkdsZzhpNWl5UHJxUkVlZHRiWEtIOFYvZGVJTEIzSnBvcWU3SWhlYjRpNnYyeFkrUE4zdXE0K2FSdDJ3MWZqR2tmSXdIa1o2SEpyUVdmbk40Yi90VGQwdW11NHlxakxvQVJWTUNzQUFaZTFBQXRNNjJ3bWs5WnFuK1BJSFlGeUdlTTVLUTdWVW56dUdwdS9sZVYvM3NUbnh2c2Z0eGk2M1hIZDVDVm5XRFhKajl2RGZVbVNxNngvbExhMVVKMGVzS3llUFZXc1lReXE4S0xxK2twUjd0TFVidnlpcHN2SmVsTmJLNTVPUW16MkRHMEpidHU1aHNDTk1hY29sSGw1VHBTZzkxRktPc2tNc2J5bktQT0NVaXd0YWhzUzREblVQYW12RTZhRjZHQnNMSVlhaHRMMFFjRWdwWFJYZnRNcDM4UjZyYTlqbytNVVY0ZWw2Y2hJUm4rSXErMUh3Vk5kRy9lZ08ycnhtM1RLREtWV3FwL3VNVDdHdjIvWlJXV21ranJNWHQxUUgxelRyR2prVjAwL2thK0IwYnpobzNRTTlWSHcwUVNOVk5jZm94aWhqTkpZMTVkOEVkREZXZnNObzFXTDdQZHhQbmFSVnJMbExtT3liRS9mZ3RMdjlLdnUxbkZ0RzF2M1hCcjF0NUlxZkl6Ry9MUXI4T3dkaXQyUU4xRHVUZ1JnTHlGblFHTVlXSm5jWXJvTnR4RzMyUHlhbi85K0doVVZ5VnpzYXUzbnF3OVdUVVNWMzJmSzR5MDEyV2Rlak5rZlZUaHI3Q0kwdER6Zm0yT0Z5TExiRVlFRzIvc0gvTWU0QmQybFJBdURReUdXWWlOcDBvWjdxNGVvZXE3RnRPRmNTQVhiTnNlTjBBSG9BTGtIZkhMdlc4d21BOWR3ajV5N0FmWElJZHNnaCtKUWNncy9JdVFYd09Ua0VYNUJETUNDSFlKZWNPd0FQeUNGNFNBN0JIamtFajhqWkJQaVNISUt2eUNHSXlTRkl5TGtOOEpnY2dpZmtFSHhORHNFM1JxNU9aUDZXQjlrQStzNmltMENwblJvYzJqaGtScTVOMlBzOFdQYUJSV1FmV2tUcWtaSHJFK3BUSGl6MWU0dEkvY0VpVW44MGNtTkMvWWtIUy8zWklsSi9zWWpVWjhhWG1TTXBydzZlODQ0Ty9nU1g2cTFlQUFBQVM3Z0F5RkpZc1FFQmpsbTVDQUFJQUdNZ3NBRWpSTEFESTNDeUJDZ0pSVkpFc2dvQ0J5cXhCZ0ZFc1NRQmlGRllzRUNJV0xFR0EwU3hKZ0dJVVZpNEJBQ0lXTEVHQVVSWldWbFp1QUgvaGJBRWpiRUZBRVFBQUhpY1kyQkFBMFlNUnN6Yy96ZUNNQUFRdEFQaEFBQUFBQUFBQUFBQU9BQmNBQUVBUmdBQkE3b0NxQUFWQUJ4QUdROEJBQUVCUWdBQ0FRSnFBQUVBQVdvQUFBQmhGQmNVQXhJckFSUUhBUVlpSndFbU5EOEJOaklmQVFFMk1oOEJGZ082RC80VUVDMFEvdU1QRDA0UUxSR29BWFlRTGhCT0R3SWpGeEQrRkE4UEFSMFFMUkZPRUJDcEFYZ1FFRTRRQUFBQi8vMy9yd04wQXg0QURBQVNRQThBQVFFS1F3QUFBQXNBUkJVVEFoRXJBUlFPQVNJdUFqNEJNaDRCQTI1MXkrM05jUVo5d1BxL2dRRm1lTWgzZDhudnlYZDN5UUFBQUhpY2ZaSExTc05BRkliLzZVVnJDeUlLcmc4SVloSFNDN3B4VlNsVWNPbWkrN1NtU1VxYUNaT3AwTmZ4R2R6NkNMcHo2OWF0SzlmK1NVZkJnazNJNUR2L3VjeVpNd0FPOFE2RjlYT0p4TEZDQTArT0s5akZpK01xOVEvSE5UUlV4WEVkTFhYaWVJZjZ0ZU1tenRXajR4YU8xQmNycU5vZXJYbFpyV0NGQXp3NnJtQWZ6NDZyMU44YzE4aWZqdXM0VmkzSE96aFFIY2ROak5XdDR4Wk8xU3VHME1pd2drR01FQkVzQkdkVTIvejMwVVVQRjZRSkk0U1I2NmdZS1h6T1FiZ3VtUkdWbnB6MmdOK01Wa28xWUVSQzlqRGx1Z0NHT2x1Wk9JeXNuQTNiMHUvMkxtU3lFazBwVHYxRS9LV050TWxsSURPZDJpQkp0RGZWVE51c2h4ODNjRWN4WkFzSkd6RTBnM0NaK0dacnloYlhtR0p4akxnTUVSN2Q0d0F3RGt3ZTYxUjZYbmRyK2czRnRDemhsd0gzdjNQTDhjQTIrMVF0Q3hRVE11VkVCS09OY3NLN0tIeHpLbFBxSHNzR2FXQjhHOXdYdzhvZndyNjFNNWtadlpDUjIxb3lvK2ZCMURJNEt2ZkljSVVPMzM5dklySTJ1K3AwL3N6NUd5TEhoNzBBQUFCNG5HTmdZb0FBTGdic2dCV0lHUm1ZR0prWW1UbVRNMUtUczNNVGk3TFprak9Ma25OU0FUa1BCa1lBQUFBQkFBSC8vd0FQZUp4allHUmdZT0FCWWdFR0NRWW1JTTBDeENDYUVZSUJCVzBBUUFBQUFBRUFBQUFBM2t6dE9BQUFBQURQTlppTkFBQUFBTjlnYmY0PVwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuLnVpLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZCA+IC5pY29uOjpiZWZvcmUsXG4udWkub3JkZXJlZC5zdGVwcyAuc3RlcC5jb21wbGV0ZWQ6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFN0ZXA7XG4gICAgY29udGVudDogXCJcXGU4MDBcIjsgLyogJ+6ggCcgKi9cbn1cbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFRleHRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcImVsZW1lbnRcIjtcbkBlbGVtZW50OiBcInRleHRcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVGV4dFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbnNwYW4udWkudGV4dCB7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lSGVpZ2h0O1xufVxuXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uVGV4dENvbG9ycyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uVGV4dENvbG9ycywge1xuICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICBAbDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodF07XG5cbiAgICAgICAgc3Bhbi51aS5Ae2NvbG9yfS50ZXh0IHtcbiAgICAgICAgICAgIGNvbG9yOiBAYztcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UZXh0SW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIHNwYW4udWkuaW52ZXJ0ZWQuQHtjb2xvcn0udGV4dCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25UZXh0U3RhdGVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25UZXh0U3RhdGVzLCB7XG4gICAgICAgIEBzdGF0ZTogQHZhbHVlO1xuICAgICAgICBAYzogQHRleHRTdGF0ZXNbQEBzdGF0ZV1bY29sb3JdO1xuXG4gICAgICAgIHNwYW4udWkuQHtzdGF0ZX0udGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogQGM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVGV4dERpc2FibGVkKSB7XG4gICAgc3Bhbi51aS5kaXNhYmxlZC50ZXh0IHtcbiAgICAgICAgb3BhY2l0eTogQGRpc2FibGVkT3BhY2l0eTtcbiAgICB9XG59XG5cbi8qIFNpemVzICovXG5zcGFuLnVpLm1lZGl1bS50ZXh0IHtcbiAgICBmb250LXNpemU6IEBtZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uVGV4dFNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25UZXh0U2l6ZXMsIHtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIHNwYW4udWkuQHt2YWx1ZX0udGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gQnJlYWRjcnVtYlxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiY29sbGVjdGlvblwiO1xuQGVsZW1lbnQ6IFwiYnJlYWRjcnVtYlwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQnJlYWRjcnVtYlxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmJyZWFkY3J1bWIge1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZUhlaWdodDtcbiAgICBkaXNwbGF5OiBAZGlzcGxheTtcbiAgICBtYXJnaW46IEB2ZXJ0aWNhbE1hcmdpbiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBAdmVydGljYWxBbGlnbjtcbn1cbi51aS5icmVhZGNydW1iOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLmJyZWFkY3J1bWI6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBEaXZpZGVyICovXG4udWkuYnJlYWRjcnVtYiAuZGl2aWRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG9wYWNpdHk6IEBkaXZpZGVyT3BhY2l0eTtcbiAgICBtYXJnaW46IDAgQGRpdmlkZXJTcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogQGRpdmlkZXJTaXplO1xuICAgIGNvbG9yOiBAZGl2aWRlckNvbG9yO1xuICAgIHZlcnRpY2FsLWFsaWduOiBAZGl2aWRlclZlcnRpY2FsQWxpZ247XG59XG5cbi8qIExpbmsgKi9cbi51aS5icmVhZGNydW1iIGEge1xuICAgIGNvbG9yOiBAbGlua0NvbG9yO1xufVxuLnVpLmJyZWFkY3J1bWIgYTpob3ZlciB7XG4gICAgY29sb3I6IEBsaW5rSG92ZXJDb2xvcjtcbn1cblxuLyogSWNvbiBEaXZpZGVyICovXG4udWkuYnJlYWRjcnVtYiAuaWNvbi5kaXZpZGVyIHtcbiAgICBmb250LXNpemU6IEBpY29uRGl2aWRlclNpemU7XG4gICAgdmVydGljYWwtYWxpZ246IEBpY29uRGl2aWRlclZlcnRpY2FsQWxpZ247XG59XG5cbi8qIFNlY3Rpb24gKi9cbi51aS5icmVhZGNydW1iIGEuc2VjdGlvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnVpLmJyZWFkY3J1bWIgLnNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IEBzZWN0aW9uTWFyZ2luO1xuICAgIHBhZGRpbmc6IEBzZWN0aW9uUGFkZGluZztcbn1cblxuLyogTG9vc2UgQ291cGxpbmcgKi9cbi51aS5icmVhZGNydW1iLnNlZ21lbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiBAc2VnbWVudFBhZGRpbmc7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkJyZWFkY3J1bWJJbnZlcnRlZCkge1xuICAgIC8qIEludmVydGVkICovXG4gICAgLnVpLmludmVydGVkLmJyZWFkY3J1bWIge1xuICAgICAgICBjb2xvcjogQGludmVydGVkQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5icmVhZGNydW1iID4gLmFjdGl2ZS5zZWN0aW9uIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZEFjdGl2ZUNvbG9yO1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQuYnJlYWRjcnVtYiA+IC5kaXZpZGVyIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZERpdmlkZXJDb2xvcjtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5icmVhZGNydW1iIC5hY3RpdmUuc2VjdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6IEBhY3RpdmVGb250V2VpZ2h0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuYnJlYWRjcnVtYiB7XG4gICAgZm9udC1zaXplOiBAbWVkaXVtO1xufVxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkJyZWFkY3J1bWJTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uQnJlYWRjcnVtYlNpemVzLCB7XG4gICAgICAgIEBzOiBAQHZhbHVlO1xuICAgICAgICAudWkuQHt2YWx1ZX0uYnJlYWRjcnVtYiB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gRm9ybVxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiY29sbGVjdGlvblwiO1xuQGVsZW1lbnQ6IFwiZm9ybVwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdElubGluZTogaWYoQHZhcmlhdGlvbkZvcm1JbmxpbmUsIGUoXCI6bm90KC5pbmxpbmUpXCIpKTtcbkBub3RJbnZlcnRlZDogaWYoQHZhcmlhdGlvbkZvcm1JbnZlcnRlZCwgZShcIjpub3QoLmludmVydGVkKVwiKSk7XG5Abm90V2lkZTogaWYoQHZhcmlhdGlvbkZvcm1XaWRlLCBlKFwiOm5vdCgud2lkZSlcIikpO1xuQG5vdEdyb3VwZWQ6IGlmKEB2YXJpYXRpb25Gb3JtR3JvdXBlZCwgZShcIjpub3QoLmdyb3VwZWQpXCIpKTtcbkBub3RSZXF1aXJlZDogaWYoQHZhcmlhdGlvbkZvcm1SZXF1aXJlZCwgZShcIjpub3QoLnJlcXVpcmVkKVwiKSk7XG5Abm90VW5zdGFja2FibGU6IGlmKEB2YXJpYXRpb25Gb3JtVW5zdGFja2FibGUsIGUoXCI6bm90KC51bnN0YWNrYWJsZSlcIikpO1xuXG5Abm90VG9nZ2xlOiBpZihAdmFyaWF0aW9uQ2hlY2tib3hUb2dnbGUsIGUoXCI6bm90KC50b2dnbGUpXCIpKTtcbkBub3RTbGlkZXI6IGlmKEB2YXJpYXRpb25DaGVja2JveFNsaWRlciwgZShcIjpub3QoLnNsaWRlcilcIikpO1xuQG5vdENvbXBhY3Q6IGlmKEB2YXJpYXRpb25Ecm9wZG93bkNvbXBhY3QsIGUoXCI6bm90KC5jb21wYWN0KVwiKSk7XG5Abm90SWNvbjogaWYoQHZhcmlhdGlvbklucHV0SWNvbiwgZShcIjpub3QoLmljb24pXCIpKTtcbkBub3RDb3JuZXI6IGlmKEB2YXJpYXRpb25MYWJlbENvcm5lciwgZShcIjpub3QoLmNvcm5lcilcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvcm1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5mb3JtID4gcCB7XG4gICAgbWFyZ2luOiBAcGFyYWdyYXBoTWFyZ2luO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGaWVsZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5mb3JtIC5maWVsZCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiBAZmllbGRNYXJnaW47XG59XG5cbi51aS5mb3JtIC5maWVsZHMgLmZpZWxkcyxcbi51aS5mb3JtIC5maWVsZDpsYXN0LWNoaWxkLFxuLnVpLmZvcm0gLmZpZWxkczpsYXN0LWNoaWxkIC5maWVsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnVpLmZvcm0gLmZpZWxkcyAuZmllbGQge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTGFiZWxzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmZvcm0gLmZpZWxkID4gbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogQGxhYmVsTWFyZ2luO1xuICAgIGZvbnQtc2l6ZTogQGxhYmVsRm9udFNpemU7XG4gICAgZm9udC13ZWlnaHQ6IEBsYWJlbEZvbnRXZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IEBsYWJlbFRleHRUcmFuc2Zvcm07XG59XG4udWkuZm9ybUB7bm90SW52ZXJ0ZWR9IC5maWVsZCA+IGxhYmVsOm5vdCguYnV0dG9uKSB7XG4gICAgY29sb3I6IEBsYWJlbENvbG9yO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFN0YW5kYXJkIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5mb3JtIHRleHRhcmVhLFxuLnVpLmZvcm0gaW5wdXQ6bm90KFt0eXBlXSksXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJtb250aFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRlbFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwid2Vla1wiXSB7XG4gICAgd2lkdGg6IEBpbnB1dFdpZHRoO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi8qIFNldCBtYXggaGVpZ2h0IG9uIHVudXN1YWwgaW5wdXQgKi9cbi51aS5mb3JtIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LFxuLnVpLmZvcm0gOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IEBpbnB1dExpbmVIZWlnaHQ7XG59XG5cbi51aS5mb3JtIGlucHV0Om5vdChbdHlwZV0pLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cIndlZWtcIl0ge1xuICAgIGZvbnQtZmFtaWx5OiBAaW5wdXRGb250O1xuICAgIG1hcmdpbjogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gICAgbGluZS1oZWlnaHQ6IEBpbnB1dExpbmVIZWlnaHQ7XG4gICAgcGFkZGluZzogQGlucHV0UGFkZGluZztcbiAgICBmb250LXNpemU6IEBpbnB1dEZvbnRTaXplO1xuICAgIGJhY2tncm91bmQ6IEBpbnB1dEJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiBAaW5wdXRCb3JkZXI7XG4gICAgY29sb3I6IEBpbnB1dENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IEBpbnB1dEJvcmRlclJhZGl1cztcbiAgICBib3gtc2hhZG93OiBAaW5wdXRCb3hTaGFkb3c7XG4gICAgdHJhbnNpdGlvbjogQGlucHV0VHJhbnNpdGlvbjtcbn1cbi51aS5mb3JtIGlucHV0W3R5cGU9XCJjb2xvclwiXSB7XG4gICAgcGFkZGluZzogaW5pdGlhbDtcbn1cblxuLnVpLmZvcm0gaW5wdXQ6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBvcGFjaXR5OiBAaWNvbk9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbjogQGljb25UcmFuc2l0aW9uO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogVGV4dCBBcmVhICovXG4udWkuaW5wdXQgdGV4dGFyZWEsXG4udWkuZm9ybSB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gICAgcGFkZGluZzogQHRleHRBcmVhUGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiBAdGV4dEFyZWFCYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogQHRleHRBcmVhQm9yZGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY29sb3I6IEBpbnB1dENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IEBpbnB1dEJvcmRlclJhZGl1cztcbiAgICBib3gtc2hhZG93OiBAaW5wdXRCb3hTaGFkb3c7XG4gICAgdHJhbnNpdGlvbjogQHRleHRBcmVhVHJhbnNpdGlvbjtcbiAgICBmb250LXNpemU6IEB0ZXh0QXJlYUZvbnRTaXplO1xuICAgIGZvbnQtZmFtaWx5OiBAaW5wdXRGb250O1xuICAgIGxpbmUtaGVpZ2h0OiBAdGV4dEFyZWFMaW5lSGVpZ2h0O1xuICAgIHJlc2l6ZTogQHRleHRBcmVhUmVzaXplO1xuICAgIG1pbi1oZWlnaHQ6IEBhY3Rpb25UZXh0YXJlYU1pbkhlaWdodDtcbn1cbi51aS5pbnB1dCA+IHRleHRhcmVhIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG4udWkuZm9ybSB0ZXh0YXJlYTpub3QoW3Jvd3NdKSB7XG4gICAgaGVpZ2h0OiBAdGV4dEFyZWFIZWlnaHQ7XG4gICAgbWluLWhlaWdodDogQHRleHRBcmVhTWluSGVpZ2h0O1xuICAgIG1heC1oZWlnaHQ6IEB0ZXh0QXJlYU1heEhlaWdodDtcbn1cblxuLnVpLmZvcm0gdGV4dGFyZWEsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBAY2hlY2tib3hWZXJ0aWNhbEFsaWduO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENoZWNrYm94IG1hcmdpblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5mb3JtIC5maWVsZHNAe25vdEdyb3VwZWR9QHtub3RJbmxpbmV9IC5maWVsZDpub3QoOm9ubHktY2hpbGQpIGxhYmVsICsgLnVpLnVpLmNoZWNrYm94IHtcbiAgICBtYXJnaW4tdG9wOiBAY2hlY2tib3hMYWJlbEZpZWxkVG9wTWFyZ2luO1xufVxuLnVpLmZvcm0gLmZpZWxkc0B7bm90R3JvdXBlZH1Ae25vdElubGluZX0gLmZpZWxkOm5vdCg6b25seS1jaGlsZCkgLnVpLmNoZWNrYm94IHtcbiAgICBtYXJnaW4tdG9wOiBAaW5wdXRMaW5lSGVpZ2h0ICsgQGNoZWNrYm94RmllbGRUb3BNYXJnaW47XG59XG4udWkuZm9ybSAuZmllbGRzQHtub3RHcm91cGVkfUB7bm90SW5saW5lfSAuZmllbGQ6bm90KDpvbmx5LWNoaWxkKSAudWkudG9nZ2xlLmNoZWNrYm94IHtcbiAgICBtYXJnaW4tdG9wOiBAaW5wdXRMaW5lSGVpZ2h0ICsgQGNoZWNrYm94VG9nZ2xlRmllbGRUb3BNYXJnaW47XG59XG4udWkuZm9ybSAuZmllbGRzQHtub3RHcm91cGVkfUB7bm90SW5saW5lfSAuZmllbGQ6bm90KDpvbmx5LWNoaWxkKSAudWkuc2xpZGVyLmNoZWNrYm94IHtcbiAgICBtYXJnaW4tdG9wOiBAaW5wdXRMaW5lSGVpZ2h0ICsgQGNoZWNrYm94U2xpZGVyRmllbGRUb3BNYXJnaW47XG59XG4udWkudWkuZm9ybSAuZmllbGQgLmZpZWxkcyAuZmllbGQ6bm90KDpvbmx5LWNoaWxkKSAudWkuY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IChAY2hlY2tib3hGaWVsZFRvcE1hcmdpbiAvIDIpO1xufVxuLnVpLnVpLmZvcm0gLmZpZWxkIC5maWVsZHMgLmZpZWxkOm5vdCg6b25seS1jaGlsZCkgLnVpLnRvZ2dsZS5jaGVja2JveCB7XG4gICAgbWFyZ2luLXRvcDogKEBjaGVja2JveFRvZ2dsZUZpZWxkVG9wTWFyZ2luIC8gMik7XG59XG4udWkudWkuZm9ybSAuZmllbGQgLmZpZWxkcyAuZmllbGQ6bm90KDpvbmx5LWNoaWxkKSAudWkuc2xpZGVyLmNoZWNrYm94IHtcbiAgICBtYXJnaW4tdG9wOiAoQGNoZWNrYm94U2xpZGVyRmllbGRUb3BNYXJnaW4gLyAyKTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRm9ybVRyYW5zcGFyZW50KSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBUcmFuc3BhcmVudFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZvcm0gLmZpZWxkIC50cmFuc3BhcmVudC5pbnB1dEB7bm90SWNvbn0gaW5wdXQsXG4gICAgLnVpLmZvcm0gLmZpZWxkIGlucHV0LnRyYW5zcGFyZW50LFxuICAgIC51aS5mb3JtIC5maWVsZCB0ZXh0YXJlYS50cmFuc3BhcmVudCB7XG4gICAgICAgIHBhZGRpbmc6IEB0cmFuc3BhcmVudFBhZGRpbmc7XG4gICAgfVxuXG4gICAgLnVpLmZvcm0gLmZpZWxkIGlucHV0LnRyYW5zcGFyZW50LFxuICAgIC51aS5mb3JtIC5maWVsZCB0ZXh0YXJlYS50cmFuc3BhcmVudCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSW5wdXQgdy8gYXR0YWNoZWQgQnV0dG9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmZvcm0gaW5wdXQuYXR0YWNoZWQge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCYXNpYyBTZWxlY3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZm9ybSBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBAc2VsZWN0QmFja2dyb3VuZDtcbiAgICBib3JkZXI6IEBzZWxlY3RCb3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogQHNlbGVjdEJvcmRlclJhZGl1cztcbiAgICBib3gtc2hhZG93OiBAc2VsZWN0Qm94U2hhZG93O1xuICAgIHBhZGRpbmc6IEBzZWxlY3RQYWRkaW5nO1xuICAgIGNvbG9yOiBAc2VsZWN0Q29sb3I7XG4gICAgdHJhbnNpdGlvbjogQHNlbGVjdFRyYW5zaXRpb247XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRHJvcGRvd25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBCbG9jayAqL1xuLnVpLmZvcm0gLmZpZWxkID4gLnNlbGVjdGlvbi5kcm9wZG93bkB7bm90Q29tcGFjdH0ge1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbn1cbi51aS5mb3JtIC5maWVsZCA+IC5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Gb3JtSW5saW5lKSB7XG4gICAgLyogSW5saW5lICovXG4gICAgLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gLnNlbGVjdGlvbi5kcm9wZG93bixcbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkID4gLnNlbGVjdGlvbi5kcm9wZG93biB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiAuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24sXG4gICAgLnVpLmZvcm0gLmlubGluZS5maWVsZCA+IC5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBVSSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIEJsb2NrICovXG4udWkuZm9ybSAuZmllbGQgLnVpLmlucHV0LFxuLnVpLmZvcm0gLmZpZWxkcyAuZmllbGQgLnVpLmlucHV0LFxuLnVpLmZvcm0gLndpZGUuZmllbGQgLnVpLmlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRm9ybUlubGluZSkge1xuICAgIC8qIElubGluZSAqL1xuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZEB7bm90V2lkZX0gLnVpLmlucHV0LFxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGRAe25vdFdpZGV9IC51aS5pbnB1dCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbn1cblxuLyogQXV0byBJbnB1dCAqL1xuLnVpLmZvcm0gLmZpZWxkcyAuZmllbGQgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLmZpZWxkcyAuZmllbGQgLnVpLmlucHV0IHRleHRhcmVhLFxuLnVpLmZvcm0gLmZpZWxkIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC5maWVsZCAudWkuaW5wdXQgdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Gb3JtRXF1YWxXaWR0aCkgb3IgKEB2YXJpYXRpb25Gb3JtV2lkZSkge1xuICAgIC8qIEZ1bGwgV2lkdGggSW5wdXQgKi9cbiAgICAudWkuZm9ybSAudGVuLmZpZWxkcyAudWkuaW5wdXQgaW5wdXQsXG4gICAgLnVpLmZvcm0gLm5pbmUuZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbiAgICAudWkuZm9ybSAuZWlnaHQuZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbiAgICAudWkuZm9ybSAuc2V2ZW4uZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbiAgICAudWkuZm9ybSAuc2l4LmZpZWxkcyAudWkuaW5wdXQgaW5wdXQsXG4gICAgLnVpLmZvcm0gLmZpdmUuZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbiAgICAudWkuZm9ybSAuZm91ci5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuICAgIC51aS5mb3JtIC50aHJlZS5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuICAgIC51aS5mb3JtIC50d28uZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbiAgICAudWkuZm9ybSAud2lkZS5maWVsZCAudWkuaW5wdXQgaW5wdXQge1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVHlwZXMgb2YgTWVzc2FnZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkZvcm1TdGF0ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkZvcm1TdGF0ZXMsIHtcbiAgICAgICAgQHN0YXRlOiBAdmFsdWU7XG4gICAgICAgIC51aS5mb3JtIC5Ae3N0YXRlfS5tZXNzYWdlLFxuICAgICAgICAudWkuZm9ybSAuQHtzdGF0ZX0ubWVzc2FnZTplbXB0eSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8qIEFzc3VtcHRpb25zICovXG4udWkuZm9ybSAubWVzc2FnZTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFZhbGlkYXRpb24gUHJvbXB0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmZvcm0gLmZpZWxkIC5wcm9tcHQubGFiZWwge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgYmFja2dyb3VuZDogQHByb21wdEJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IEBwcm9tcHRCb3JkZXIgIWltcG9ydGFudDtcbiAgICBjb2xvcjogQHByb21wdFRleHRDb2xvciAhaW1wb3J0YW50O1xuICAgICYgbGk6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBAcHJvbXB0VGV4dENvbG9yO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkZvcm1JbmxpbmUpIHtcbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgLnByb21wdCxcbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkIC5wcm9tcHQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBtYXJnaW46IEBpbmxpbmVQcm9tcHRNYXJnaW47XG4gICAgfVxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCAucHJvbXB0OjpiZWZvcmUsXG4gICAgLnVpLmZvcm0gLmlubGluZS5maWVsZCAucHJvbXB0OjpiZWZvcmUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCBAaW5saW5lUHJvbXB0Qm9yZGVyV2lkdGggQGlubGluZVByb21wdEJvcmRlcldpZHRoO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBBdXRvZmlsbGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmZvcm0gLmZpZWxkLmZpZWxkIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwMHB4IEBpbnB1dEF1dG9GaWxsQmFja2dyb3VuZCBpbnNldCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogQGlucHV0QXV0b0ZpbGxCb3JkZXIgIWltcG9ydGFudDtcbn1cblxuLyogRm9jdXMgKi9cbi51aS5mb3JtIC5maWVsZC5maWVsZCBpbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxMDBweCBAaW5wdXRBdXRvRmlsbEZvY3VzQmFja2dyb3VuZCBpbnNldCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogQGlucHV0QXV0b0ZpbGxGb2N1c0JvcmRlciAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGxhY2Vob2xkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBicm93c2VycyByZXF1aXJlIHRoZXNlIHJ1bGVzIHNlcGFyYXRlICovXG4udWkuZm9ybSA6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogQGlucHV0UGxhY2Vob2xkZXJDb2xvcjtcbn1cbi51aS5mb3JtIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgd2hlbiAoQHN1cHBvcnRJRSkge1xuICAgIGNvbG9yOiBAaW5wdXRQbGFjZWhvbGRlckNvbG9yICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSA6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi51aS5mb3JtIDpmb2N1czo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBAaW5wdXRQbGFjZWhvbGRlckZvY3VzQ29sb3I7XG59XG4udWkuZm9ybSA6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHdoZW4gKEBzdXBwb3J0SUUpIHtcbiAgICBjb2xvcjogQGlucHV0UGxhY2Vob2xkZXJGb2N1c0NvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmZvcm0gaW5wdXQ6bm90KFt0eXBlXSk6Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyB7XG4gICAgY29sb3I6IEBpbnB1dEZvY3VzQ29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiBAaW5wdXRGb2N1c0JvcmRlckNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IEBpbnB1dEZvY3VzQm9yZGVyUmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IEBpbnB1dEZvY3VzQmFja2dyb3VuZDtcbiAgICBib3gtc2hhZG93OiBAaW5wdXRGb2N1c0JveFNoYWRvdztcbn1cbiYgd2hlbiAoQHZhcmlhdGlvbklucHV0QWN0aW9uKSB7XG4gICAgLnVpLmZvcm0gLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSB7XG4gICAgICAgICYgaW5wdXQ6bm90KFt0eXBlXSk6Zm9jdXMsXG4gICAgICAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpmb2N1cyxcbiAgICAgICAgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG4gICAgICAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbiAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuICAgICAgICBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXG4gICAgICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4gICAgICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbiAgICAgICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbiAgICAgICAgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbiAgICAgICAgaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4gICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuICAgICAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcbiAgICAgICAgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbiAgICAgICAgaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG4gICAgICAgIHRleHRhcmVhOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWkuZm9ybSAudWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQge1xuICAgICAgICAmIGlucHV0Om5vdChbdHlwZV0pLFxuICAgICAgICBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4gICAgICAgIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4gICAgICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgICAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gICAgICAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gICAgICAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4gICAgICAgIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4gICAgICAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi51aS5mb3JtIHRleHRhcmVhOmZvY3VzIHtcbiAgICBjb2xvcjogQHRleHRBcmVhRm9jdXNDb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEB0ZXh0QXJlYUZvY3VzQm9yZGVyQ29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogQHRleHRBcmVhRm9jdXNCb3JkZXJSYWRpdXM7XG4gICAgYmFja2dyb3VuZDogQHRleHRBcmVhRm9jdXNCYWNrZ3JvdW5kO1xuICAgIGJveC1zaGFkb3c6IEB0ZXh0QXJlYUZvY3VzQm94U2hhZG93O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyogRm9jdXMgKi9cbi51aS5mb3JtIGlucHV0OmZvY3VzOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICAgIG9wYWNpdHk6IEBpY29uRm9jdXNPcGFjaXR5O1xufVxuXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uRm9ybVN0YXRlcyA9IGZhbHNlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFN0YXRlc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIGVhY2goQHZhcmlhdGlvbkZvcm1TdGF0ZXMsIHtcbiAgICAgICAgQHN0YXRlOiBAdmFsdWU7XG4gICAgICAgIEBjOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtjb2xvcl07XG4gICAgICAgIEBiZzogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bYmFja2dyb3VuZF07XG4gICAgICAgIEBiZGM6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2JvcmRlckNvbG9yXTtcbiAgICAgICAgQGxiZzogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bbGFiZWxCYWNrZ3JvdW5kXTtcblxuICAgICAgICAvKiBPbiBGb3JtICovXG4gICAgICAgIC51aS5mb3JtLkB7c3RhdGV9IC5Ae3N0YXRlfS5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC51aS5mb3JtLkB7c3RhdGV9IC5jb21wYWN0LkB7c3RhdGV9Lm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC51aS5mb3JtLkB7c3RhdGV9IC5pY29uLkB7c3RhdGV9Lm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIE9uIEZpZWxkKHMpICovXG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLkB7c3RhdGV9Lm1lc3NhZ2U6bm90KDplbXB0eSksXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSAuQHtzdGF0ZX0ubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5jb21wYWN0LkB7c3RhdGV9Lm1lc3NhZ2U6bm90KDplbXB0eSksXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSAuY29tcGFjdC5Ae3N0YXRlfS5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5pY29uLkB7c3RhdGV9Lm1lc3NhZ2U6bm90KDplbXB0eSksXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSAuaWNvbi5Ae3N0YXRlfS5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAudWkudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCBsYWJlbCxcbiAgICAgICAgLnVpLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgLnVpLmxhYmVsQHtub3RDb3JuZXJ9LFxuICAgICAgICAudWkudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gbGFiZWwsXG4gICAgICAgIC51aS51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSAudWkubGFiZWxAe25vdENvcm5lcn0sXG4gICAgICAgIC51aS51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIC5pbnB1dCxcbiAgICAgICAgLnVpLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IC5pbnB1dCB7XG4gICAgICAgICAgICBjb2xvcjogQGM7XG4gICAgICAgIH1cblxuICAgICAgICBAc3VwcG9ydHMgc2VsZWN0b3IoOmhhcyguZikpIHtcbiAgICAgICAgICAgIC51aS5mb3JtIC5maWVsZHM6aGFzKC5Ae3N0YXRlfSkgPiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgLnVpLmxhYmVsLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gLnVpLmxhYmVsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBsYmc7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCAuY29ybmVyLmxhYmVsLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gLmNvcm5lci5sYWJlbCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBjO1xuICAgICAgICAgICAgY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2Nvcm5lckxhYmVsQ29sb3JdO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgdGV4dGFyZWEsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIHNlbGVjdCxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgaW5wdXQ6bm90KFt0eXBlXSksXG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgaW5wdXRbdHlwZT1cInVybFwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgaW5wdXRbdHlwZT1cIndlZWtcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSB0ZXh0YXJlYSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IHNlbGVjdCxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0Om5vdChbdHlwZV0pLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwidXJsXCJdLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXRbdHlwZT1cIndlZWtcIl0ge1xuICAgICAgICAgICAgY29sb3I6IEBjO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGJnO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtib3JkZXJDb2xvcl07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtib3JkZXJSYWRpdXNdO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bYm94U2hhZG93XTtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEBzdGF0ZT1lcnJvcikgYW5kIChAdmFyaWF0aW9uRm9ybUludmFsaWQpIHtcbiAgICAgICAgICAgIC51aS5mb3JtOm5vdCguaW5pdGlhbCkgLmZpZWxkIGlucHV0OmludmFsaWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAYztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYmc7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtib3JkZXJDb2xvcl07XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bYm9yZGVyUmFkaXVzXTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtib3hTaGFkb3ddO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IHRleHRhcmVhOmZvY3VzLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gc2VsZWN0OmZvY3VzLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXQ6bm90KFt0eXBlXSk6Zm9jdXMsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtpbnB1dEZvY3VzQmFja2dyb3VuZF07XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2lucHV0Rm9jdXNCb3JkZXJDb2xvcl07XG4gICAgICAgICAgICBjb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1baW5wdXRGb2N1c0NvbG9yXTtcblxuICAgICAgICAgICAgYm94LXNoYWRvdzogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1baW5wdXRGb2N1c0JveFNoYWRvd107XG4gICAgICAgIH1cblxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gPiB0ZXh0YXJlYTpob3Zlcjpub3QoOmZvY3VzKSxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9ID4gaW5wdXQ6aG92ZXI6bm90KDpmb2N1cykge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtpbnB1dEhvdmVyQm9yZGVyQ29sb3JdO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogUHJlc2VydmUgTmF0aXZlIFNlbGVjdCBTdHlsaW5ncyAqL1xuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gc2VsZWN0IHtcbiAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVudWxpc3QtYnV0dG9uO1xuICAgICAgICB9XG5cbiAgICAgICAgLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIElucHV0IFN0YXRlXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRm9ybVRyYW5zcGFyZW50KSB7XG4gICAgICAgICAgICAvKiBUcmFuc3BhcmVudCAqL1xuICAgICAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IC50cmFuc3BhcmVudC5pbnB1dCBpbnB1dCxcbiAgICAgICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSAudHJhbnNwYXJlbnQuaW5wdXQgdGV4dGFyZWEsXG4gICAgICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gaW5wdXQudHJhbnNwYXJlbnQsXG4gICAgICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gdGV4dGFyZWEudHJhbnNwYXJlbnQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW3RyYW5zcGFyZW50QmFja2dyb3VuZF0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bdHJhbnNwYXJlbnRDb2xvcl0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEF1dG9maWxsZWQgKi9cbiAgICAgICAgLnVpLmZvcm0gLkB7c3RhdGV9LkB7c3RhdGV9IGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTAwcHggQGZvcm1TdGF0ZXNbQEBzdGF0ZV1baW5wdXRBdXRvRmlsbEJhY2tncm91bmRdIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2lucHV0QXV0b0ZpbGxCb3JkZXJDb2xvcl0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFBsYWNlaG9sZGVyICovXG4gICAgICAgIC51aS5mb3JtIC5Ae3N0YXRlfSAudWkuZHJvcGRvd24gPiAuZGVmYXVsdC50ZXh0LFxuICAgICAgICAudWkuZm9ybSAuQHtzdGF0ZX0gOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1baW5wdXRQbGFjZWhvbGRlckNvbG9yXTtcbiAgICAgICAgfVxuICAgICAgICAudWkuZm9ybSAuQHtzdGF0ZX0gOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB3aGVuIChAc3VwcG9ydElFKSB7XG4gICAgICAgICAgICBjb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1baW5wdXRQbGFjZWhvbGRlckNvbG9yXSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLmZvcm0gLkB7c3RhdGV9IC51aS5kcm9wZG93biA+IGlucHV0OmZvY3VzIH4gLmRlZmF1bHQudGV4dCxcbiAgICAgICAgLnVpLmZvcm0gLkB7c3RhdGV9IDpmb2N1czo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2lucHV0UGxhY2Vob2xkZXJGb2N1c0NvbG9yXTtcbiAgICAgICAgfVxuICAgICAgICAudWkuZm9ybSAuQHtzdGF0ZX0gOmZvY3VzOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB3aGVuIChAc3VwcG9ydElFKSB7XG4gICAgICAgICAgICBjb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1baW5wdXRQbGFjZWhvbGRlckZvY3VzQ29sb3JdICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgRHJvcGRvd24gU3RhdGVcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIC51aS5kcm9wZG93bixcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgLnVpLmRyb3Bkb3duIC5pdGVtLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gLnVpLmRyb3Bkb3duLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gLnVpLmRyb3Bkb3duID4gLnRleHQsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSAudWkuZHJvcGRvd24gLml0ZW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGJnO1xuICAgICAgICAgICAgY29sb3I6IEBjO1xuICAgICAgICB9XG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIC51aS5kcm9wZG93bixcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IC51aS5kcm9wZG93biB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBiZGMgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCAudWkuZHJvcGRvd246aG92ZXIsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSAudWkuZHJvcGRvd246aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAYmRjICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgLnVpLmRyb3Bkb3duOmhvdmVyIC5tZW51LFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gLnVpLmRyb3Bkb3duOmhvdmVyIC5tZW51IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGJkYztcbiAgICAgICAgfVxuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCAudWkubXVsdGlwbGUuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmxhYmVsLFxuICAgICAgICAudWkuZm9ybSAuZmllbGQuQHtzdGF0ZX0gLnVpLm11bHRpcGxlLnNlbGVjdGlvbi5kcm9wZG93biA+IC5sYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtkcm9wZG93bkxhYmVsQmFja2dyb3VuZF07XG4gICAgICAgICAgICBjb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bZHJvcGRvd25MYWJlbENvbG9yXTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEhvdmVyICovXG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIC51aS5kcm9wZG93biAubWVudSAuaXRlbTpob3ZlcixcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IC51aS5kcm9wZG93biAubWVudSAuaXRlbTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtkcm9wZG93bkhvdmVyQmFja2dyb3VuZF07XG4gICAgICAgIH1cblxuICAgICAgICAvKiBTZWxlY3RlZCAqL1xuICAgICAgICAudWkuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCAudWkuZHJvcGRvd24gLm1lbnUgLnNlbGVjdGVkLml0ZW0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSAudWkuZHJvcGRvd24gLm1lbnUgLnNlbGVjdGVkLml0ZW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bZHJvcGRvd25TZWxlY3RlZEJhY2tncm91bmRdO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogQWN0aXZlICovXG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIC51aS5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0sXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSAudWkuZHJvcGRvd24gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2Ryb3Bkb3duQWN0aXZlQmFja2dyb3VuZF0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIENoZWNrYm94IFN0YXRlXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gICAgICAgIC51aS5mb3JtIC5maWVsZHMuQHtzdGF0ZX0gLmZpZWxkIC5jaGVja2JveEB7bm90VG9nZ2xlfUB7bm90U2xpZGVyfSBsYWJlbCxcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IC5jaGVja2JveEB7bm90VG9nZ2xlfUB7bm90U2xpZGVyfSBsYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogQGM7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgLmNoZWNrYm94QHtub3RUb2dnbGV9QHtub3RTbGlkZXJ9IGxhYmVsOjpiZWZvcmUsXG4gICAgICAgIC51aS5mb3JtIC5maWVsZC5Ae3N0YXRlfSAuY2hlY2tib3hAe25vdFRvZ2dsZX1Ae25vdFNsaWRlcn0gbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYmc7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBiZGM7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkcy5Ae3N0YXRlfSAuZmllbGQgLmNoZWNrYm94IGxhYmVsOjphZnRlcixcbiAgICAgICAgLnVpLmZvcm0gLmZpZWxkLkB7c3RhdGV9IC5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6IEBjO1xuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRm9ybUludmVydGVkKSB7XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuZm9ybSAuZmllbGRzLkB7c3RhdGV9IC5maWVsZCBsYWJlbCxcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5mb3JtIC5Ae3N0YXRlfS5maWVsZCBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBsYmc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKC5mKSkge1xuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5mb3JtIC5maWVsZHM6aGFzKC5Ae3N0YXRlfSkgPiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAbGJnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Gb3JtRGlzYWJsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBEaXNhYmxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZvcm0gLmRpc2FibGVkLmZpZWxkcyAuZmllbGQsXG4gICAgLnVpLmZvcm0gLmRpc2FibGVkLmZpZWxkLFxuICAgIC51aS5mb3JtIC5maWVsZCA6ZGlzYWJsZWQge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogQGRpc2FibGVkUG9pbnRlckV2ZW50cztcbiAgICAgICAgb3BhY2l0eTogQGRpc2FibGVkT3BhY2l0eTtcbiAgICB9XG4gICAgLnVpLmZvcm0gLmZpZWxkLmRpc2FibGVkID4gbGFiZWwsXG4gICAgLnVpLmZvcm0gLmZpZWxkcy5kaXNhYmxlZCA+IGxhYmVsIHtcbiAgICAgICAgb3BhY2l0eTogQGRpc2FibGVkTGFiZWxPcGFjaXR5O1xuICAgIH1cbiAgICAudWkuZm9ybSAuZmllbGQuZGlzYWJsZWQgOmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkZvcm1Mb2FkaW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTG9hZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmxvYWRpbmcuZm9ybSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgLnVpLmxvYWRpbmcuZm9ybTo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IEBsb2FkZXJEaW1tZXJDb2xvcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogQGxvYWRlckRpbW1lclpJbmRleDtcbiAgICB9XG5cbiAgICAudWkubG9hZGluZy5mb3JtLnNlZ21lbnRzOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAZGVmYXVsdEJvcmRlclJhZGl1cztcbiAgICB9XG5cbiAgICAudWkubG9hZGluZy5mb3JtOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luOiBAbG9hZGVyTWFyZ2luO1xuICAgICAgICB3aWR0aDogQGxvYWRlclNpemU7XG4gICAgICAgIGhlaWdodDogQGxvYWRlclNpemU7XG4gICAgICAgIGFuaW1hdGlvbjogbG9hZGVyIEBsb2FkZXJTcGVlZCBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgIGJvcmRlcjogQGxvYWRlckxpbmVXaWR0aCBzb2xpZCBAbG9hZGVyTGluZUNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgei1pbmRleDogQGxvYWRlckxpbmVaSW5kZXg7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgRWxlbWVudCBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uRm9ybVJlcXVpcmVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFJlcXVpcmVkIEZpZWxkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZm9ybSAucmVxdWlyZWQuZmllbGRzQHtub3RHcm91cGVkfUB7bm90SW5saW5lfSA+IC5maWVsZCA+IGxhYmVsOjphZnRlcixcbiAgICAudWkuZm9ybSAucmVxdWlyZWQuZmllbGRzLmlubGluZSA+IGxhYmVsOjphZnRlcixcbiAgICAudWkuZm9ybSAucmVxdWlyZWQuZmllbGRzLmdyb3VwZWQgPiBsYWJlbDo6YWZ0ZXIsXG4gICAgLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkID4gbGFiZWw6OmFmdGVyLFxuICAgIC51aS5mb3JtIC5yZXF1aXJlZC5maWVsZHNAe25vdEdyb3VwZWR9QHtub3RJbmxpbmV9ID4gLmZpZWxkID4gLmNoZWNrYm94OjphZnRlcixcbiAgICAudWkuZm9ybSAucmVxdWlyZWQuZmllbGQgPiAuY2hlY2tib3g6OmFmdGVyLFxuICAgIC51aS5mb3JtIGxhYmVsLnJlcXVpcmVkOjphZnRlciB7XG4gICAgICAgIG1hcmdpbjogQHJlcXVpcmVkTWFyZ2luO1xuICAgICAgICBjb250ZW50OiBAcmVxdWlyZWRDb250ZW50O1xuICAgICAgICBjb2xvcjogQHJlcXVpcmVkQ29sb3I7XG4gICAgfVxuXG4gICAgLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkc0B7bm90R3JvdXBlZH1Ae25vdElubGluZX0gPiAuZmllbGQgPiBsYWJlbDo6YWZ0ZXIsXG4gICAgLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkcy5pbmxpbmUgPiBsYWJlbDo6YWZ0ZXIsXG4gICAgLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkcy5ncm91cGVkID4gbGFiZWw6OmFmdGVyLFxuICAgIC51aS5mb3JtIC5yZXF1aXJlZC5maWVsZCA+IGxhYmVsOjphZnRlcixcbiAgICAudWkuZm9ybSBsYWJlbC5yZXF1aXJlZDo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG4gICAgLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkc0B7bm90R3JvdXBlZH1Ae25vdElubGluZX0gPiAuZmllbGQgPiAuY2hlY2tib3g6OmFmdGVyLFxuICAgIC51aS5mb3JtIC5yZXF1aXJlZC5maWVsZCA+IC5jaGVja2JveDo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG59XG5cbi51aS51aS51aS51aS5mb3JtIC5maWVsZHNAe25vdFJlcXVpcmVkfSA+IGxhYmVsOmVtcHR5OjphZnRlcixcbi51aS51aS51aS51aS5mb3JtIC5maWVsZHNAe25vdEdyb3VwZWR9QHtub3RJbmxpbmV9ID4gLmZpZWxkQHtub3RSZXF1aXJlZH0gPiBsYWJlbDplbXB0eTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnVpLnVpLnVpLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkQHtub3RSZXF1aXJlZH0gPiBsYWJlbDplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uRm9ybUludmVydGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW52ZXJ0ZWQgQ29sb3JzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaW52ZXJ0ZWQuZm9ybSBsYWJlbCxcbiAgICAudWkuZm9ybSAuaW52ZXJ0ZWQuc2VnbWVudCBsYWJlbCxcbiAgICAudWkuZm9ybSAuaW52ZXJ0ZWQuc2VnbWVudCAudWkuY2hlY2tib3ggbGFiZWwsXG4gICAgLnVpLmludmVydGVkLmZvcm0gLnVpLmNoZWNrYm94IGxhYmVsLFxuICAgIC51aS5pbnZlcnRlZC5mb3JtIC5ncm91cGVkLmZpZWxkcyA+IGxhYmVsLFxuICAgIC51aS5pbnZlcnRlZC5mb3JtIC5pbmxpbmUuZmllbGRzID4gbGFiZWwsXG4gICAgLnVpLmludmVydGVkLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gbGFiZWwsXG4gICAgLnVpLmludmVydGVkLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gcCxcbiAgICAudWkuaW52ZXJ0ZWQuZm9ybSAuaW5saW5lLmZpZWxkID4gbGFiZWwsXG4gICAgLnVpLmludmVydGVkLmZvcm0gLmlubGluZS5maWVsZCA+IHAge1xuICAgICAgICBjb2xvcjogQGludmVydGVkTGFiZWxDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLmxvYWRpbmcuZm9ybSB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRMb2FkZXJMaW5lQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5sb2FkaW5nLmZvcm06OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBsb2FkZXJJbnZlcnRlZERpbW1lckNvbG9yO1xuICAgIH1cblxuICAgIC8qIEludmVydGVkIEZpZWxkICovXG4gICAgLnVpLmludmVydGVkLmZvcm0gaW5wdXQ6bm90KFt0eXBlXSksXG4gICAgLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuICAgIC51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuICAgIC51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgICAudWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuICAgIC51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gICAgLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgIC51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gICAgLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgICAudWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgICAudWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAudWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbiAgICAudWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwidXJsXCJdLFxuICAgIC51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJ3ZWVrXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkSW5wdXRCYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItY29sb3I6IEBpbnZlcnRlZElucHV0Qm9yZGVyQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRJbnB1dENvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBAaW52ZXJ0ZWRJbnB1dEJveFNoYWRvdztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkZvcm1Hcm91cGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZpZWxkIEdyb3Vwc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogR3JvdXBlZCBWZXJ0aWNhbGx5ICovXG5cbiAgICAudWkuZm9ybSAuZ3JvdXBlZC5maWVsZHMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiBAZ3JvdXBlZE1hcmdpbjtcbiAgICB9XG5cbiAgICAudWkuZm9ybSAuZ3JvdXBlZC5maWVsZHM6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnVpLmZvcm0gLmdyb3VwZWQuZmllbGRzID4gbGFiZWwge1xuICAgICAgICBtYXJnaW46IEBncm91cGVkTGFiZWxNYXJnaW47XG4gICAgICAgIGNvbG9yOiBAZ3JvdXBlZExhYmVsQ29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogQGdyb3VwZWRMYWJlbEZvbnRTaXplO1xuICAgICAgICBmb250LXdlaWdodDogQGdyb3VwZWRMYWJlbEZvbnRXZWlnaHQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBAZ3JvdXBlZExhYmVsVGV4dFRyYW5zZm9ybTtcbiAgICB9XG5cbiAgICAudWkuZm9ybSAuZ3JvdXBlZC5maWVsZHMgLmZpZWxkLFxuICAgIC51aS5mb3JtIC5ncm91cGVkLmlubGluZS5maWVsZHMgLmZpZWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogQGdyb3VwZWRGaWVsZE1hcmdpbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLnVpLmZvcm0gLmdyb3VwZWQuaW5saW5lLmZpZWxkcyAudWkuY2hlY2tib3gge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBAZ3JvdXBlZElubGluZUNoZWNrYm94Qm90dG9tTWFyZ2luO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRmllbGRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogU3BsaXQgZmllbGRzICovXG4udWkuZm9ybSAuZmllbGRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luOiBAZmllbGRzTWFyZ2luO1xufVxuLnVpLmZvcm0gLmZpZWxkcyA+IC5maWVsZCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAoQGd1dHRlcldpZHRoIC8gMik7XG4gICAgcGFkZGluZy1yaWdodDogKEBndXR0ZXJXaWR0aCAvIDIpO1xufVxuLnVpLmZvcm0gLmZpZWxkcyA+IC5maWVsZDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRm9ybUVxdWFsV2lkdGgpIHtcbiAgICAvKiBPdGhlciBDb21iaW5hdGlvbnMgKi9cbiAgICAudWkuZm9ybSAudHdvLmZpZWxkcyA+IC5maWVsZHMsXG4gICAgLnVpLmZvcm0gLnR3by5maWVsZHMgPiAuZmllbGQge1xuICAgICAgICB3aWR0aDogQHR3b0NvbHVtbjtcbiAgICB9XG4gICAgLnVpLmZvcm0gLnRocmVlLmZpZWxkcyA+IC5maWVsZHMsXG4gICAgLnVpLmZvcm0gLnRocmVlLmZpZWxkcyA+IC5maWVsZCB7XG4gICAgICAgIHdpZHRoOiBAdGhyZWVDb2x1bW47XG4gICAgfVxuICAgIC51aS5mb3JtIC5mb3VyLmZpZWxkcyA+IC5maWVsZHMsXG4gICAgLnVpLmZvcm0gLmZvdXIuZmllbGRzID4gLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IEBmb3VyQ29sdW1uO1xuICAgIH1cbiAgICAudWkuZm9ybSAuZml2ZS5maWVsZHMgPiAuZmllbGRzLFxuICAgIC51aS5mb3JtIC5maXZlLmZpZWxkcyA+IC5maWVsZCB7XG4gICAgICAgIHdpZHRoOiBAZml2ZUNvbHVtbjtcbiAgICB9XG4gICAgLnVpLmZvcm0gLnNpeC5maWVsZHMgPiAuZmllbGRzLFxuICAgIC51aS5mb3JtIC5zaXguZmllbGRzID4gLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IEBzaXhDb2x1bW47XG4gICAgfVxuICAgIC51aS5mb3JtIC5zZXZlbi5maWVsZHMgPiAuZmllbGRzLFxuICAgIC51aS5mb3JtIC5zZXZlbi5maWVsZHMgPiAuZmllbGQge1xuICAgICAgICB3aWR0aDogQHNldmVuQ29sdW1uO1xuICAgIH1cbiAgICAudWkuZm9ybSAuZWlnaHQuZmllbGRzID4gLmZpZWxkcyxcbiAgICAudWkuZm9ybSAuZWlnaHQuZmllbGRzID4gLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IEBlaWdodENvbHVtbjtcbiAgICB9XG4gICAgLnVpLmZvcm0gLm5pbmUuZmllbGRzID4gLmZpZWxkcyxcbiAgICAudWkuZm9ybSAubmluZS5maWVsZHMgPiAuZmllbGQge1xuICAgICAgICB3aWR0aDogQG5pbmVDb2x1bW47XG4gICAgfVxuICAgIC51aS5mb3JtIC50ZW4uZmllbGRzID4gLmZpZWxkcyxcbiAgICAudWkuZm9ybSAudGVuLmZpZWxkcyA+IC5maWVsZCB7XG4gICAgICAgIHdpZHRoOiBAdGVuQ29sdW1uO1xuICAgIH1cbn1cblxuLyogU3dhcCB0byBmdWxsIHdpZHRoIG9uIG1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgIC51aS5mb3JtIC5maWVsZHMge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnVpLmZvcm1Ae25vdFVuc3RhY2thYmxlfSAuZmllbGRzQHtub3RVbnN0YWNrYWJsZX0gPiAuZmllbGRzLFxuICAgIC51aS5mb3JtQHtub3RVbnN0YWNrYWJsZX0gLmZpZWxkc0B7bm90VW5zdGFja2FibGV9ID4gLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IEBvbmVDb2x1bW47XG4gICAgICAgIG1hcmdpbjogMCAwIEByb3dEaXN0YW5jZTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkZvcm1XaWRlKSB7XG4gICAgLyogU2l6aW5nIENvbWJpbmF0aW9ucyAqL1xuICAgIC51aS5mb3JtIC5maWVsZHMgLndpZGUuZmllbGQge1xuICAgICAgICB3aWR0aDogQG9uZVdpZGU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogKEBndXR0ZXJXaWR0aCAvIDIpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlcldpZHRoIC8gMik7XG4gICAgfVxuXG4gICAgLnVpLmZvcm0gLm9uZS53aWRlLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IEBvbmVXaWRlO1xuICAgIH1cbiAgICAudWkuZm9ybSAudHdvLndpZGUuZmllbGQge1xuICAgICAgICB3aWR0aDogQHR3b1dpZGU7XG4gICAgfVxuICAgIC51aS5mb3JtIC50aHJlZS53aWRlLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IEB0aHJlZVdpZGU7XG4gICAgfVxuICAgIC51aS5mb3JtIC5mb3VyLndpZGUuZmllbGQge1xuICAgICAgICB3aWR0aDogQGZvdXJXaWRlO1xuICAgIH1cbiAgICAudWkuZm9ybSAuZml2ZS53aWRlLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IEBmaXZlV2lkZTtcbiAgICB9XG4gICAgLnVpLmZvcm0gLnNpeC53aWRlLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IEBzaXhXaWRlO1xuICAgIH1cbiAgICAudWkuZm9ybSAuc2V2ZW4ud2lkZS5maWVsZCB7XG4gICAgICAgIHdpZHRoOiBAc2V2ZW5XaWRlO1xuICAgIH1cbiAgICAudWkuZm9ybSAuZWlnaHQud2lkZS5maWVsZCB7XG4gICAgICAgIHdpZHRoOiBAZWlnaHRXaWRlO1xuICAgIH1cbiAgICAudWkuZm9ybSAubmluZS53aWRlLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IEBuaW5lV2lkZTtcbiAgICB9XG4gICAgLnVpLmZvcm0gLnRlbi53aWRlLmZpZWxkIHtcbiAgICAgICAgd2lkdGg6IEB0ZW5XaWRlO1xuICAgIH1cbiAgICAudWkuZm9ybSAuZWxldmVuLndpZGUuZmllbGQge1xuICAgICAgICB3aWR0aDogQGVsZXZlbldpZGU7XG4gICAgfVxuICAgIC51aS5mb3JtIC50d2VsdmUud2lkZS5maWVsZCB7XG4gICAgICAgIHdpZHRoOiBAdHdlbHZlV2lkZTtcbiAgICB9XG4gICAgLnVpLmZvcm0gLnRoaXJ0ZWVuLndpZGUuZmllbGQge1xuICAgICAgICB3aWR0aDogQHRoaXJ0ZWVuV2lkZTtcbiAgICB9XG4gICAgLnVpLmZvcm0gLmZvdXJ0ZWVuLndpZGUuZmllbGQge1xuICAgICAgICB3aWR0aDogQGZvdXJ0ZWVuV2lkZTtcbiAgICB9XG4gICAgLnVpLmZvcm0gLmZpZnRlZW4ud2lkZS5maWVsZCB7XG4gICAgICAgIHdpZHRoOiBAZmlmdGVlbldpZGU7XG4gICAgfVxuICAgIC51aS5mb3JtIC5zaXh0ZWVuLndpZGUuZmllbGQge1xuICAgICAgICB3aWR0aDogQHNpeHRlZW5XaWRlO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgRXF1YWwgV2lkdGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25Gb3JtRXF1YWxXaWR0aCkge1xuICAgIC51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5mb3JtIC5maWVsZHMgPiAuZmllbGQsXG4gICAgLnVpLmZvcm0gW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLmZpZWxkcyA+IC5maWVsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkZvcm1JbmxpbmUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbmxpbmUgRmllbGRzXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkcyB7XG4gICAgICAgIG1hcmdpbjogQGZpZWxkTWFyZ2luO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IEBpbmxpbmVGaWVsZHNNYXJnaW47XG4gICAgfVxuXG4gICAgLyogSW5saW5lIExhYmVsICovXG4gICAgLnVpLmZvcm0gLmlubGluZS5maWVsZHMgPiBsYWJlbCxcbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiBsYWJlbCxcbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiBwLFxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGQgPiBsYWJlbCxcbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkID4gcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgZm9udC1zaXplOiBAaW5saW5lTGFiZWxGb250U2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBpbmxpbmVMYWJlbEZvbnRXZWlnaHQ7XG4gICAgICAgIGNvbG9yOiBAaW5saW5lTGFiZWxDb2xvcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IEBpbmxpbmVMYWJlbFRleHRUcmFuc2Zvcm07XG4gICAgfVxuXG4gICAgLyogR3JvdXBlZCBJbmxpbmUgTGFiZWwgKi9cbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkcyA+IGxhYmVsIHtcbiAgICAgICAgbWFyZ2luOiBAZ3JvdXBlZElubGluZUxhYmVsTWFyZ2luO1xuICAgIH1cblxuICAgIC8qIElubGluZSBJbnB1dCAqL1xuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IGlucHV0LFxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IHNlbGVjdCxcbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkID4gaW5wdXQsXG4gICAgLnVpLmZvcm0gLmlubGluZS5maWVsZCA+IHNlbGVjdCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGZvbnQtc2l6ZTogQGlubGluZUlucHV0U2l6ZTtcbiAgICB9XG5cbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgLmNhbGVuZGFyOm5vdCgucG9wdXApLFxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGQgLmNhbGVuZGFyOm5vdCgucG9wdXApIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCAuY2FsZW5kYXI6bm90KC5wb3B1cCkgPiAuaW5wdXQgPiBpbnB1dCxcbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkIC5jYWxlbmRhcjpub3QoLnBvcHVwKSA+IC5pbnB1dCA+IGlucHV0IHtcbiAgICAgICAgd2lkdGg6IEBpbmxpbmVDYWxlbmRhcldpZHRoO1xuICAgIH1cblxuICAgIC8qIExhYmVsICovXG4gICAgLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gOmZpcnN0LWNoaWxkLFxuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW46IDAgQGlubGluZUxhYmVsRGlzdGFuY2UgMCAwO1xuICAgIH1cbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiA6b25seS1jaGlsZCxcbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkID4gOm9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyogV2lkZSAqL1xuICAgIC51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC53aWRlLmZpZWxkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLndpZGUuZmllbGQgPiBpbnB1dCxcbiAgICAudWkuZm9ybSAuaW5saW5lLmZpZWxkcyAud2lkZS5maWVsZCA+IHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZm9ybSxcbi51aS5mb3JtIC5maWVsZCAuZHJvcGRvd24sXG4udWkuZm9ybSAuZmllbGQgLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICAgIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25Gb3JtU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkZvcm1TaXplcywge1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9LmZvcm0sXG4gICAgICAgIC51aS5Ae3ZhbHVlfS5mb3JtIC5maWVsZCAuZHJvcGRvd24sXG4gICAgICAgIC51aS5Ae3ZhbHVlfS5mb3JtIC5maWVsZCAuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gR3JpZFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiY29sbGVjdGlvblwiO1xuQGVsZW1lbnQ6IFwiZ3JpZFwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdEFsaWduZWQ6IGlmKEB2YXJpYXRpb25HcmlkQWxpZ25lZCwgZShcIjpub3QoLmFsaWduZWQpXCIpKTtcbkBub3RKdXN0aWZpZWQ6IGlmKEB2YXJpYXRpb25HcmlkSnVzdGlmaWVkLCBlKFwiOm5vdCguanVzdGlmaWVkKVwiKSk7XG5Abm90U3RyZXRjaGVkOiBpZihAdmFyaWF0aW9uR3JpZFN0cmV0Y2hlZCwgZShcIjpub3QoLnN0cmV0Y2hlZClcIikpO1xuQG5vdFN0YWNrYWJsZTogaWYoQHZhcmlhdGlvbkdyaWRTdGFja2FibGUsIGUoXCI6bm90KC5zdGFja2FibGUpXCIpKTtcbkBub3RIb3Jpem9udGFsbHk6IGlmKEB2YXJpYXRpb25HcmlkSG9yaXpvbnRhbCwgZShcIjpub3QoLmhvcml6b250YWxseSlcIikpO1xuQG5vdFZlcnRpY2FsbHk6IGlmKEB2YXJpYXRpb25HcmlkVmVydGljYWwsIGUoXCI6bm90KC52ZXJ0aWNhbGx5KVwiKSk7XG5cbkBub3RBdHRhY2hlZDogaWYoQHZhcmlhdGlvblNlZ21lbnRBdHRhY2hlZCwgZShcIjpub3QoLmF0dGFjaGVkKVwiKSk7XG5Abm90Q29tcGFjdDogaWYoQHZhcmlhdGlvblNlZ21lbnRDb21wYWN0LCBlKFwiOm5vdCguY29tcGFjdClcIikpO1xuQG5vdFZlcnRpY2FsOiBpZihAdmFyaWF0aW9uU2VnbWVudFZlcnRpY2FsLCBlKFwiOm5vdCgudmVydGljYWwpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFJlbW92ZSBHdXR0ZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZ3JpZCB7XG4gICAgbWFyZ2luOiAtKEByb3dTcGFjaW5nIC8gMikgLShAZ3V0dGVyV2lkdGggLyAyKTtcbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkdyaWRSZWxheGVkKSB7XG4gICAgLnVpLnJlbGF4ZWQuZ3JpZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtKEByZWxheGVkR3V0dGVyV2lkdGggLyAyKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtKEByZWxheGVkR3V0dGVyV2lkdGggLyAyKTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZFZlcnlSZWxheGVkKSB7XG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uZ3JpZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLShAdmVyeVJlbGF4ZWRHdXR0ZXJXaWR0aCAvIDIpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtKEB2ZXJ5UmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIFByZXNlcnZlIFJvd3MgU3BhY2luZyBvbiBDb25zZWN1dGl2ZSBHcmlkcyAqL1xuLnVpLmdyaWQgKyAuZ3JpZCB7XG4gICAgbWFyZ2luLXRvcDogQGNvbnNlY3V0aXZlR3JpZERpc3RhbmNlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sdW1uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogU3RhbmRhcmQgMTYgY29sdW1uICovXG4udWkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogQG9uZVdpZGU7XG4gICAgcGFkZGluZy1sZWZ0OiAoQGd1dHRlcldpZHRoIC8gMik7XG4gICAgcGFkZGluZy1yaWdodDogKEBndXR0ZXJXaWR0aCAvIDIpO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi51aS5ncmlkID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAoQGd1dHRlcldpZHRoIC8gMik7XG4gICAgcGFkZGluZy1yaWdodDogKEBndXR0ZXJXaWR0aCAvIDIpO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFJvd3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5ncmlkID4gLnJvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGluaGVyaXQ7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBhZGRpbmctdG9wOiAoQHJvd1NwYWNpbmcgLyAyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogKEByb3dTcGFjaW5nIC8gMik7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2x1bW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBWZXJ0aWNhbCBwYWRkaW5nIHdoZW4gbm8gcm93cyAqL1xuLnVpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gICAgcGFkZGluZy10b3A6IChAcm93U3BhY2luZyAvIDIpO1xuICAgIHBhZGRpbmctYm90dG9tOiAoQHJvd1NwYWNpbmcgLyAyKTtcbn1cbi51aS5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmdyaWQgPiAucm93ID4gaW1nLFxuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbiA+IGltZyB7XG4gICAgbWF4LXdpZHRoOiBAY29sdW1uTWF4SW1hZ2VXaWR0aDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIExvb3NlIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBDb2xsYXBzZSBNYXJnaW4gb24gQ29uc2VjdXRpdmUgR3JpZCAqL1xuLnVpLmdyaWQgPiAudWkuZ3JpZDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5ncmlkID4gLnVpLmdyaWQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogU2VnbWVudCBpbnNpZGUgQWxpZ25lZCBHcmlkICovXG4udWkuZ3JpZCAuYWxpZ25lZC5yb3cgPiAuY29sdW1uID4gLnNlZ21lbnRAe25vdENvbXBhY3R9QHtub3RBdHRhY2hlZH0sXG4udWkuYWxpZ25lZC5ncmlkIC5jb2x1bW4gPiAuc2VnbWVudEB7bm90Q29tcGFjdH1Ae25vdEF0dGFjaGVkfSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIEFsaWduIERpdmlkZXJzIHdpdGggR3V0dGVyICovXG4udWkuZ3JpZCAucm93ICsgLnVpLmRpdmlkZXIge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXJnaW46IChAcm93U3BhY2luZyAvIDIpIChAZ3V0dGVyV2lkdGggLyAyKTtcbn1cbi51aS5ncmlkIC5jb2x1bW4gKyAudWkudmVydGljYWwuZGl2aWRlciB7XG4gICAgaGVpZ2h0OiBlKCUoXCJjYWxjKDUwJSUgLSAlZClcIiwgKEByb3dTcGFjaW5nIC8gMikpKTtcbn1cblxuLyogUmVtb3ZlIEJvcmRlciBvbiBMYXN0IEhvcml6b250YWwgU2VnbWVudCAqL1xuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkID4gLmhvcml6b250YWwuc2VnbWVudCxcbi51aS5ncmlkID4gLmNvbHVtbjpsYXN0LWNoaWxkID4gLmhvcml6b250YWwuc2VnbWVudCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uR3JpZFBhZ2UpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBQYWdlIEdyaWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgICAgIC51aS5wYWdlLmdyaWQge1xuICAgICAgICAgICAgd2lkdGg6IEBtb2JpbGVXaWR0aDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQG1vYmlsZUd1dHRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IEBtb2JpbGVHdXR0ZXI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RUYWJsZXRTY3JlZW4pIHtcbiAgICAgICAgLnVpLnBhZ2UuZ3JpZCB7XG4gICAgICAgICAgICB3aWR0aDogQHRhYmxldFdpZHRoO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0YWJsZXRNYXJnaW47XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0YWJsZXRNYXJnaW47XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEB0YWJsZXRHdXR0ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAdGFibGV0R3V0dGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGNvbXB1dGVyQnJlYWtwb2ludCkgYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0U21hbGxNb25pdG9yKSB7XG4gICAgICAgIC51aS5wYWdlLmdyaWQge1xuICAgICAgICAgICAgd2lkdGg6IEBjb21wdXRlcldpZHRoO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBjb21wdXRlck1hcmdpbjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQGNvbXB1dGVyTWFyZ2luO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAY29tcHV0ZXJHdXR0ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAY29tcHV0ZXJHdXR0ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAbGFyZ2VNb25pdG9yQnJlYWtwb2ludCkgYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TGFyZ2VNb25pdG9yKSB7XG4gICAgICAgIC51aS5wYWdlLmdyaWQge1xuICAgICAgICAgICAgd2lkdGg6IEBsYXJnZU1vbml0b3JXaWR0aDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAbGFyZ2VNb25pdG9yTWFyZ2luO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAbGFyZ2VNb25pdG9yTWFyZ2luO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAbGFyZ2VNb25pdG9yR3V0dGVyO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQGxhcmdlTW9uaXRvckd1dHRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB3aWRlc2NyZWVuTW9uaXRvckJyZWFrcG9pbnQpIHtcbiAgICAgICAgLnVpLnBhZ2UuZ3JpZCB7XG4gICAgICAgICAgICB3aWR0aDogQHdpZGVzY3JlZW5Nb25pdG9yV2lkdGg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHdpZGVzY3JlZW5NYXJnaW47XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB3aWRlc2NyZWVuTWFyZ2luO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAd2lkZXNjcmVlbk1vbml0b3JHdXR0ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAd2lkZXNjcmVlbk1vbml0b3JHdXR0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sdW1uIENvdW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBBc3N1bWUgZnVsbCB3aWR0aCB3aXRoIG9uZSBjb2x1bW4gKi9cbi51aS5ncmlkID4gLmNvbHVtbjpvbmx5LWNoaWxkLFxuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbjpvbmx5LWNoaWxkIHtcbiAgICB3aWR0aDogQG9uZUNvbHVtbjtcbn1cblxuLyogR3JpZCBCYXNlZCAqL1xuLnVpW2NsYXNzKj1cIm9uZSBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cIm9uZSBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgICB3aWR0aDogQG9uZUNvbHVtbjtcbn1cbi51aVtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gICAgd2lkdGg6IEB0d29Db2x1bW47XG59XG4udWlbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgICB3aWR0aDogQHRocmVlQ29sdW1uO1xufVxuLnVpW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICAgIHdpZHRoOiBAZm91ckNvbHVtbjtcbn1cbi51aVtjbGFzcyo9XCJmaXZlIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgICB3aWR0aDogQGZpdmVDb2x1bW47XG59XG4udWlbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICAgIHdpZHRoOiBAc2l4Q29sdW1uO1xufVxuLnVpW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gICAgd2lkdGg6IEBzZXZlbkNvbHVtbjtcbn1cbi51aVtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cImVpZ2h0IGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICAgIHdpZHRoOiBAZWlnaHRDb2x1bW47XG59XG4udWlbY2xhc3MqPVwibmluZSBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gICAgd2lkdGg6IEBuaW5lQ29sdW1uO1xufVxuLnVpW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgICB3aWR0aDogQHRlbkNvbHVtbjtcbn1cbi51aVtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gICAgd2lkdGg6IEBlbGV2ZW5Db2x1bW47XG59XG4udWlbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICAgIHdpZHRoOiBAdHdlbHZlQ29sdW1uO1xufVxuLnVpW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gICAgd2lkdGg6IEB0aGlydGVlbkNvbHVtbjtcbn1cbi51aVtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICAgIHdpZHRoOiBAZm91cnRlZW5Db2x1bW47XG59XG4udWlbY2xhc3MqPVwiZmlmdGVlbiBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gICAgd2lkdGg6IEBmaWZ0ZWVuQ29sdW1uO1xufVxuLnVpW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICAgIHdpZHRoOiBAc2l4dGVlbkNvbHVtbjtcbn1cblxuLyogUm93IEJhc2VkIE92ZXJyaWRlcyAqL1xuLnVpLmdyaWQgPiBbY2xhc3MqPVwib25lIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQG9uZUNvbHVtbiAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQHR3b0NvbHVtbiAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAdGhyZWVDb2x1bW4gIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZm91ckNvbHVtbiAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBmaXZlQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAc2l4Q29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBzZXZlbkNvbHVtbiAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZWlnaHRDb2x1bW4gIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAbmluZUNvbHVtbiAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidGVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQHRlbkNvbHVtbiAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQGVsZXZlbkNvbHVtbiAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQHR3ZWx2ZUNvbHVtbiAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAdGhpcnRlZW5Db2x1bW4gIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQGZvdXJ0ZWVuQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQGZpZnRlZW5Db2x1bW4gIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAc2l4dGVlbkNvbHVtbiAhaW1wb3J0YW50O1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25HcmlkQ2VsbGVkKSBhbmQgKEB2YXJpYXRpb25HcmlkUGFnZSkge1xuICAgIC8qIENlbGxlZCBQYWdlICovXG4gICAgLnVpLmNlbGxlZC5wYWdlLmdyaWQge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uR3JpZFdpZGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENvbHVtbiBXaWR0aFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBTaXppbmcgQ29tYmluYXRpb25zICovXG4gICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlXCJdLmNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiBAb25lV2lkZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGVcIl0uY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IEB0d29XaWRlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlXCJdLmNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiBAdGhyZWVXaWRlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGVcIl0uY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IEBmb3VyV2lkZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlXCJdLmNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiBAZml2ZVdpZGUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlXCJdLmNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiBAc2l4V2lkZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZVwiXS5jb2x1bW4ge1xuICAgICAgICB3aWR0aDogQHNldmVuV2lkZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZVwiXS5jb2x1bW4ge1xuICAgICAgICB3aWR0aDogQGVpZ2h0V2lkZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlXCJdLmNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiBAbmluZVdpZGUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlXCJdLmNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiBAdGVuV2lkZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGVcIl0uY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IEBlbGV2ZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZVwiXS5jb2x1bW4ge1xuICAgICAgICB3aWR0aDogQHR3ZWx2ZVdpZGUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGVcIl0uY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IEB0aGlydGVlbldpZGUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGVcIl0uY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IEBmb3VydGVlbldpZGUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4gICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZVwiXS5jb2x1bW4ge1xuICAgICAgICB3aWR0aDogQGZpZnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlXCJdLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGVcIl0uY29sdW1uLFxuICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGVcIl0uY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IEBzaXh0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgV2lkdGggcGVyIERldmljZVxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBNb2JpbGUgU2l6aW5nIENvbWJpbmF0aW9ucyAqL1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQG1vYmlsZUJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQG9uZVdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHR3b1dpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGhyZWVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZm91cldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmaXZlV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAc2l4V2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBzZXZlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZWlnaHRXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAbmluZVdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHRlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGVsZXZlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHR3ZWx2ZVdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGhpcnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZvdXJ0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZpZnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAc2l4dGVlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFRhYmxldCBTaXppbmcgQ29tYmluYXRpb25zICovXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAdGFibGV0QnJlYWtwb2ludCkgYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0VGFibGV0U2NyZWVuKSB7XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAb25lV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdvV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZVdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmb3VyV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZpdmVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBzaXhXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHNldmVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBlaWdodFdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBuaW5lV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZWxldmVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdlbHZlV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0aGlydGVlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZm91cnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZmlmdGVlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBzaXh0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogQ29tcHV0ZXIvRGVza3RvcCBTaXppbmcgQ29tYmluYXRpb25zICovXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAY29tcHV0ZXJCcmVha3BvaW50KSB7XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBvbmVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHR3b1dpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZVdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZvdXJXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmaXZlV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBzaXhXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAc2V2ZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZWlnaHRXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBuaW5lV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0ZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGVsZXZlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdlbHZlV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHRoaXJ0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZvdXJ0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZmlmdGVlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHNpeHRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBMYXJnZSBNb25pdG9yIFNpemluZyBDb21iaW5hdGlvbnMgKi9cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBsYXJnZU1vbml0b3JCcmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RMYXJnZU1vbml0b3IpIHtcbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBvbmVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0d29XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHRocmVlV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZvdXJXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZml2ZVdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHNpeFdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAc2V2ZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGVpZ2h0V2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQG5pbmVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0ZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBlbGV2ZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0d2VsdmVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHRoaXJ0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmb3VydGVlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmaWZ0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHNpeHRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBXaWRlc2NyZWVuIFNpemluZyBDb21iaW5hdGlvbnMgKi9cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB3aWRlc2NyZWVuTW9uaXRvckJyZWFrcG9pbnQpIHtcbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAb25lV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHR3b1dpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHRocmVlV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmb3VyV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmaXZlV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHNpeFdpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHNldmVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZWlnaHRXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQG5pbmVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGVsZXZlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0d2VsdmVXaWRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0aGlydGVlbldpZGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgICAgICAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZvdXJ0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmaWZ0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gICAgICAgIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBzaXh0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25HcmlkQ2VudGVyZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBDZW50ZXJlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2VudGVyZWQuZ3JpZCxcbiAgICAudWkuY2VudGVyZWQuZ3JpZCA+IC5yb3csXG4gICAgLnVpLmdyaWQgPiAuY2VudGVyZWQucm93IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLnVpLmNlbnRlcmVkLmdyaWQgPiAuY29sdW1uQHtub3RBbGlnbmVkfUB7bm90SnVzdGlmaWVkfTpub3QoLnJvdyksXG4gICAgLnVpLmNlbnRlcmVkLmdyaWQgPiAucm93ID4gLmNvbHVtbkB7bm90QWxpZ25lZH1Ae25vdEp1c3RpZmllZH0sXG4gICAgLnVpLmdyaWQgLmNlbnRlcmVkLnJvdyA+IC5jb2x1bW5Ae25vdEFsaWduZWR9QHtub3RKdXN0aWZpZWR9IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAudWkuZ3JpZCA+IC5jZW50ZXJlZC5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiAucm93ID4gLmNlbnRlcmVkLmNvbHVtbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uR3JpZFJlbGF4ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBSZWxheGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5yZWxheGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAudWkucmVsYXhlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiAucmVsYXhlZC5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAoQHJlbGF4ZWRHdXR0ZXJXaWR0aCAvIDIpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAoQHJlbGF4ZWRHdXR0ZXJXaWR0aCAvIDIpO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRWZXJ5UmVsYXhlZCkge1xuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogKEB2ZXJ5UmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAoQHZlcnlSZWxheGVkR3V0dGVyV2lkdGggLyAyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIENvdXBsaW5nIHdpdGggVUkgRGl2aWRlciAqL1xuICAgIC51aS5yZWxheGVkLmdyaWQgLnJvdyArIC51aS5kaXZpZGVyLFxuICAgIC51aS5ncmlkIC5yZWxheGVkLnJvdyArIC51aS5kaXZpZGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IChAcmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogKEByZWxheGVkR3V0dGVyV2lkdGggLyAyKTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZFZlcnlSZWxheGVkKSB7XG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uZ3JpZCAucm93ICsgLnVpLmRpdmlkZXIsXG4gICAgICAgIC51aS5ncmlkIFtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ucm93ICsgLnVpLmRpdmlkZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IChAdmVyeVJlbGF4ZWRHdXR0ZXJXaWR0aCAvIDIpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAoQHZlcnlSZWxheGVkR3V0dGVyV2lkdGggLyAyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uR3JpZFBhZGRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFBhZGRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkucGFkZGVkLmdyaWRAe25vdFZlcnRpY2FsbHl9QHtub3RIb3Jpem9udGFsbHl9IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25HcmlkSG9yaXpvbnRhbCkge1xuICAgICAgICBbY2xhc3MqPVwiaG9yaXpvbnRhbGx5IHBhZGRlZFwiXS51aS5ncmlkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRWZXJ0aWNhbCkge1xuICAgICAgICBbY2xhc3MqPVwidmVydGljYWxseSBwYWRkZWRcIl0udWkuZ3JpZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uR3JpZEZsb2F0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFwiRmxvYXRlZFwiXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5ncmlkIFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0uY29sdW1uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAudWkuZ3JpZCBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXS5jb2x1bW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkdyaWREaXZpZGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgRGl2aWRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgIC51aS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICBib3gtc2hhZG93OiBAZGl2aWRlZEJvcmRlcjtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25HcmlkVmVydGljYWwpIHtcbiAgICAgICAgLyogU3dhcCBmcm9tIHBhZGRpbmcgdG8gbWFyZ2luIG9uIGNvbHVtbnMgdG8gaGF2ZSBkaXZpZGVycyBhbGlnbiAqL1xuICAgICAgICAudWlbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogKEByb3dTcGFjaW5nIC8gMik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAoQHJvd1NwYWNpbmcgLyAyKTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIE5vIGRpdmlkZXIgb24gZmlyc3QgY29sdW1uIG9uIHJvdyAqL1xuICAgIC51aS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpmaXJzdC1jaGlsZCxcbiAgICAudWkuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25HcmlkVmVydGljYWwpIHtcbiAgICAgICAgLyogTm8gc3BhY2Ugb24gdG9wIG9mIGZpcnN0IHJvdyAqL1xuICAgICAgICAudWlbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAucm93OmZpcnN0LWNoaWxkID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogRGl2aWRlZCBSb3cgKi9cbiAgICAudWkuZ3JpZCA+IC5kaXZpZGVkLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICBib3gtc2hhZG93OiBAZGl2aWRlZEJvcmRlcjtcbiAgICB9XG4gICAgLnVpLmdyaWQgPiAuZGl2aWRlZC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25HcmlkVmVydGljYWwpIHtcbiAgICAgICAgLyogVmVydGljYWxseSBEaXZpZGVkICovXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3cge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3c6OmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBlKCUoXCJjYWxjKDEwMCUlIC0gJWQpXCIsIEBndXR0ZXJXaWR0aCkpO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgKEBndXR0ZXJXaWR0aCAvIDIpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQHZlcnRpY2FsbHlEaXZpZGVkQm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZFBhZGRlZCkge1xuICAgICAgICAvKiBQYWRkZWQgSG9yaXpvbnRhbGx5IERpdmlkZWQgKi9cbiAgICAgICAgW2NsYXNzKj1cImhvcml6b250YWxseSBwYWRkZWRcIl0udWkuZGl2aWRlZC5ncmlkLFxuICAgICAgICAudWkucGFkZGVkLmRpdmlkZWQuZ3JpZEB7bm90VmVydGljYWxseX1Ae25vdEhvcml6b250YWxseX0ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZFZlcnRpY2FsKSB7XG4gICAgICAgIC8qIEZpcnN0IFJvdyBWZXJ0aWNhbGx5IERpdmlkZWQgKi9cbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdzpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZEludmVydGVkKSB7XG4gICAgICAgIC8qIEludmVydGVkIERpdmlkZWQgKi9cbiAgICAgICAgLnVpLmludmVydGVkLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLmludmVydGVkLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAZGl2aWRlZEludmVydGVkQm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpub3QoLnJvdyk6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC51aS5pbnZlcnRlZC5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25HcmlkVmVydGljYWwpIHtcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3c6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQHZlcnRpY2FsbHlEaXZpZGVkSW52ZXJ0ZWRCb3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZFJlbGF4ZWQpIGFuZCAoQHZhcmlhdGlvbkdyaWRWZXJ0aWNhbCkge1xuICAgICAgICAvKiBSZWxheGVkICovXG4gICAgICAgIC51aS5yZWxheGVkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdzo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoQHJlbGF4ZWRHdXR0ZXJXaWR0aCAvIDIpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAoQHJlbGF4ZWRHdXR0ZXJXaWR0aCAvIDIpO1xuICAgICAgICAgICAgd2lkdGg6IGUoJShcImNhbGMoMTAwJSUgLSAlZClcIiwgQHJlbGF4ZWRHdXR0ZXJXaWR0aCkpO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRWZXJ5UmVsYXhlZCkge1xuICAgICAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3c6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IChAdmVyeVJlbGF4ZWRHdXR0ZXJXaWR0aCAvIDIpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogKEB2ZXJ5UmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGUoJShcImNhbGMoMTAwJSUgLSAlZClcIiwgQHZlcnlSZWxheGVkR3V0dGVyV2lkdGgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uR3JpZENlbGxlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICBDZWxsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNlbGxlZC5ncmlkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogQGNlbGxlZE1hcmdpbjtcbiAgICAgICAgYm94LXNoYWRvdzogQGNlbGxlZEdyaWREaXZpZGVyO1xuICAgIH1cblxuICAgIC51aS5jZWxsZWQuZ3JpZCA+IC5yb3cge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IEBjZWxsZWRSb3dEaXZpZGVyO1xuICAgIH1cbiAgICAudWkuY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAudWkuY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgICAgIGJveC1zaGFkb3c6IEBjZWxsZWRDb2x1bW5EaXZpZGVyO1xuICAgIH1cblxuICAgIC51aS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4gICAgLnVpLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC51aS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgIC51aS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgcGFkZGluZzogQGNlbGxlZFBhZGRpbmc7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRSZWxheGVkKSB7XG4gICAgICAgIC51aS5yZWxheGVkLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS5yZWxheGVkLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgcGFkZGluZzogQGNlbGxlZFJlbGF4ZWRQYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRWZXJ5UmVsYXhlZCkge1xuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiBAY2VsbGVkVmVyeVJlbGF4ZWRQYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogSW50ZXJuYWxseSBDZWxsZWQgKi9cbiAgICAudWlbY2xhc3MqPVwiaW50ZXJuYWxseSBjZWxsZWRcIl0uZ3JpZCB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImludGVybmFsbHkgY2VsbGVkXCJdLmdyaWQgPiAucm93OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImludGVybmFsbHkgY2VsbGVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25HcmlkQWxpZ25lZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBWZXJ0aWNhbGx5IEFsaWduZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogVG9wIEFsaWduZWQgKi9cbiAgICAudWlbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgIC51aVtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0ucm93ID4gLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXS5jb2x1bW46bm90KC5yb3cpLFxuICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXS5jb2x1bW4ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogTWlkZGxlIEFsaWduZWQgKi9cbiAgICAudWlbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgIC51aVtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0ucm93ID4gLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXS5jb2x1bW46bm90KC5yb3cpLFxuICAgIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXS5jb2x1bW4ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBCb3R0b20gQWxpZ25lZCAqL1xuICAgIC51aVtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgLnVpW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXS5yb3cgPiAuY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLmNvbHVtbjpub3QoLnJvdyksXG4gICAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLmNvbHVtbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25HcmlkU3RyZXRjaGVkKSB7XG4gICAgLyogU3RyZXRjaGVkICovXG4gICAgLnVpLnN0cmV0Y2hlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgLnVpLnN0cmV0Y2hlZC5ncmlkID4gLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IC5zdHJldGNoZWQucm93ID4gLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IC5zdHJldGNoZWQuY29sdW1uOm5vdCgucm93KSxcbiAgICAudWkuZ3JpZCA+IC5yb3cgPiAuc3RyZXRjaGVkLmNvbHVtbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLnVpLnN0cmV0Y2hlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4gPiAqLFxuICAgIC51aS5zdHJldGNoZWQuZ3JpZCA+IC5jb2x1bW4gPiAqLFxuICAgIC51aS5ncmlkID4gLnN0cmV0Y2hlZC5yb3cgPiAuY29sdW1uID4gKixcbiAgICAudWkuZ3JpZCA+IC5zdHJldGNoZWQuY29sdW1uOm5vdCgucm93KSA+ICosXG4gICAgLnVpLmdyaWQgPiAucm93ID4gLnN0cmV0Y2hlZC5jb2x1bW4gPiAqIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uR3JpZEFsaWduZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBIb3Jpem9udGFsbHkgQ2VudGVyZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogTGVmdCBBbGlnbmVkICovXG5cbiAgICAudWlbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdLmdyaWQgPiAuY29sdW1uLFxuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5yb3cgPiAuY29sdW1uLFxuICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5jb2x1bW4sXG4gICAgLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5jb2x1bW4ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8qIENlbnRlciBBbGlnbmVkICovXG5cbiAgICAudWlbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0uZ3JpZCA+IC5jb2x1bW4sXG4gICAgLnVpW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5yb3cgPiAuY29sdW1uLFxuICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLmNvbHVtbixcbiAgICAudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0uY29sdW1uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBhbGlnbi1zZWxmOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC51aVtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5ncmlkIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLyogUmlnaHQgQWxpZ25lZCAqL1xuXG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0uZ3JpZCA+IC5jb2x1bW4sXG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgIC51aS5ncmlkID4gW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0ucm93ID4gLmNvbHVtbixcbiAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLmNvbHVtbixcbiAgICAudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5jb2x1bW4ge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgYWxpZ24tc2VsZjogaW5oZXJpdDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkdyaWRKdXN0aWZpZWQpIHtcbiAgICAvKiBKdXN0aWZpZWQgKi9cbiAgICAudWkuanVzdGlmaWVkLmdyaWQgPiAuY29sdW1uLFxuICAgIC51aS5qdXN0aWZpZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgIC51aS5ncmlkID4gLmp1c3RpZmllZC5yb3cgPiAuY29sdW1uLFxuICAgIC51aS51aS5ncmlkID4gLmp1c3RpZmllZC5jb2x1bW4sXG4gICAgLnVpLnVpLmdyaWQgPiAucm93ID4gLmp1c3RpZmllZC5jb2x1bW4ge1xuICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQ29sb3JlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25HcmlkQ29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25HcmlkQ29sb3JzLCB7XG4gICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICBAYzogQGNvbG9yc1tAQGNvbG9yXVtjb2xvcl07XG5cbiAgICAgICAgLnVpLmdyaWQgPiAuQHtjb2xvcn0ucm93LFxuICAgICAgICAudWkuZ3JpZCA+IC5Ae2NvbG9yfS5jb2x1bW4sXG4gICAgICAgIC51aS5ncmlkID4gLnJvdyA+IC5Ae2NvbG9yfS5jb2x1bW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGM7XG4gICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkdyaWRFcXVhbFdpZHRoKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEVxdWFsIFdpZHRoXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5ncmlkID4gLndpZGUuY29sdW1uLFxuICAgIC51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5ncmlkID4gLnJvdyA+IC53aWRlLmNvbHVtbixcbiAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5yb3cgPiAud2lkZS5jb2x1bW4ge1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25HcmlkUmV2ZXJzZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBSZXZlcnNlXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIE1vYmlsZSAqL1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5ncmlkLFxuICAgICAgICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmdyaWQgPiAucm93LFxuICAgICAgICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0ucm93IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwibW9iaWxlIHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0uZ3JpZCxcbiAgICAgICAgLnVpLnN0YWNrYWJsZVtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0ge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWREaXZpZGVkKSB7XG4gICAgICAgICAgICAvKiBEaXZpZGVkIFJldmVyc2VkICovXG4gICAgICAgICAgICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuICAgICAgICAgICAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEBkaXZpZGVkQm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpsYXN0LWNoaWxkLFxuICAgICAgICAgICAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogVmVydGljYWxseSBEaXZpZGVkIFJldmVyc2VkICovXG4gICAgICAgICAgICAudWkuZ3JpZFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl1bY2xhc3MqPVwibW9iaWxlIHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0gPiAucm93OmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEB2ZXJ0aWNhbGx5RGl2aWRlZEJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5ncmlkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXVtjbGFzcyo9XCJtb2JpbGUgdmVydGljYWxseSByZXZlcnNlZFwiXSA+IC5yb3c6bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRDZWxsZWQpIHtcbiAgICAgICAgICAgIC8qIENlbGxlZCBSZXZlcnNlZCAqL1xuICAgICAgICAgICAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAY2VsbGVkQ29sdW1uRGl2aWRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aVtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0uY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogVGFibGV0ICovXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAdGFibGV0QnJlYWtwb2ludCkgYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0VGFibGV0U2NyZWVuKSB7XG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0uZ3JpZCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5ncmlkID4gLnJvdyxcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLnJvdyB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdLmdyaWQge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWREaXZpZGVkKSB7XG4gICAgICAgICAgICAvKiBEaXZpZGVkIFJldmVyc2VkICovXG4gICAgICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuICAgICAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEBkaXZpZGVkQm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpsYXN0LWNoaWxkLFxuICAgICAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogVmVydGljYWxseSBEaXZpZGVkIFJldmVyc2VkICovXG4gICAgICAgICAgICAudWkuZ3JpZFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl1bY2xhc3MqPVwidGFibGV0IHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0gPiAucm93OmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEB2ZXJ0aWNhbGx5RGl2aWRlZEJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5ncmlkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXVtjbGFzcyo9XCJ0YWJsZXQgdmVydGljYWxseSByZXZlcnNlZFwiXSA+IC5yb3c6bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRDZWxsZWQpIHtcbiAgICAgICAgICAgIC8qIENlbGxlZCBSZXZlcnNlZCAqL1xuICAgICAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAY2VsbGVkQ29sdW1uRGl2aWRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0uY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogQ29tcHV0ZXIgKi9cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBjb21wdXRlckJyZWFrcG9pbnQpIHtcbiAgICAgICAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmdyaWQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5ncmlkID4gLnJvdyxcbiAgICAgICAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0ucm93IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgdmVydGljYWxseSByZXZlcnNlZFwiXS5ncmlkIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25HcmlkRGl2aWRlZCkge1xuICAgICAgICAgICAgLyogRGl2aWRlZCBSZXZlcnNlZCAqL1xuICAgICAgICAgICAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuICAgICAgICAgICAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQGRpdmlkZWRCb3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46bGFzdC1jaGlsZCxcbiAgICAgICAgICAgIC51aVtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogVmVydGljYWxseSBEaXZpZGVkIFJldmVyc2VkICovXG4gICAgICAgICAgICAudWkuZ3JpZFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl1bY2xhc3MqPVwiY29tcHV0ZXIgdmVydGljYWxseSByZXZlcnNlZFwiXSA+IC5yb3c6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQHZlcnRpY2FsbHlEaXZpZGVkQm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmdyaWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdW2NsYXNzKj1cImNvbXB1dGVyIHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0gPiAucm93Omxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25HcmlkQ2VsbGVkKSB7XG4gICAgICAgICAgICAvKiBDZWxsZWQgUmV2ZXJzZWQgKi9cbiAgICAgICAgICAgIC51aVtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAY2VsbGVkQ29sdW1uRGl2aWRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aVtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkdyaWREb3VibGluZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBEb3VibGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBUYWJsZXQgT25seSAqL1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdFRhYmxldFNjcmVlbikge1xuICAgICAgICAudWkuZG91YmxpbmcuZ3JpZCB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5kb3VibGluZy5yb3csXG4gICAgICAgIC51aS5kb3VibGluZy5ncmlkID4gLnJvdyB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZ3JpZCA+IC5kb3VibGluZy5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWkuZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAoQHJvd1NwYWNpbmcgLyAyKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IChAcm93U3BhY2luZyAvIDIpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWRAe25vdFN0cmV0Y2hlZH0gPiAuZG91Ymxpbmcucm93QHtub3RTdHJldGNoZWR9ID4gLmNvbHVtbkB7bm90U3RyZXRjaGVkfSxcbiAgICAgICAgLnVpLmRvdWJsaW5nLmdyaWRAe25vdFN0cmV0Y2hlZH0gPiAucm93QHtub3RTdHJldGNoZWR9ID4gLmNvbHVtbkB7bm90U3RyZXRjaGVkfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAb25lQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInRocmVlIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZG91Ymxpbmcucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHR3b0NvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aVtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0d29Db2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGhyZWVDb2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aVtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGhyZWVDb2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGhyZWVDb2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cImVpZ2h0IGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZm91ckNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmb3VyQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwidGVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZG91Ymxpbmcucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZpdmVDb2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aVtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZml2ZUNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmRvdWJsaW5nLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBzaXhDb2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAc2l4Q29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aVtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZG91Ymxpbmcucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHNldmVuQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiBjb2x1bW5cIl0uZG91Ymxpbmcucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHNldmVuQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZG91Ymxpbmcucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGVpZ2h0Q29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBNb2JpbGUgT25seSAqL1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgLnVpLmdyaWQgPiAuZG91Ymxpbmcucm93LFxuICAgICAgICAudWkuZG91YmxpbmcuZ3JpZCA+IC5yb3cge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmdyaWQgPiAuZG91Ymxpbmcucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogKEByb3dTcGFjaW5nIC8gMikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAoQHJvd1NwYWNpbmcgLyAyKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0ucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQG9uZUNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0d29Db2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdvQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0ucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHR3b0NvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0d29Db2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdvQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cImVpZ2h0IGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aVtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0ucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQHR3b0NvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZUNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZUNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cImVsZXZlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZUNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZUNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZUNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aVtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IEBmb3VyQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgLnVpW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nQHtub3RTdGFja2FibGV9LmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0ucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogQGZvdXJDb2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWlbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZG91YmxpbmdAe25vdFN0YWNrYWJsZX0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5kb3VibGluZ0B7bm90U3RhY2thYmxlfS5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZm91ckNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25HcmlkU3RhY2thYmxlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIFN0YWNrYWJsZVxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgICAgIGJvZHkgPiAudWkuc3RhY2thYmxlLmdyaWQsXG4gICAgICAgIC51aTpub3QoLnNlZ21lbnQpOm5vdCguZ3JpZCkgLnVpLnN0YWNrYWJsZS5ncmlkIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBzdGFja2FibGVNb2JpbGVHdXR0ZXI7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEBzdGFja2FibGVNb2JpbGVHdXR0ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnN0YWNrYWJsZS5ncmlkID4gLnJvdyA+IC53aWRlLmNvbHVtbixcbiAgICAgICAgLnVpLnN0YWNrYWJsZS5ncmlkID4gLndpZGUuY29sdW1uLFxuICAgICAgICAudWkuc3RhY2thYmxlLmdyaWQgPiAuY29sdW1uLmdyaWQgPiAuY29sdW1uLFxuICAgICAgICAudWkuc3RhY2thYmxlLmdyaWQgPiAuY29sdW1uLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aS5zdGFja2FibGUuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAgICAgICAudWkuc3RhY2thYmxlLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLmdyaWQgPiAuc3RhY2thYmxlLnN0YWNrYWJsZS5zdGFja2FibGUucm93ID4gLmNvbHVtbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAoQHN0YWNrYWJsZVJvd1NwYWNpbmcgLyAyKSAoQHN0YWNrYWJsZUd1dHRlciAvIDIpO1xuICAgICAgICB9XG4gICAgICAgIC51aS5zdGFja2FibGUuZ3JpZEB7bm90VmVydGljYWxseX0gPiAucm93IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBDb3VwbGluZyAqL1xuICAgICAgICAudWkuY29udGFpbmVyID4gLnVpLnN0YWNrYWJsZS5ncmlkID4gLmNvbHVtbixcbiAgICAgICAgLnVpLmNvbnRhaW5lciA+IC51aS5zdGFja2FibGUuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogRG9uJ3QgcGFkIGluc2lkZSBzZWdtZW50IG9yIG5lc3RlZCBncmlkICovXG4gICAgICAgIC51aS5ncmlkIC51aS5zdGFja2FibGUuZ3JpZCxcbiAgICAgICAgLnVpLnNlZ21lbnRAe25vdFZlcnRpY2FsfSAudWkuc3RhY2thYmxlLnBhZ2UuZ3JpZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLShAc3RhY2thYmxlR3V0dGVyIC8gMik7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0oQHN0YWNrYWJsZUd1dHRlciAvIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogRGl2aWRlZCBTdGFja2FibGUgKi9cbiAgICAgICAgLnVpLnN0YWNrYWJsZS5kaXZpZGVkLmdyaWQgPiAucm93OmZpcnN0LWNoaWxkID4gLmNvbHVtbjpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnVpLnN0YWNrYWJsZS5jZWxsZWQuZ3JpZCA+IC5yb3c6Zmlyc3QtY2hpbGQgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuICAgICAgICAudWkuc3RhY2thYmxlLmRpdmlkZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpOmZpcnN0LWNoaWxkLFxuICAgICAgICAudWkuc3RhY2thYmxlLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRJbnZlcnRlZCkge1xuICAgICAgICAgICAgLnVpLnVpLmludmVydGVkLnN0YWNrYWJsZS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAgICAgLnVpLnVpLmludmVydGVkLnN0YWNrYWJsZS5kaXZpZGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgICAgIC51aS51aS5pbnZlcnRlZC5zdGFja2FibGUuY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgICAgICAgICAgIC51aS51aS5pbnZlcnRlZC5zdGFja2FibGUuZGl2aWRlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IEBzdGFja2FibGVJbnZlcnRlZE1vYmlsZUJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkuc3RhY2thYmxlLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgICAgIC51aS5zdGFja2FibGUuZGl2aWRlZEB7bm90VmVydGljYWxseX0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkuc3RhY2thYmxlLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gICAgICAgIC51aS5zdGFja2FibGUuZGl2aWRlZEB7bm90VmVydGljYWxseX0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IEBzdGFja2FibGVNb2JpbGVCb3JkZXI7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogQHN0YWNrYWJsZVJvd1NwYWNpbmcgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBAc3RhY2thYmxlUm93U3BhY2luZyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRDZWxsZWQpIHtcbiAgICAgICAgICAgIC51aS5zdGFja2FibGUuY2VsbGVkLmdyaWQgPiAucm93IHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZERpdmlkZWQpIHtcbiAgICAgICAgICAgIC51aS5zdGFja2FibGUuZGl2aWRlZEB7bm90VmVydGljYWxseX0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAgICAgLnVpLnN0YWNrYWJsZS5kaXZpZGVkQHtub3RWZXJ0aWNhbGx5fS5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPbmx5IChEZXZpY2UpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBUaGVzZSBpbmNsdWRlIGFyYml0cmFyeSBjbGFzcyByZXBldGl0aW9ucyBmb3IgZm9yY2VkIHNwZWNpZmljaXR5ICovXG5cbi8qIE1vYmlsZSBPbmx5IEhpZGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAudWkudWkudWlbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0uZ3JpZDpub3QoLm1vYmlsZSksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkudWkudWlbY2xhc3MqPVwiY29tcHV0ZXIgb25seVwiXS5ncmlkOm5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJjb21wdXRlciBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiY29tcHV0ZXIgb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJjb21wdXRlciBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS51aS51aVtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5ncmlkOm5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS51aS51aVtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uZ3JpZDpub3QoLm1vYmlsZSksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogVGFibGV0IE9ubHkgSGlkZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAdGFibGV0QnJlYWtwb2ludCkgYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0VGFibGV0U2NyZWVuKSB7XG4gICAgLnVpLnVpLnVpW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmdyaWQ6bm90KC50YWJsZXQpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLnJvdzpub3QoLnRhYmxldCksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCgudGFibGV0KSxcbiAgICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCgudGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLnVpLnVpW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uZ3JpZDpub3QoLnRhYmxldCksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwiY29tcHV0ZXIgb25seVwiXS5yb3c6bm90KC50YWJsZXQpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uY29sdW1uOm5vdCgudGFibGV0KSxcbiAgICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiY29tcHV0ZXIgb25seVwiXS5jb2x1bW46bm90KC50YWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkudWkudWlbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uZ3JpZDpub3QoLm1vYmlsZSksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkudWkudWlbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIENvbXB1dGVyIE9ubHkgSGlkZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAY29tcHV0ZXJCcmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RTbWFsbE1vbml0b3IpIHtcbiAgICAudWkudWkudWlbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5yb3c6bm90KC5jb21wdXRlciksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpLFxuICAgIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5ncmlkOm5vdCguY29tcHV0ZXIpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlciksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLnVpLnVpW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLnVpLnVpW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5ncmlkOm5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiBMYXJnZSBTY3JlZW4gT25seSBIaWRlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBsYXJnZU1vbml0b3JCcmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RMYXJnZU1vbml0b3IpIHtcbiAgICAudWkudWkudWlbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5yb3c6bm90KC5jb21wdXRlciksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpLFxuICAgIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5ncmlkOm5vdCguY29tcHV0ZXIpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlciksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLnVpLnVpW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5ncmlkOm5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiBXaWRlc2NyZWVuIE9ubHkgSGlkZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAd2lkZXNjcmVlbk1vbml0b3JCcmVha3BvaW50KSB7XG4gICAgLnVpLnVpLnVpW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmdyaWQ6bm90KC5jb21wdXRlciksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0ucm93Om5vdCguY29tcHV0ZXIpLFxuICAgIC51aS51aS51aS5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkudWkudWlbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0uZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgICAudWkudWkudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5yb3c6bm90KC5jb21wdXRlciksXG4gICAgLnVpLnVpLnVpLmdyaWQgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpLFxuICAgIC51aS51aS51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25HcmlkQ29tcGFjdCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgQ29tcGFjdFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudWkudWkuY29tcGFjdC5ncmlkIHtcbiAgICAgICAgbWFyZ2luOiAtKEBjb21wYWN0R3V0dGVyV2lkdGggLyAyKTtcbiAgICB9XG5cbiAgICAudWkudWkudWkuY29tcGFjdC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gICAgLnVpLnVpLnVpLmNvbXBhY3QuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAoQGNvbXBhY3RHdXR0ZXJXaWR0aCAvIDIpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAoQGNvbXBhY3RHdXR0ZXJXaWR0aCAvIDIpO1xuICAgIH1cblxuICAgIC51aS51aS51aS5jb21wYWN0LmdyaWQgPiAqIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAoQGNvbXBhY3RHdXR0ZXJXaWR0aCAvIDIpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAoQGNvbXBhY3RHdXR0ZXJXaWR0aCAvIDIpO1xuICAgIH1cblxuICAgIC8qIFJvdyAqL1xuICAgIC51aS51aS51aS5jb21wYWN0LmdyaWQgPiAucm93IHtcbiAgICAgICAgcGFkZGluZzogKEBjb21wYWN0Um93U3BhY2luZyAvIDIpIDA7XG4gICAgfVxuXG4gICAgLyogQ29sdW1ucyAqL1xuICAgIC51aS51aS51aS5jb21wYWN0LmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoQGNvbXBhY3RSb3dTcGFjaW5nIC8gMik7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAoQGNvbXBhY3RSb3dTcGFjaW5nIC8gMik7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRSZWxheGVkKSBhbmQgKEB2YXJpYXRpb25HcmlkQ2VsbGVkKSB7XG4gICAgICAgIC8qIFJlbGF4ZWQgKyBDZWxsZWQgKi9cbiAgICAgICAgLnVpLmNvbXBhY3QucmVsYXhlZC5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAudWkuY29tcGFjdC5yZWxheGVkLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgcGFkZGluZzogQGNvbXBhY3RDZWxsZWRSZWxheGVkUGFkZGluZztcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25HcmlkVmVyeVJlbGF4ZWQpIHtcbiAgICAgICAgICAgIC51aS5jb21wYWN0W2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAgICAgLnVpLmNvbXBhY3RbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IEBjb21wYWN0Q2VsbGVkVmVyeVJlbGF4ZWRQYWRkaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVmVyeSBjb21wYWN0XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkdyaWRWZXJ5Q29tcGFjdCkge1xuICAgICAgICAudWkudWkudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmdyaWQge1xuICAgICAgICAgICAgbWFyZ2luOiAtKEB2ZXJ5Q29tcGFjdEd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgIH1cblxuICAgICAgICAudWkudWkudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgLnVpLnVpLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAoQHZlcnlDb21wYWN0R3V0dGVyV2lkdGggLyAyKTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IChAdmVyeUNvbXBhY3RHdXR0ZXJXaWR0aCAvIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLnVpLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5ncmlkID4gKiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IChAdmVyeUNvbXBhY3RHdXR0ZXJXaWR0aCAvIDIpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogKEB2ZXJ5Q29tcGFjdEd1dHRlcldpZHRoIC8gMik7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBSb3cgKi9cbiAgICAgICAgLnVpLnVpLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5ncmlkID4gLnJvdyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAoQHZlcnlDb21wYWN0Um93U3BhY2luZyAvIDIpIDA7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBDb2x1bW5zICovXG4gICAgICAgIC51aS51aS51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAoQHZlcnlDb21wYWN0Um93U3BhY2luZyAvIDIpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IChAdmVyeUNvbXBhY3RSb3dTcGFjaW5nIC8gMik7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZFJlbGF4ZWQpIGFuZCAoQHZhcmlhdGlvbkdyaWRDZWxsZWQpIHtcbiAgICAgICAgICAgIC8qIFJlbGF4ZWQgKyBDZWxsZWQgKi9cbiAgICAgICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0ucmVsYXhlZC5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAgICAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5yZWxheGVkLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IEB2ZXJ5Q29tcGFjdENlbGxlZFJlbGF4ZWRQYWRkaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uR3JpZFZlcnlSZWxheGVkKSB7XG4gICAgICAgICAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgICAgICAgICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogQHZlcnlDb21wYWN0Q2VsbGVkVmVyeVJlbGF4ZWRQYWRkaW5nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uR3JpZEF0dGFjaGVkKSB7XG4gICAgLnVpLmdyaWQgLmxlZnQuYXR0YWNoZWQuY29sdW1uIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gICAgLnVpLmdyaWQgLnJpZ2h0LmF0dGFjaGVkLmNvbHVtbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gTWVudVxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwiY29sbGVjdGlvblwiO1xuQGVsZW1lbnQ6IFwibWVudVwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdFNlY29uZGFyeTogaWYoQHZhcmlhdGlvbk1lbnVTZWNvbmRhcnksIGUoXCI6bm90KC5zZWNvbmRhcnkpXCIpKTtcbkBub3RUZXh0OiBpZihAdmFyaWF0aW9uTWVudVRleHQsIGUoXCI6bm90KC50ZXh0KVwiKSk7XG5Abm90VGFidWxhcjogaWYoQHZhcmlhdGlvbk1lbnVUYWJ1bGFyLCBlKFwiOm5vdCgudGFidWxhcilcIikpO1xuQG5vdFZlcnRpY2FsOiBpZihAdmFyaWF0aW9uTWVudVZlcnRpY2FsLCBlKFwiOm5vdCgudmVydGljYWwpXCIpKTtcbkBub3RCb3JkZXJsZXNzOiBpZihAdmFyaWF0aW9uTWVudUJvcmRlcmxlc3MsIGUoXCI6bm90KC5ib3JkZXJsZXNzKVwiKSk7XG5Abm90Rmx1aWQ6IGlmKEB2YXJpYXRpb25NZW51Rmx1aWQsIGUoXCI6bm90KC5mbHVpZClcIikpO1xuQG5vdFdyYXBwaW5nOiBpZihAdmFyaWF0aW9uTWVudVdyYXBwaW5nLCBlKFwiOm5vdCgud3JhcHBpbmcpXCIpKTtcblxuQG5vdFVwd2FyZDogaWYoQHZhcmlhdGlvbkRyb3Bkb3duVXB3YXJkLCBlKFwiOm5vdCgudXB3YXJkKVwiKSk7XG5Abm90RmxvYXRpbmc6IGlmKEB2YXJpYXRpb25MYWJlbEZsb2F0aW5nLCBlKFwiOm5vdCguZmxvYXRpbmcpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgTWVudVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogQG1hcmdpbjtcbiAgICBmb250LWZhbWlseTogQGZvbnRGYW1pbHk7XG4gICAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gICAgZm9udC13ZWlnaHQ6IEBmb250V2VpZ2h0O1xuICAgIGJvcmRlcjogQGJvcmRlcjtcbiAgICBib3gtc2hhZG93OiBAYm94U2hhZG93O1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgbWluLWhlaWdodDogQG1pbkhlaWdodDtcbn1cblxuLnVpLm1lbnU6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi51aS5tZW51OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLm1lbnU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBTdWItTWVudVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5tZW51IC5tZW51IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi51aS5tZW51QHtub3RWZXJ0aWNhbH0gPiAubWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEl0ZW1cbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubWVudUB7bm90VmVydGljYWx9IC5pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi51aS5tZW51IC5pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBAaXRlbUJhY2tncm91bmQ7XG4gICAgcGFkZGluZzogQGl0ZW1WZXJ0aWNhbFBhZGRpbmcgQGl0ZW1Ib3Jpem9udGFsUGFkZGluZztcbiAgICB0ZXh0LXRyYW5zZm9ybTogQGl0ZW1UZXh0VHJhbnNmb3JtO1xuICAgIGNvbG9yOiBAaXRlbVRleHRDb2xvcjtcbiAgICBmb250LXdlaWdodDogQGl0ZW1Gb250V2VpZ2h0O1xuICAgIHRyYW5zaXRpb246IEBpdGVtVHJhbnNpdGlvbjtcbn1cblxuLnVpLm1lbnUgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyAwIDAgQGJvcmRlclJhZGl1cztcbn1cblxuLyogQm9yZGVyICovXG4udWkubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBAZGl2aWRlclNpemU7XG4gICAgYmFja2dyb3VuZDogQGRpdmlkZXJCYWNrZ3JvdW5kO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBUZXh0IENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubWVudSAudGV4dC5pdGVtID4gKixcbi51aS5tZW51IC5pdGVtID4gYTpub3QoLnVpKSxcbi51aS5tZW51IC5pdGVtID4gcDpvbmx5LWNoaWxkIHtcbiAgICB1c2VyLXNlbGVjdDogdGV4dDtcbiAgICBsaW5lLWhlaWdodDogQHRleHRMaW5lSGVpZ2h0O1xufVxuLnVpLm1lbnUgLml0ZW0gPiBwOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLm1lbnUgLml0ZW0gPiBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5tZW51IC5pdGVtID4gaS5pY29uIHtcbiAgICBvcGFjaXR5OiBAaWNvbk9wYWNpdHk7XG4gICAgZmxvYXQ6IEBpY29uRmxvYXQ7XG4gICAgbWFyZ2luOiBAaWNvbk1hcmdpbjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQnV0dG9uXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLm1lbnVAe25vdFZlcnRpY2FsfSAuaXRlbSA+IC5idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IEBidXR0b25PZmZzZXQ7XG4gICAgbWFyZ2luOiBAYnV0dG9uTWFyZ2luO1xuICAgIHBhZGRpbmctYm90dG9tOiBAYnV0dG9uVmVydGljYWxQYWRkaW5nO1xuICAgIHBhZGRpbmctdG9wOiBAYnV0dG9uVmVydGljYWxQYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogQGJ1dHRvblNpemU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS1cbiBHcmlkIC8gQ29udGFpbmVyXG4tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubWVudSA+IC5ncmlkLFxuLnVpLm1lbnUgPiAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBpbmhlcml0O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBJbnB1dHNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubWVudSAuaXRlbSA+IC5pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4udWkubWVudUB7bm90VmVydGljYWx9IC5pdGVtID4gLmlucHV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBAaW5wdXRPZmZzZXQ7XG4gICAgbWFyZ2luOiBAaW5wdXRWZXJ0aWNhbE1hcmdpbiAwO1xufVxuLnVpLm1lbnUgLml0ZW0gPiAuaW5wdXQgaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogQGlucHV0U2l6ZTtcbiAgICBwYWRkaW5nLXRvcDogQGlucHV0VmVydGljYWxQYWRkaW5nO1xuICAgIHBhZGRpbmctYm90dG9tOiBAaW5wdXRWZXJ0aWNhbFBhZGRpbmc7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEhlYWRlclxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5tZW51IC5oZWFkZXIuaXRlbSxcbi51aS52ZXJ0aWNhbC5tZW51IC5oZWFkZXIuaXRlbSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQ6IEBoZWFkZXJCYWNrZ3JvdW5kO1xuICAgIHRleHQtdHJhbnNmb3JtOiBAaGVhZGVyVGV4dFRyYW5zZm9ybTtcbiAgICBmb250LXdlaWdodDogQGhlYWRlcldlaWdodDtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudVZlcnRpY2FsKSB7XG4gICAgLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiAuaGVhZGVyOm5vdCgudWkpIHtcbiAgICAgICAgbWFyZ2luOiBAdmVydGljYWxIZWFkZXJNYXJnaW47XG4gICAgICAgIGZvbnQtc2l6ZTogQHZlcnRpY2FsSGVhZGVyRm9udFNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAdmVydGljYWxIZWFkZXJGb250V2VpZ2h0O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBEcm9wZG93bnNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBEcm9wZG93biBJY29uICovXG4udWkubWVudSAuaXRlbSA+IGkuZHJvcGRvd24uaWNvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmbG9hdDogQGRyb3Bkb3duSWNvbkZsb2F0O1xuICAgIG1hcmdpbjogMCAwIDAgQGRyb3Bkb3duSWNvbkRpc3RhbmNlO1xufVxuXG4vKiBNZW51ICovXG4udWkubWVudSAuZHJvcGRvd24uaXRlbSAubWVudSB7XG4gICAgbWluLXdpZHRoOiBlKFwiY2FsYygxMDAlIC0gMXB4KVwiKTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgQGRyb3Bkb3duTWVudUJvcmRlclJhZGl1cyBAZHJvcGRvd25NZW51Qm9yZGVyUmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IEBkcm9wZG93bkJhY2tncm91bmQ7XG4gICAgbWFyZ2luOiBAZHJvcGRvd25NZW51RGlzdGFuY2UgMCAwO1xuICAgIGJveC1zaGFkb3c6IEBkcm9wZG93bk1lbnVCb3hTaGFkb3c7XG59XG4udWkubWVudSAuZHJvcGRvd24uaXRlbTpub3QoLmNvbHVtbikgLm1lbnUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi8qIE1lbnUgSXRlbXMgKi9cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IEBkcm9wZG93bkl0ZW1Gb250U2l6ZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IEBkcm9wZG93bkl0ZW1QYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogQGRyb3Bkb3duSXRlbUJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogQGRyb3Bkb3duSXRlbUNvbG9yICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IEBkcm9wZG93bkl0ZW1UZXh0VHJhbnNmb3JtICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IEBkcm9wZG93bkl0ZW1Gb250V2VpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogQGRyb3Bkb3duSXRlbUJveFNoYWRvdyAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IEBkcm9wZG93bkl0ZW1UcmFuc2l0aW9uICFpbXBvcnRhbnQ7XG59XG4udWkubWVudSAudWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogQGRyb3Bkb3duSG92ZXJlZEl0ZW1CYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IEBkcm9wZG93bkhvdmVyZWRJdGVtQ29sb3IgIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5zZWxlY3RlZC5pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiBAZHJvcGRvd25TZWxlY3RlZEl0ZW1CYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IEBkcm9wZG93blNlbGVjdGVkSXRlbUNvbG9yICFpbXBvcnRhbnQ7XG59XG4udWkubWVudSAudWkuZHJvcGRvd24gLm1lbnUgPiAuYWN0aXZlLml0ZW0ge1xuICAgIGJhY2tncm91bmQ6IEBkcm9wZG93bkFjdGl2ZUl0ZW1CYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IEBkcm9wZG93bkFjdGl2ZUl0ZW1Gb250V2VpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IEBkcm9wZG93bkFjdGl2ZUl0ZW1Db2xvciAhaW1wb3J0YW50O1xufVxuXG4udWkubWVudSAudWkuZHJvcGRvd24uaXRlbSAubWVudSAuaXRlbTpub3QoLmZpbHRlcmVkKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4udWkubWVudSAudWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5pY29ucyxcbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gaS5pY29uOm5vdCguZHJvcGRvd24pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiBAZHJvcGRvd25JdGVtSWNvbkZvbnRTaXplICFpbXBvcnRhbnQ7XG4gICAgZmxvYXQ6IEBkcm9wZG93bkl0ZW1JY29uRmxvYXQ7XG4gICAgbWFyZ2luOiBAZHJvcGRvd25JdGVtSWNvbk1hcmdpbiAhaW1wb3J0YW50O1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51U2Vjb25kYXJ5KSBvciAoQHZhcmlhdGlvbk1lbnVUZXh0KSB7XG4gICAgLyogU2Vjb25kYXJ5ICovXG4gICAgLnVpLnNlY29uZGFyeS5tZW51IC5kcm9wZG93bi5pdGVtID4gLm1lbnUsXG4gICAgLnVpLnRleHQubWVudSAuZHJvcGRvd24uaXRlbSA+IC5tZW51IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGRyb3Bkb3duTWVudUJvcmRlclJhZGl1cztcbiAgICAgICAgbWFyZ2luLXRvcDogQHNlY29uZGFyeURyb3Bkb3duTWVudURpc3RhbmNlO1xuICAgIH1cbn1cblxuLyogUG9pbnRpbmcgKi9cbi51aS5tZW51IC5wb2ludGluZy5kcm9wZG93bi5pdGVtIC5tZW51IHtcbiAgICBtYXJnaW4tdG9wOiBAcG9pbnRpbmdEcm9wZG93bk1lbnVEaXN0YW5jZTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudUludmVydGVkKSB7XG4gICAgLyogSW52ZXJ0ZWQgKi9cbiAgICAudWkuaW52ZXJ0ZWQubWVudSAuc2VhcmNoLmRyb3Bkb3duLml0ZW0gPiAuc2VhcmNoLFxuICAgIC51aS5pbnZlcnRlZC5tZW51IC5zZWFyY2guZHJvcGRvd24uaXRlbSA+IC50ZXh0IHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFNlbGVjdGlvbkRyb3Bkb3duQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51VmVydGljYWwpIHtcbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5kcm9wZG93bi5pdGVtID4gaS5pY29uIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBjb250ZW50OiBcIlxcZjBkYVwiO1xuICAgICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIH1cbiAgICAudWkudmVydGljYWwubWVudSAuZHJvcGRvd24uaXRlbSAubWVudSB7XG4gICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICYgd2hlbiAoQHN1cHBvcnRJRSkge1xuICAgICAgICAgICAgLyogSUUgbmVlZHMgMCwgYWxsIG90aGVycyBzdXBwb3J0IG1heC1jb250ZW50IHRvIHNob3cgZHJvcGRvd24gaWNvbiBpbmxpbmUsIHNvIGtlZXAgYm90aCBzZXR0aW5ncyEgKi9cbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgQGRyb3Bkb3duTWVudURpc3RhbmNlO1xuICAgICAgICBib3gtc2hhZG93OiBAZHJvcGRvd25WZXJ0aWNhbE1lbnVCb3hTaGFkb3c7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGRyb3Bkb3duTWVudUJvcmRlclJhZGl1cyBAZHJvcGRvd25NZW51Qm9yZGVyUmFkaXVzIEBkcm9wZG93bk1lbnVCb3JkZXJSYWRpdXM7XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5kcm9wZG93bi5pdGVtLnVwd2FyZCAubWVudSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsLm1lbnUgLmRyb3Bkb3duLml0ZW1Ae25vdFVwd2FyZH0gLm1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5hY3RpdmUuZHJvcGRvd24uaXRlbSB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsLm1lbnUgLmRyb3Bkb3duLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG59XG5cbi8qIEV2ZW5seSBEaXZpZGVkICovXG4udWkuaXRlbS5tZW51IC5kcm9wZG93biAubWVudSAuaXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIExhYmVsc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5tZW51IC5pdGVtID4gLmxhYmVsQHtub3RGbG9hdGluZ30ge1xuICAgIG1hcmdpbi1sZWZ0OiBAbGFiZWxUZXh0TWFyZ2luO1xuICAgIHBhZGRpbmc6IEBsYWJlbFZlcnRpY2FsUGFkZGluZyBAbGFiZWxIb3Jpem9udGFsUGFkZGluZztcbn1cbiYgd2hlbiAoQHZhcmlhdGlvbk1lbnVWZXJ0aWNhbCkge1xuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gLmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogQGxhYmVsT2Zmc2V0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBAbGFiZWxPZmZzZXQ7XG4gICAgICAgIHBhZGRpbmc6IEBsYWJlbFZlcnRpY2FsUGFkZGluZyBAbGFiZWxIb3Jpem9udGFsUGFkZGluZztcbiAgICB9XG59XG4udWkubWVudSAuaXRlbSA+IC5mbG9hdGluZy5sYWJlbCB7XG4gICAgcGFkZGluZzogQGxhYmVsVmVydGljYWxQYWRkaW5nIEBsYWJlbEhvcml6b250YWxQYWRkaW5nO1xufVxuLnVpLm1lbnUgLml0ZW0gPiAubGFiZWwge1xuICAgIGJhY2tncm91bmQ6IEBsYWJlbEJhY2tncm91bmQ7XG4gICAgY29sb3I6IEBsYWJlbFRleHRDb2xvcjtcbn1cbi51aS5tZW51IC5pdGVtID4gLmltYWdlLmxhYmVsIGltZyB7XG4gICAgbWFyZ2luOiBAaW1hZ2VMYWJlbEltYWdlTWFyZ2luO1xuICAgIGhlaWdodDogQGltYWdlTGFiZWxIZWlnaHQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEltYWdlc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5tZW51IC5pdGVtID4gaW1nOm5vdCgudWkpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW46IEBpbWFnZU1hcmdpbjtcbiAgICB3aWR0aDogQGltYWdlV2lkdGg7XG59XG4mIHdoZW4gKEB2YXJpYXRpb25NZW51VmVydGljYWwpIHtcbiAgICAudWkudmVydGljYWwubWVudSAuaXRlbSA+IGltZzpub3QoLnVpKTpvbmx5LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IEB2ZXJ0aWNhbEltYWdlV2lkdGg7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBMaXN0XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogTWVudSBkaXZpZGVyIHNob3VsZG4ndCBhcHBseSAqL1xuLnVpLm1lbnUgLmxpc3QgLml0ZW06OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51VmVydGljYWwpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU2lkZWJhclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogU2hvdyB2ZXJ0aWNhbCBkaXZpZGVycyBiZWxvdyBsYXN0ICovXG5cbiAgICAudWkudmVydGljYWwuc2lkZWJhci5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbC5zaWRlYmFyLm1lbnUgPiAuaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIENvbnRhaW5lclxuLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAudWkubWVudSA+IC51aS5jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSB7XG4gICAgLnVpLm1lbnVAe25vdFNlY29uZGFyeX1Ae25vdFRleHR9QHtub3RUYWJ1bGFyfUB7bm90Qm9yZGVybGVzc30gPiAuY29udGFpbmVyID4gLml0ZW06bm90KC5yaWdodClAe25vdEJvcmRlcmxlc3N9OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IEBkaXZpZGVyU2l6ZSBzb2xpZCBAZGl2aWRlckJhY2tncm91bmQ7XG4gICAgfVxuICAgIC51aS5tZW51QHtub3RTZWNvbmRhcnl9QHtub3RUZXh0fUB7bm90VGFidWxhcn1Ae25vdEJvcmRlcmxlc3N9ID4gLmNvbnRhaW5lciA+IC5yaWdodC5pdGVtQHtub3RCb3JkZXJsZXNzfTpsYXN0LWNoaWxkLFxuICAgIC51aS5tZW51QHtub3RTZWNvbmRhcnl9QHtub3RUZXh0fUB7bm90VGFidWxhcn1Ae25vdEJvcmRlcmxlc3N9ID4gLmNvbnRhaW5lciA+IC5yaWdodC5tZW51ID4gLml0ZW1Ae25vdEJvcmRlcmxlc3N9Omxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmlnaHQ6IEBkaXZpZGVyU2l6ZSBzb2xpZCBAZGl2aWRlckJhY2tncm91bmQ7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmxpbmsubWVudSAuaXRlbTpob3Zlcixcbi51aS5tZW51IC5kcm9wZG93bi5pdGVtOmhvdmVyLFxuLnVpLm1lbnUgLmxpbmsuaXRlbTpob3Zlcixcbi51aS5tZW51IGEuaXRlbTpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IEBob3Zlckl0ZW1CYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBAaG92ZXJJdGVtVGV4dENvbG9yO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBQcmVzc2VkXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmxpbmsubWVudSAuaXRlbTphY3RpdmUsXG4udWkubWVudSAubGluay5pdGVtOmFjdGl2ZSxcbi51aS5tZW51IGEuaXRlbTphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IEBwcmVzc2VkSXRlbUJhY2tncm91bmQ7XG4gICAgY29sb3I6IEBwcmVzc2VkSXRlbVRleHRDb2xvcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiBAYWN0aXZlSXRlbUJhY2tncm91bmQ7XG4gICAgY29sb3I6IEBhY3RpdmVJdGVtVGV4dENvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiBAYWN0aXZlSXRlbUZvbnRXZWlnaHQ7XG4gICAgYm94LXNoYWRvdzogQGFjdGl2ZUl0ZW1Cb3hTaGFkb3c7XG59XG4udWkubWVudSAuYWN0aXZlLml0ZW0gPiBpLmljb24ge1xuICAgIG9wYWNpdHk6IEBhY3RpdmVJY29uT3BhY2l0eTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgQWN0aXZlIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyLFxuLnVpLnZlcnRpY2FsLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYWN0aXZlSG92ZXJJdGVtQmFja2dyb3VuZDtcbiAgICBjb2xvcjogQGFjdGl2ZUhvdmVySXRlbUNvbG9yO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS51aS5tZW51IC5pdGVtLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IEBkaXNhYmxlZFRleHRDb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG5GbG9hdGVkIE1lbnUgLyBJdGVtXG4tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIExlZnQgRmxvYXRlZCAqL1xuLnVpLm1lbnVAe25vdFZlcnRpY2FsfSAubGVmdC5pdGVtLFxuLnVpLm1lbnVAe25vdFZlcnRpY2FsfSAubGVmdC5tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4vKiBSaWdodCBGbG9hdGVkICovXG4udWkubWVudUB7bm90VmVydGljYWx9IC5yaWdodC5pdGVtLFxuLnVpLm1lbnVAe25vdFZlcnRpY2FsfSAucmlnaHQubWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4udWkubWVudUB7bm90VmVydGljYWx9IDpub3QoLmRyb3Bkb3duKSA+IC5sZWZ0Lm1lbnUsXG4udWkubWVudUB7bm90VmVydGljYWx9IDpub3QoLmRyb3Bkb3duKSA+IC5yaWdodC5tZW51IHtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xufVxuXG4vKiBDZW50ZXIgKi9cbi51aS5tZW51QHtub3RWZXJ0aWNhbH0gLmNlbnRlci5pdGVtLFxuLnVpLm1lbnVAe25vdFZlcnRpY2FsfSAuY2VudGVyLm1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLyogU3dhcHBlZCBCb3JkZXJzICovXG4udWkubWVudSAucmlnaHQuaXRlbTo6YmVmb3JlLFxuLnVpLm1lbnUgLnJpZ2h0Lm1lbnUgPiAuaXRlbTo6YmVmb3JlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xufVxuXG4vKiBSZW1vdmUgT3V0ZXIgQm9yZGVycyAqL1xuLnVpLm1lbnUgLmNlbnRlci5pdGVtOmxhc3QtY2hpbGQ6OmJlZm9yZSxcbi51aS5tZW51IC5jZW50ZXIubWVudSA+IC5pdGVtOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudVZlcnRpY2FsKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVmVydGljYWxcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS52ZXJ0aWNhbC5tZW51IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGJhY2tncm91bmQ6IEB2ZXJ0aWNhbEJhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6IEB2ZXJ0aWNhbEJveFNoYWRvdztcbiAgICB9XG5cbiAgICAvKiAtLS0gSXRlbSAtLS0gKi9cbiAgICAudWkudmVydGljYWwubWVudSAuaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdmVydGljYWxJdGVtQmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cbiAgICAudWkudmVydGljYWwubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDAgMDtcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsLm1lbnUgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cztcbiAgICB9XG5cbiAgICAvKiAtLS0gTGFiZWwgLS0tICovXG4gICAgLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiAubGFiZWwge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiAtLS0gSWNvbiAtLS0gKi9cbiAgICAudWkudmVydGljYWwubWVudSAuaXRlbSA+IGkuaWNvbixcbiAgICAudWkudmVydGljYWwubWVudSAuaXRlbSA+IGkuaWNvbnMge1xuICAgICAgICB3aWR0aDogQGljb25XaWR0aDtcbiAgICAgICAgZmxvYXQ6IEB2ZXJ0aWNhbEljb25GbG9hdDtcbiAgICAgICAgbWFyZ2luOiBAdmVydGljYWxJY29uTWFyZ2luO1xuICAgIH1cbiAgICAudWkudmVydGljYWwubWVudSAuaXRlbSA+IC5sYWJlbCArIGkuaWNvbiB7XG4gICAgICAgIGZsb2F0OiBAbGFiZWxBbmRJY29uRmxvYXQ7XG4gICAgICAgIG1hcmdpbjogQGxhYmVsQW5kSWNvbk1hcmdpbjtcbiAgICB9XG5cbiAgICAvKiAtLS0gQm9yZGVyIC0tLSAqL1xuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5pdGVtOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogQGRpdmlkZXJTaXplO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdmVydGljYWxEaXZpZGVyQmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAudWkudmVydGljYWwubWVudSAuaXRlbTpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIC0tLSBTdWIgTWVudSAtLS0gKi9cbiAgICAudWkudmVydGljYWwubWVudSAuaXRlbSA+IC5tZW51IHtcbiAgICAgICAgbWFyZ2luOiBAc3ViTWVudU1hcmdpbjtcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsLm1lbnUgLm1lbnUgLml0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBwYWRkaW5nOiBAc3ViTWVudVZlcnRpY2FsUGFkZGluZyBAc3ViTWVudUhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBmb250LXNpemU6IEBzdWJNZW51Rm9udFNpemU7XG4gICAgICAgIGNvbG9yOiBAc3ViTWVudVRleHRDb2xvcjtcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gLm1lbnUgYS5pdGVtOmhvdmVyLFxuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5pdGVtIC5tZW51IC5saW5rLml0ZW06aG92ZXIge1xuICAgICAgICBjb2xvcjogQGRhcmtUZXh0Q29sb3I7XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5tZW51IC5pdGVtOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFZlcnRpY2FsIEFjdGl2ZSAqL1xuICAgIC51aS52ZXJ0aWNhbC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBhY3RpdmVJdGVtQmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogQHZlcnRpY2FsQWN0aXZlQm94U2hhZG93O1xuICAgIH1cbiAgICAudWkudmVydGljYWwubWVudSA+IC5hY3RpdmUuaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwIDA7XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbC5tZW51ID4gLmFjdGl2ZS5pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzO1xuICAgIH1cbiAgICAudWkudmVydGljYWwubWVudSA+IC5hY3RpdmUuaXRlbTpvbmx5LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpLnZlcnRpY2FsLm1lbnUgLmFjdGl2ZS5pdGVtIC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIH1cbiAgICAudWkudmVydGljYWwubWVudSAuaXRlbSAubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3ViTWVudUFjdGl2ZUJhY2tncm91bmQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAc3ViTWVudUFjdGl2ZUZvbnRXZWlnaHQ7XG4gICAgICAgIGNvbG9yOiBAc3ViTWVudUFjdGl2ZVRleHRDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1lbnVUYWJ1bGFyKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFRhYnVsYXJcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS50YWJ1bGFyLm1lbnUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogQHRhYnVsYXJCYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItYm90dG9tOiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIEB0YWJ1bGFyQm9yZGVyQ29sb3I7XG4gICAgfVxuICAgIC51aS50YWJ1bGFyLmZsdWlkLm1lbnUge1xuICAgICAgICB3aWR0aDogQHRhYnVsYXJGbHVpZFdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS50YWJ1bGFyLm1lbnUgLml0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IEB0YWJ1bGFyQm9yZGVyV2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogQHRhYnVsYXJCb3JkZXJXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcDogQHRhYnVsYXJPcHBvc2l0ZUJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nOiBAdGFidWxhclZlcnRpY2FsUGFkZGluZyBAdGFidWxhckhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBjb2xvcjogQHRhYnVsYXJUZXh0Q29sb3I7XG4gICAgfVxuICAgIC51aS50YWJ1bGFyLm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogSG92ZXIgKi9cbiAgICAudWkudGFidWxhci5tZW51IC5pdGVtOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBAdGFidWxhckhvdmVyZWRUZXh0Q29sb3I7XG4gICAgfVxuXG4gICAgLyogQWN0aXZlICovXG4gICAgLnVpLnRhYnVsYXIubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdGFidWxhckFjdGl2ZUJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAdGFidWxhckFjdGl2ZUNvbG9yO1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiBAdGFidWxhckJvcmRlcldpZHRoO1xuICAgICAgICBib3JkZXItY29sb3I6IEB0YWJ1bGFyQm9yZGVyQ29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAdGFidWxhckFjdGl2ZVdlaWdodDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLUB0YWJ1bGFyQm9yZGVyV2lkdGg7XG4gICAgICAgIGJveC1zaGFkb3c6IEB0YWJ1bGFyQWN0aXZlQm94U2hhZG93O1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAdGFidWxhckJvcmRlclJhZGl1cyBAdGFidWxhckJvcmRlclJhZGl1cyAwIDAgIWltcG9ydGFudDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBDb3VwbGluZyB3aXRoIHNlZ21lbnQgZm9yIGF0dGFjaG1lbnQgKi9cbiAgICAudWkudGFidWxhci5tZW51IH4gLmF0dGFjaGVkOm5vdCgudG9wKS5zZWdtZW50IHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC50b3AuYXR0YWNoZWQuc2VnbWVudCArIC51aS5ib3R0b20udGFidWxhci5tZW51IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogQHRhYnVsYXJGbHVpZFdpZHRoO1xuICAgICAgICBsZWZ0OiAtQHRhYnVsYXJGbHVpZE9mZnNldDtcbiAgICB9XG5cbiAgICAvKiBCb3R0b20gVmVydGljYWwgVGFidWxhciAqL1xuICAgIC51aS5ib3R0b20udGFidWxhci5tZW51IHtcbiAgICAgICAgYmFja2dyb3VuZDogQHRhYnVsYXJCYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIGJvcmRlci10b3A6IEB0YWJ1bGFyQm9yZGVyV2lkdGggc29saWQgQHRhYnVsYXJCb3JkZXJDb2xvcjtcbiAgICB9XG4gICAgLnVpLmJvdHRvbS50YWJ1bGFyLm1lbnUgLml0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXItbGVmdDogQHRhYnVsYXJCb3JkZXJXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cbiAgICAudWkuYm90dG9tLnRhYnVsYXIubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdGFidWxhckFjdGl2ZUJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAdGFidWxhckFjdGl2ZUNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6IEB0YWJ1bGFyQm9yZGVyQ29sb3I7XG4gICAgICAgIG1hcmdpbjogLUB0YWJ1bGFyQm9yZGVyV2lkdGggMCAwIDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAdGFidWxhckJvcmRlclJhZGl1cyBAdGFidWxhckJvcmRlclJhZGl1cyAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51VmVydGljYWwpIHtcbiAgICAgICAgLyogVmVydGljYWwgVGFidWxhciAoTGVmdCkgKi9cbiAgICAgICAgLnVpLnZlcnRpY2FsLnRhYnVsYXIubWVudSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdGFidWxhclZlcnRpY2FsQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIEB0YWJ1bGFyQm9yZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnZlcnRpY2FsLnRhYnVsYXIubWVudSAuaXRlbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IEB0YWJ1bGFyQm9yZGVyV2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogQHRhYnVsYXJCb3JkZXJXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAudWkudmVydGljYWwudGFidWxhci5tZW51IC5hY3RpdmUuaXRlbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdGFidWxhckFjdGl2ZUJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogQHRhYnVsYXJBY3RpdmVDb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQHRhYnVsYXJCb3JkZXJDb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCAtQHRhYnVsYXJCb3JkZXJXaWR0aCAwIDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAdGFidWxhckJvcmRlclJhZGl1cyAwIDAgQHRhYnVsYXJCb3JkZXJSYWRpdXMgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFZlcnRpY2FsIFJpZ2h0IFRhYnVsYXIgKi9cbiAgICAgICAgLnVpLnZlcnRpY2FsLnJpZ2h0LnRhYnVsYXIubWVudSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdGFidWxhclZlcnRpY2FsQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IEB0YWJ1bGFyQm9yZGVyV2lkdGggc29saWQgQHRhYnVsYXJCb3JkZXJDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkudmVydGljYWwucmlnaHQudGFidWxhci5tZW51IC5pdGVtIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IEB0YWJ1bGFyQm9yZGVyV2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogQHRhYnVsYXJCb3JkZXJXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC51aS52ZXJ0aWNhbC5yaWdodC50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEB0YWJ1bGFyQWN0aXZlQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiBAdGFidWxhckFjdGl2ZUNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAdGFidWxhckJvcmRlckNvbG9yO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAtQHRhYnVsYXJCb3JkZXJXaWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQHRhYnVsYXJCb3JkZXJSYWRpdXMgQHRhYnVsYXJCb3JkZXJSYWRpdXMgMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogRHJvcGRvd24gKi9cbiAgICAudWkudGFidWxhci5tZW51IC5hY3RpdmUuZHJvcGRvd24uaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6IEB0YWJ1bGFyQm9yZGVyV2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IEB0YWJ1bGFyT3Bwb3NpdGVCb3JkZXJXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudUludmVydGVkKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5pdGVtLFxuICAgICAgICAudWkuaW52ZXJ0ZWQudGFidWxhci5tZW51IC5hY3RpdmUuaXRlbTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRUYWJ1bGFyQWN0aXZlQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGludmVydGVkVGFidWxhckJvcmRlckNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC50YWJ1bGFyLm1lbnUgLml0ZW06bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUYWJ1bGFySG92ZXJlZFRleHRDb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51UGFnaW5hdGlvbikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgUGFnaW5hdGlvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnBhZ2luYXRpb24ubWVudSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICAgIC51aS5wYWdpbmF0aW9uLm1lbnUgLml0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDA7XG4gICAgfVxuICAgIC51aS5jb21wYWN0Lm1lbnUgLml0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDA7XG4gICAgfVxuICAgIC51aS5wYWdpbmF0aW9uLm1lbnVAe25vdFdyYXBwaW5nfSAuaXRlbTpsYXN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC51aS5wYWdpbmF0aW9uLm1lbnUgLml0ZW0ge1xuICAgICAgICBtaW4td2lkdGg6IEBwYWdpbmF0aW9uTWluV2lkdGg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLnVpLnBhZ2luYXRpb24ubWVudSAuaWNvbi5pdGVtIGkuaWNvbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG4gICAgLyogQWN0aXZlICovXG4gICAgLnVpLnBhZ2luYXRpb24ubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBwYWRkaW5nLXRvcDogQGl0ZW1WZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBwYWdpbmF0aW9uQWN0aXZlQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBwYWdpbmF0aW9uQWN0aXZlVGV4dENvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudVNlY29uZGFyeSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgU2Vjb25kYXJ5XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuc2Vjb25kYXJ5Lm1lbnUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAc2Vjb25kYXJ5QmFja2dyb3VuZDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC1Ac2Vjb25kYXJ5SXRlbVNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLUBzZWNvbmRhcnlJdGVtU3BhY2luZztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC8qIEl0ZW0gKi9cbiAgICAudWkuc2Vjb25kYXJ5Lm1lbnUgLml0ZW0ge1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogQHNlY29uZGFyeUl0ZW1QYWRkaW5nO1xuICAgICAgICBtYXJnaW46IEBzZWNvbmRhcnlJdGVtTWFyZ2luO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAc2Vjb25kYXJ5SXRlbUJhY2tncm91bmQ7XG4gICAgICAgIHRyYW5zaXRpb246IEBzZWNvbmRhcnlJdGVtVHJhbnNpdGlvbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQHNlY29uZGFyeUl0ZW1Cb3JkZXJSYWRpdXM7XG4gICAgfVxuXG4gICAgLyogTm8gRGl2aWRlciAqL1xuICAgIC51aS5zZWNvbmRhcnkubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIEhlYWRlciAqL1xuICAgIC51aS5zZWNvbmRhcnkubWVudSAuaGVhZGVyLml0ZW0ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IEBzZWNvbmRhcnlIZWFkZXJCb3JkZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzZWNvbmRhcnlIZWFkZXJCYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8qIEltYWdlICovXG4gICAgLnVpLnNlY29uZGFyeS5tZW51IC5pdGVtID4gaW1nOm5vdCgudWkpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qIEhvdmVyICovXG4gICAgLnVpLnNlY29uZGFyeS5tZW51IC5kcm9wZG93bi5pdGVtOmhvdmVyLFxuICAgIC51aS5zZWNvbmRhcnkubWVudSAubGluay5pdGVtOmhvdmVyLFxuICAgIC51aS5zZWNvbmRhcnkubWVudSBhLml0ZW06aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAc2Vjb25kYXJ5SG92ZXJJdGVtQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBzZWNvbmRhcnlIb3Zlckl0ZW1Db2xvcjtcbiAgICB9XG5cbiAgICAvKiBBY3RpdmUgKi9cbiAgICAudWkuc2Vjb25kYXJ5Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogQHNlY29uZGFyeUFjdGl2ZUl0ZW1CYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQHNlY29uZGFyeUFjdGl2ZUl0ZW1Db2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQHNlY29uZGFyeUl0ZW1Cb3JkZXJSYWRpdXM7XG4gICAgfVxuXG4gICAgLyogQWN0aXZlIEhvdmVyICovXG4gICAgLnVpLnNlY29uZGFyeS5tZW51IC5hY3RpdmUuaXRlbTpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzZWNvbmRhcnlBY3RpdmVIb3Zlckl0ZW1CYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQHNlY29uZGFyeUFjdGl2ZUhvdmVySXRlbUNvbG9yO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVJbnZlcnRlZCkge1xuICAgICAgICAvKiBJbnZlcnRlZCAqL1xuICAgICAgICAudWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgLmxpbmsuaXRlbTpub3QoLmRpc2FibGVkKSxcbiAgICAgICAgLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5tZW51IGEuaXRlbTpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBjb2xvcjogQHNlY29uZGFyeUludmVydGVkQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5tZW51IC5kcm9wZG93bi5pdGVtOmhvdmVyLFxuICAgICAgICAudWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgLmxpbmsuaXRlbTpob3ZlcixcbiAgICAgICAgLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5tZW51IGEuaXRlbTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAc2Vjb25kYXJ5SW52ZXJ0ZWRIb3ZlckJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogQHNlY29uZGFyeUludmVydGVkSG92ZXJDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBzZWNvbmRhcnlJbnZlcnRlZEFjdGl2ZUJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogQHNlY29uZGFyeUludmVydGVkQWN0aXZlQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBGaXggaXRlbSBtYXJnaW5zICovXG4gICAgLnVpLnNlY29uZGFyeS5pdGVtLm1lbnUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAudWkuc2Vjb25kYXJ5Lml0ZW0ubWVudSAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51QXR0YWNoZWQpIHtcbiAgICAgICAgLnVpLnNlY29uZGFyeS5hdHRhY2hlZC5tZW51IHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudVZlcnRpY2FsKSB7XG4gICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBTZWNvbmRhcnkgVmVydGljYWxcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgICAgICAvKiBTdWIgTWVudSAqL1xuICAgICAgICAudWkudmVydGljYWwuc2Vjb25kYXJ5Lm1lbnUgLml0ZW06bm90KC5kcm9wZG93bikgPiAubWVudSB7XG4gICAgICAgICAgICBtYXJnaW46IEBzZWNvbmRhcnlNZW51U3ViTWVudU1hcmdpbjtcbiAgICAgICAgfVxuICAgICAgICAudWkudmVydGljYWwuc2Vjb25kYXJ5Lm1lbnUgLml0ZW06bm90KC5kcm9wZG93bikgPiAubWVudSA+IC5pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbjogQHNlY29uZGFyeU1lbnVTdWJNZW51SXRlbU1hcmdpbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IEBzZWNvbmRhcnlNZW51U3ViTWVudUl0ZW1QYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLnNlY29uZGFyeS52ZXJ0aWNhbC5tZW51ID4gLml0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiBAc2Vjb25kYXJ5VmVydGljYWxJdGVtTWFyZ2luO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogQHNlY29uZGFyeVZlcnRpY2FsSXRlbUJvcmRlclJhZGl1cyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5zZWNvbmRhcnkudmVydGljYWwubWVudSA+IC5oZWFkZXIuaXRlbSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogU3ViIE1lbnUgKi9cbiAgICAgICAgLnVpLnZlcnRpY2FsLnNlY29uZGFyeS5tZW51IC5pdGVtID4gLm1lbnUgLml0ZW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudUludmVydGVkKSB7XG4gICAgICAgICAgICAvKiBJbnZlcnRlZCAqL1xuICAgICAgICAgICAgLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5tZW51IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVQb2ludGluZykge1xuICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgU2Vjb25kYXJ5IFBvaW50aW5nXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAgICAgLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogQHNlY29uZGFyeVBvaW50aW5nQm9yZGVyV2lkdGggc29saWQgQHNlY29uZGFyeVBvaW50aW5nQm9yZGVyQ29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLml0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogQHNlY29uZGFyeVBvaW50aW5nQm9yZGVyV2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAtQHNlY29uZGFyeVBvaW50aW5nQm9yZGVyV2lkdGg7XG4gICAgICAgICAgICBwYWRkaW5nOiBAc2Vjb25kYXJ5UG9pbnRpbmdJdGVtVmVydGljYWxQYWRkaW5nIEBzZWNvbmRhcnlQb2ludGluZ0l0ZW1Ib3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IEBzZWNvbmRhcnlJdGVtVHJhbnNpdGlvbjtcbiAgICAgICAgfVxuICAgICAgICAudWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLml0ZW0gPiAubGFiZWxAe25vdEZsb2F0aW5nfSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtQGxhYmVsVmVydGljYWxQYWRkaW5nO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLUBsYWJlbFZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgfVxuICAgICAgICAudWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLml0ZW0gPiAuY2lyY3VsYXIubGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLUBjaXJjdWxhckxhYmVsVmVydGljYWxQYWRkaW5nO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLUBjaXJjdWxhckxhYmVsVmVydGljYWxQYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogSXRlbSBUeXBlcyAqL1xuICAgICAgICAudWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmhlYWRlci5pdGVtIHtcbiAgICAgICAgICAgIGNvbG9yOiBAc2Vjb25kYXJ5UG9pbnRpbmdIZWFkZXJDb2xvciAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAudGV4dC5pdGVtIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLml0ZW06OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBIb3ZlciAqL1xuICAgICAgICAudWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmRyb3Bkb3duLml0ZW06aG92ZXIsXG4gICAgICAgIC51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAubGluay5pdGVtOmhvdmVyLFxuICAgICAgICAudWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgYS5pdGVtOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6IEBzZWNvbmRhcnlQb2ludGluZ0hvdmVyVGV4dENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogUHJlc3NlZCAqL1xuICAgICAgICAudWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmRyb3Bkb3duLml0ZW06YWN0aXZlLFxuICAgICAgICAudWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmxpbmsuaXRlbTphY3RpdmUsXG4gICAgICAgIC51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSBhLml0ZW06YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAc2Vjb25kYXJ5UG9pbnRpbmdCb3JkZXJDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEFjdGl2ZSAqL1xuICAgICAgICAudWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQHNlY29uZGFyeVBvaW50aW5nQWN0aXZlQm9yZGVyQ29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogQHNlY29uZGFyeVBvaW50aW5nQWN0aXZlRm9udFdlaWdodDtcbiAgICAgICAgICAgIGNvbG9yOiBAc2Vjb25kYXJ5UG9pbnRpbmdBY3RpdmVUZXh0Q29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBBY3RpdmUgSG92ZXIgKi9cbiAgICAgICAgLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBzZWNvbmRhcnlQb2ludGluZ0FjdGl2ZUhvdmVyQm9yZGVyQ29sb3I7XG4gICAgICAgICAgICBjb2xvcjogQHNlY29uZGFyeVBvaW50aW5nQWN0aXZlSG92ZXJUZXh0Q29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBBY3RpdmUgRHJvcGRvd24gKi9cbiAgICAgICAgLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5hY3RpdmUuZHJvcGRvd24uaXRlbSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBzZWNvbmRhcnlQb2ludGluZ0FjdGl2ZURyb3Bkb3duQm9yZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudVZlcnRpY2FsKSB7XG4gICAgICAgICAgICAvKiBWZXJ0aWNhbCBQb2ludGluZyAqL1xuICAgICAgICAgICAgLnVpLnNlY29uZGFyeS52ZXJ0aWNhbC5wb2ludGluZy5tZW51IHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogQHNlY29uZGFyeVBvaW50aW5nQm9yZGVyV2lkdGggc29saWQgQHNlY29uZGFyeVBvaW50aW5nQm9yZGVyQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuc2Vjb25kYXJ5LnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLml0ZW0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBAc2Vjb25kYXJ5UG9pbnRpbmdCb3JkZXJXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBAc2Vjb25kYXJ5VmVydGljYWxQb2ludGluZ0l0ZW1NYXJnaW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qIFZlcnRpY2FsIEFjdGl2ZSAqL1xuICAgICAgICAgICAgLnVpLnNlY29uZGFyeS52ZXJ0aWNhbC5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAc2Vjb25kYXJ5UG9pbnRpbmdBY3RpdmVCb3JkZXJDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51SW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC8qIEludmVydGVkICovXG4gICAgICAgICAgICAudWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQHNlY29uZGFyeVBvaW50aW5nSW52ZXJ0ZWRCb3JkZXJDb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5pdGVtOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQHNlY29uZGFyeVBvaW50aW5nSW52ZXJ0ZWRJdGVtVGV4dENvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5oZWFkZXIuaXRlbSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBzZWNvbmRhcnlQb2ludGluZ0ludmVydGVkSXRlbUhlYWRlckNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qIEhvdmVyICovXG4gICAgICAgICAgICAudWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUgLmxpbmsuaXRlbTpob3ZlcixcbiAgICAgICAgICAgIC51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSBhLml0ZW06aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAc2Vjb25kYXJ5UG9pbnRpbmdJbnZlcnRlZEl0ZW1Ib3ZlclRleHRDb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogQWN0aXZlICovXG4gICAgICAgICAgICAudWkudWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBzZWNvbmRhcnlQb2ludGluZ0ludmVydGVkQWN0aXZlQm9yZGVyQ29sb3I7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBzZWNvbmRhcnlQb2ludGluZ0ludmVydGVkQWN0aXZlQ29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1lbnVUZXh0KSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVGV4dCBNZW51XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudGV4dC5tZW51IHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBtYXJnaW46IEB0ZXh0TWVudU1hcmdpbjtcbiAgICB9XG4gICAgLnVpLnRleHQubWVudSAuaXRlbSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBAdGV4dE1lbnVJdGVtTWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiBAdGV4dE1lbnVJdGVtUGFkZGluZztcbiAgICAgICAgZm9udC13ZWlnaHQ6IEB0ZXh0TWVudUl0ZW1Gb250V2VpZ2h0O1xuICAgICAgICBjb2xvcjogQHRleHRNZW51SXRlbUNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiBAdGV4dE1lbnVJdGVtVHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICAvKiBCb3JkZXIgKi9cbiAgICAudWkudGV4dC5tZW51IC5pdGVtOjpiZWZvcmUsXG4gICAgLnVpLnRleHQubWVudSAubWVudSAuaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIEhlYWRlciAqL1xuICAgIC51aS50ZXh0Lm1lbnUgLmhlYWRlci5pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbG9yOiBAdGV4dE1lbnVIZWFkZXJDb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiBAdGV4dE1lbnVIZWFkZXJTaXplO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogQHRleHRNZW51SGVhZGVyVGV4dFRyYW5zZm9ybTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEB0ZXh0TWVudUhlYWRlckZvbnRXZWlnaHQ7XG4gICAgfVxuXG4gICAgLyogSW1hZ2UgKi9cbiAgICAudWkudGV4dC5tZW51IC5pdGVtID4gaW1nOm5vdCgudWkpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qIC0tLSBmbHVpZCB0ZXh0IC0tLSAqL1xuICAgIC51aS50ZXh0Lml0ZW0ubWVudSAuaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudVZlcnRpY2FsKSB7XG4gICAgICAgIC8qIC0tLSB2ZXJ0aWNhbCB0ZXh0IC0tLSAqL1xuICAgICAgICAudWkudmVydGljYWwudGV4dC5tZW51IHtcbiAgICAgICAgICAgIG1hcmdpbjogQHRleHRWZXJ0aWNhbE1lbnVNYXJnaW47XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnZlcnRpY2FsLnRleHQubWVudTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgIC51aS52ZXJ0aWNhbC50ZXh0Lm1lbnU6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIC51aS52ZXJ0aWNhbC50ZXh0Lm1lbnUgLml0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luOiBAdGV4dFZlcnRpY2FsTWVudUl0ZW1NYXJnaW47XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIC51aS52ZXJ0aWNhbC50ZXh0Lm1lbnUgLml0ZW0gPiBpLmljb24ge1xuICAgICAgICAgICAgZmxvYXQ6IEB0ZXh0VmVydGljYWxNZW51SWNvbkZsb2F0O1xuICAgICAgICAgICAgbWFyZ2luOiBAaWNvbk1hcmdpbjtcbiAgICAgICAgfVxuICAgICAgICAudWkudmVydGljYWwudGV4dC5tZW51IC5oZWFkZXIuaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW46IEB0ZXh0VmVydGljYWxNZW51SGVhZGVyTWFyZ2luO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogVmVydGljYWwgU3ViIE1lbnUgKi9cbiAgICAgICAgLnVpLnZlcnRpY2FsLnRleHQubWVudSAuaXRlbTpub3QoLmRyb3Bkb3duKSA+IC5tZW51IHtcbiAgICAgICAgICAgIG1hcmdpbjogQHRleHRNZW51U3ViTWVudU1hcmdpbjtcbiAgICAgICAgfVxuICAgICAgICAudWkudmVydGljYWwudGV4dC5tZW51IC5pdGVtOm5vdCguZHJvcGRvd24pID4gLm1lbnUgPiAuaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW46IEB0ZXh0TWVudVN1Yk1lbnVJdGVtTWFyZ2luO1xuICAgICAgICAgICAgcGFkZGluZzogQHRleHRNZW51U3ViTWVudUl0ZW1QYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogLS0tIGhvdmVyIC0tLSAqL1xuICAgIC51aS50ZXh0Lm1lbnUgLml0ZW06aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvKiAtLS0gYWN0aXZlIC0tLSAqL1xuICAgIC51aS50ZXh0Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEB0ZXh0TWVudUFjdGl2ZUl0ZW1Gb250V2VpZ2h0O1xuICAgICAgICBjb2xvcjogQHRleHRNZW51QWN0aXZlSXRlbUNvbG9yO1xuICAgIH1cblxuICAgIC8qIC0tLSBhY3RpdmUgaG92ZXIgLS0tICovXG4gICAgLnVpLnRleHQubWVudSAuYWN0aXZlLml0ZW06aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudVBvaW50aW5nKSB7XG4gICAgICAgIC8qIERpc2FibGUgQmFyaWF0aW9ucyAqL1xuICAgICAgICAudWkudGV4dC5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51QXR0YWNoZWQpIHtcbiAgICAgICAgLnVpLnRleHQuYXR0YWNoZWQubWVudSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVJbnZlcnRlZCkge1xuICAgICAgICAvKiBJbnZlcnRlZCAqL1xuICAgICAgICAudWkuaW52ZXJ0ZWQudGV4dC5tZW51LFxuICAgICAgICAudWkuaW52ZXJ0ZWQudGV4dC5tZW51IC5pdGVtLFxuICAgICAgICAudWkuaW52ZXJ0ZWQudGV4dC5tZW51IC5pdGVtOmhvdmVyLFxuICAgICAgICAudWkuaW52ZXJ0ZWQudGV4dC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51Rmx1aWQpIHtcbiAgICAgICAgLyogRmx1aWQgKi9cbiAgICAgICAgLnVpLmZsdWlkLnRleHQubWVudSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudUljb24pIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBJY29uIE9ubHlcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVWZXJ0aWNhbCkge1xuICAgICAgICAvKiBWZXJ0aWNhbCBNZW51ICovXG4gICAgICAgIC51aS52ZXJ0aWNhbC5pY29uLm1lbnUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBJdGVtICovXG4gICAgLnVpLmljb24ubWVudSAuaXRlbSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogQGljb25NZW51VGV4dEFsaWduO1xuICAgICAgICBjb2xvcjogQGljb25NZW51SXRlbUNvbG9yO1xuICAgIH1cblxuICAgIC8qIEljb24gKi9cbiAgICAudWkuaWNvbi5tZW51IC5pdGVtID4gaS5pY29uOm5vdCguZHJvcGRvd24pIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC8qIEljb24gR2x5cGggKi9cbiAgICAudWkuaWNvbi5tZW51IGkuaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAvKiAoeCkgSXRlbSBJY29uICovXG4gICAgLnVpLm1lbnUgLmljb24uaXRlbSA+IGkuaWNvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAvKiBWZXJ0aWNhbCBJY29uICovXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudVZlcnRpY2FsKSB7XG4gICAgICAgIC51aS52ZXJ0aWNhbC5pY29uLm1lbnUgLml0ZW0gPiBpLmljb246bm90KC5kcm9wZG93bikge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEludmVydGVkICovXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudUludmVydGVkKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5pY29uLm1lbnUgLml0ZW0ge1xuICAgICAgICAgICAgY29sb3I6IEBpY29uTWVudUludmVydGVkSXRlbUNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51TGFiZWxlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGFiZWxlZCBJY29uXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBNZW51ICovXG4gICAgLnVpLmxhYmVsZWQuaWNvbi5tZW51IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8qIEl0ZW0gKi9cbiAgICAudWkubGFiZWxlZC5pY29uLm1lbnUgLml0ZW0ge1xuICAgICAgICBtaW4td2lkdGg6IEBsYWJlbGVkSWNvbk1pbldpZHRoO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC8qIEljb24gKi9cbiAgICAudWkubGFiZWxlZC5pY29uLm1lbnUgPiAucmlnaHQubWVudSA+IC5pdGVtID4gaS5pY29uOm5vdCguZHJvcGRvd24pLFxuICAgIC51aS5sYWJlbGVkLmljb24ubWVudSA+IC5pdGVtID4gaS5pY29uOm5vdCguZHJvcGRvd24pIHtcbiAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IEBsYWJlbGVkSWNvblNpemUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gQGxhYmVsZWRJY29uVGV4dE1hcmdpbiAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51Rmx1aWQpIHtcbiAgICAgICAgLyogRmx1aWQgKi9cbiAgICAgICAgLnVpLmZsdWlkLmxhYmVsZWQuaWNvbi5tZW51ID4gLml0ZW0ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51U3RhY2thYmxlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU3RhY2thYmxlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgICAgIC51aS5zdGFja2FibGUubWVudSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAmLnBvaW50aW5nIC5hY3RpdmUuaXRlbTo6YWZ0ZXIgd2hlbiAoQHZhcmlhdGlvbk1lbnVQb2ludGluZykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnN0YWNrYWJsZS5tZW51IC5pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnN0YWNrYWJsZS5tZW51IC5pdGVtOjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogQGRpdmlkZXJTaXplO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHZlcnRpY2FsRGl2aWRlckJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuc3RhY2thYmxlLm1lbnUgLmxlZnQubWVudSxcbiAgICAgICAgLnVpLnN0YWNrYWJsZS5tZW51IC5sZWZ0Lml0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnN0YWNrYWJsZS5tZW51IC5yaWdodC5tZW51LFxuICAgICAgICAudWkuc3RhY2thYmxlLm1lbnUgLnJpZ2h0Lml0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuc3RhY2thYmxlLm1lbnUgLmNlbnRlci5tZW51LFxuICAgICAgICAudWkuc3RhY2thYmxlLm1lbnUgLmNlbnRlci5pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5zdGFja2FibGUubWVudSAucmlnaHQubWVudSxcbiAgICAgICAgLnVpLnN0YWNrYWJsZS5tZW51IC5jZW50ZXIubWVudSxcbiAgICAgICAgLnVpLnN0YWNrYWJsZS5tZW51IC5sZWZ0Lm1lbnUge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25NZW51Q29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25NZW51Q29sb3JzLCB7XG4gICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICBAYzogQGNvbG9yc1tAQGNvbG9yXVtjb2xvcl07XG5cbiAgICAgICAgJiB3aGVuIG5vdCAoQGNvbG9yPXNlY29uZGFyeSkge1xuICAgICAgICAgICAgLnVpLnVpLnVpLm1lbnUgLkB7Y29sb3J9LmFjdGl2ZS5pdGVtLFxuICAgICAgICAgICAgLnVpLnVpLkB7Y29sb3J9Lm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyLFxuICAgICAgICAgICAgLnVpLnVpLkB7Y29sb3J9Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgICAgICAgICAmIHdoZW4gbm90IChAc2Vjb25kYXJ5UG9pbnRpbmdBY3RpdmVCb3JkZXJDb2xvciA9IGN1cnJlbnRDb2xvcikge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBjO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb2xvcjogQGM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudUludmVydGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pbnZlcnRlZC5tZW51IHtcbiAgICAgICAgYm9yZGVyOiBAaW52ZXJ0ZWRCb3JkZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6IEBpbnZlcnRlZEJveFNoYWRvdztcbiAgICB9XG5cbiAgICAvKiBNZW51IEl0ZW0gKi9cbiAgICAudWkuaW52ZXJ0ZWQubWVudSAuaXRlbSxcbiAgICAudWkuaW52ZXJ0ZWQubWVudSAuaXRlbSA+IGE6bm90KC51aSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRJdGVtQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZEl0ZW1UZXh0Q29sb3I7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5tZW51IC5pdGVtLm1lbnUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRTdWJNZW51QmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvKiAtLS0gQm9yZGVyIC0tLSAqL1xuICAgIC51aS5pbnZlcnRlZC5tZW51IC5pdGVtOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWREaXZpZGVyQmFja2dyb3VuZDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudVZlcnRpY2FsKSB7XG4gICAgICAgIC51aS52ZXJ0aWNhbC5pbnZlcnRlZC5tZW51IC5pdGVtOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkVmVydGljYWxEaXZpZGVyQmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFN1YiBNZW51ICovXG4gICAgICAgIC51aS52ZXJ0aWNhbC5pbnZlcnRlZC5tZW51IC5tZW51IC5pdGVtLFxuICAgICAgICAudWkudmVydGljYWwuaW52ZXJ0ZWQubWVudSAubWVudSAuaXRlbSBhOm5vdCgudWkpIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRTdWJNZW51Q29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBIZWFkZXIgKi9cbiAgICAudWkuaW52ZXJ0ZWQubWVudSAuaGVhZGVyLml0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEhlYWRlckJhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogRGlzYWJsZWQgKi9cbiAgICAudWkudWkuaW52ZXJ0ZWQubWVudSAuaXRlbS5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWREaXNhYmxlZFRleHRDb2xvcjtcbiAgICB9XG5cbiAgICAvKiAtLS0gSG92ZXIgLS0tICovXG4gICAgLnVpLmxpbmsuaW52ZXJ0ZWQubWVudSAuaXRlbTpob3ZlcixcbiAgICAudWkuaW52ZXJ0ZWQubWVudSAuZHJvcGRvd24uaXRlbTpob3ZlcixcbiAgICAudWkuaW52ZXJ0ZWQubWVudSAubGluay5pdGVtOmhvdmVyLFxuICAgIC51aS5pbnZlcnRlZC5tZW51IGEuaXRlbTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEhvdmVyQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZEhvdmVyQ29sb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVWZXJ0aWNhbCkge1xuICAgICAgICAudWkudmVydGljYWwuaW52ZXJ0ZWQubWVudSAuaXRlbSAubWVudSBhLml0ZW06aG92ZXIsXG4gICAgICAgIC51aS52ZXJ0aWNhbC5pbnZlcnRlZC5tZW51IC5pdGVtIC5tZW51IC5saW5rLml0ZW06aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkU3ViTWVudUJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkU3ViTWVudUhvdmVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAtLS0gUHJlc3NlZCAtLS0gKi9cbiAgICAudWkuaW52ZXJ0ZWQubWVudSBhLml0ZW06YWN0aXZlLFxuICAgIC51aS5pbnZlcnRlZC5tZW51IC5saW5rLml0ZW06YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkTWVudVByZXNzZWRCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQGludmVydGVkTWVudVByZXNzZWRDb2xvcjtcbiAgICB9XG5cbiAgICAvKiAtLS0gQWN0aXZlIC0tLSAqL1xuICAgIC51aS5pbnZlcnRlZC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEFjdGl2ZUJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRBY3RpdmVDb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51VmVydGljYWwpIHtcbiAgICAgICAgLnVpLmludmVydGVkLnZlcnRpY2FsLm1lbnUgLml0ZW0gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFN1Yk1lbnVBY3RpdmVCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFN1Yk1lbnVBY3RpdmVDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51UG9pbnRpbmcpIHtcbiAgICAgICAgLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRBcnJvd0FjdGl2ZUNvbG9yO1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIC0tLSBBY3RpdmUgSG92ZXIgLS0tICovXG4gICAgLnVpLmludmVydGVkLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQWN0aXZlSG92ZXJCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQGludmVydGVkQWN0aXZlSG92ZXJDb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51UG9pbnRpbmcpIHtcbiAgICAgICAgLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRBcnJvd0FjdGl2ZUhvdmVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1lbnVGbG9hdGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZsb2F0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mbG9hdGVkLm1lbnUge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwIEBmbG9hdGVkRGlzdGFuY2UgMCAwO1xuICAgIH1cbiAgICAudWkuZmxvYXRlZC5tZW51IC5pdGVtOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVpLnJpZ2h0LmZsb2F0ZWQubWVudSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBAZmxvYXRlZERpc3RhbmNlO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudUNlbnRlcmVkKSB7XG4gICAgLnVpLmNlbnRlci5hbGlnbmVkLm1lbnVAe25vdEZsdWlkfSxcbiAgICAudWkuY2VudGVyZWQubWVudUB7bm90Rmx1aWR9IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgICB9XG4gICAgLnVpLmNlbnRlci5hbGlnbmVkLm1lbnUgLml0ZW0sXG4gICAgLnVpLmNlbnRlcmVkLm1lbnUgLml0ZW0ge1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51SW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuICAgICYgd2hlbiBub3QgKEB2YXJpYXRpb25NZW51Q29sb3JzID0gZmFsc2UpIHtcbiAgICAgICAgZWFjaChAdmFyaWF0aW9uTWVudUNvbG9ycywge1xuICAgICAgICAgICAgQGNvbG9yOiBAdmFsdWU7XG4gICAgICAgICAgICBAYzogQGNvbG9yc1tAQGNvbG9yXVtjb2xvcl07XG4gICAgICAgICAgICBAaDogQGNvbG9yc1tAQGNvbG9yXVtob3Zlcl07XG5cbiAgICAgICAgICAgICYgd2hlbiBub3QgKEBjb2xvcj1zZWNvbmRhcnkpIHtcbiAgICAgICAgICAgICAgICAudWkudWkudWkuaW52ZXJ0ZWQubWVudSAuQHtjb2xvcn0uYWN0aXZlLml0ZW0sXG4gICAgICAgICAgICAgICAgLnVpLnVpLmludmVydGVkLkB7Y29sb3J9Lm1lbnUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9Lm1lbnUgLml0ZW06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZENvbG9yZWREaXZpZGVyQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnVpLnVpLmludmVydGVkLkB7Y29sb3J9Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkQ29sb3JlZEFjdGl2ZUJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVQb2ludGluZykge1xuICAgICAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQucG9pbnRpbmcuQHtjb2xvcn0ubWVudSAuYWN0aXZlLml0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVQb2ludGluZykge1xuICAgICAgICAudWkudWkudWkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1lbnVGaXR0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRml0dGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZml0dGVkLm1lbnUgLml0ZW0sXG4gICAgLnVpLmZpdHRlZC5tZW51IC5pdGVtIC5tZW51IC5pdGVtLFxuICAgIC51aS5tZW51IC5maXR0ZWQuaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC51aS5ob3Jpem9udGFsbHkuZml0dGVkLm1lbnUgLml0ZW0sXG4gICAgLnVpLmhvcml6b250YWxseS5maXR0ZWQubWVudSAuaXRlbSAubWVudSAuaXRlbSxcbiAgICAudWkubWVudSAuaG9yaXpvbnRhbGx5LmZpdHRlZC5pdGVtIHtcbiAgICAgICAgcGFkZGluZy10b3A6IEBpdGVtVmVydGljYWxQYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogQGl0ZW1WZXJ0aWNhbFBhZGRpbmc7XG4gICAgfVxuICAgIC51aS52ZXJ0aWNhbGx5LmZpdHRlZC5tZW51IC5pdGVtLFxuICAgIC51aS52ZXJ0aWNhbGx5LmZpdHRlZC5tZW51IC5pdGVtIC5tZW51IC5pdGVtLFxuICAgIC51aS5tZW51IC52ZXJ0aWNhbGx5LmZpdHRlZC5pdGVtIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBAaXRlbUhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAaXRlbUhvcml6b250YWxQYWRkaW5nO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudUJvcmRlcmxlc3MpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIEJvcmRlcmxlc3NcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5ib3JkZXJsZXNzLm1lbnUgLml0ZW06OmJlZm9yZSxcbiAgICAudWkuYm9yZGVybGVzcy5tZW51IC5pdGVtIC5tZW51IC5pdGVtOjpiZWZvcmUsXG4gICAgLnVpLm1lbnUgLmJvcmRlcmxlc3MuaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudUNvbXBhY3QpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIENvbXBhY3RcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNvbXBhY3QubWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVWZXJ0aWNhbCkge1xuICAgICAgICAudWkuY29tcGFjdC52ZXJ0aWNhbC5tZW51IHtcbiAgICAgICAgICAgICYgd2hlbiAoQHN1cHBvcnRJRSkge1xuICAgICAgICAgICAgICAgIC8qIElFIGhhY2sgdG8gbWFrZSBkcm9wZG93biBpY29ucyBhcHBlYXIgaW5saW5lICovXG4gICAgICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHZhbHVlLW5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5jb21wYWN0Lm1lbnVAe25vdFNlY29uZGFyeX0gLml0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDA7XG4gICAgfVxuICAgIC51aS5jb21wYWN0Lm1lbnUgLml0ZW06bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVudVZlcnRpY2FsKSB7XG4gICAgICAgIC51aS5jb21wYWN0LnZlcnRpY2FsLm1lbnUge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuY29tcGFjdC52ZXJ0aWNhbC5tZW51IC5pdGVtOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudUZsdWlkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgRmx1aWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLm1lbnUuZmx1aWQsXG4gICAgLnVpLnZlcnRpY2FsLm1lbnUuZmx1aWQge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudUVxdWFsV2lkdGgpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRXZlbmx5IFNpemVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5tZW51ID4gLml0ZW0ge1xuICAgICAgICBmbGV4OiAxO1xuICAgIH1cblxuICAgIC51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5tZW51ID4gLml0ZW0sXG4gICAgLnVpLml0ZW0ubWVudSxcbiAgICAudWkuaXRlbS5tZW51IC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAudWkuYXR0YWNoZWRbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0ubWVudUB7bm90VGFidWxhcn0sXG4gICAgLnVpLmF0dGFjaGVkLml0ZW0ubWVudUB7bm90VGFidWxhcn0ge1xuICAgICAgICBtYXJnaW46IDAgQGF0dGFjaGVkSG9yaXpvbnRhbE9mZnNldCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5tZW51ID4gLml0ZW06bGFzdC1jaGlsZDo6YmVmb3JlLFxuICAgIC51aS5pdGVtLm1lbnUgLml0ZW06bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudWkubWVudS50d28uaXRlbSAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICAgIC51aS5tZW51LnRocmVlLml0ZW0gLml0ZW0ge1xuICAgICAgICB3aWR0aDogMzMuMzMzJTtcbiAgICB9XG4gICAgLnVpLm1lbnUuZm91ci5pdGVtIC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG4gICAgLnVpLm1lbnUuZml2ZS5pdGVtIC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG4gICAgLnVpLm1lbnUuc2l4Lml0ZW0gLml0ZW0ge1xuICAgICAgICB3aWR0aDogMTYuNjY2JTtcbiAgICB9XG4gICAgLnVpLm1lbnUuc2V2ZW4uaXRlbSAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxNC4yODUlO1xuICAgIH1cbiAgICAudWkubWVudS5laWdodC5pdGVtIC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEyLjUlO1xuICAgIH1cbiAgICAudWkubWVudS5uaW5lLml0ZW0gLml0ZW0ge1xuICAgICAgICB3aWR0aDogMTEuMTElO1xuICAgIH1cbiAgICAudWkubWVudS50ZW4uaXRlbSAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMCU7XG4gICAgfVxuICAgIC51aS5tZW51LmVsZXZlbi5pdGVtIC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDkuMDklO1xuICAgIH1cbiAgICAudWkubWVudS50d2VsdmUuaXRlbSAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiA4LjMzMyU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZW51Rml4ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRml4ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5tZW51LmZpeGVkIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB6LWluZGV4OiAxMDE7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC51aS5tZW51LmZpeGVkLFxuICAgIC51aS5tZW51LmZpeGVkIC5pdGVtOmZpcnN0LWNoaWxkLFxuICAgIC51aS5tZW51LmZpeGVkIC5pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVpLmZpeGVkLm1lbnUsXG4gICAgLnVpW2NsYXNzKj1cInRvcCBmaXhlZFwiXS5tZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwidG9wIGZpeGVkXCJdLm1lbnUge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwicmlnaHQgZml4ZWRcIl0ubWVudSB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwiYm90dG9tIGZpeGVkXCJdLm1lbnUge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGZpeGVkXCJdLm1lbnUge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC8qIENvdXBsaW5nIHdpdGggR3JpZCAqL1xuICAgIC51aS5maXhlZC5tZW51ICsgLnVpLmdyaWQge1xuICAgICAgICBwYWRkaW5nLXRvcDogQGZpeGVkUHJlY2VkaW5nR3JpZE1hcmdpbjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1lbnVQb2ludGluZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgUG9pbnRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnBvaW50aW5nLm1lbnUgLml0ZW06OmFmdGVyIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBtYXJnaW46IChAYXJyb3dCb3JkZXJXaWR0aCAvIDIpIDAgMDtcbiAgICAgICAgd2lkdGg6IEBhcnJvd1NpemU7XG4gICAgICAgIGhlaWdodDogQGFycm93U2l6ZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiBAYXJyb3dCb3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogQGFycm93Qm9yZGVyO1xuICAgICAgICB6LWluZGV4OiBAYXJyb3daSW5kZXg7XG4gICAgICAgIHRyYW5zaXRpb246IEBhcnJvd1RyYW5zaXRpb247XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVWZXJ0aWNhbCkge1xuICAgICAgICAudWkudmVydGljYWwucG9pbnRpbmcubWVudSAuaXRlbTo6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICBtYXJnaW46IDAgLShAYXJyb3dCb3JkZXJXaWR0aCAvIDIpIDAgMDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IEBhcnJvd0JvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogQGFycm93Qm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5wb2ludGluZy5tZW51IC51aS5kcm9wZG93biAubWVudSAuaXRlbTo6YWZ0ZXIsXG4gICAgLnVpLnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogQWN0aXZlICovXG4gICAgLnVpLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuICAgIC51aS5wb2ludGluZy5tZW51IC5hY3RpdmUuZHJvcGRvd24uaXRlbTo6YWZ0ZXIge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLyogRG9uJ3QgZG91YmxlIHVwIHBvaW50ZXJzICovXG4gICAgLnVpLnBvaW50aW5nLm1lbnUgLmRyb3Bkb3duLmFjdGl2ZS5pdGVtOjphZnRlcixcbiAgICAudWkucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW0gLm1lbnUgLmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogQ29sb3JzICovXG4gICAgLnVpLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBhcnJvd0hvdmVyQ29sb3I7XG4gICAgfVxuICAgIC51aS5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYXJyb3dBY3RpdmVDb2xvcjtcbiAgICB9XG4gICAgLnVpLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBhcnJvd0FjdGl2ZUhvdmVyQ29sb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVWZXJ0aWNhbCkge1xuICAgICAgICAudWkudmVydGljYWwucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBhcnJvd1ZlcnRpY2FsSG92ZXJDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkudmVydGljYWwucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBhcnJvd1ZlcnRpY2FsQWN0aXZlQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLm1lbnUgLmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYXJyb3dWZXJ0aWNhbFN1Yk1lbnVDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51Rmx1aWQpIGFuZCAoQHZhcmlhdGlvbkdyaWRTdGFja2FibGUpIHtcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgICAgICAgICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLmZsdWlkLnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uTWVudUNvbG9ycyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uTWVudUNvbG9ycywge1xuICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuXG4gICAgICAgIC51aS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5Ae2NvbG9yfS5hY3RpdmUuaXRlbTo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudUF0dGFjaGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQXR0YWNoZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIE1pZGRsZSAqL1xuICAgIC51aS5hdHRhY2hlZC5tZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbjogMCBAYXR0YWNoZWRIb3Jpem9udGFsT2Zmc2V0O1xuICAgICAgICB3aWR0aDogQGF0dGFjaGVkV2lkdGg7XG4gICAgICAgIG1heC13aWR0aDogQGF0dGFjaGVkV2lkdGg7XG4gICAgICAgIGJveC1zaGFkb3c6IEBhdHRhY2hlZEJveFNoYWRvdztcbiAgICB9XG4gICAgLnVpLmF0dGFjaGVkICsgLnVpLmF0dGFjaGVkLm1lbnU6bm90KC50b3ApIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBUb3AgKi9cbiAgICAudWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLm1lbnUge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRvcDogQGF0dGFjaGVkVG9wT2Zmc2V0O1xuICAgICAgICBtYXJnaW4tdG9wOiBAdmVydGljYWxNYXJnaW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwIDA7XG4gICAgfVxuICAgIC51aS5tZW51W2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLyogQm90dG9tICovXG4gICAgLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5tZW51IHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB0b3A6IEBhdHRhY2hlZEJvdHRvbU9mZnNldDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogQHZlcnRpY2FsTWFyZ2luO1xuICAgICAgICBib3gtc2hhZG93OiBAYXR0YWNoZWRCb3R0b21Cb3hTaGFkb3c7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXM7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ubWVudTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvKiBBdHRhY2hlZCBNZW51IEl0ZW0gKi9cbiAgICAudWkudG9wLmF0dGFjaGVkLm1lbnUgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgMCAwIDA7XG4gICAgfVxuICAgIC51aS5ib3R0b20uYXR0YWNoZWQubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgQGJvcmRlclJhZGl1cztcbiAgICB9XG5cbiAgICAvKiBUYWJ1bGFyIEF0dGFjaGVkICovXG4gICAgLnVpLmF0dGFjaGVkLm1lbnVAe25vdFRhYnVsYXJ9QHtub3RUZXh0fSB7XG4gICAgICAgIGJvcmRlcjogQGF0dGFjaGVkQm9yZGVyO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51SW52ZXJ0ZWQpIHtcbiAgICAgICAgLnVpLmF0dGFjaGVkLmludmVydGVkLm1lbnUge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbk1lbnVUYWJ1bGFyKSB7XG4gICAgICAgICAgICAudWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmludmVydGVkLnRhYnVsYXIubWVudSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogQGludmVydGVkVGFidWxhckJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51VGFidWxhcikge1xuICAgICAgICAudWkuYXR0YWNoZWQudGFidWxhci5tZW51IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1lbnVXcmFwcGluZykge1xuICAgIC51aS53cmFwcGluZy5tZW51IHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAmIC5pdGVtOjpiZWZvcmUge1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgICYgLml0ZW06Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICZAe25vdFNlY29uZGFyeX1Ae25vdFRleHR9QHtub3RUYWJ1bGFyfUB7bm90Qm9yZGVybGVzc30gLml0ZW0ge1xuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUsXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogQGRpdmlkZXJTaXplIHNvbGlkIEBkaXZpZGVyQmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51V3JhcHBlZCkge1xuICAgICAgICAudWkud3JhcHBlZC5tZW51QHtub3RTZWNvbmRhcnl9QHtub3RUZXh0fUB7bm90VGFidWxhcn1Ae25vdEJvcmRlcmxlc3N9IC5pdGVtIHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5tZW51IHtcbiAgICBmb250LXNpemU6IEBtZWRpdW07XG59XG4mIHdoZW4gKEB2YXJpYXRpb25NZW51VmVydGljYWwpIHtcbiAgICAudWkudmVydGljYWwubWVudSB7XG4gICAgICAgIHdpZHRoOiBAbWVkaXVtV2lkdGg7XG4gICAgfVxufVxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbk1lbnVTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uTWVudVNpemVzLCB7XG4gICAgICAgIEB3OiBAe3ZhbHVlfVdpZHRoO1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9Lm1lbnUsXG4gICAgICAgIC51aS5Ae3ZhbHVlfS5tZW51IC5kcm9wZG93bixcbiAgICAgICAgLnVpLkB7dmFsdWV9Lm1lbnUgLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAcztcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25NZW51VmVydGljYWwpIHtcbiAgICAgICAgICAgIC51aS5Ae3ZhbHVlfS52ZXJ0aWNhbC5tZW51Om5vdCguaWNvbikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBAQHc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBJbnZlcnRlZCBkcm9wZG93bnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWkubWVudSAudWkuaW52ZXJ0ZWQuaW52ZXJ0ZWQuZHJvcGRvd24uaXRlbSAubWVudSB7XG4gICAgYmFja2dyb3VuZDogQGludmVydGVkRHJvcGRvd25CYWNrZ3JvdW5kO1xuICAgIGJveC1zaGFkb3c6IEBpbnZlcnRlZERyb3Bkb3duTWVudUJveFNoYWRvdztcbn1cblxuLnVpLm1lbnUgLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICAgIGNvbG9yOiBAaW52ZXJ0ZWREcm9wZG93bkl0ZW1Db2xvciAhaW1wb3J0YW50O1xufVxuXG4udWkubWVudSAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUgPiAuYWN0aXZlLml0ZW0ge1xuICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZERyb3Bkb3duQWN0aXZlSXRlbUJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogQGludmVydGVkRHJvcGRvd25BY3RpdmVJdGVtQ29sb3IgIWltcG9ydGFudDtcbn1cblxuLnVpLm1lbnUgLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZERyb3Bkb3duSG92ZXJlZEl0ZW1CYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IEBpbnZlcnRlZERyb3Bkb3duSG92ZXJlZEl0ZW1Db2xvciAhaW1wb3J0YW50O1xufVxuXG4udWkubWVudSAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUgPiAuc2VsZWN0ZWQuaXRlbSB7XG4gICAgYmFja2dyb3VuZDogQGludmVydGVkRHJvcGRvd25TZWxlY3RlZEl0ZW1CYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IEBpbnZlcnRlZERyb3Bkb3duU2VsZWN0ZWRJdGVtQ29sb3IgIWltcG9ydGFudDtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVudVZlcnRpY2FsKSB7XG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWkudmVydGljYWwubWVudSAuaW52ZXJ0ZWQuZHJvcGRvd24uaXRlbSAubWVudSB7XG4gICAgICAgIGJveC1zaGFkb3c6IEBpbnZlcnRlZERyb3Bkb3duTWVudUJveFNoYWRvdztcbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkudG9wLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiBAdG9wTWVudUFjdGl2ZUl0ZW1CYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBAdG9wTWVudUFjdGl2ZUl0ZW1Db2xvcjtcbn1cblxuLnVpLnRvcC5tZW51IC5kcm9wZG93bi5pdGVtOmhvdmVyLFxuLnVpLnRvcC5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4udWkudG9wLm1lbnUgYS5pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBAdG9wTWVudUhvdmVySXRlbUJhY2tncm91bmQ7XG4gICAgY29sb3I6IEB0b3BNZW51SG92ZXJJdGVtQ29sb3I7XG59XG5cbi8qIEFjdGl2ZSBIb3ZlciAqL1xuLnVpLnRvcC5tZW51IC5hY3RpdmUuaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogQHRvcE1lbnVBY3RpdmVIb3Zlckl0ZW1CYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBAdG9wTWVudUFjdGl2ZUhvdmVySXRlbUNvbG9yO1xufSIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIE1lc3NhZ2VcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcImNvbGxlY3Rpb25cIjtcbkBlbGVtZW50OiBcIm1lc3NhZ2VcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNZXNzYWdlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkubWVzc2FnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW46IEB2ZXJ0aWNhbE1hcmdpbiAwO1xuICAgIGJhY2tncm91bmQ6IEBiYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6IEBwYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZUhlaWdodDtcbiAgICBjb2xvcjogQHRleHRDb2xvcjtcbiAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIGJveC1zaGFkb3c6IEBib3hTaGFkb3c7XG59XG5cbi51aS5tZXNzYWdlOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLm1lc3NhZ2U6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIEhlYWRlciAqL1xuLnVpLm1lc3NhZ2UgLmhlYWRlciB7XG4gICAgZGlzcGxheTogQGhlYWRlckRpc3BsYXk7XG4gICAgZm9udC1mYW1pbHk6IEBoZWFkZXJGb250O1xuICAgIGZvbnQtd2VpZ2h0OiBAaGVhZGVyRm9udFdlaWdodDtcbiAgICBtYXJnaW46IEBoZWFkZXJNYXJnaW47XG59XG5cbi8qIERlZmF1bHQgZm9udCBzaXplICovXG4udWkubWVzc2FnZSAuaGVhZGVyOm5vdCgudWkpIHtcbiAgICBmb250LXNpemU6IEBoZWFkZXJGb250U2l6ZTtcbn1cblxuLyogUGFyYWdyYXBoICovXG4udWkubWVzc2FnZSBwIHtcbiAgICBvcGFjaXR5OiBAbWVzc2FnZVRleHRPcGFjaXR5O1xuICAgIG1hcmdpbjogQG1lc3NhZ2VQYXJhZ3JhcGhNYXJnaW4gMDtcbn1cbi51aS5tZXNzYWdlIHA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4udWkubWVzc2FnZSBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG4udWkubWVzc2FnZSAuaGVhZGVyICsgcCB7XG4gICAgbWFyZ2luLXRvcDogQGhlYWRlclBhcmFncmFwaERpc3RhbmNlO1xufVxuXG4vKiBMaXN0ICovXG4udWkubWVzc2FnZSAubGlzdDpub3QoLnVpKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9wYWNpdHk6IEBsaXN0T3BhY2l0eTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBAbGlzdFN0eWxlUG9zaXRpb247XG4gICAgbWFyZ2luOiBAbGlzdE1hcmdpbiAwIDA7XG59XG4udWkubWVzc2FnZSAubGlzdDpub3QoLnVpKTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5tZXNzYWdlIC5saXN0Om5vdCgudWkpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG4udWkubWVzc2FnZSAubGlzdDpub3QoLnVpKSBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDAgMCBAbGlzdEl0ZW1NYXJnaW4gQGxpc3RJdGVtSW5kZW50O1xuICAgIHBhZGRpbmc6IDA7XG59XG4udWkubWVzc2FnZSAubGlzdDpub3QoLnVpKSBsaTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCLigKJcIjtcbiAgICBsZWZ0OiAtMWVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4udWkubWVzc2FnZSAubGlzdDpub3QoLnVpKSBsaTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZXNzYWdlSWNvbikge1xuICAgIC8qIEljb24gKi9cbiAgICAudWkuaWNvbi5tZXNzYWdlID4gLmljb25zLFxuICAgIC51aS5pY29uLm1lc3NhZ2UgPiBpLmljb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBpY29uRGlzdGFuY2U7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIEBpY29uRGlzdGFuY2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIENsb3NlIEljb24gKi9cbi51aS5tZXNzYWdlID4gLmNsb3NlLmljb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogQGNsb3NlVG9wRGlzdGFuY2U7XG4gICAgcmlnaHQ6IEBjbG9zZVJpZ2h0RGlzdGFuY2U7XG4gICAgb3BhY2l0eTogQGNsb3NlT3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uOiBAY2xvc2VUcmFuc2l0aW9uO1xufVxuLnVpLm1lc3NhZ2UgPiAuY2xvc2UuaWNvbjpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLyogRmlyc3QgLyBMYXN0IEVsZW1lbnQgKi9cbi51aS5tZXNzYWdlID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLm1lc3NhZ2UgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuZHJvcGRvd24gLm1lbnUgPiAubWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwIC1AYm9yZGVyV2lkdGg7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgVmlzaWJsZVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS52aXNpYmxlLnZpc2libGUudmlzaWJsZS52aXNpYmxlLm1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udWkuaWNvbi52aXNpYmxlLnZpc2libGUudmlzaWJsZS52aXNpYmxlLm1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEhpZGRlblxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5oaWRkZW4uaGlkZGVuLmhpZGRlbi5oaWRkZW4ubWVzc2FnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4mIHdoZW4gKEB2YXJpYXRpb25NZXNzYWdlQ2VudGVyZWQpIHtcbiAgICAudWkuY2VudGVyZWQubWVzc2FnZSxcbiAgICAudWkuY2VudGVyLmFsaWduZWQubWVzc2FnZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICYgPiAuY29udGVudCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvbk1lc3NhZ2VSaWdodEFsaWduZWQpIHtcbiAgICAudWkucmlnaHQuYWxpZ25lZC5tZXNzYWdlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25NZXNzYWdlQ29tcGFjdCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENvbXBhY3RcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jb21wYWN0Lm1lc3NhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLnVpLmNvbXBhY3QuaWNvbi5tZXNzYWdlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVzc2FnZUF0dGFjaGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQXR0YWNoZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5hdHRhY2hlZC5tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogQGF0dGFjaGVkWU9mZnNldDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDAgMDtcbiAgICAgICAgYm94LXNoYWRvdzogQGF0dGFjaGVkQm94U2hhZG93O1xuICAgICAgICBtYXJnaW4tbGVmdDogQGF0dGFjaGVkWE9mZnNldDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAYXR0YWNoZWRYT2Zmc2V0O1xuICAgIH1cbiAgICAudWkuYXR0YWNoZWQgKyAudWkuYXR0YWNoZWQubWVzc2FnZTpub3QoLnRvcCk6bm90KC5ib3R0b20pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogQGF0dGFjaGVkWU9mZnNldDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gICAgLnVpLmJvdHRvbS5hdHRhY2hlZC5tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogQGF0dGFjaGVkWU9mZnNldDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cztcbiAgICAgICAgYm94LXNoYWRvdzogQGF0dGFjaGVkQm90dG9tQm94U2hhZG93O1xuICAgIH1cbiAgICAudWkuYm90dG9tLmF0dGFjaGVkLm1lc3NhZ2U6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IEB2ZXJ0aWNhbE1hcmdpbjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTWVzc2FnZUljb24pIHtcbiAgICAgICAgLnVpLmF0dGFjaGVkLmljb24ubWVzc2FnZSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVzc2FnZUljb24pIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEljb25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pY29uLm1lc3NhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgLnVpLmljb24ubWVzc2FnZSA+IC5pY29ucyxcbiAgICAudWkuaWNvbi5tZXNzYWdlID4gaS5pY29uOm5vdCguY2xvc2UpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBAaWNvblZlcnRpY2FsQWxpZ247XG4gICAgICAgIGZvbnQtc2l6ZTogQGljb25TaXplO1xuICAgICAgICBvcGFjaXR5OiBAaWNvbk9wYWNpdHk7XG4gICAgfVxuICAgIC51aS5pY29uLm1lc3NhZ2UgPiAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IEBpY29uVmVydGljYWxBbGlnbjtcbiAgICB9XG5cbiAgICAudWkuaWNvbi5tZXNzYWdlID4gLmljb25zICsgLmNvbnRlbnQsXG4gICAgLnVpLmljb24ubWVzc2FnZSA+IGkuaWNvbjpub3QoLmNsb3NlKSArIC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBAaWNvbkNvbnRlbnREaXN0YW5jZTtcbiAgICB9XG4gICAgLnVpLmljb24ubWVzc2FnZSA+IGkuY2lyY3VsYXIge1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTWVzc2FnZUZsb2F0aW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRmxvYXRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mbG9hdGluZy5tZXNzYWdlIHtcbiAgICAgICAgYm94LXNoYWRvdzogQGZsb2F0aW5nQm94U2hhZG93O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbk1lc3NhZ2VDb25zZXF1ZW5jZXMgPSBmYWxzZSkge1xuICAgIEBjb25zZXF1ZW5jZXM6IHtcbiAgICAgICAgQHBvc2l0aXZlOiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAcG9zaXRpdmVCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICBoZWFkZXI6IEBwb3NpdGl2ZUhlYWRlckNvbG9yO1xuICAgICAgICAgICAgYm94U2hhZG93OiBAcG9zaXRpdmVCb3hTaGFkb3c7XG4gICAgICAgICAgICBib3hGbG9hdFNoYWRvdzogQHBvc2l0aXZlQm94RmxvYXRpbmdTaGFkb3c7XG4gICAgICAgICAgICB0ZXh0OiBAcG9zaXRpdmVUZXh0Q29sb3I7XG4gICAgICAgICAgICBpbnZlcnRlZFRleHQ6IEBwb3NpdGl2ZUJvcmRlckNvbG9yO1xuICAgICAgICB9O1xuICAgICAgICBAbmVnYXRpdmU6IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBuZWdhdGl2ZUJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgIGhlYWRlcjogQG5lZ2F0aXZlSGVhZGVyQ29sb3I7XG4gICAgICAgICAgICBib3hTaGFkb3c6IEBuZWdhdGl2ZUJveFNoYWRvdztcbiAgICAgICAgICAgIGJveEZsb2F0U2hhZG93OiBAbmVnYXRpdmVCb3hGbG9hdGluZ1NoYWRvdztcbiAgICAgICAgICAgIHRleHQ6IEBuZWdhdGl2ZVRleHRDb2xvcjtcbiAgICAgICAgICAgIGludmVydGVkVGV4dDogQG5lZ2F0aXZlQm9yZGVyQ29sb3I7XG4gICAgICAgIH07XG4gICAgICAgIEBpbmZvOiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW5mb0JhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgIGhlYWRlcjogQGluZm9IZWFkZXJDb2xvcjtcbiAgICAgICAgICAgIGJveFNoYWRvdzogQGluZm9Cb3hTaGFkb3c7XG4gICAgICAgICAgICBib3hGbG9hdFNoYWRvdzogQGluZm9Cb3hGbG9hdGluZ1NoYWRvdztcbiAgICAgICAgICAgIHRleHQ6IEBpbmZvVGV4dENvbG9yO1xuICAgICAgICAgICAgaW52ZXJ0ZWRUZXh0OiBAZm9ybUluZm9MYWJlbEJhY2tncm91bmQ7XG4gICAgICAgIH07XG4gICAgICAgIEB3YXJuaW5nOiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAd2FybmluZ0JhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgIGhlYWRlcjogQHdhcm5pbmdIZWFkZXJDb2xvcjtcbiAgICAgICAgICAgIGJveFNoYWRvdzogQHdhcm5pbmdCb3hTaGFkb3c7XG4gICAgICAgICAgICBib3hGbG9hdFNoYWRvdzogQHdhcm5pbmdCb3hGbG9hdGluZ1NoYWRvdztcbiAgICAgICAgICAgIHRleHQ6IEB3YXJuaW5nVGV4dENvbG9yO1xuICAgICAgICAgICAgaW52ZXJ0ZWRUZXh0OiBAZm9ybVdhcm5pbmdMYWJlbEJhY2tncm91bmQ7XG4gICAgICAgIH07XG4gICAgICAgIEBlcnJvcjoge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGVycm9yQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgaGVhZGVyOiBAZXJyb3JIZWFkZXJDb2xvcjtcbiAgICAgICAgICAgIGJveFNoYWRvdzogQGVycm9yQm94U2hhZG93O1xuICAgICAgICAgICAgYm94RmxvYXRTaGFkb3c6IEBlcnJvckJveEZsb2F0aW5nU2hhZG93O1xuICAgICAgICAgICAgdGV4dDogQGVycm9yVGV4dENvbG9yO1xuICAgICAgICAgICAgaW52ZXJ0ZWRUZXh0OiBAZm9ybUVycm9yTGFiZWxCYWNrZ3JvdW5kO1xuICAgICAgICB9O1xuICAgICAgICBAc3VjY2Vzczoge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHN1Y2Nlc3NCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICBoZWFkZXI6IEBzdWNjZXNzSGVhZGVyQ29sb3I7XG4gICAgICAgICAgICBib3hTaGFkb3c6IEBzdWNjZXNzQm94U2hhZG93O1xuICAgICAgICAgICAgYm94RmxvYXRTaGFkb3c6IEBzdWNjZXNzQm94RmxvYXRpbmdTaGFkb3c7XG4gICAgICAgICAgICB0ZXh0OiBAc3VjY2Vzc1RleHRDb2xvcjtcbiAgICAgICAgICAgIGludmVydGVkVGV4dDogQGZvcm1TdWNjZXNzTGFiZWxCYWNrZ3JvdW5kO1xuICAgICAgICB9O1xuICAgIH07XG5cbiAgICAvKiBDb2xvcnMgKi9cblxuICAgIGVhY2goQHZhcmlhdGlvbk1lc3NhZ2VDb25zZXF1ZW5jZXMsIHtcbiAgICAgICAgQGNvbG9yOiBAdmFsdWU7XG4gICAgICAgIEBiZzogQGNvbnNlcXVlbmNlc1tAQGNvbG9yXVtiYWNrZ3JvdW5kXTtcbiAgICAgICAgQGhkOiBAY29uc2VxdWVuY2VzW0BAY29sb3JdW2hlYWRlcl07XG4gICAgICAgIEBiczogQGNvbnNlcXVlbmNlc1tAQGNvbG9yXVtib3hTaGFkb3ddO1xuICAgICAgICBAYmZzOiBAY29uc2VxdWVuY2VzW0BAY29sb3JdW2JveEZsb2F0U2hhZG93XTtcbiAgICAgICAgQHQ6IEBjb25zZXF1ZW5jZXNbQEBjb2xvcl1bdGV4dF07XG4gICAgICAgIEBpdDogQGNvbnNlcXVlbmNlc1tAQGNvbG9yXVtpbnZlcnRlZFRleHRdO1xuXG4gICAgICAgIC51aS5Ae2NvbG9yfS5tZXNzYWdlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiZztcbiAgICAgICAgICAgIGNvbG9yOiBAdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5Ae2NvbG9yfS5tZXNzYWdlLFxuICAgICAgICAudWkuYXR0YWNoZWQuQHtjb2xvcn0ubWVzc2FnZSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAYnM7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uTWVzc2FnZUZsb2F0aW5nKSB7XG4gICAgICAgICAgICAudWkuZmxvYXRpbmcuQHtjb2xvcn0ubWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQGJmcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkuQHtjb2xvcn0ubWVzc2FnZSAuaGVhZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaGQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uTWVzc2FnZUludmVydGVkKSB7XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0ubWVzc2FnZSxcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5tZXNzYWdlIC5oZWFkZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25NZXNzYWdlQ29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25NZXNzYWdlQ29sb3JzLCB7XG4gICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICBAYmc6IEBjb2xvcnNbQEBjb2xvcl1bYmFja2dyb3VuZF07XG4gICAgICAgIEBoZDogQGNvbG9yc1tAQGNvbG9yXVtoZWFkZXJdO1xuICAgICAgICBAYnM6IEBjb2xvcnNbQEBjb2xvcl1bYm94U2hhZG93XTtcbiAgICAgICAgQGJmczogQGNvbG9yc1tAQGNvbG9yXVtib3hGbG9hdFNoYWRvd107XG4gICAgICAgIEB0OiBAY29sb3JzW0BAY29sb3JdW3RleHRdO1xuICAgICAgICBAaXNWZXJ5RGFyazogQGNvbG9yc1tAQGNvbG9yXVtpc1ZlcnlEYXJrXTtcblxuICAgICAgICAudWkuQHtjb2xvcn0ubWVzc2FnZSB7XG4gICAgICAgICAgICAmIHdoZW4gbm90IChAaXNWZXJ5RGFyaykge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiZztcbiAgICAgICAgICAgICAgICBjb2xvcjogQHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEBpc1ZlcnlEYXJrKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJsYWNrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudWkuQHtjb2xvcn0ubWVzc2FnZSxcbiAgICAgICAgLnVpLmF0dGFjaGVkLkB7Y29sb3J9Lm1lc3NhZ2Uge1xuICAgICAgICAgICAgJiB3aGVuIG5vdCAoQGlzVmVyeURhcmspIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAYnM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uTWVzc2FnZUZsb2F0aW5nKSB7XG4gICAgICAgICAgICAudWkuZmxvYXRpbmcuQHtjb2xvcn0ubWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgJiB3aGVuIG5vdCAoQGlzVmVyeURhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQGJmcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudWkuQHtjb2xvcn0ubWVzc2FnZSAuaGVhZGVyIHtcbiAgICAgICAgICAgICYgd2hlbiBub3QgKEBpc1ZlcnlEYXJrKSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBoZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQGlzVmVyeURhcmspIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1lc3NhZ2VJbnZlcnRlZCkge1xuICAgIC51aS5pbnZlcnRlZC5tZXNzYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJsYWNrO1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubWVzc2FnZSB7XG4gICAgZm9udC1zaXplOiBAcmVsYXRpdmVNZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uTWVzc2FnZVNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25NZXNzYWdlU2l6ZXMsIHtcbiAgICAgICAgQHM6IEB7dmFsdWV9TWVzc2FnZVNpemU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5tZXNzYWdlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQEBzO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gVGFibGVcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcImNvbGxlY3Rpb25cIjtcbkBlbGVtZW50OiBcInRhYmxlXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90VW5zdGFja2FibGU6IGlmKEB2YXJpYXRpb25UYWJsZVVuc3RhY2thYmxlLCBlKFwiOm5vdCgudW5zdGFja2FibGUpXCIpKTtcbkBub3RSb3dTcGFubmVkOiBpZihAdmFyaWF0aW9uVGFibGVSb3dTcGFubmVkLCBlKFwiOm5vdCgucm93c3Bhbm5lZClcIikpO1xuQG5vdEZ1bGxXaWR0aDogaWYoQHZhcmlhdGlvblRhYmxlRnVsbFdpZHRoLCBlKFwiOm5vdCguZnVsbC13aWR0aClcIikpO1xuQG5vdE1hcmtlZDogaWYoQHZhcmlhdGlvblRhYmxlTWFya2VkLCBlKFwiOm5vdCgubWFya2VkKVwiKSk7XG5Abm90U29ydGFibGU6IGlmKEB2YXJpYXRpb25UYWJsZVNvcnRhYmxlLCBlKFwiOm5vdCguc29ydGFibGUpXCIpKTtcbkBub3RTdHJpcGVkOiBpZihAdmFyaWF0aW9uVGFibGVTdHJpcGVkLCBlKFwiOm5vdCguc3RyaXBlZClcIikpO1xuQG5vdEludmVydGVkOiBpZihAdmFyaWF0aW9uVGFibGVJbnZlcnRlZCwgZShcIjpub3QoLmludmVydGVkKVwiKSk7XG5Abm90QmFzaWM6IGlmKEB2YXJpYXRpb25UYWJsZUJhc2ljLCBlKFwiOm5vdCguYmFzaWMpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUYWJsZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogUHJvdG90eXBlICovXG4udWkudGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IEBiYWNrZ3JvdW5kO1xuICAgIG1hcmdpbjogQG1hcmdpbjtcbiAgICBib3JkZXI6IEBib3JkZXI7XG4gICAgYm94LXNoYWRvdzogQGJveFNoYWRvdztcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIHRleHQtYWxpZ246IEB0ZXh0QWxpZ247XG4gICAgdmVydGljYWwtYWxpZ246IEB2ZXJ0aWNhbEFsaWduO1xuICAgIGNvbG9yOiBAY29sb3I7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBAYm9yZGVyQ29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IEBib3JkZXJTcGFjaW5nO1xufVxuXG4udWkudGFibGU6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4udWkudGFibGU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi51aS50YWJsZSA+IHRoZWFkLFxuLnVpLnRhYmxlID4gdGJvZHkge1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgUGFydHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIFRhYmxlIENvbnRlbnQgKi9cbi51aS50YWJsZSB0aCxcbi51aS50YWJsZSB0ZCB7XG4gICAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUm93U3Bhbm5lZCkge1xuICAgIC8qIFJvd3NwYW4gaGVscGVyIGNsYXNzICovXG4gICAgLnVpLnRhYmxlIHRoLnJvd3NwYW5uZWQsXG4gICAgLnVpLnRhYmxlIHRkLnJvd3NwYW5uZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLyogSGVhZGVycyAqL1xuLnVpLnRhYmxlID4gdGhlYWQge1xuICAgIGJveC1zaGFkb3c6IEBoZWFkZXJCb3hTaGFkb3c7XG59XG4udWkudGFibGUgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiBAaGVhZGVyQmFja2dyb3VuZDtcbiAgICB0ZXh0LWFsaWduOiBAaGVhZGVyQWxpZ247XG4gICAgY29sb3I6IEBoZWFkZXJDb2xvcjtcbiAgICBwYWRkaW5nOiBAaGVhZGVyVmVydGljYWxQYWRkaW5nIEBoZWFkZXJIb3Jpem9udGFsUGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogQGhlYWRlclZlcnRpY2FsQWxpZ247XG4gICAgZm9udC1zdHlsZTogQGhlYWRlckZvbnRTdHlsZTtcbiAgICBmb250LXdlaWdodDogQGhlYWRlckZvbnRXZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IEBoZWFkZXJUZXh0VHJhbnNmb3JtO1xuICAgIGJvcmRlci1ib3R0b206IEBoZWFkZXJCb3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IEBoZWFkZXJEaXZpZGVyO1xufVxuXG4udWkudGFibGUgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xufVxuXG4udWkudGFibGUgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGg6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgMCAwIDA7XG59XG4udWkudGFibGUgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGg6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCBAYm9yZGVyUmFkaXVzIDAgMDtcbn1cbi51aS50YWJsZSA+IHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aDpvbmx5LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMCAwO1xufVxuXG4vKiBGb290ZXIgKi9cbi51aS50YWJsZSA+IHRmb290IHtcbiAgICBib3gtc2hhZG93OiBAZm9vdGVyQm94U2hhZG93O1xufVxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYm9yZGVyLXRvcDogQGZvb3RlckJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiBAZm9vdGVyQmFja2dyb3VuZDtcbiAgICB0ZXh0LWFsaWduOiBAZm9vdGVyQWxpZ247XG4gICAgY29sb3I6IEBmb290ZXJDb2xvcjtcbiAgICBwYWRkaW5nOiBAZm9vdGVyVmVydGljYWxQYWRkaW5nIEBmb290ZXJIb3Jpem9udGFsUGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogQGZvb3RlclZlcnRpY2FsQWxpZ247XG4gICAgZm9udC1zdHlsZTogQGZvb3RlckZvbnRTdHlsZTtcbiAgICBmb250LXdlaWdodDogQGZvb3RlckZvbnRXZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IEBmb290ZXJUZXh0VHJhbnNmb3JtO1xufVxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbn1cbi51aS50YWJsZSA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRoOmZpcnN0LWNoaWxkLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIEBib3JkZXJSYWRpdXM7XG59XG4udWkudGFibGUgPiB0Zm9vdCA+IHRyOmxhc3QtY2hpbGQgPiB0aDpsYXN0LWNoaWxkLFxuLnVpLnRhYmxlID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIEBib3JkZXJSYWRpdXMgMDtcbn1cbi51aS50YWJsZSA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRoOm9ubHktY2hpbGQsXG4udWkudGFibGUgPiB0Zm9vdCA+IHRyOmxhc3QtY2hpbGQgPiB0ZDpvbmx5LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzO1xufVxuXG4vKiBUYWJsZSBSb3cgKi9cbi51aS50YWJsZSA+IHRyID4gdGQsXG4udWkudGFibGUgPiB0Ym9keSA+IHRyID4gdGQge1xuICAgIGJvcmRlci10b3A6IEByb3dCb3JkZXI7XG59XG4udWkudGFibGUgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLFxuLnVpLnRhYmxlID4gdGJvZHkgPiB0cjpmaXJzdC1jaGlsZCA+IHRkIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xufVxuXG4vKiBSZXBlYXRlZCB0Ym9keSAqL1xuLnVpLnRhYmxlID4gdGJvZHkgKyB0Ym9keSB0cjpmaXJzdC1jaGlsZCA+IHRkIHtcbiAgICBib3JkZXItdG9wOiBAcm93Qm9yZGVyO1xufVxuXG4vKiBUYWJsZSBDZWxscyAqL1xuLnVpLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuLnVpLnRhYmxlID4gdHIgPiB0ZCB7XG4gICAgcGFkZGluZzogQGNlbGxWZXJ0aWNhbFBhZGRpbmcgQGNlbGxIb3Jpem9udGFsUGFkZGluZztcbiAgICB0ZXh0LWFsaWduOiBAY2VsbFRleHRBbGlnbjtcbn1cblxuLyogSWNvbnMgKi9cbi51aS50YWJsZSA+IGkuaWNvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IEBpY29uVmVydGljYWxBbGlnbjtcbn1cbi51aS50YWJsZSA+IGkuaWNvbjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIFRhYmxlIFNlZ21lbnQgKi9cbi51aS50YWJsZS5zZWdtZW50IHtcbiAgICBwYWRkaW5nOiAwO1xufVxuLnVpLnRhYmxlLnNlZ21lbnQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnVpLnRhYmxlLnNlZ21lbnQuc3RhY2tlZDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBSZXNwb25zaXZlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0aGVhZCxcbiAgICAudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRoZWFkID4gdHIsXG4gICAgLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0Zm9vdCxcbiAgICAudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRmb290ID4gdHIsXG4gICAgLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0Ym9keSxcbiAgICAudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRyLFxuICAgIC51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdGJvZHkgPiB0cixcbiAgICAudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRyID4gdGhAe25vdFJvd1NwYW5uZWR9LFxuICAgIC51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdGhlYWQgPiB0ciA+IHRoQHtub3RSb3dTcGFubmVkfSxcbiAgICAudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRib2R5ID4gdHIgPiB0aEB7bm90Um93U3Bhbm5lZH0sXG4gICAgLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0Zm9vdCA+IHRyID4gdGhAe25vdFJvd1NwYW5uZWR9LFxuICAgIC51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdHIgPiB0ZEB7bm90Um93U3Bhbm5lZH0sXG4gICAgLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0Ym9keSA+IHRyID4gdGRAe25vdFJvd1NwYW5uZWR9LFxuICAgIC51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdGZvb3QgPiB0ciA+IHRkQHtub3RSb3dTcGFubmVkfSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IEByZXNwb25zaXZlSGVhZGVyRGlzcGxheTtcbiAgICB9XG4gICAgLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0Zm9vdCB7XG4gICAgICAgIGRpc3BsYXk6IEByZXNwb25zaXZlRm9vdGVyRGlzcGxheTtcbiAgICB9XG4gICAgLnVpLnVpLnVpLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0cixcbiAgICAudWkudWkudWkudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRoZWFkID4gdHIsXG4gICAgLnVpLnVpLnVpLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0Ym9keSA+IHRyLFxuICAgIC51aS51aS51aS51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdGZvb3QgPiB0ciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBAcmVzcG9uc2l2ZVJvd1ZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IEByZXNwb25zaXZlUm93VmVydGljYWxQYWRkaW5nO1xuICAgICAgICBib3gtc2hhZG93OiBAcmVzcG9uc2l2ZVJvd0JveFNoYWRvdztcbiAgICB9XG5cbiAgICAudWkudWkudWkudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRyID4gdGgsXG4gICAgLnVpLnVpLnVpLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0aGVhZCA+IHRyID4gdGgsXG4gICAgLnVpLnVpLnVpLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0Ym9keSA+IHRyID4gdGgsXG4gICAgLnVpLnVpLnVpLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0Zm9vdCA+IHRyID4gdGgsXG4gICAgLnVpLnVpLnVpLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0ciA+IHRkLFxuICAgIC51aS51aS51aS51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdGJvZHkgPiB0ciA+IHRkLFxuICAgIC51aS51aS51aS51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiBAcmVzcG9uc2l2ZUNlbGxWZXJ0aWNhbFBhZGRpbmcgQHJlc3BvbnNpdmVDZWxsSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIGJveC1zaGFkb3c6IEByZXNwb25zaXZlQ2VsbEJveFNoYWRvdztcbiAgICB9XG4gICAgLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAgIC51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAgIC51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdGJvZHkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAgIC51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdGZvb3QgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAgIC51aS50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbiAgICAudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbiAgICAudWkudGFibGVAe25vdFVuc3RhY2thYmxlfSA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAcmVzcG9uc2l2ZUNlbGxIZWFkZXJGb250V2VpZ2h0O1xuICAgIH1cblxuICAgIC8qIERlZmluaXRpb24gVGFibGUgKi9cbiAgICAudWkuZGVmaW5pdGlvbi50YWJsZUB7bm90VW5zdGFja2FibGV9ID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZU1hcmtlZCkgYW5kIG5vdCAoQHZhcmlhdGlvblRhYmxlQ29sb3JzID0gZmFsc2UpIHtcbiAgICAgICAgZWFjaChAdmFyaWF0aW9uVGFibGVDb2xvcnMsIHtcbiAgICAgICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICAgICAgQGw6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRdO1xuICAgICAgICAgICAgLnVpLnVpLnVpLnVpLnRhYmxlQHtub3RVbnN0YWNrYWJsZX0gdHJbY2xhc3MqPVwiQHtjb2xvcn0gbWFya2VkXCJdIHtcbiAgICAgICAgICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAcmVzcG9uc2l2ZVJvd0JveFNoYWRvdywgQGNvbG9yZWRCb3JkZXJTaXplIDAgMCAwIEBjIGluc2V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQHJlc3BvbnNpdmVSb3dCb3hTaGFkb3csIC1AY29sb3JlZEJvcmRlclNpemUgMCAwIDAgQGMgaW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVJbnZlcnRlZCkge1xuICAgICAgICAgICAgICAgIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZUB7bm90VW5zdGFja2FibGV9IHRyW2NsYXNzKj1cIkB7Y29sb3J9IG1hcmtlZFwiXSB7XG4gICAgICAgICAgICAgICAgICAgICYubGVmdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAcmVzcG9uc2l2ZVJvd0JveFNoYWRvdywgQGNvbG9yZWRCb3JkZXJTaXplIDAgMCAwIEBsIGluc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQHJlc3BvbnNpdmVSb3dCb3hTaGFkb3csIC1AY29sb3JlZEJvcmRlclNpemUgMCAwIDAgQGwgaW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVNjcm9sbGluZykge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVNjcm9sbGluZ1Nob3J0KSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlLnNob3J0ID4gdGJvZHkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhCb2R5SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgICAgICAucmVzaXphYmxlJiB3aGVuIChAdmFyaWF0aW9uVGFibGVSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4Qm9keUhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU2Nyb2xsaW5nVmVyeVNob3J0KSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiB0Ym9keSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEJvZHlIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICAgICAgLnJlc2l6YWJsZSYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEJvZHlIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS5zY3JvbGxpbmcudGFibGUgPiB0Ym9keSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4Qm9keUhlaWdodDtcbiAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEJvZHlIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTY3JvbGxpbmdMb25nKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlLmxvbmcgPiB0Ym9keSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEJvZHlIZWlnaHQgKiAyO1xuICAgICAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhCb2R5SGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTY3JvbGxpbmdWZXJ5TG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0gPiB0Ym9keSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heEJvZHlIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhCb2R5SGVpZ2h0ICogMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVPdmVyZmxvd2luZykge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZU92ZXJmbG93aW5nU2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5vdmVyZmxvd2luZy50YWJsZS5zaG9ydCB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQG92ZXJmbG93aW5nTW9iaWxlTWF4SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZU92ZXJmbG93aW5nVmVyeVNob3J0KSB7XG4gICAgICAgICAgICAudWkub3ZlcmZsb3dpbmcudGFibGVbY2xhc3MqPVwidmVyeSBzaG9ydFwiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQG92ZXJmbG93aW5nTW9iaWxlTWF4SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS5vdmVyZmxvd2luZy50YWJsZSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAb3ZlcmZsb3dpbmdNb2JpbGVNYXhIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVPdmVyZmxvd2luZ0xvbmcpIHtcbiAgICAgICAgICAgIC51aS5vdmVyZmxvd2luZy50YWJsZS5sb25nIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAb3ZlcmZsb3dpbmdNb2JpbGVNYXhIZWlnaHQgKiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlT3ZlcmZsb3dpbmdWZXJ5TG9uZykge1xuICAgICAgICAgICAgLnVpLm92ZXJmbG93aW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQG92ZXJmbG93aW5nTW9iaWxlTWF4SGVpZ2h0ICogMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU2Nyb2xsaW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNjcm9sbGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTY3JvbGxpbmdTaG9ydCkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZS5zaG9ydCA+IHRib2R5IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4Qm9keUhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgLnJlc2l6YWJsZSYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEJvZHlIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVNjcm9sbGluZ1ZlcnlTaG9ydCkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdID4gdGJvZHkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhCb2R5SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhCb2R5SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHkge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heEJvZHlIZWlnaHQ7XG4gICAgICAgICAgICAucmVzaXphYmxlJiB3aGVuIChAdmFyaWF0aW9uVGFibGVSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhCb2R5SGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU2Nyb2xsaW5nTG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZS5sb25nID4gdGJvZHkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhCb2R5SGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICAucmVzaXphYmxlJiB3aGVuIChAdmFyaWF0aW9uVGFibGVSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4Qm9keUhlaWdodCAqIDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU2Nyb2xsaW5nVmVyeUxvbmcpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcudGFibGVbY2xhc3MqPVwidmVyeSBsb25nXCJdID4gdGJvZHkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhCb2R5SGVpZ2h0ICogMztcbiAgICAgICAgICAgICAgICAucmVzaXphYmxlJiB3aGVuIChAdmFyaWF0aW9uVGFibGVSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4Qm9keUhlaWdodCAqIDM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGNvbXB1dGVyQnJlYWtwb2ludCkge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVNjcm9sbGluZ1Nob3J0KSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlLnNob3J0ID4gdGJvZHkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEJvZHlIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEJvZHlIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVNjcm9sbGluZ1ZlcnlTaG9ydCkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdID4gdGJvZHkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEJvZHlIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICAgICAgLnJlc2l6YWJsZSYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4Qm9keUhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRib2R5IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEJvZHlIZWlnaHQ7XG4gICAgICAgICAgICAucmVzaXphYmxlJiB3aGVuIChAdmFyaWF0aW9uVGFibGVSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEJvZHlIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTY3JvbGxpbmdMb25nKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlLmxvbmcgPiB0Ym9keSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4Qm9keUhlaWdodCAqIDI7XG4gICAgICAgICAgICAgICAgLnJlc2l6YWJsZSYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4Qm9keUhlaWdodCAqIDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU2Nyb2xsaW5nVmVyeUxvbmcpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcudGFibGVbY2xhc3MqPVwidmVyeSBsb25nXCJdID4gdGJvZHkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEJvZHlIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heEJvZHlIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB3aWRlc2NyZWVuTW9uaXRvckJyZWFrcG9pbnQpIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTY3JvbGxpbmdTaG9ydCkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZS5zaG9ydCA+IHRib2R5IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEJvZHlIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4Qm9keUhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU2Nyb2xsaW5nVmVyeVNob3J0KSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiB0Ym9keSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhCb2R5SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4Qm9keUhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRib2R5IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4Qm9keUhlaWdodDtcbiAgICAgICAgICAgIC5yZXNpemFibGUmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhCb2R5SGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU2Nyb2xsaW5nTG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZS5sb25nID4gdGJvZHkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4Qm9keUhlaWdodCAqIDI7XG4gICAgICAgICAgICAgICAgLnJlc2l6YWJsZSYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhCb2R5SGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTY3JvbGxpbmdWZXJ5TG9uZykge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0gPiB0Ym9keSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhCb2R5SGVpZ2h0ICogMztcbiAgICAgICAgICAgICAgICAucmVzaXphYmxlJiB3aGVuIChAdmFyaWF0aW9uVGFibGVSZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heEJvZHlIZWlnaHQgKiAzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZCxcbiAgICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QsXG4gICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogQG92ZXJzY3JvbGxCZWhhdmlvcjtcbiAgICAgICAgJiA+IHRyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHVzZUN1c3RvbVNjcm9sbGJhcnMpIHtcbiAgICAgICAgQHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6IG5vbmUpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZCxcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdCxcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcudGFibGUgPiB0Ym9keSB7XG4gICAgICAgICAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogQ2Ftb3VmbGFnZSBzY3JvbGxiYXJzLCB3ZSBuZWVkIHRoZW0gb25seSB0byBnYWluIHRoZSBzYW1lIHdpZHRoIGFzIHRib2R5ICovXG4gICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGhlYWRlckJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAaGVhZGVyQmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDAgMDtcbiAgICB9XG4gICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290IHtcbiAgICAgICAgYmFja2dyb3VuZDogQGZvb3RlckJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAZm9vdGVyQmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVJbnZlcnRlZCkge1xuICAgICAgICAudWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkSGVhZGVyQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRIZWFkZXJCYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRGb290ZXJCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEZvb3RlckJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkOjotd2Via2l0LXNjcm9sbGJhci10cmFjayxcbiAgICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgJiB3aGVuIChAdXNlQ3VzdG9tU2Nyb2xsYmFycykge1xuICAgICAgICBAc3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTogbm9uZSkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRoZWFkLFxuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290IHtcbiAgICAgICAgICAgICAgICBzY3JvbGxiYXItY29sb3I6IGN1cnJlbnRDb2xvciBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmIHdoZW4gKEBzdXBwb3J0SUUpIHtcbiAgICAgICAgICAgIC8qIElFIHNjcm9sbGJhciBjb2xvciBuZWVkcyBoZXggdmFsdWVzICovXG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnRhYmxlID4gdGhlYWQsXG4gICAgICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290IHtcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyLWZhY2UtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyLXNoYWRvdy1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgICAgICBzY3JvbGxiYXItdHJhY2stY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyLWFycm93LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAaGVhZGVyQmFja2dyb3VuZEhleDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnVpLnNjcm9sbGluZy50YWJsZSA+IHRmb290IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBmb290ZXJCYWNrZ3JvdW5kSGV4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGludmVydGVkSGVhZGVyQmFja2dyb3VuZEhleDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEZvb3RlckJhY2tncm91bmRIZXg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVJbnZlcnRlZCkge1xuICAgICAgICAgICAgLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRib2R5Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQHRyYWNrSW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRib2R5Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQHRodW1iSW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRib2R5Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjp3aW5kb3ctaW5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEB0aHVtYkludmVydGVkSW5hY3RpdmVCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRib2R5Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQHRodW1iSW52ZXJ0ZWRIb3ZlckJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEBzdXBwb3J0SUUpIHtcbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHkge1xuICAgICAgICAgICAgICAgICAgICAvKiBJRTExICovXG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbGJhci1mYWNlLWNvbG9yOiBAdGh1bWJJbnZlcnRlZEJhY2tncm91bmRIZXg7XG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbGJhci1zaGFkb3ctY29sb3I6IEB0aHVtYkludmVydGVkQmFja2dyb3VuZEhleDtcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyLXRyYWNrLWNvbG9yOiBAdHJhY2tJbnZlcnRlZEJhY2tncm91bmRIZXg7XG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbGJhci1hcnJvdy1jb2xvcjogQHRyYWNrSW52ZXJ0ZWRCYWNrZ3JvdW5kSGV4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOiBub25lKSB7XG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLnNjcm9sbGluZy50YWJsZSA+IHRib2R5IHtcbiAgICAgICAgICAgICAgICAgICAgLyogZmlyZWZveDogZmlyc3QgY29sb3IgdGh1bWIsIHNlY29uZCB0cmFjayAqL1xuICAgICAgICAgICAgICAgICAgICBzY3JvbGxiYXItY29sb3I6IEB0aHVtYkludmVydGVkQmFja2dyb3VuZCBAdHJhY2tJbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlUmVzaXphYmxlKSB7XG4gICAgICAgIC51aS5yZXNpemFibGUuc2Nyb2xsaW5nLnRhYmxlID4gdGJvZHkge1xuICAgICAgICAgICAgcmVzaXplOiBAcmVzaXphYmxlRGlyZWN0aW9uO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlT3ZlcmZsb3dpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgT3ZlcmZsb3dpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAudWkub3ZlcmZsb3dpbmcudGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IEBvdmVyc2Nyb2xsQmVoYXZpb3I7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVPdmVyZmxvd2luZ1Nob3J0KSB7XG4gICAgICAgICAgICAudWkub3ZlcmZsb3dpbmcudGFibGUuc2hvcnQge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBvdmVyZmxvd2luZ1RhYmxldE1heEhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVPdmVyZmxvd2luZ1ZlcnlTaG9ydCkge1xuICAgICAgICAgICAgLnVpLm92ZXJmbG93aW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBvdmVyZmxvd2luZ1RhYmxldE1heEhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkub3ZlcmZsb3dpbmcudGFibGUge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQG92ZXJmbG93aW5nVGFibGV0TWF4SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlT3ZlcmZsb3dpbmdMb25nKSB7XG4gICAgICAgICAgICAudWkub3ZlcmZsb3dpbmcudGFibGUubG9uZyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQG92ZXJmbG93aW5nVGFibGV0TWF4SGVpZ2h0ICogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZU92ZXJmbG93aW5nVmVyeUxvbmcpIHtcbiAgICAgICAgICAgIC51aS5vdmVyZmxvd2luZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBvdmVyZmxvd2luZ1RhYmxldE1heEhlaWdodCAqIDM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAY29tcHV0ZXJCcmVha3BvaW50KSB7XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlT3ZlcmZsb3dpbmdTaG9ydCkge1xuICAgICAgICAgICAgLnVpLm92ZXJmbG93aW5nLnRhYmxlLnNob3J0IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAb3ZlcmZsb3dpbmdDb21wdXRlck1heEhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVPdmVyZmxvd2luZ1ZlcnlTaG9ydCkge1xuICAgICAgICAgICAgLnVpLm92ZXJmbG93aW5nLnRhYmxlW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBvdmVyZmxvd2luZ0NvbXB1dGVyTWF4SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS5vdmVyZmxvd2luZy50YWJsZSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAb3ZlcmZsb3dpbmdDb21wdXRlck1heEhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZU92ZXJmbG93aW5nTG9uZykge1xuICAgICAgICAgICAgLnVpLm92ZXJmbG93aW5nLnRhYmxlLmxvbmcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBvdmVyZmxvd2luZ0NvbXB1dGVyTWF4SGVpZ2h0ICogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZU92ZXJmbG93aW5nVmVyeUxvbmcpIHtcbiAgICAgICAgICAgIC51aS5vdmVyZmxvd2luZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBvdmVyZmxvd2luZ0NvbXB1dGVyTWF4SGVpZ2h0ICogMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB3aWRlc2NyZWVuTW9uaXRvckJyZWFrcG9pbnQpIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVPdmVyZmxvd2luZ1Nob3J0KSB7XG4gICAgICAgICAgICAudWkub3ZlcmZsb3dpbmcudGFibGUuc2hvcnQge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBvdmVyZmxvd2luZ1dpZGVzY3JlZW5NYXhIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlT3ZlcmZsb3dpbmdWZXJ5U2hvcnQpIHtcbiAgICAgICAgICAgIC51aS5vdmVyZmxvd2luZy50YWJsZVtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAb3ZlcmZsb3dpbmdXaWRlc2NyZWVuTWF4SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS5vdmVyZmxvd2luZy50YWJsZSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAb3ZlcmZsb3dpbmdXaWRlc2NyZWVuTWF4SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlT3ZlcmZsb3dpbmdMb25nKSB7XG4gICAgICAgICAgICAudWkub3ZlcmZsb3dpbmcudGFibGUubG9uZyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQG92ZXJmbG93aW5nV2lkZXNjcmVlbk1heEhlaWdodCAqIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVPdmVyZmxvd2luZ1ZlcnlMb25nKSB7XG4gICAgICAgICAgICAudWkub3ZlcmZsb3dpbmcudGFibGVbY2xhc3MqPVwidmVyeSBsb25nXCJdIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAb3ZlcmZsb3dpbmdXaWRlc2NyZWVuTWF4SGVpZ2h0ICogMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBVSSBJbWFnZSAqL1xuLnVpLnRhYmxlIC5jb2xsYXBzaW5nIC5pbWFnZSxcbi51aS50YWJsZSAuY29sbGFwc2luZyAuaW1hZ2UgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgQ29tcGxleFxuLS0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gKEB2YXJpYXRpb25UYWJsZVN0cnVjdHVyZWQpIHtcbiAgICAudWkuc3RydWN0dXJlZC50YWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgfVxuICAgIC51aS5zdHJ1Y3R1cmVkLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IEBoZWFkZXJEaXZpZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6IEBoZWFkZXJEaXZpZGVyO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVNvcnRhYmxlKSB7XG4gICAgICAgIC51aS5zdHJ1Y3R1cmVkLnNvcnRhYmxlLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBAc29ydGFibGVCb3JkZXI7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IEBzb3J0YWJsZUJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUJhc2ljKSB7XG4gICAgICAgIC51aS5zdHJ1Y3R1cmVkLmJhc2ljLnRhYmxlID4gdHIgPiB0aCxcbiAgICAgICAgLnVpLnN0cnVjdHVyZWQuYmFzaWMudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4gICAgICAgIC51aS5zdHJ1Y3R1cmVkLmJhc2ljLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuICAgICAgICAudWkuc3RydWN0dXJlZC5iYXNpYy50YWJsZSA+IHRmb290ID4gdHIgPiB0aCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogQGJhc2ljVGFibGVIZWFkZXJEaXZpZGVyO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBAYmFzaWNUYWJsZUhlYWRlckRpdmlkZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVDZWxsZWQpIHtcbiAgICAgICAgLnVpLnN0cnVjdHVyZWQuY2VsbGVkLnRhYmxlID4gdHIgPiB0aCxcbiAgICAgICAgLnVpLnN0cnVjdHVyZWQuY2VsbGVkLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuICAgICAgICAudWkuc3RydWN0dXJlZC5jZWxsZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4gICAgICAgIC51aS5zdHJ1Y3R1cmVkLmNlbGxlZC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbiAgICAgICAgLnVpLnN0cnVjdHVyZWQuY2VsbGVkLnRhYmxlID4gdHIgPiB0ZCxcbiAgICAgICAgLnVpLnN0cnVjdHVyZWQuY2VsbGVkLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuICAgICAgICAudWkuc3RydWN0dXJlZC5jZWxsZWQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IEBjZWxsQm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBAY2VsbEJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVGFibGVEZWZpbml0aW9uKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBEZWZpbml0aW9uXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZGVmaW5pdGlvbi50YWJsZSA+IHRoZWFkQHtub3RGdWxsV2lkdGh9ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAZGVmaW5pdGlvbkhlYWRlckJhY2tncm91bmQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAZGVmaW5pdGlvbkhlYWRlckZvbnRXZWlnaHQ7XG4gICAgICAgIGNvbG9yOiBAZGVmaW5pdGlvbkhlYWRlckNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAtQGNvbG9yZWRCb3JkZXJTaXplQ292ZXIgLUBjb2xvcmVkQm9yZGVyU2l6ZSAwIEBjb2xvcmVkQm9yZGVyU2l6ZUNvdmVyIEBkZWZpbml0aW9uUGFnZUJhY2tncm91bmQ7XG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9wdWxsLzg4NFxuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuXG4gICAgLnVpLmRlZmluaXRpb24udGFibGUgPiB0aGVhZEB7bm90RnVsbFdpZHRofSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQ6bm90KDplbXB0eSkge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG5cbiAgICAudWkuZGVmaW5pdGlvbi50YWJsZSA+IHRmb290QHtub3RGdWxsV2lkdGh9ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAZGVmaW5pdGlvbkZvb3RlckJhY2tncm91bmQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAZGVmaW5pdGlvbkZvb3RlckZvbnRXZWlnaHQ7XG4gICAgICAgIGNvbG9yOiBAZGVmaW5pdGlvbkZvb3RlckNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAtQGNvbG9yZWRCb3JkZXJTaXplQ292ZXIgQGNvbG9yZWRCb3JkZXJTaXplIDAgQGNvbG9yZWRCb3JkZXJTaXplQ292ZXIgQGRlZmluaXRpb25QYWdlQmFja2dyb3VuZDtcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL3B1bGwvODg0XG4gICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG5cbiAgICAvKiBIaWdobGlnaHQgRGVmaW5pbmcgQ29sdW1uICovXG4gICAgLnVpLmRlZmluaXRpb24udGFibGUgPiB0ciA+IHRkOmZpcnN0LWNoaWxkOm5vdCguaWdub3JlZCksXG4gICAgLnVpLmRlZmluaXRpb24udGFibGUgPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQ6bm90KC5pZ25vcmVkKSxcbiAgICAudWkuZGVmaW5pdGlvbi50YWJsZSA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZDpub3QoLmlnbm9yZWQpLFxuICAgIC51aS5kZWZpbml0aW9uLnRhYmxlIHRyIHRkLmRlZmluaXRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAZGVmaW5pdGlvbkNvbHVtbkJhY2tncm91bmQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAZGVmaW5pdGlvbkNvbHVtbkZvbnRXZWlnaHQ7XG4gICAgICAgIGNvbG9yOiBAZGVmaW5pdGlvbkNvbHVtbkNvbG9yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogQGRlZmluaXRpb25Db2x1bW5UZXh0VHJhbnNmb3JtO1xuICAgICAgICBib3gtc2hhZG93OiBAZGVmaW5pdGlvbkNvbHVtbkJveFNoYWRvdztcbiAgICAgICAgdGV4dC1hbGlnbjogQGRlZmluaXRpb25Db2x1bW5UZXh0QWxpZ247XG4gICAgICAgIGZvbnQtc2l6ZTogQGRlZmluaXRpb25Db2x1bW5Gb250U2l6ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBAZGVmaW5pdGlvbkNvbHVtbkhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAZGVmaW5pdGlvbkNvbHVtbkhvcml6b250YWxQYWRkaW5nO1xuICAgIH1cblxuICAgIC8qIEZpeCAybmQgQ29sdW1uICovXG4gICAgLnVpLmRlZmluaXRpb24udGFibGUgPiB0aGVhZEB7bm90RnVsbFdpZHRofSA+IHRyID4gdGg6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IEBib3JkZXJXaWR0aCBzb2xpZCBAYm9yZGVyQ29sb3I7XG4gICAgfVxuICAgIC51aS5kZWZpbml0aW9uLnRhYmxlID4gdGZvb3RAe25vdEZ1bGxXaWR0aH0gPiB0ciA+IHRoOm50aC1jaGlsZCgyKSxcbiAgICAudWkuZGVmaW5pdGlvbi50YWJsZSA+IHRmb290QHtub3RGdWxsV2lkdGh9ID4gdHIgPiB0ZDpudGgtY2hpbGQoMikge1xuICAgICAgICBib3JkZXItbGVmdDogQGJvcmRlcldpZHRoIHNvbGlkIEBib3JkZXJDb2xvcjtcbiAgICB9XG4gICAgLnVpLmRlZmluaXRpb24udGFibGUgPiB0ciA+IHRkOm50aC1jaGlsZCgyKSxcbiAgICAudWkuZGVmaW5pdGlvbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZDpudGgtY2hpbGQoMikge1xuICAgICAgICBib3JkZXItbGVmdDogQGJvcmRlcldpZHRoIHNvbGlkIEBib3JkZXJDb2xvcjtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25UYWJsZVBvc2l0aXZlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUG9zaXRpdmVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS51aS51aS51aS50YWJsZSB0ci5wb3NpdGl2ZSxcbiAgICAudWkudWkudGFibGUgdGQucG9zaXRpdmUge1xuICAgICAgICBib3gtc2hhZG93OiBAcG9zaXRpdmVCb3hTaGFkb3c7XG4gICAgICAgIGJhY2tncm91bmQ6IEBwb3NpdGl2ZUJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgY29sb3I6IEBwb3NpdGl2ZUNvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5wb3NpdGl2ZSxcbiAgICAgICAgLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLnBvc2l0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFBvc2l0aXZlQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFBvc2l0aXZlQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlTmVnYXRpdmUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgTmVnYXRpdmVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS51aS51aS51aS50YWJsZSB0ci5uZWdhdGl2ZSxcbiAgICAudWkudWkudGFibGUgdGQubmVnYXRpdmUge1xuICAgICAgICBib3gtc2hhZG93OiBAbmVnYXRpdmVCb3hTaGFkb3c7XG4gICAgICAgIGJhY2tncm91bmQ6IEBuZWdhdGl2ZUJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgY29sb3I6IEBuZWdhdGl2ZUNvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5uZWdhdGl2ZSxcbiAgICAgICAgLnVpLnVpLmludmVydGVkLnRhYmxlIHRkLm5lZ2F0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZE5lZ2F0aXZlQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZE5lZ2F0aXZlQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlRXJyb3IpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEVycm9yXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudWkudWkudWkudGFibGUgdHIuZXJyb3IsXG4gICAgLnVpLnVpLnRhYmxlIHRkLmVycm9yIHtcbiAgICAgICAgYm94LXNoYWRvdzogQGVycm9yQm94U2hhZG93O1xuICAgICAgICBiYWNrZ3JvdW5kOiBAZXJyb3JCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAZXJyb3JDb2xvcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVJbnZlcnRlZCkge1xuICAgICAgICAudWkudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIuZXJyb3IsXG4gICAgICAgIC51aS51aS5pbnZlcnRlZC50YWJsZSB0ZC5lcnJvciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRFcnJvckJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRFcnJvckNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UYWJsZVdhcm5pbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgV2FybmluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnVpLnVpLnVpLnRhYmxlIHRyLndhcm5pbmcsXG4gICAgLnVpLnVpLnRhYmxlIHRkLndhcm5pbmcge1xuICAgICAgICBib3gtc2hhZG93OiBAd2FybmluZ0JveFNoYWRvdztcbiAgICAgICAgYmFja2dyb3VuZDogQHdhcm5pbmdCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAd2FybmluZ0NvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci53YXJuaW5nLFxuICAgICAgICAudWkudWkuaW52ZXJ0ZWQudGFibGUgdGQud2FybmluZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRXYXJuaW5nQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFdhcm5pbmdDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVGFibGVBY3RpdmUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQWN0aXZlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudWkudWkudWkudGFibGUgdHIuYWN0aXZlLFxuICAgIC51aS51aS50YWJsZSB0ZC5hY3RpdmUge1xuICAgICAgICBib3gtc2hhZG93OiBAYWN0aXZlQm94U2hhZG93O1xuICAgICAgICBiYWNrZ3JvdW5kOiBAYWN0aXZlQmFja2dyb3VuZENvbG9yO1xuICAgICAgICBjb2xvcjogQGFjdGl2ZUNvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5hY3RpdmUsXG4gICAgICAgIC51aS51aS5pbnZlcnRlZC50YWJsZSB0ZC5hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQWN0aXZlQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEFjdGl2ZUNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UYWJsZURpc2FibGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudWkudWkudGFibGUgdHIuZGlzYWJsZWQgdGQsXG4gICAgLnVpLnVpLnVpLnRhYmxlIHRyIHRkLmRpc2FibGVkLFxuICAgIC51aS50YWJsZSB0ci5kaXNhYmxlZDpob3ZlcixcbiAgICAudWkudGFibGUgdHI6aG92ZXIgdGQuZGlzYWJsZWQge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgY29sb3I6IEBkaXNhYmxlZFRleHRDb2xvcjtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU3RhY2thYmxlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU3RhY2thYmxlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0VGFibGV0U2NyZWVuKSB7XG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlLFxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRoZWFkLFxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRoZWFkID4gdHIsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGZvb3QsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGZvb3QgPiB0cixcbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Ym9keSxcbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Ym9keSA+IHRyLFxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRyLFxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aEB7bm90Um93U3Bhbm5lZH0sXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoQHtub3RSb3dTcGFubmVkfSxcbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Zm9vdCA+IHRyID4gdGhAe25vdFJvd1NwYW5uZWR9LFxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRyID4gdGhAe25vdFJvd1NwYW5uZWR9LFxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZEB7bm90Um93U3Bhbm5lZH0sXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkQHtub3RSb3dTcGFubmVkfSxcbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0ciA+IHRkQHtub3RSb3dTcGFubmVkfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBAcmVzcG9uc2l2ZUhlYWRlckRpc3BsYXk7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Zm9vdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBAcmVzcG9uc2l2ZUZvb3RlckRpc3BsYXk7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0aGVhZCA+IHRyLFxuICAgICAgICAudWkudWkudWkudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRib2R5ID4gdHIsXG4gICAgICAgIC51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGZvb3QgPiB0cixcbiAgICAgICAgLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0ciB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogQHJlc3BvbnNpdmVSb3dWZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogQHJlc3BvbnNpdmVSb3dWZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAcmVzcG9uc2l2ZVJvd0JveFNoYWRvdztcbiAgICAgICAgfVxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLFxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRyID4gdGgsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuICAgICAgICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0ciA+IHRkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IEByZXNwb25zaXZlQ2VsbFZlcnRpY2FsUGFkZGluZyBAcmVzcG9uc2l2ZUNlbGxIb3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEByZXNwb25zaXZlQ2VsbEJveFNoYWRvdztcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZURlZmluaXRpb24pIHtcbiAgICAgICAgICAgIC8qIERlZmluaXRpb24gVGFibGUgKi9cbiAgICAgICAgICAgIC51aS5kZWZpbml0aW9uW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZU1hcmtlZCkgYW5kIG5vdCAoQHZhcmlhdGlvblRhYmxlQ29sb3JzID0gZmFsc2UpIHtcbiAgICAgICAgZWFjaChAdmFyaWF0aW9uVGFibGVDb2xvcnMsIHtcbiAgICAgICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICAgICAgQGw6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRdO1xuICAgICAgICAgICAgLnVpLnVpLnVpLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHJbY2xhc3MqPVwiQHtjb2xvcn0gbWFya2VkXCJdIHtcbiAgICAgICAgICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAcmVzcG9uc2l2ZVJvd0JveFNoYWRvdywgQGNvbG9yZWRCb3JkZXJTaXplIDAgMCAwIEBjIGluc2V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQHJlc3BvbnNpdmVSb3dCb3hTaGFkb3csIC1AY29sb3JlZEJvcmRlclNpemUgMCAwIDAgQGMgaW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVJbnZlcnRlZCkge1xuICAgICAgICAgICAgICAgIC51aS51aS51aS51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLmludmVydGVkLnRhYmxlIHRyW2NsYXNzKj1cIkB7Y29sb3J9IG1hcmtlZFwiXSB7XG4gICAgICAgICAgICAgICAgICAgICYubGVmdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAcmVzcG9uc2l2ZVJvd0JveFNoYWRvdywgQGNvbG9yZWRCb3JkZXJTaXplIDAgMCAwIEBsIGluc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQHJlc3BvbnNpdmVSb3dCb3hTaGFkb3csIC1AY29sb3JlZEJvcmRlclNpemUgMCAwIDAgQGwgaW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVGFibGVBbGlnbmVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgVGV4dCBBbGlnbm1lbnRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS50YWJsZVtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0sXG4gICAgLnVpLnRhYmxlIFtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAudWkudGFibGVbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0sXG4gICAgLnVpLnRhYmxlIFtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLnVpLnRhYmxlW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0sXG4gICAgLnVpLnRhYmxlIFtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFZlcnRpY2FsIEFsaWdubWVudFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnRhYmxlW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLFxuICAgIC51aS50YWJsZSBbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgICAudWkudGFibGVbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0sXG4gICAgLnVpLnRhYmxlIFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICAgIC51aS50YWJsZVtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXSxcbiAgICAudWkudGFibGUgW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlQ29sbGFwc2luZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENvbGxhcHNpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS50YWJsZSB0aC5jb2xsYXBzaW5nLFxuICAgIC51aS50YWJsZSB0ZC5jb2xsYXBzaW5nIHtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlRml4ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRml4ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5maXhlZC50YWJsZSB7XG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgfVxuXG4gICAgLnVpLmZpeGVkLnRhYmxlIHRoLFxuICAgIC51aS5maXhlZC50YWJsZSB0ZCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTZWxlY3RhYmxlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTZWxlY3RhYmxlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudWkuc2VsZWN0YWJsZS50YWJsZSA+IHRib2R5ID4gdHI6aG92ZXIsXG4gICAgLnVpLnRhYmxlIHRib2R5IHRyIHRkLnNlbGVjdGFibGU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAc2VsZWN0YWJsZUJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAc2VsZWN0YWJsZVRleHRDb2xvcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVJbnZlcnRlZCkge1xuICAgICAgICAudWkudWkuc2VsZWN0YWJsZS5pbnZlcnRlZC50YWJsZSA+IHRib2R5ID4gdHI6aG92ZXIsXG4gICAgICAgIC51aS5pbnZlcnRlZC50YWJsZSB0Ym9keSB0ciB0ZC5zZWxlY3RhYmxlOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBzZWxlY3RhYmxlSW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6IEBzZWxlY3RhYmxlSW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBTZWxlY3RhYmxlIENlbGwgTGluayAqL1xuICAgIC51aS50YWJsZSB0Ym9keSB0ciB0ZC5zZWxlY3RhYmxlIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLnVpLnRhYmxlIHRib2R5IHRyIHRkLnNlbGVjdGFibGUgPiBhOm5vdCgudWkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAudWkudGFibGU6bm90KC5jb21wYWN0KSB0Ym9keSB0ciB0ZC5zZWxlY3RhYmxlID4gYTpub3QoLnVpKSB7XG4gICAgICAgIHBhZGRpbmc6IEBjZWxsVmVydGljYWxQYWRkaW5nIEBjZWxsSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgfVxuICAgIC51aS50YWJsZSA+IHRyID4gdGQuc2VsZWN0YWJsZSxcbiAgICAudWkudGFibGUgPiB0Ym9keSA+IHRyID4gdGQuc2VsZWN0YWJsZSxcbiAgICAudWkuc2VsZWN0YWJsZS50YWJsZSA+IHRib2R5ID4gdHIsXG4gICAgLnVpLnNlbGVjdGFibGUudGFibGUgPiB0ciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVFcnJvcikge1xuICAgICAgICAvKiBPdGhlciBTdGF0ZXMgKi9cbiAgICAgICAgLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHIuZXJyb3I6aG92ZXIsXG4gICAgICAgIC51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLmVycm9yOmhvdmVyLFxuICAgICAgICAudWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5lcnJvciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAZXJyb3JCYWNrZ3JvdW5kSG92ZXI7XG4gICAgICAgICAgICBjb2xvcjogQGVycm9yQ29sb3JIb3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVdhcm5pbmcpIHtcbiAgICAgICAgLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHIud2FybmluZzpob3ZlcixcbiAgICAgICAgLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUud2FybmluZzpob3ZlcixcbiAgICAgICAgLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQud2FybmluZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAd2FybmluZ0JhY2tncm91bmRIb3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiBAd2FybmluZ0NvbG9ySG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVBY3RpdmUpIHtcbiAgICAgICAgLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHIuYWN0aXZlOmhvdmVyLFxuICAgICAgICAudWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5hY3RpdmU6aG92ZXIsXG4gICAgICAgIC51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYWN0aXZlQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgY29sb3I6IEBhY3RpdmVDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVBvc2l0aXZlKSB7XG4gICAgICAgIC51aS51aS5zZWxlY3RhYmxlLnRhYmxlIHRyLnBvc2l0aXZlOmhvdmVyLFxuICAgICAgICAudWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5wb3NpdGl2ZTpob3ZlcixcbiAgICAgICAgLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQucG9zaXRpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHBvc2l0aXZlQmFja2dyb3VuZEhvdmVyO1xuICAgICAgICAgICAgY29sb3I6IEBwb3NpdGl2ZUNvbG9ySG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVOZWdhdGl2ZSkge1xuICAgICAgICAudWkudWkuc2VsZWN0YWJsZS50YWJsZSB0ci5uZWdhdGl2ZTpob3ZlcixcbiAgICAgICAgLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUubmVnYXRpdmU6aG92ZXIsXG4gICAgICAgIC51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLm5lZ2F0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBuZWdhdGl2ZUJhY2tncm91bmRIb3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiBAbmVnYXRpdmVDb2xvckhvdmVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UYWJsZUF0dGFjaGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEF0dGFjaGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIE1pZGRsZSAqL1xuICAgIC51aS5hdHRhY2hlZC50YWJsZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBtYXJnaW46IDAgQGF0dGFjaGVkSG9yaXpvbnRhbE9mZnNldDtcbiAgICAgICAgd2lkdGg6IEBhdHRhY2hlZFdpZHRoO1xuICAgICAgICBtYXgtd2lkdGg6IEBhdHRhY2hlZFdpZHRoO1xuICAgICAgICBib3gtc2hhZG93OiBAYXR0YWNoZWRCb3hTaGFkb3c7XG4gICAgICAgIGJvcmRlcjogQGF0dGFjaGVkQm9yZGVyO1xuICAgIH1cbiAgICAudWkuYXR0YWNoZWQgKyAudWkuYXR0YWNoZWQudGFibGU6bm90KC50b3ApIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBUb3AgKi9cbiAgICAudWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLnRhYmxlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0b3A6IEBhdHRhY2hlZFRvcE9mZnNldDtcbiAgICAgICAgbWFyZ2luLXRvcDogQHZlcnRpY2FsTWFyZ2luO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMCAwO1xuICAgIH1cbiAgICAudWkudGFibGVbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAvKiBCb3R0b20gKi9cbiAgICAudWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLnRhYmxlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB0b3A6IEBhdHRhY2hlZEJvdHRvbU9mZnNldDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogQHZlcnRpY2FsTWFyZ2luO1xuICAgICAgICBib3gtc2hhZG93OiBAYXR0YWNoZWRCb3R0b21Cb3hTaGFkb3c7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXM7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0udGFibGU6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UYWJsZVN0cmlwZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU3RyaXBlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogVGFibGUgU3RyaXBpbmcgKi9cbiAgICAudWkuc3RyaXBlZC50YWJsZSA+IHRyOm50aC1jaGlsZCgybiksXG4gICAgLnVpLnN0cmlwZWQudGFibGUgPiB0Ym9keSA+IHRyOm50aC1jaGlsZCgybikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3RyaXBlZEJhY2tncm91bmQ7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlSW52ZXJ0ZWQpIHtcbiAgICAgICAgLyogU3RyaXBlcyAqL1xuICAgICAgICAudWkuaW52ZXJ0ZWQuc3RyaXBlZC50YWJsZSA+IHRyOm50aC1jaGlsZCgybiksXG4gICAgICAgIC51aS5pbnZlcnRlZC5zdHJpcGVkLnRhYmxlID4gdGJvZHkgPiB0cjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZFN0cmlwZWRCYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU2VsZWN0YWJsZSkge1xuICAgICAgICAvKiBBbGxvdyBzdHJpcGVkIGFjdGl2ZSBob3ZlciAqL1xuICAgICAgICAudWkuc3RyaXBlZC5zZWxlY3RhYmxlLnNlbGVjdGFibGUuc2VsZWN0YWJsZS50YWJsZSB0Ym9keSB0ci5hY3RpdmU6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGFjdGl2ZUJhY2tncm91bmRIb3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiBAYWN0aXZlQ29sb3JIb3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgIFNpbmdsZSBMaW5lXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnRhYmxlW2NsYXNzKj1cInNpbmdsZSBsaW5lXCJdLFxuLnVpLnRhYmxlIFtjbGFzcyo9XCJzaW5nbGUgbGluZVwiXSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25UYWJsZUNvbG9ycyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uVGFibGVDb2xvcnMsIHtcbiAgICAgICAgQGNvbG9yOiBAdmFsdWU7XG4gICAgICAgIEBjOiBAY29sb3JzW0BAY29sb3JdW2NvbG9yXTtcbiAgICAgICAgQHQ6IEBjb2xvcnNbQEBjb2xvcl1bdGV4dF07XG4gICAgICAgIEBodDogQGNvbG9yc1tAQGNvbG9yXVtob3ZlclRleHRdO1xuICAgICAgICBAbDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodF07XG4gICAgICAgIEBsaDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodEhvdmVyXTtcbiAgICAgICAgQHI6IEBjb2xvcnNbQEBjb2xvcl1bcmliYm9uXTtcbiAgICAgICAgQGI6IEBjb2xvcnNbQEBjb2xvcl1bYnJpZ2h0XTtcbiAgICAgICAgQGJoOiBAY29sb3JzW0BAY29sb3JdW2JyaWdodEhvdmVyXTtcbiAgICAgICAgQGlzRGFyazogQGNvbG9yc1tAQGNvbG9yXVtpc0RhcmtdO1xuICAgICAgICBAaXNWZXJ5RGFyazogQGNvbG9yc1tAQGNvbG9yXVtpc1ZlcnlEYXJrXTtcblxuICAgICAgICAudWkuQHtjb2xvcn0udGFibGUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogQGNvbG9yZWRCb3JkZXJTaXplIHNvbGlkIEBjO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS50YWJsZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGM7XG4gICAgICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvKiBTYW1lIGNvbG9yIGZvciBiYWNrZ3JvdW5kIGFuZCBjb2xvciB0byBjYW1vdWZsYWdlIHRoZSBzY3JvbGxiYXIgKi9cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTY3JvbGxpbmcpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5Ae2NvbG9yfSxcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcudGFibGUgPiB0Zm9vdC5Ae2NvbG9yfSB7XG4gICAgICAgICAgICAgICAgJiB3aGVuIChAaXNEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBsO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgd2hlbiBub3QgKEBpc0RhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGI7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAYjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiA+IHRyID4gdGgsXG4gICAgICAgICAgICAgICAgPiB0ciA+IHRkIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgJiB3aGVuIChAaXNWZXJ5RGFyaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmIHdoZW4gbm90IChAaXNWZXJ5RGFyaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEB0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVJbnZlcnRlZCkge1xuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5zY3JvbGxpbmcudGFibGUgPiB0aGVhZC5Ae2NvbG9yfSxcbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuc2Nyb2xsaW5nLnRhYmxlID4gdGZvb3QuQHtjb2xvcn0ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IEBjO1xuICAgICAgICAgICAgICAgICAgICAmID4gdHIgPiB0aCxcbiAgICAgICAgICAgICAgICAgICAgPiB0ciA+IHRkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS51aS51aS51aS50YWJsZSB0cltjbGFzcyo9XCJAe2NvbG9yfSBjb2xvcmVkXCJdLFxuICAgICAgICAudWkudWkudGFibGUgdGhbY2xhc3MqPVwiQHtjb2xvcn0gY29sb3JlZFwiXSxcbiAgICAgICAgLnVpLnVpLnRhYmxlIHRkW2NsYXNzKj1cIkB7Y29sb3J9IGNvbG9yZWRcIl0sXG4gICAgICAgIC51aS51aS51aS51aS50YWJsZSB0ci5Ae2NvbG9yfUB7bm90TWFya2VkfSxcbiAgICAgICAgLnVpLnVpLnRhYmxlIHRoLkB7Y29sb3J9QHtub3RNYXJrZWR9LFxuICAgICAgICAudWkudWkudGFibGUgdGQuQHtjb2xvcn1Ae25vdE1hcmtlZH0ge1xuICAgICAgICAgICAgJiB3aGVuIChAc3RhdGVNYXJrZXJXaWR0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAc3RhdGVNYXJrZXJXaWR0aCAwIDAgQHIgaW5zZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEBpc0RhcmspIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiBub3QgKEBpc0RhcmspIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQGlzVmVyeURhcmspIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIG5vdCAoQGlzVmVyeURhcmspIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnRhYmxlID4gdGhlYWQgPiB0cltjbGFzcyo9XCJAe2NvbG9yfSBjb2xvcmVkXCJdID4gdGgsXG4gICAgICAgIC51aS50YWJsZSA+IHRmb290ID4gdHJbY2xhc3MqPVwiQHtjb2xvcn0gY29sb3JlZFwiXSA+IHRoLFxuICAgICAgICAudWkudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cIkB7Y29sb3J9IGNvbG9yZWRcIl0gPiB0ZCxcbiAgICAgICAgLnVpLnRhYmxlID4gdGhlYWQgPiB0ci5Ae2NvbG9yfUB7bm90TWFya2VkfSA+IHRoLFxuICAgICAgICAudWkudGFibGUgPiB0Zm9vdCA+IHRyLkB7Y29sb3J9QHtub3RNYXJrZWR9ID4gdGgsXG4gICAgICAgIC51aS50YWJsZSA+IHRmb290ID4gdHIuQHtjb2xvcn1Ae25vdE1hcmtlZH0gPiB0ZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgICAgICAgJiB3aGVuIChAaXNWZXJ5RGFyaykge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gbm90IChAaXNWZXJ5RGFyaykge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0cltjbGFzcyo9XCJAe2NvbG9yfSBjb2xvcmVkXCJdLFxuICAgICAgICAgICAgLnVpLnVpLmludmVydGVkLnRhYmxlIHRoW2NsYXNzKj1cIkB7Y29sb3J9IGNvbG9yZWRcIl0sXG4gICAgICAgICAgICAudWkudWkuaW52ZXJ0ZWQudGFibGUgdGRbY2xhc3MqPVwiQHtjb2xvcn0gY29sb3JlZFwiXSxcbiAgICAgICAgICAgIC51aS51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5Ae2NvbG9yfUB7bm90TWFya2VkfSxcbiAgICAgICAgICAgIC51aS51aS5pbnZlcnRlZC50YWJsZSB0aC5Ae2NvbG9yfUB7bm90TWFya2VkfSxcbiAgICAgICAgICAgIC51aS51aS5pbnZlcnRlZC50YWJsZSB0ZC5Ae2NvbG9yfUB7bm90TWFya2VkfSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGM7XG4gICAgICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHJbY2xhc3MqPVwiQHtjb2xvcn0gY29sb3JlZFwiXSA+IHRoLFxuICAgICAgICAgICAgLnVpLmludmVydGVkLnRhYmxlID4gdGZvb3QgPiB0cltjbGFzcyo9XCJAe2NvbG9yfSBjb2xvcmVkXCJdID4gdGgsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyW2NsYXNzKj1cIkB7Y29sb3J9IGNvbG9yZWRcIl0gPiB0ZCxcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC50YWJsZSA+IHRoZWFkID4gdHIuQHtjb2xvcn1Ae25vdE1hcmtlZH0gPiB0aCxcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIuQHtjb2xvcn1Ae25vdE1hcmtlZH0gPiB0aCxcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIuQHtjb2xvcn1Ae25vdE1hcmtlZH0gPiB0ZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU2VsZWN0YWJsZSkge1xuICAgICAgICAgICAgLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHJbY2xhc3MqPVwiQHtjb2xvcn0gY29sb3JlZFwiXTpob3ZlcixcbiAgICAgICAgICAgIC51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cIkB7Y29sb3J9IGNvbG9yZWRcIl06aG92ZXIsXG4gICAgICAgICAgICAudWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZFtjbGFzcyo9XCJAe2NvbG9yfSBjb2xvcmVkXCJdLFxuICAgICAgICAgICAgLnVpLnVpLnNlbGVjdGFibGUudGFibGUgdHIuQHtjb2xvcn1Ae25vdE1hcmtlZH06aG92ZXIsXG4gICAgICAgICAgICAudWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5Ae2NvbG9yfUB7bm90TWFya2VkfTpob3ZlcixcbiAgICAgICAgICAgIC51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLkB7Y29sb3J9QHtub3RNYXJrZWR9IHtcbiAgICAgICAgICAgICAgICAmIHdoZW4gKEBpc0RhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGxoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmIHdoZW4gbm90IChAaXNEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBiaDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJiB3aGVuIChAaXNWZXJ5RGFyaykge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmIHdoZW4gbm90IChAaXNWZXJ5RGFyaykge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGh0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICAudWkudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cltjbGFzcyo9XCJAe2NvbG9yfSBjb2xvcmVkXCJdOmhvdmVyLFxuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlW2NsYXNzKj1cIkB7Y29sb3J9IGNvbG9yZWRcIl06aG92ZXIsXG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGRbY2xhc3MqPVwiQHtjb2xvcn0gY29sb3JlZFwiXSxcbiAgICAgICAgICAgICAgICAudWkudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0ci5Ae2NvbG9yfUB7bm90TWFya2VkfTpob3ZlcixcbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5Ae2NvbG9yfUB7bm90TWFya2VkfTpob3ZlcixcbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5Ae2NvbG9yfUB7bm90TWFya2VkfSB7XG4gICAgICAgICAgICAgICAgICAgICYgd2hlbiAoQGlzRGFyaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGJoO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgd2hlbiBub3QgKEBpc0RhcmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBsaDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmIHdoZW4gKEBpc1ZlcnlEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGh0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgd2hlbiBub3QgKEBpc1ZlcnlEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlTWFya2VkKSB7XG4gICAgICAgICAgICAudWkudGFibGUgdGRbY2xhc3MqPVwiQHtjb2xvcn0gbWFya2VkXCJdLFxuICAgICAgICAgICAgLnVpLnRhYmxlIHRyW2NsYXNzKj1cIkB7Y29sb3J9IG1hcmtlZFwiXSB7XG4gICAgICAgICAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3JkZXJTaXplIDAgMCAwIEBjIGluc2V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogLUBjb2xvcmVkQm9yZGVyU2l6ZSAwIDAgMCBAYyBpbnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLnRhYmxlIHRkW2NsYXNzKj1cIkB7Y29sb3J9IG1hcmtlZFwiXSxcbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQudGFibGUgdHJbY2xhc3MqPVwiQHtjb2xvcn0gbWFya2VkXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEBjb2xvcmVkQm9yZGVyU2l6ZSAwIDAgMCBAbCBpbnNldDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IC1AY29sb3JlZEJvcmRlclNpemUgMCAwIDAgQGwgaW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UYWJsZUVxdWFsV2lkdGgpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgQ29sdW1uIENvdW50XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBHcmlkIEJhc2VkICovXG4gICAgLnVpLm9uZS5jb2x1bW4udGFibGUgdGQge1xuICAgICAgICB3aWR0aDogQG9uZUNvbHVtbjtcbiAgICB9XG4gICAgLnVpLnR3by5jb2x1bW4udGFibGUgdGQge1xuICAgICAgICB3aWR0aDogQHR3b0NvbHVtbjtcbiAgICB9XG4gICAgLnVpLnRocmVlLmNvbHVtbi50YWJsZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBAdGhyZWVDb2x1bW47XG4gICAgfVxuICAgIC51aS5mb3VyLmNvbHVtbi50YWJsZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBAZm91ckNvbHVtbjtcbiAgICB9XG4gICAgLnVpLmZpdmUuY29sdW1uLnRhYmxlIHRkIHtcbiAgICAgICAgd2lkdGg6IEBmaXZlQ29sdW1uO1xuICAgIH1cbiAgICAudWkuc2l4LmNvbHVtbi50YWJsZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBAc2l4Q29sdW1uO1xuICAgIH1cbiAgICAudWkuc2V2ZW4uY29sdW1uLnRhYmxlIHRkIHtcbiAgICAgICAgd2lkdGg6IEBzZXZlbkNvbHVtbjtcbiAgICB9XG4gICAgLnVpLmVpZ2h0LmNvbHVtbi50YWJsZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBAZWlnaHRDb2x1bW47XG4gICAgfVxuICAgIC51aS5uaW5lLmNvbHVtbi50YWJsZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBAbmluZUNvbHVtbjtcbiAgICB9XG4gICAgLnVpLnRlbi5jb2x1bW4udGFibGUgdGQge1xuICAgICAgICB3aWR0aDogQHRlbkNvbHVtbjtcbiAgICB9XG4gICAgLnVpLmVsZXZlbi5jb2x1bW4udGFibGUgdGQge1xuICAgICAgICB3aWR0aDogQGVsZXZlbkNvbHVtbjtcbiAgICB9XG4gICAgLnVpLnR3ZWx2ZS5jb2x1bW4udGFibGUgdGQge1xuICAgICAgICB3aWR0aDogQHR3ZWx2ZUNvbHVtbjtcbiAgICB9XG4gICAgLnVpLnRoaXJ0ZWVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBAdGhpcnRlZW5Db2x1bW47XG4gICAgfVxuICAgIC51aS5mb3VydGVlbi5jb2x1bW4udGFibGUgdGQge1xuICAgICAgICB3aWR0aDogQGZvdXJ0ZWVuQ29sdW1uO1xuICAgIH1cbiAgICAudWkuZmlmdGVlbi5jb2x1bW4udGFibGUgdGQge1xuICAgICAgICB3aWR0aDogQGZpZnRlZW5Db2x1bW47XG4gICAgfVxuICAgIC51aS5zaXh0ZWVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBAc2l4dGVlbkNvbHVtbjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlV2lkZSkge1xuICAgIC8qIENvbHVtbiBXaWR0aCAqL1xuICAgIC51aS50YWJsZSB0aC5vbmUud2lkZSxcbiAgICAudWkudGFibGUgdGQub25lLndpZGUge1xuICAgICAgICB3aWR0aDogQG9uZVdpZGU7XG4gICAgfVxuICAgIC51aS50YWJsZSB0aC50d28ud2lkZSxcbiAgICAudWkudGFibGUgdGQudHdvLndpZGUge1xuICAgICAgICB3aWR0aDogQHR3b1dpZGU7XG4gICAgfVxuICAgIC51aS50YWJsZSB0aC50aHJlZS53aWRlLFxuICAgIC51aS50YWJsZSB0ZC50aHJlZS53aWRlIHtcbiAgICAgICAgd2lkdGg6IEB0aHJlZVdpZGU7XG4gICAgfVxuICAgIC51aS50YWJsZSB0aC5mb3VyLndpZGUsXG4gICAgLnVpLnRhYmxlIHRkLmZvdXIud2lkZSB7XG4gICAgICAgIHdpZHRoOiBAZm91cldpZGU7XG4gICAgfVxuICAgIC51aS50YWJsZSB0aC5maXZlLndpZGUsXG4gICAgLnVpLnRhYmxlIHRkLmZpdmUud2lkZSB7XG4gICAgICAgIHdpZHRoOiBAZml2ZVdpZGU7XG4gICAgfVxuICAgIC51aS50YWJsZSB0aC5zaXgud2lkZSxcbiAgICAudWkudGFibGUgdGQuc2l4LndpZGUge1xuICAgICAgICB3aWR0aDogQHNpeFdpZGU7XG4gICAgfVxuICAgIC51aS50YWJsZSB0aC5zZXZlbi53aWRlLFxuICAgIC51aS50YWJsZSB0ZC5zZXZlbi53aWRlIHtcbiAgICAgICAgd2lkdGg6IEBzZXZlbldpZGU7XG4gICAgfVxuICAgIC51aS50YWJsZSB0aC5laWdodC53aWRlLFxuICAgIC51aS50YWJsZSB0ZC5laWdodC53aWRlIHtcbiAgICAgICAgd2lkdGg6IEBlaWdodFdpZGU7XG4gICAgfVxuICAgIC51aS50YWJsZSB0aC5uaW5lLndpZGUsXG4gICAgLnVpLnRhYmxlIHRkLm5pbmUud2lkZSB7XG4gICAgICAgIHdpZHRoOiBAbmluZVdpZGU7XG4gICAgfVxuICAgIC51aS50YWJsZSB0aC50ZW4ud2lkZSxcbiAgICAudWkudGFibGUgdGQudGVuLndpZGUge1xuICAgICAgICB3aWR0aDogQHRlbldpZGU7XG4gICAgfVxuICAgIC51aS50YWJsZSB0aC5lbGV2ZW4ud2lkZSxcbiAgICAudWkudGFibGUgdGQuZWxldmVuLndpZGUge1xuICAgICAgICB3aWR0aDogQGVsZXZlbldpZGU7XG4gICAgfVxuICAgIC51aS50YWJsZSB0aC50d2VsdmUud2lkZSxcbiAgICAudWkudGFibGUgdGQudHdlbHZlLndpZGUge1xuICAgICAgICB3aWR0aDogQHR3ZWx2ZVdpZGU7XG4gICAgfVxuICAgIC51aS50YWJsZSB0aC50aGlydGVlbi53aWRlLFxuICAgIC51aS50YWJsZSB0ZC50aGlydGVlbi53aWRlIHtcbiAgICAgICAgd2lkdGg6IEB0aGlydGVlbldpZGU7XG4gICAgfVxuICAgIC51aS50YWJsZSB0aC5mb3VydGVlbi53aWRlLFxuICAgIC51aS50YWJsZSB0ZC5mb3VydGVlbi53aWRlIHtcbiAgICAgICAgd2lkdGg6IEBmb3VydGVlbldpZGU7XG4gICAgfVxuICAgIC51aS50YWJsZSB0aC5maWZ0ZWVuLndpZGUsXG4gICAgLnVpLnRhYmxlIHRkLmZpZnRlZW4ud2lkZSB7XG4gICAgICAgIHdpZHRoOiBAZmlmdGVlbldpZGU7XG4gICAgfVxuICAgIC51aS50YWJsZSB0aC5zaXh0ZWVuLndpZGUsXG4gICAgLnVpLnRhYmxlIHRkLnNpeHRlZW4ud2lkZSB7XG4gICAgICAgIHdpZHRoOiBAc2l4dGVlbldpZGU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UYWJsZVNvcnRhYmxlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU29ydGFibGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5zb3J0YWJsZS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgY29sb3I6IEBzb3J0YWJsZUNvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUNlbGxlZCkge1xuICAgICAgICAudWkuY2VsbGVkLnNvcnRhYmxlLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBAc29ydGFibGVCb3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoLnNvcnRlZCxcbiAgICAudWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkOmhvdmVyIHtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVpLnNvcnRhYmxlLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBub3JtYWw7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIHdpZHRoOiBAc29ydGFibGVJY29uV2lkdGg7XG4gICAgICAgIG9wYWNpdHk6IEBzb3J0YWJsZUljb25PcGFjaXR5O1xuICAgICAgICBtYXJnaW46IDAgMCAwIEBzb3J0YWJsZUljb25EaXN0YW5jZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBzb3J0YWJsZUljb25Gb250O1xuICAgIH1cbiAgICAudWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguYXNjZW5kaW5nOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IEBzb3J0YWJsZUljb25Bc2NlbmRpbmc7XG4gICAgfVxuICAgIC51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aC5kZXNjZW5kaW5nOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IEBzb3J0YWJsZUljb25EZXNjZW5kaW5nO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlRGlzYWJsZWQpIHtcbiAgICAgICAgLyogSG92ZXIgKi9cbiAgICAgICAgLnVpLnNvcnRhYmxlLnRhYmxlIHRoLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgICAgICAgIGNvbG9yOiBAc29ydGFibGVEaXNhYmxlZENvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5zb3J0YWJsZS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAc29ydGFibGVIb3ZlckNvbG9yO1xuICAgIH1cbiAgICAudWkuc29ydGFibGUudGFibGVAe25vdEJhc2ljfSA+IHRoZWFkID4gdHIgPiB0aDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzb3J0YWJsZUhvdmVyQmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvKiBTb3J0ZWQgKi9cbiAgICAudWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkIHtcbiAgICAgICAgY29sb3I6IEBzb3J0YWJsZUFjdGl2ZUNvbG9yO1xuICAgIH1cbiAgICAudWkuc29ydGFibGUudGFibGVAe25vdEJhc2ljfSB0aGVhZCB0aC5zb3J0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAc29ydGFibGVBY3RpdmVCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAudWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKiBTb3J0ZWQgSG92ZXIgKi9cbiAgICAudWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBzb3J0YWJsZUFjdGl2ZUhvdmVyQ29sb3I7XG4gICAgfVxuICAgIC51aS5zb3J0YWJsZS50YWJsZUB7bm90QmFzaWN9IHRoZWFkIHRoLnNvcnRlZDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzb3J0YWJsZUFjdGl2ZUhvdmVyQmFja2dyb3VuZDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVJbnZlcnRlZCkge1xuICAgICAgICAvKiBJbnZlcnRlZCAqL1xuICAgICAgICAudWkuaW52ZXJ0ZWQuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiBAc29ydGFibGVJbnZlcnRlZEFjdGl2ZUNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5zb3J0YWJsZS50YWJsZUB7bm90QmFzaWN9IHRoZWFkIHRoLnNvcnRlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAc29ydGFibGVJbnZlcnRlZEFjdGl2ZUJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLnNvcnRhYmxlLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAc29ydGFibGVJbnZlcnRlZEhvdmVyQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLnNvcnRhYmxlLnRhYmxlQHtub3RCYXNpY30gPiB0aGVhZCA+IHRyID4gdGg6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHNvcnRhYmxlSW52ZXJ0ZWRIb3ZlckJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLnNvcnRhYmxlLnRhYmxlQHtub3RCYXNpY30gPiB0aGVhZCA+IHRyID4gdGgge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IEBzb3J0YWJsZUludmVydGVkQm9yZGVyQ29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IEBzb3J0YWJsZUludmVydGVkQm9yZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlSW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogVGV4dCBDb2xvciAqL1xuICAgIC51aS5pbnZlcnRlZC50YWJsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRDZWxsQ29sb3I7XG4gICAgICAgIGJvcmRlcjogQGludmVydGVkQm9yZGVyO1xuICAgIH1cbiAgICAudWkudWkuaW52ZXJ0ZWQudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4gICAgLnVpLnVpLmludmVydGVkLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuICAgIC51aS51aS5pbnZlcnRlZC50YWJsZSA+IHRyID4gdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRIZWFkZXJCYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItY29sb3I6IEBpbnZlcnRlZEhlYWRlckJvcmRlckNvbG9yO1xuICAgICAgICBjb2xvcjogQGludmVydGVkSGVhZGVyQ29sb3I7XG4gICAgfVxuICAgIC51aS51aS5pbnZlcnRlZC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbiAgICAudWkudWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRGb290ZXJCYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItY29sb3I6IEBpbnZlcnRlZEZvb3RlckJvcmRlckNvbG9yO1xuICAgICAgICBjb2xvcjogQGludmVydGVkRm9vdGVyQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCxcbiAgICAudWkuaW52ZXJ0ZWQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQsXG4gICAgLnVpLmludmVydGVkLnRhYmxlID4gdHIgPiB0ZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGludmVydGVkQ2VsbEJvcmRlckNvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZURpc2FibGVkKSB7XG4gICAgICAgIC51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ci5kaXNhYmxlZCB0ZCxcbiAgICAgICAgLnVpLnVpLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLmRpc2FibGVkLFxuICAgICAgICAudWkuaW52ZXJ0ZWQudGFibGUgdHIuZGlzYWJsZWQ6aG92ZXIgdGQsXG4gICAgICAgIC51aS5pbnZlcnRlZC50YWJsZSB0cjpob3ZlciB0ZC5kaXNhYmxlZCB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWREaXNhYmxlZFRleHRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkudWkudWkuaW52ZXJ0ZWQudGFibGUgdHIgdGQuZGlzYWJsZWQ6bm90KFtjbGFzcz1cImRpc2FibGVkXCJdKSxcbiAgICAgICAgLnVpLmludmVydGVkLnRhYmxlIHRyLmRpc2FibGVkOm5vdChbY2xhc3M9XCJkaXNhYmxlZFwiXSkgdGQsXG4gICAgICAgIC51aS5pbnZlcnRlZC50YWJsZSB0ci5kaXNhYmxlZCB0ZFtjbGFzc106bm90KC5kaXNhYmxlZCksXG4gICAgICAgIC51aS5pbnZlcnRlZC50YWJsZSB0cjpob3ZlciB0ZC5kaXNhYmxlZDpub3QoW2NsYXNzPVwiZGlzYWJsZWRcIl0pIHtcbiAgICAgICAgICAgIGNvbG9yOiBAZGlzYWJsZWRUZXh0Q29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVEZWZpbml0aW9uKSB7XG4gICAgICAgIC8qIERlZmluaXRpb24gKi9cbiAgICAgICAgLnVpLmludmVydGVkLmRlZmluaXRpb24udGFibGUgPiB0Zm9vdEB7bm90RnVsbFdpZHRofSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC51aS5pbnZlcnRlZC5kZWZpbml0aW9uLnRhYmxlID4gdGhlYWRAe25vdEZ1bGxXaWR0aH0gPiB0ciA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBkZWZpbml0aW9uUGFnZUJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLmRlZmluaXRpb24udGFibGUgPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC51aS5pbnZlcnRlZC5kZWZpbml0aW9uLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuZGVmaW5pdGlvbi50YWJsZSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkRGVmaW5pdGlvbkNvbHVtbkJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkRGVmaW5pdGlvbkNvbHVtbkNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UYWJsZUNvbGxhcHNpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbGxhcHNpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jb2xsYXBzaW5nLnRhYmxlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UYWJsZUJhc2ljKSBvciAoQHZhcmlhdGlvblRhYmxlVmVyeUJhc2ljKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBCYXNpY1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmJhc2ljLnRhYmxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGJhc2ljVGFibGVCYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXI6IEBiYXNpY1RhYmxlQm9yZGVyO1xuICAgICAgICBib3gtc2hhZG93OiBAYmFzaWNCb3hTaGFkb3c7XG4gICAgfVxuICAgIC51aS5iYXNpYy50YWJsZSA+IHRoZWFkLFxuICAgIC51aS5iYXNpYy50YWJsZSA+IHRmb290IHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gICAgLnVpLmJhc2ljLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuICAgIC51aS5iYXNpYy50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbiAgICAudWkuYmFzaWMudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsXG4gICAgLnVpLmJhc2ljLnRhYmxlID4gdHIgPiB0aCB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBiYXNpY1RhYmxlSGVhZGVyQmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IEBiYXNpY1RhYmxlSGVhZGVyRGl2aWRlcjtcbiAgICB9XG4gICAgLnVpLmJhc2ljLnRhYmxlID4gdGJvZHkgPiB0ciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IEBiYXNpY1RhYmxlQ2VsbEJvcmRlcjtcbiAgICB9XG4gICAgLnVpLmJhc2ljLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuICAgIC51aS5iYXNpYy50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCxcbiAgICAudWkuYmFzaWMudGFibGUgPiB0ciA+IHRkIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGJhc2ljVGFibGVDZWxsQmFja2dyb3VuZDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTdHJpcGVkKSB7XG4gICAgICAgIC51aS5iYXNpYy5zdHJpcGVkLnRhYmxlID4gdGJvZHkgPiB0cjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiYXNpY1RhYmxlU3RyaXBlZEJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVWZXJ5QmFzaWMpIHtcbiAgICAgICAgLyogVmVyeSBCYXNpYyAqL1xuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZSB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGVAe25vdFNvcnRhYmxlfUB7bm90U3RyaXBlZH0gPiB0ciA+IHRoLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZUB7bm90U29ydGFibGV9QHtub3RTdHJpcGVkfSA+IHRoZWFkID4gdHIgPiB0aCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGVAe25vdFNvcnRhYmxlfUB7bm90U3RyaXBlZH0gPiB0Ym9keSA+IHRyID4gdGgsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlQHtub3RTb3J0YWJsZX1Ae25vdFN0cmlwZWR9ID4gdGZvb3QgPiB0ciA+IHRoLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZUB7bm90U29ydGFibGV9QHtub3RTdHJpcGVkfSA+IHRyID4gdGQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlQHtub3RTb3J0YWJsZX1Ae25vdFN0cmlwZWR9ID4gdGJvZHkgPiB0ciA+IHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IEBiYXNpY1RhYmxlQ2VsbFBhZGRpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGVAe25vdFNvcnRhYmxlfUB7bm90U3RyaXBlZH0gPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZUB7bm90U29ydGFibGV9QHtub3RTdHJpcGVkfSA+IHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGVAe25vdFNvcnRhYmxlfUB7bm90U3RyaXBlZH0gPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlQHtub3RTb3J0YWJsZX1Ae25vdFN0cmlwZWR9ID4gdGZvb3QgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZUB7bm90U29ydGFibGV9QHtub3RTdHJpcGVkfSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlQHtub3RTb3J0YWJsZX1Ae25vdFN0cmlwZWR9ID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZUB7bm90U29ydGFibGV9QHtub3RTdHJpcGVkfSA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGVAe25vdFNvcnRhYmxlfUB7bm90U3RyaXBlZH0gPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlQHtub3RTb3J0YWJsZX1Ae25vdFN0cmlwZWR9ID4gdGhlYWQgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlQHtub3RTb3J0YWJsZX1Ae25vdFN0cmlwZWR9ID4gdGJvZHkgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlQHtub3RTb3J0YWJsZX1Ae25vdFN0cmlwZWR9ID4gdGZvb3QgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlQHtub3RTb3J0YWJsZX1Ae25vdFN0cmlwZWR9ID4gdHIgPiB0ZDpsYXN0LWNoaWxkLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZUB7bm90U29ydGFibGV9QHtub3RTdHJpcGVkfSA+IHRib2R5ID4gdHIgPiB0ZDpsYXN0LWNoaWxkLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZUB7bm90U29ydGFibGV9QHtub3RTdHJpcGVkfSA+IHRmb290ID4gdHIgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGVAe25vdFNvcnRhYmxlfUB7bm90U3RyaXBlZH0gPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYmxlQ2VsbGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIENlbGxlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNlbGxlZC50YWJsZSA+IHRyID4gdGgsXG4gICAgLnVpLmNlbGxlZC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbiAgICAudWkuY2VsbGVkLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuICAgIC51aS5jZWxsZWQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsXG4gICAgLnVpLmNlbGxlZC50YWJsZSA+IHRyID4gdGQsXG4gICAgLnVpLmNlbGxlZC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCxcbiAgICAudWkuY2VsbGVkLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IEBjZWxsQm9yZGVyO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5jZWxsZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4gICAgICAgIC51aS5pbnZlcnRlZC5jZWxsZWQudGFibGUgPiB0ciA+IHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBAaW52ZXJ0ZWRDZWxsQm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5jZWxsZWQudGFibGUgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAgIC51aS5jZWxsZWQudGFibGUgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgLnVpLmNlbGxlZC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbiAgICAudWkuY2VsbGVkLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAgIC51aS5jZWxsZWQudGFibGUgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuICAgIC51aS5jZWxsZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4gICAgLnVpLmNlbGxlZC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVGFibGVQYWRkZWQpIG9yIChAdmFyaWF0aW9uVGFibGVWZXJ5UGFkZGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFBhZGRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnBhZGRlZC50YWJsZSA+IHRyID4gdGgsXG4gICAgLnVpLnBhZGRlZC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbiAgICAudWkucGFkZGVkLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuICAgIC51aS5wYWRkZWQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEBwYWRkZWRIb3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogQHBhZGRlZEhvcml6b250YWxQYWRkaW5nO1xuICAgIH1cbiAgICAudWkucGFkZGVkLnRhYmxlID4gdHIgPiB0aCxcbiAgICAudWkucGFkZGVkLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuICAgIC51aS5wYWRkZWQudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4gICAgLnVpLnBhZGRlZC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbiAgICAudWkucGFkZGVkLnRhYmxlID4gdHIgPiB0ZCxcbiAgICAudWkucGFkZGVkLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuICAgIC51aS5wYWRkZWQudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgICAgICBwYWRkaW5nOiBAcGFkZGVkVmVydGljYWxQYWRkaW5nIEBwYWRkZWRIb3Jpem9udGFsUGFkZGluZztcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVZlcnlQYWRkZWQpIHtcbiAgICAgICAgLyogVmVyeSAqL1xuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udGFibGUgPiB0ciA+IHRoLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHBhZGRlZFwiXS50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQHZlcnlQYWRkZWRIb3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IEB2ZXJ5UGFkZGVkSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnRhYmxlID4gdHIgPiB0ZCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgICAgICAgICAgcGFkZGluZzogQHZlcnlQYWRkZWRWZXJ0aWNhbFBhZGRpbmcgQHZlcnlQYWRkZWRIb3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVGFibGVDb21wYWN0KSBvciAoQHZhcmlhdGlvblRhYmxlVmVyeUNvbXBhY3QpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQ29tcGFjdFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNvbXBhY3QudGFibGUgPiB0ciA+IHRoLFxuICAgIC51aS5jb21wYWN0LnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuICAgIC51aS5jb21wYWN0LnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLFxuICAgIC51aS5jb21wYWN0LnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBAY29tcGFjdEhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAY29tcGFjdEhvcml6b250YWxQYWRkaW5nO1xuICAgIH1cbiAgICAudWkuY29tcGFjdC50YWJsZSA+IHRyID4gdGQsXG4gICAgLnVpLmNvbXBhY3QudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4gICAgLnVpLmNvbXBhY3QudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgICAgICBwYWRkaW5nOiBAY29tcGFjdFZlcnRpY2FsUGFkZGluZyBAY29tcGFjdEhvcml6b250YWxQYWRkaW5nO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlVmVyeUNvbXBhY3QpIHtcbiAgICAgICAgLyogVmVyeSAqL1xuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnRhYmxlID4gdHIgPiB0aCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS50YWJsZSA+IHRmb290ID4gdHIgPiB0aCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEB2ZXJ5Q29tcGFjdEhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQHZlcnlDb21wYWN0SG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS50YWJsZSA+IHRyID4gdGQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0udGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0udGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgICAgICAgICAgcGFkZGluZzogQHZlcnlDb21wYWN0VmVydGljYWxQYWRkaW5nIEB2ZXJ5Q29tcGFjdEhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UYWJsZVN0dWNrKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFN0dWNrXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuc3R1Y2sudGFibGVAe25vdEludmVydGVkfSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzdHVja0JhY2tncm91bmQ7XG4gICAgICAgICYgPiB0aGVhZCA+IHRyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBzdHVja0hlYWRlckJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgJiA+IHRib2R5ID4gdHIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHN0dWNrQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgICAmID4gdGZvb3QgPiB0ciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAc3R1Y2tGb290ZXJCYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICAgICYuYmFzaWMgd2hlbiAoQHZhcmlhdGlvblRhYmxlQmFzaWMpIHtcbiAgICAgICAgICAgICYgPiB0aGVhZCA+IHRyLFxuICAgICAgICAgICAgPiB0Zm9vdCA+IHRyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAc3R1Y2tCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5zdHVjay50YWJsZSB3aGVuIChAdmFyaWF0aW9uVGFibGVJbnZlcnRlZCkge1xuICAgICAgICAmID4gdGhlYWQgPiB0ciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRTdHVja0hlYWRlckJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgJiA+IHRib2R5ID4gdHIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkU3R1Y2tCYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICAgICYgPiB0Zm9vdCA+IHRyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFN0dWNrRm9vdGVyQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgICAmLmJhc2ljIHdoZW4gKEB2YXJpYXRpb25UYWJsZUJhc2ljKSB7XG4gICAgICAgICAgICAmID4gdGhlYWQgPiB0cixcbiAgICAgICAgICAgID4gdGZvb3QgPiB0ciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkU3R1Y2tCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU3R1Y2tIZWFkKSBvciAoQHZhcmlhdGlvblRhYmxlU3R1Y2tGb290KSB7XG4gICAgICAgIC51aS5oZWFkLnN0dWNrLnRhYmxlID4gdGhlYWQsXG4gICAgICAgIC51aS5mb290LnN0dWNrLnRhYmxlID4gdGZvb3Qge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIHotaW5kZXg6IEBzdHVja1pJbmRleDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkuaGVhZC5zdHVjay50YWJsZSB3aGVuIChAdmFyaWF0aW9uVGFibGVTdHVja0hlYWQpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgJiA+IHRoZWFkIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgICYgPiB0cjpmaXJzdC1jaGlsZCA+IHRoIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBAY2VsbEJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmludmVydGVkID4gdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBAaW52ZXJ0ZWRDZWxsQm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5mb290LnN0dWNrLnRhYmxlIHdoZW4gKEB2YXJpYXRpb25UYWJsZVN0dWNrRm9vdCkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAmID4gdGZvb3Qge1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgJiA+IHRyOmxhc3QtY2hpbGQgPiB0ZCxcbiAgICAgICAgICAgID4gdHI6bGFzdC1jaGlsZCA+IHRoIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBAY2VsbEJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgICAgICAmLmludmVydGVkID4gdGZvb3QgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLFxuICAgICAgICAgICAgJi5pbnZlcnRlZCA+IHRmb290ID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogQGludmVydGVkQ2VsbEJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS5maXJzdC5zdHVjay50YWJsZSB3aGVuIChAdmFyaWF0aW9uVGFibGVTdHVja0ZpcnN0KSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAmIHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBAY2VsbEJvcmRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVJbnZlcnRlZCkge1xuICAgICAgICAgICAgJi5pbnZlcnRlZCB0aDpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAgICYuaW52ZXJ0ZWQgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBAaW52ZXJ0ZWRDZWxsQm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLmxhc3Quc3R1Y2sudGFibGUgd2hlbiAoQHZhcmlhdGlvblRhYmxlU3R1Y2tMYXN0KSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgJiB0aDpsYXN0LWNoaWxkLFxuICAgICAgICB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogQGNlbGxCb3JkZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgICYuaW52ZXJ0ZWQgdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgICAgICYuaW52ZXJ0ZWQgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBAaW52ZXJ0ZWRDZWxsQm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlQ2VsbGVkKSB7XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRhYmxlU3R1Y2tGaXJzdCkge1xuICAgICAgICAgICAgLnVpLmNlbGxlZC5maXJzdC5zdHVjay50YWJsZSB0aDpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAgIC51aS5jZWxsZWQuZmlyc3Quc3R1Y2sudGFibGUgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogQGNlbGxCb3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTdHVja0xhc3QpIHtcbiAgICAgICAgICAgIC51aS5jZWxsZWQubGFzdC5zdHVjay50YWJsZSB0aDpsYXN0LWNoaWxkLFxuICAgICAgICAgICAgLnVpLmNlbGxlZC5sYXN0LnN0dWNrLnRhYmxlIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBAY2VsbEJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZUludmVydGVkKSB7XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVN0dWNrRmlyc3QpIHtcbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuY2VsbGVkLmZpcnN0LnN0dWNrLnRhYmxlIHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5jZWxsZWQuZmlyc3Quc3R1Y2sudGFibGUgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IEBpbnZlcnRlZENlbGxCb3JkZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVGFibGVTdHVja0xhc3QpIHtcbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuY2VsbGVkLmxhc3Quc3R1Y2sudGFibGUgdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuY2VsbGVkLmxhc3Quc3R1Y2sudGFibGUgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBAaW52ZXJ0ZWRDZWxsQm9yZGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogU3RhbmRhcmQgKi9cbi51aS50YWJsZSB7XG4gICAgZm9udC1zaXplOiBAbWVkaXVtO1xufVxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvblRhYmxlU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvblRhYmxlU2l6ZXMsIHtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS50YWJsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBWYXJpYXRpb25zICovXG4udWkudGFibGUgLmZpeGVkIHtcbiAgICBtaW4td2lkdGg6IDEyZW07XG59IiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gQWRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogQ29weXJpZ2h0IDIwMTMgQ29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwidmlld1wiO1xuQGVsZW1lbnQ6IFwiYWRcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBBZHZlcnRpc2VtZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuYWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBAb3ZlcmZsb3c7XG4gICAgbWFyZ2luOiBAbWFyZ2luO1xufVxuXG4udWkuYWQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnVpLmFkOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnVpLmFkIGlmcmFtZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbW1vblxuLS0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gKEB2YXJpYXRpb25BZExlYWRlcmJvYXJkKSB7XG4gICAgLyogTGVhZGVyYm9hcmQgKi9cbiAgICAudWkubGVhZGVyYm9hcmQuYWQge1xuICAgICAgICB3aWR0aDogNzI4cHg7XG4gICAgICAgIGhlaWdodDogOTBweDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkFkUmVjdGFuZ2xlKSB7XG4gICAgLyogTWVkaXVtIFJlY3RhbmdsZSAqL1xuICAgIC51aVtjbGFzcyo9XCJtZWRpdW0gcmVjdGFuZ2xlXCJdLmFkIHtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgIH1cblxuICAgIC8qIExhcmdlIFJlY3RhbmdsZSAqL1xuICAgIC51aVtjbGFzcyo9XCJsYXJnZSByZWN0YW5nbGVcIl0uYWQge1xuICAgICAgICB3aWR0aDogMzM2cHg7XG4gICAgICAgIGhlaWdodDogMjgwcHg7XG4gICAgfVxuXG4gICAgLyogSGFsZiBQYWdlICovXG4gICAgLnVpW2NsYXNzKj1cImhhbGYgcGFnZVwiXS5hZCB7XG4gICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgaGVpZ2h0OiA2MDBweDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkFkU3F1YXJlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFNxdWFyZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogU3F1YXJlICovXG4gICAgLnVpLnNxdWFyZS5hZCB7XG4gICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICB9XG5cbiAgICAvKiBTbWFsbCBTcXVhcmUgKi9cbiAgICAudWlbY2xhc3MqPVwic21hbGwgc3F1YXJlXCJdLmFkIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQWRSZWN0YW5nbGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBSZWN0YW5nbGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIFNtYWxsIFJlY3RhbmdsZSAqL1xuICAgIC51aVtjbGFzcyo9XCJzbWFsbCByZWN0YW5nbGVcIl0uYWQge1xuICAgICAgICB3aWR0aDogMTgwcHg7XG4gICAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgfVxuXG4gICAgLyogVmVydGljYWwgUmVjdGFuZ2xlICovXG4gICAgLnVpW2NsYXNzKj1cInZlcnRpY2FsIHJlY3RhbmdsZVwiXS5hZCB7XG4gICAgICAgIHdpZHRoOiAyNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkFkQnV0dG9uKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEJ1dHRvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmJ1dHRvbi5hZCB7XG4gICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25BZFNxdWFyZSkge1xuICAgICAgICAudWlbY2xhc3MqPVwic3F1YXJlIGJ1dHRvblwiXS5hZCB7XG4gICAgICAgICAgICB3aWR0aDogMTI1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEyNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJzbWFsbCBidXR0b25cIl0uYWQge1xuICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkFkU2t5c2NyYXBlcikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgU2t5c2NyYXBlcnNcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIFNreXNjcmFwZXIgKi9cbiAgICAudWkuc2t5c2NyYXBlci5hZCB7XG4gICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MDBweDtcbiAgICB9XG5cbiAgICAvKiBXaWRlIFNreXNjcmFwZXIgKi9cbiAgICAudWlbY2xhc3MqPVwid2lkZSBza3lzY3JhcGVyXCJdLmFkIHtcbiAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQWRCYW5uZXIpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQmFubmVyc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogQmFubmVyICovXG4gICAgLnVpLmJhbm5lci5hZCB7XG4gICAgICAgIHdpZHRoOiA0NjhweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgIH1cblxuICAgIC8qIFZlcnRpY2FsIEJhbm5lciAqL1xuICAgIC51aVtjbGFzcyo9XCJ2ZXJ0aWNhbCBiYW5uZXJcIl0uYWQge1xuICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgfVxuXG4gICAgLyogVG9wIEJhbm5lciAqL1xuICAgIC51aVtjbGFzcyo9XCJ0b3AgYmFubmVyXCJdLmFkIHtcbiAgICAgICAgd2lkdGg6IDkzMHB4O1xuICAgICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgIH1cblxuICAgIC8qIEhhbGYgQmFubmVyICovXG4gICAgLnVpW2NsYXNzKj1cImhhbGYgYmFubmVyXCJdLmFkIHtcbiAgICAgICAgd2lkdGg6IDIzNHB4O1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIEJvYXJkc1xuLS0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gKEB2YXJpYXRpb25BZExlYWRlcmJvYXJkKSB7XG4gICAgLyogTGVhZGVyYm9hcmQgKi9cbiAgICAudWlbY2xhc3MqPVwibGFyZ2UgbGVhZGVyYm9hcmRcIl0uYWQge1xuICAgICAgICB3aWR0aDogOTcwcHg7XG4gICAgICAgIGhlaWdodDogOTBweDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkFkQmlsbGJvYXJkKSB7XG4gICAgLyogQmlsbGJvYXJkICovXG4gICAgLnVpLmJpbGxib2FyZC5hZCB7XG4gICAgICAgIHdpZHRoOiA5NzBweDtcbiAgICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkFkUGFub3JhbWEpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYW5vcmFtYVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogUGFub3JhbWEgKi9cbiAgICAudWkucGFub3JhbWEuYWQge1xuICAgICAgICB3aWR0aDogOTgwcHg7XG4gICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25BZE5ldGJvYXJkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIE5ldGJvYXJkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBOZXRib2FyZCAqL1xuICAgIC51aS5uZXRib2FyZC5hZCB7XG4gICAgICAgIHdpZHRoOiA1ODBweDtcbiAgICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkFkTW9iaWxlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIE1vYmlsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuICAgICYgd2hlbiAoQHZhcmlhdGlvbkFkQmFubmVyKSB7XG4gICAgICAgIC8qIExhcmdlIE1vYmlsZSBCYW5uZXIgKi9cbiAgICAgICAgLnVpW2NsYXNzKj1cImxhcmdlIG1vYmlsZSBiYW5uZXJcIl0uYWQge1xuICAgICAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25BZExlYWRlcmJvYXJkKSB7XG4gICAgICAgIC8qIE1vYmlsZSBMZWFkZXJib2FyZCAqL1xuICAgICAgICAudWlbY2xhc3MqPVwibW9iaWxlIGxlYWRlcmJvYXJkXCJdLmFkIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgICAgIFR5cGVzXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIC8qIE1vYmlsZSBTaXplcyAqL1xuICAgIC51aS5tb2JpbGUuYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgLnVpLm1vYmlsZS5hZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uQWRDZW50ZXJlZCkge1xuICAgIC51aS5jZW50ZXJlZC5hZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uQWRUZXN0KSB7XG4gICAgLnVpLnRlc3QuYWQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0ZXN0QmFja2dyb3VuZDtcbiAgICB9XG4gICAgLnVpLnRlc3QuYWQ6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgY29udGVudDogQHRlc3RUZXh0O1xuICAgICAgICBjb2xvcjogQHRlc3RDb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiBAdGVzdEZvbnRTaXplO1xuICAgICAgICBmb250LXdlaWdodDogQHRlc3RGb250V2VpZ2h0O1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25BZE1vYmlsZSkge1xuICAgICAgICAudWkubW9iaWxlLnRlc3QuYWQ6OmFmdGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHRlc3RNb2JpbGVGb250U2l6ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkudGVzdC5hZFtkYXRhLXRleHRdOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10ZXh0KTtcbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gQ2FyZFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwidmlld1wiO1xuQGVsZW1lbnQ6IFwiY2FyZFwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdFJhaXNlZDogaWYoQHZhcmlhdGlvbkNhcmRSYWlzZWQsIGUoXCI6bm90KC5yYWlzZWQpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgQ2FyZFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogQGRpc3BsYXk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogQHdpZHRoO1xuICAgIG1pbi1oZWlnaHQ6IEBtaW5IZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gICAgcGFkZGluZzogQHBhZGRpbmc7XG4gICAgYm9yZGVyOiBAYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgYm94LXNoYWRvdzogQGJveFNoYWRvdztcbiAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICB6LWluZGV4OiBAekluZGV4O1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbi51aS5jYXJkIHtcbiAgICBtYXJnaW46IEBtYXJnaW47XG59XG5cbi51aS5jYXJkcyA+IC5jYXJkIGEsXG4udWkuY2FyZCBhIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi51aS5jYXJkOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLmNhcmQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIENhcmRzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmNhcmRzIHtcbiAgICBkaXNwbGF5OiBAZ3JvdXBEaXNwbGF5O1xuICAgIG1hcmdpbjogQGdyb3VwTWFyZ2luO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQge1xuICAgIGRpc3BsYXk6IEBncm91cENhcmREaXNwbGF5O1xuICAgIG1hcmdpbjogQGdyb3VwQ2FyZE1hcmdpbjtcbiAgICBmbG9hdDogQGdyb3VwQ2FyZEZsb2F0O1xufVxuXG4vKiBDbGVhcmluZyAqL1xuLnVpLmNhcmRzOjphZnRlcixcbi51aS5jYXJkOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBDb25zZWN1dGl2ZSBDYXJkIEdyb3VwcyBQcmVzZXJ2ZSBSb3cgU3BhY2luZyAqL1xuLnVpLmNhcmRzIH4gLnVpLmNhcmRzIHtcbiAgICBtYXJnaW4tdG9wOiBAY29uc2VjdXRpdmVHcm91cERpc3RhbmNlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBSb3VuZGVkIEVkZ2VzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmNhcmRzID4gLmNhcmQgPiA6Zmlyc3QtY2hpbGQsXG4udWkuY2FyZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDAgMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQgPiA6bGFzdC1jaGlsZCxcbi51aS5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQgPiA6b25seS1jaGlsZCxcbi51aS5jYXJkID4gOm9ubHktY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgIWltcG9ydGFudDtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ2FyZEltYWdlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEltYWdlc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNhcmRzID4gLmNhcmQgPiAuaW1hZ2UsXG4gICAgLnVpLmNhcmQgPiAuaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogQGltYWdlUGFkZGluZztcbiAgICAgICAgYmFja2dyb3VuZDogQGltYWdlQmFja2dyb3VuZDtcbiAgICB9XG4gICAgLnVpLmNhcmRzID4gLmNhcmQgPiAuaW1hZ2UgPiBpbWcsXG4gICAgLnVpLmNhcmQgPiAuaW1hZ2UgPiBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICB9XG4gICAgLnVpLmNhcmRzID4gLmNhcmQgPiAuaW1hZ2U6bm90KC51aSkgPiBpbWcsXG4gICAgLnVpLmNhcmQgPiAuaW1hZ2U6bm90KC51aSkgPiBpbWcge1xuICAgICAgICBib3JkZXI6IEBpbWFnZUJvcmRlcjtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50LFxuLnVpLmNhcmQgPiAuY29udGVudCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGJvcmRlcjogQGNvbnRlbnRCb3JkZXI7XG4gICAgYm9yZGVyLXRvcDogQGNvbnRlbnREaXZpZGVyO1xuICAgIGJhY2tncm91bmQ6IEBjb250ZW50QmFja2dyb3VuZDtcbiAgICBtYXJnaW46IEBjb250ZW50TWFyZ2luO1xuICAgIHBhZGRpbmc6IEBjb250ZW50UGFkZGluZztcbiAgICBib3gtc2hhZG93OiBAY29udGVudEJveFNoYWRvdztcbiAgICBmb250LXNpemU6IEBjb250ZW50Rm9udFNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogQGNvbnRlbnRCb3JkZXJSYWRpdXM7XG59XG5cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQ6OmFmdGVyLFxuLnVpLmNhcmQgPiAuY29udGVudDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGhlaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ2FyZEhlYWRlcikge1xuICAgIC51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiAuaGVhZGVyLFxuICAgIC51aS5jYXJkID4gLmNvbnRlbnQgPiAuaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogQGhlYWRlck1hcmdpbjtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBoZWFkZXJGb250O1xuICAgICAgICBjb2xvcjogQGhlYWRlckNvbG9yO1xuICAgIH1cblxuICAgIC8qIERlZmF1bHQgSGVhZGVyIFNpemUgKi9cbiAgICAudWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gLmhlYWRlcjpub3QoLnVpKSxcbiAgICAudWkuY2FyZCA+IC5jb250ZW50ID4gLmhlYWRlcjpub3QoLnVpKSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAaGVhZGVyRm9udFdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiBAaGVhZGVyRm9udFNpemU7XG4gICAgICAgIG1hcmdpbi10b3A6IEBoZWFkZXJMaW5lSGVpZ2h0T2Zmc2V0O1xuICAgICAgICBsaW5lLWhlaWdodDogQGhlYWRlckxpbmVIZWlnaHQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkRGVzY3JpcHRpb24pIHtcbiAgICAudWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gLm1ldGEgKyAuZGVzY3JpcHRpb24sXG4gICAgLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IC5oZWFkZXIgKyAuZGVzY3JpcHRpb24sXG4gICAgLnVpLmNhcmQgPiAuY29udGVudCA+IC5tZXRhICsgLmRlc2NyaXB0aW9uLFxuICAgIC51aS5jYXJkID4gLmNvbnRlbnQgPiAuaGVhZGVyICsgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogQGRlc2NyaXB0aW9uRGlzdGFuY2U7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkRmxvYXRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS1cbiAgICAgRmxvYXRlZCBDb250ZW50XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jYXJkcyA+IC5jYXJkIFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0sXG4gICAgLnVpLmNhcmQgW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICAudWkuY2FyZHMgPiAuY2FyZCBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSxcbiAgICAudWkuY2FyZCBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmRBbGlnbmVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEFsaWduZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jYXJkcyA+IC5jYXJkIFtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0sXG4gICAgLnVpLmNhcmQgW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIC51aS5jYXJkcyA+IC5jYXJkIFtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXSxcbiAgICAudWkuY2FyZCBbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC51aS5jYXJkcyA+IC5jYXJkIFtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLFxuICAgIC51aS5jYXJkIFtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkSW1hZ2UpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgQ29udGVudCBJbWFnZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNhcmRzID4gLmNhcmQgLmNvbnRlbnQgaW1nLFxuICAgIC51aS5jYXJkIC5jb250ZW50IGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IEBjb250ZW50SW1hZ2VWZXJ0aWNhbEFsaWduO1xuICAgICAgICB3aWR0aDogQGNvbnRlbnRJbWFnZVdpZHRoO1xuICAgIH1cbiAgICAudWkuY2FyZHMgPiAuY2FyZCBpbWcuYXZhdGFyLFxuICAgIC51aS5jYXJkcyA+IC5jYXJkIC5hdmF0YXIgaW1nLFxuICAgIC51aS5jYXJkIGltZy5hdmF0YXIsXG4gICAgLnVpLmNhcmQgLmF2YXRhciBpbWcge1xuICAgICAgICB3aWR0aDogQGF2YXRhclNpemU7XG4gICAgICAgIGhlaWdodDogQGF2YXRhclNpemU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBhdmF0YXJCb3JkZXJSYWRpdXM7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkRGVzY3JpcHRpb24pIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIERlc2NyaXB0aW9uXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gLmRlc2NyaXB0aW9uLFxuICAgIC51aS5jYXJkID4gLmNvbnRlbnQgPiAuZGVzY3JpcHRpb24ge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgY29sb3I6IEBkZXNjcmlwdGlvbkNvbG9yO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IHAsXG4udWkuY2FyZCA+IC5jb250ZW50IHAge1xuICAgIG1hcmdpbjogMCAwIEBwYXJhZ3JhcGhEaXN0YW5jZTtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgcDpsYXN0LWNoaWxkLFxuLnVpLmNhcmQgPiAuY29udGVudCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkTWV0YSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgTWV0YVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNhcmRzID4gLmNhcmQgLm1ldGEsXG4gICAgLnVpLmNhcmQgLm1ldGEge1xuICAgICAgICBmb250LXNpemU6IEBtZXRhRm9udFNpemU7XG4gICAgICAgIGNvbG9yOiBAbWV0YUNvbG9yO1xuICAgIH1cbiAgICAudWkuY2FyZHMgPiAuY2FyZCAubWV0YSAqLFxuICAgIC51aS5jYXJkIC5tZXRhICoge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBtZXRhU3BhY2luZztcbiAgICB9XG4gICAgLnVpLmNhcmRzID4gLmNhcmQgLm1ldGEgOmxhc3QtY2hpbGQsXG4gICAgLnVpLmNhcmQgLm1ldGEgOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQ2FyZEZsb2F0ZWQpIHtcbiAgICAgICAgLnVpLmNhcmRzID4gLmNhcmQgLm1ldGEgW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0sXG4gICAgICAgIC51aS5jYXJkIC5tZXRhIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAbWV0YVNwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIEdlbmVyaWMgKi9cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgYTpub3QoLnVpKSxcbi51aS5jYXJkID4gLmNvbnRlbnQgYTpub3QoLnVpKSB7XG4gICAgY29sb3I6IEBjb250ZW50TGlua0NvbG9yO1xuICAgIHRyYW5zaXRpb246IEBjb250ZW50TGlua1RyYW5zaXRpb247XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IGE6bm90KC51aSk6aG92ZXIsXG4udWkuY2FyZCA+IC5jb250ZW50IGE6bm90KC51aSk6aG92ZXIge1xuICAgIGNvbG9yOiBAY29udGVudExpbmtIb3ZlckNvbG9yO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkSGVhZGVyKSB7XG4gICAgLyogSGVhZGVyICovXG4gICAgLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IGEuaGVhZGVyLFxuICAgIC51aS5jYXJkID4gLmNvbnRlbnQgPiBhLmhlYWRlciB7XG4gICAgICAgIGNvbG9yOiBAaGVhZGVyTGlua0NvbG9yO1xuICAgIH1cbiAgICAudWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gYS5oZWFkZXI6aG92ZXIsXG4gICAgLnVpLmNhcmQgPiAuY29udGVudCA+IGEuaGVhZGVyOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBoZWFkZXJMaW5rSG92ZXJDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmRNZXRhKSB7XG4gICAgLyogTWV0YSAqL1xuICAgIC51aS5jYXJkcyA+IC5jYXJkIC5tZXRhID4gYTpub3QoLnVpKSxcbiAgICAudWkuY2FyZCAubWV0YSA+IGE6bm90KC51aSkge1xuICAgICAgICBjb2xvcjogQG1ldGFMaW5rQ29sb3I7XG4gICAgfVxuICAgIC51aS5jYXJkcyA+IC5jYXJkIC5tZXRhID4gYTpub3QoLnVpKTpob3ZlcixcbiAgICAudWkuY2FyZCAubWV0YSA+IGE6bm90KC51aSk6aG92ZXIge1xuICAgICAgICBjb2xvcjogQG1ldGFMaW5rSG92ZXJDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmRCdXR0b24pIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQnV0dG9uc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNhcmRzID4gLmNhcmQgPiAuYnV0dG9ucyxcbiAgICAudWkuY2FyZCA+IC5idXR0b25zLFxuICAgIC51aS5jYXJkcyA+IC5jYXJkID4gLmJ1dHRvbixcbiAgICAudWkuY2FyZCA+IC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IEBidXR0b25NYXJnaW47XG4gICAgICAgIHdpZHRoOiBAYnV0dG9uV2lkdGg7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtQGJvcmRlcldpZHRoO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkQmFzaWMpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIEJhc2ljXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLnVpLmNhcmRzQHtub3RSYWlzZWR9ID4gLmJhc2ljLmNhcmRAe25vdFJhaXNlZH0sXG4gICAgLnVpLnVpLnVpLmJhc2ljLmNhcmRzQHtub3RSYWlzZWR9ID4gLmNhcmRAe25vdFJhaXNlZH0sXG4gICAgLnVpLnVpLnVpLmJhc2ljLmNhcmRAe25vdFJhaXNlZH0ge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAmID4gLmJ1dHRvbnMsXG4gICAgICAgID4gLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25DYXJkTGluaykge1xuICAgICAgICAudWkudWkudWkudWkudWkuYmFzaWMuY2FyZEB7bm90UmFpc2VkfTpob3ZlcixcbiAgICAgICAgLnVpLnVpLnVpLnVpLnVpLmJhc2ljLmNhcmRzQHtub3RSYWlzZWR9IC5jYXJkQHtub3RSYWlzZWR9OmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBEaW1tZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuY2FyZHMgPiAuY2FyZCAuZGltbWVyLFxuLnVpLmNhcmQgLmRpbW1lciB7XG4gICAgYmFja2dyb3VuZDogQGRpbW1lckNvbG9yO1xuICAgIHotaW5kZXg6IEBkaW1tZXJaSW5kZXg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIExhYmVsc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmRTdGFyKSB7XG4gICAgLyogLS0tLS1TdGFyLS0tLS0gKi9cblxuICAgIC8qIEljb24gKi9cbiAgICAudWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IC5zdGFyLmljb24sXG4gICAgLnVpLmNhcmQgPiAuY29udGVudCAuc3Rhci5pY29uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvcGFjaXR5OiBAYWN0aW9uT3BhY2l0eTtcbiAgICAgICAgdHJhbnNpdGlvbjogQGFjdGlvblRyYW5zaXRpb247XG4gICAgfVxuICAgIC51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgLnN0YXIuaWNvbjpob3ZlcixcbiAgICAudWkuY2FyZCA+IC5jb250ZW50IC5zdGFyLmljb246aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiBAYWN0aW9uSG92ZXJPcGFjaXR5O1xuICAgICAgICBjb2xvcjogQHN0YXJDb2xvcjtcbiAgICB9XG4gICAgLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCAuYWN0aXZlLnN0YXIuaWNvbixcbiAgICAudWkuY2FyZCA+IC5jb250ZW50IC5hY3RpdmUuc3Rhci5pY29uIHtcbiAgICAgICAgY29sb3I6IEBzdGFyQWN0aXZlQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkTGlrZSkge1xuICAgIC8qIC0tLS0tTGlrZS0tLS0tICovXG5cbiAgICAvKiBJY29uICovXG4gICAgLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCAubGlrZS5pY29uLFxuICAgIC51aS5jYXJkID4gLmNvbnRlbnQgLmxpa2UuaWNvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3BhY2l0eTogQGFjdGlvbk9wYWNpdHk7XG4gICAgICAgIHRyYW5zaXRpb246IEBhY3Rpb25UcmFuc2l0aW9uO1xuICAgIH1cbiAgICAudWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IC5saWtlLmljb246aG92ZXIsXG4gICAgLnVpLmNhcmQgPiAuY29udGVudCAubGlrZS5pY29uOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogQGFjdGlvbkhvdmVyT3BhY2l0eTtcbiAgICAgICAgY29sb3I6IEBsaWtlQ29sb3I7XG4gICAgfVxuICAgIC51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgLmFjdGl2ZS5saWtlLmljb24sXG4gICAgLnVpLmNhcmQgPiAuY29udGVudCAuYWN0aXZlLmxpa2UuaWNvbiB7XG4gICAgICAgIGNvbG9yOiBAbGlrZUFjdGl2ZUNvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ2FyZEV4dHJhKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRXh0cmEgQ29udGVudFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2FyZHMgPiAuY2FyZCA+IC5leHRyYSxcbiAgICAudWkuY2FyZCA+IC5leHRyYSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IEBleHRyYURpdmlkZXIgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IEBleHRyYVBvc2l0aW9uO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAZXh0cmFCYWNrZ3JvdW5kO1xuICAgICAgICB3aWR0aDogQGV4dHJhV2lkdGg7XG4gICAgICAgIG1hcmdpbjogQGV4dHJhTWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiBAZXh0cmFQYWRkaW5nO1xuICAgICAgICB0b3A6IEBleHRyYVRvcDtcbiAgICAgICAgbGVmdDogQGV4dHJhTGVmdDtcbiAgICAgICAgY29sb3I6IEBleHRyYUNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBAZXh0cmFCb3hTaGFkb3c7XG4gICAgICAgIHRyYW5zaXRpb246IEBleHRyYVRyYW5zaXRpb247XG4gICAgfVxuICAgIC51aS5jYXJkcyA+IC5jYXJkID4gLmV4dHJhIGE6bm90KC51aSksXG4gICAgLnVpLmNhcmQgPiAuZXh0cmEgYTpub3QoLnVpKSB7XG4gICAgICAgIGNvbG9yOiBAZXh0cmFMaW5rQ29sb3I7XG4gICAgfVxuICAgIC51aS5jYXJkcyA+IC5jYXJkID4gLmV4dHJhIGE6bm90KC51aSk6aG92ZXIsXG4gICAgLnVpLmNhcmQgPiAuZXh0cmEgYTpub3QoLnVpKTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAZXh0cmFMaW5rSG92ZXJDb2xvcjtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmREaXNhYmxlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZGlzYWJsZWQuY2FyZCB7XG4gICAgICAgIG9wYWNpdHk6IEBkaXNhYmxlZE9wYWNpdHk7XG4gICAgICAgIGNvbG9yOiBAZGlzYWJsZWRUZXh0Q29sb3I7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ2FyZExvYWRpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBMb2FkaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkubG9hZGluZy5jYXJkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICAgIH1cbiAgICAudWkubG9hZGluZy5jYXJkOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogQGxvYWRlckRpbW1lckNvbG9yO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgICAgICB6LWluZGV4OiBAbG9hZGVyRGltbWVyWkluZGV4O1xuICAgIH1cbiAgICAudWkubG9hZGluZy5jYXJkOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luOiBAbG9hZGVyTWFyZ2luO1xuICAgICAgICB3aWR0aDogQGxvYWRlclNpemU7XG4gICAgICAgIGhlaWdodDogQGxvYWRlclNpemU7XG4gICAgICAgIGFuaW1hdGlvbjogbG9hZGVyIEBsb2FkZXJTcGVlZCBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgIGJvcmRlcjogQGxvYWRlckxpbmVXaWR0aCBzb2xpZCBAbG9hZGVyTGluZUNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB0cmFuc3BhcmVudDtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgei1pbmRleDogQGxvYWRlckxpbmVaSW5kZXg7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkSG9yaXpvbnRhbCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBIb3Jpem9udGFsXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5ob3Jpem9udGFsLmNhcmRzID4gLmNhcmQsXG4gICAgLnVpLmNhcmQuaG9yaXpvbnRhbCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIG1pbi13aWR0aDogQGhvcml6b250YWxNaW5XaWR0aDtcbiAgICAgICAgd2lkdGg6IEBob3Jpem9udGFsV2lkdGg7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAudWkuaG9yaXpvbnRhbC5jYXJkcyA+IC5jYXJkID4gLmltYWdlLFxuICAgIC51aS5jYXJkLmhvcml6b250YWwgPiAuaW1hZ2Uge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAZGVmYXVsdEJvcmRlclJhZGl1cyAwIDAgQGRlZmF1bHRCb3JkZXJSYWRpdXM7XG4gICAgICAgIHdpZHRoOiBAaG9yaXpvbnRhbEltYWdlV2lkdGg7XG4gICAgfVxuXG4gICAgLnVpLmhvcml6b250YWwuY2FyZHMgPiAuY2FyZCA+IC5pbWFnZSA+IGltZyxcbiAgICAudWkuY2FyZC5ob3Jpem9udGFsID4gLmltYWdlID4gaW1nIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBkZWZhdWx0Qm9yZGVyUmFkaXVzIDAgMCBAZGVmYXVsdEJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpLmhvcml6b250YWwuY2FyZHMgPiAuY2FyZCA+IC5pbWFnZTpsYXN0LWNoaWxkID4gaW1nLFxuICAgIC51aS5jYXJkLmhvcml6b250YWwgPiAuaW1hZ2U6bGFzdC1jaGlsZCA+IGltZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGRlZmF1bHRCb3JkZXJSYWRpdXMgQGRlZmF1bHRCb3JkZXJSYWRpdXMgMDtcbiAgICB9XG4gICAgLnVpLmhvcml6b250YWwuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50LFxuICAgIC51aS5ob3Jpem9udGFsLmNhcmQgPiAuY29udGVudCB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGZsZXgtYmFzaXM6IDFweDtcbiAgICB9XG4gICAgLnVpLmhvcml6b250YWwuY2FyZHMgPiAuY2FyZCA+IC5leHRyYSxcbiAgICAudWkuaG9yaXpvbnRhbC5jYXJkID4gLmV4dHJhIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmRSYWlzZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIFJhaXNlZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2FyZHMgPiAucmFpc2VkLmNhcmQsXG4gICAgLnVpLnJhaXNlZC5jYXJkcyA+IC5jYXJkLFxuICAgIC51aS5yYWlzZWQuY2FyZCB7XG4gICAgICAgIGJveC1zaGFkb3c6IEByYWlzZWRTaGFkb3c7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkNhcmRMaW5rKSB7XG4gICAgICAgIC51aS5yYWlzZWQuY2FyZHMgYS5jYXJkOmhvdmVyLFxuICAgICAgICAudWkubGluay5jYXJkcyAucmFpc2VkLmNhcmQ6aG92ZXIsXG4gICAgICAgIGEudWkucmFpc2VkLmNhcmQ6aG92ZXIsXG4gICAgICAgIC51aS5saW5rLnJhaXNlZC5jYXJkOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEByYWlzZWRTaGFkb3dIb3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25DYXJkQmFzaWMpIHtcbiAgICAgICAgLnVpLmJhc2ljLmNhcmRzID4gLnJhaXNlZC5jYXJkLFxuICAgICAgICAudWkuYmFzaWMucmFpc2VkLmNhcmRzID4gLmNhcmQsXG4gICAgICAgIC51aS5yYWlzZWQuY2FyZHMgPiAuYmFzaWMuY2FyZCxcbiAgICAgICAgLnVpLmJhc2ljLnJhaXNlZC5jYXJkIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBiYXNpY1JhaXNlZFNoYWRvdztcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25DYXJkTGluaykge1xuICAgICAgICAgICAgLnVpLmJhc2ljLnJhaXNlZC5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4gICAgICAgICAgICAudWkubGluay5jYXJkcyAuYmFzaWMucmFpc2VkLmNhcmQ6aG92ZXIsXG4gICAgICAgICAgICAudWkubGluay5iYXNpYy5jYXJkcyAucmFpc2VkLmNhcmQ6aG92ZXIsXG4gICAgICAgICAgICAudWkubGluay5iYXNpYy5yYWlzZWQuY2FyZHMgLmNhcmQ6aG92ZXIsXG4gICAgICAgICAgICBhLnVpLmJhc2ljLnJhaXNlZC5jYXJkOmhvdmVyLFxuICAgICAgICAgICAgLnVpLmxpbmsuYmFzaWMucmFpc2VkLmNhcmQ6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEBiYXNpY1JhaXNlZFNoYWRvd0hvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkQ2VudGVyZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIENlbnRlcmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jZW50ZXJlZC5jYXJkcyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAudWkuY2VudGVyZWQuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkRmx1aWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBGbHVpZFxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZmx1aWQuY2FyZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDk5OTlweDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNhcmRMaW5rKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgTGlua1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2FyZHMgYS5jYXJkLFxuICAgIC51aS5saW5rLmNhcmRzIC5jYXJkLFxuICAgIGEudWkuY2FyZCxcbiAgICAudWkubGluay5jYXJkIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC51aS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4gICAgLnVpLmxpbmsuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbiAgICBhLnVpLmNhcmQ6aG92ZXIsXG4gICAgLnVpLmxpbmsuY2FyZDpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgei1pbmRleDogQGxpbmtIb3ZlclpJbmRleDtcbiAgICAgICAgYmFja2dyb3VuZDogQGxpbmtIb3ZlckJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlcjogQGxpbmtIb3ZlckJvcmRlcjtcbiAgICAgICAgYm94LXNoYWRvdzogQGxpbmtIb3ZlckJveFNoYWRvdztcbiAgICAgICAgdHJhbnNmb3JtOiBAbGlua0hvdmVyVHJhbnNmb3JtO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25DYXJkQ29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25DYXJkQ29sb3JzLCB7XG4gICAgICAgIEBjb2xvcjogQHZhbHVlO1xuICAgICAgICBAYzogQGNvbG9yc1tAQGNvbG9yXVtjb2xvcl07XG4gICAgICAgIEBoOiBAY29sb3JzW0BAY29sb3JdW2hvdmVyXTtcbiAgICAgICAgQGw6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRdO1xuICAgICAgICBAbGg6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRIb3Zlcl07XG4gICAgICAgIEBpc1ZlcnlEYXJrOiBAY29sb3JzW0BAY29sb3JdW2lzVmVyeURhcmtdO1xuXG4gICAgICAgIC51aS5Ae2NvbG9yfS5jYXJkcyA+IC5jYXJkLFxuICAgICAgICAudWkuY2FyZHMgPiAuQHtjb2xvcn0uY2FyZCxcbiAgICAgICAgLnVpLkB7Y29sb3J9LmNhcmQge1xuICAgICAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgICAgICBAYm9yZGVyU2hhZG93LFxuICAgICAgICAgICAgICAgIDAgQGNvbG9yZWRTaGFkb3dEaXN0YW5jZSAwIDAgQGMsXG4gICAgICAgICAgICAgICAgQHNoYWRvd0JveFNoYWRvdztcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25DYXJkTGluaykge1xuICAgICAgICAgICAgLnVpLmNhcmRzIGEuQHtjb2xvcn0uY2FyZDpob3ZlcixcbiAgICAgICAgICAgIC51aS5Ae2NvbG9yfS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4gICAgICAgICAgICAudWkubGluay5Ae2NvbG9yfS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuICAgICAgICAgICAgLnVpLmxpbmsuY2FyZHMgLkB7Y29sb3J9LmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbiAgICAgICAgICAgIGEudWkuQHtjb2xvcn0uY2FyZDpob3ZlcixcbiAgICAgICAgICAgIC51aS5saW5rLkB7Y29sb3J9LmNhcmQ6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgICAgICAgICAgIEBib3JkZXJTaGFkb3csXG4gICAgICAgICAgICAgICAgICAgIDAgQGNvbG9yZWRTaGFkb3dEaXN0YW5jZSAwIDAgQGgsXG4gICAgICAgICAgICAgICAgICAgIEBzaGFkb3dIb3ZlckJveFNoYWRvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25DYXJkQmFzaWMpIHtcbiAgICAgICAgICAgIC51aS5jYXJkcyA+IC5iYXNpYy5Ae2NvbG9yfS5jYXJkLFxuICAgICAgICAgICAgLnVpLmJhc2ljLkB7Y29sb3J9LmNhcmRzID4gLmNhcmQsXG4gICAgICAgICAgICAudWkuYmFzaWMuY2FyZHMgPiAuQHtjb2xvcn0uY2FyZCxcbiAgICAgICAgICAgIC51aS5iYXNpYy5Ae2NvbG9yfS5jYXJkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAbDtcbiAgICAgICAgICAgICAgICAmIHdoZW4gKEBpc1ZlcnlEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgICYgLmhlYWRlcixcbiAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgIC5tZXRhLFxuICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNhcmRMaW5rKSB7XG4gICAgICAgICAgICAgICAgLnVpLmJhc2ljLmNhcmRzIGEuQHtjb2xvcn0uY2FyZDpob3ZlcixcbiAgICAgICAgICAgICAgICAudWkuY2FyZHMgYS5iYXNpYy5Ae2NvbG9yfS5jYXJkOmhvdmVyLFxuICAgICAgICAgICAgICAgIC51aS5iYXNpYy5Ae2NvbG9yfS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4gICAgICAgICAgICAgICAgLnVpLmxpbmsuY2FyZHMgLmJhc2ljLkB7Y29sb3J9LmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbiAgICAgICAgICAgICAgICAudWkubGluay5iYXNpYy5Ae2NvbG9yfS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuICAgICAgICAgICAgICAgIC51aS5saW5rLmJhc2ljLmNhcmRzIC5Ae2NvbG9yfS5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4gICAgICAgICAgICAgICAgYS51aS5iYXNpYy5Ae2NvbG9yfS5jYXJkOmhvdmVyLFxuICAgICAgICAgICAgICAgIC51aS5saW5rLmJhc2ljLkB7Y29sb3J9LmNhcmQ6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAbGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNhcmRJbnZlcnRlZCkge1xuICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmNhcmRzID4gLmNhcmQsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuY2FyZHMgPiAuQHtjb2xvcn0uY2FyZCxcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5jYXJkIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgICAgICAgICAgICAwIEBzaGFkb3dEaXN0YW5jZSAzcHggMCBAc29saWRXaGl0ZUJvcmRlckNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAwIEBjb2xvcmVkU2hhZG93RGlzdGFuY2UgMCAwIEBsLFxuICAgICAgICAgICAgICAgICAgICAwIDAgMCBAYm9yZGVyV2lkdGggQHNvbGlkV2hpdGVCb3JkZXJDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkNhcmRMaW5rKSB7XG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLmNhcmRzIGEuQHtjb2xvcn0uY2FyZDpob3ZlcixcbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uY2FyZHMgYS5jYXJkOmhvdmVyLFxuICAgICAgICAgICAgICAgIC51aS5saW5rLmludmVydGVkLkB7Y29sb3J9LmNhcmRzIC5jYXJkOm5vdCguaWNvbik6aG92ZXIsXG4gICAgICAgICAgICAgICAgLnVpLmxpbmsuaW52ZXJ0ZWQuY2FyZHMgLkB7Y29sb3J9LmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbiAgICAgICAgICAgICAgICBhLnVpLmludmVydGVkLkB7Y29sb3J9LmNhcmQ6aG92ZXIsXG4gICAgICAgICAgICAgICAgLnVpLmxpbmsuaW52ZXJ0ZWQuQHtjb2xvcn0uY2FyZDpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgICAgICAgICAgICAgICAwIEBzaGFkb3dEaXN0YW5jZSAzcHggMCBAc29saWRXaGl0ZUJvcmRlckNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgMCBAY29sb3JlZFNoYWRvd0Rpc3RhbmNlIDAgMCBAbGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAwIDAgMCBAYm9yZGVyV2lkdGggQHNvbGlkV2hpdGVCb3JkZXJDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25DYXJkQmFzaWMpIHtcbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuY2FyZHMgPiAuYmFzaWMuQHtjb2xvcn0uY2FyZCxcbiAgICAgICAgICAgICAgICAudWkuYmFzaWMuaW52ZXJ0ZWQuQHtjb2xvcn0uY2FyZHMgPiAuY2FyZCxcbiAgICAgICAgICAgICAgICAudWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgPiAuQHtjb2xvcn0uY2FyZCxcbiAgICAgICAgICAgICAgICAudWkuYmFzaWMuaW52ZXJ0ZWQuQHtjb2xvcn0uY2FyZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25DYXJkTGluaykge1xuICAgICAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuY2FyZHMgYS5iYXNpYy5Ae2NvbG9yfS5jYXJkOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAudWkuYmFzaWMuaW52ZXJ0ZWQuY2FyZHMgYS5Ae2NvbG9yfS5jYXJkOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAudWkuYmFzaWMuaW52ZXJ0ZWQuQHtjb2xvcn0uY2FyZHMgYS5jYXJkOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAudWkubGluay5pbnZlcnRlZC5jYXJkcyAuYmFzaWMuQHtjb2xvcn0uY2FyZDpub3QoLmljb24pOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAudWkubGluay5iYXNpYy5pbnZlcnRlZC5Ae2NvbG9yfS5jYXJkcyAuY2FyZDpub3QoLmljb24pOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAudWkubGluay5iYXNpYy5pbnZlcnRlZC5jYXJkcyAuQHtjb2xvcn0uY2FyZDpub3QoLmljb24pOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICBhLnVpLmJhc2ljLmludmVydGVkLkB7Y29sb3J9LmNhcmQ6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgIC51aS5saW5rLmJhc2ljLmludmVydGVkLkB7Y29sb3J9LmNhcmQ6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uQ2FyZEVxdWFsV2lkdGgpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIENhcmQgQ291bnRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5vbmUuY2FyZHMge1xuICAgICAgICBtYXJnaW4tbGVmdDogQG9uZUNhcmRPZmZzZXQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQG9uZUNhcmRPZmZzZXQ7XG4gICAgfVxuICAgIC51aS5vbmUuY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgIHdpZHRoOiBAb25lQ2FyZDtcbiAgICB9XG5cbiAgICAudWkudHdvLmNhcmRzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEB0d29DYXJkT2Zmc2V0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0d29DYXJkT2Zmc2V0O1xuICAgIH1cbiAgICAudWkudHdvLmNhcmRzID4gLmNhcmQge1xuICAgICAgICB3aWR0aDogQHR3b0NhcmQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZFNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQHR3b0NhcmRTcGFjaW5nO1xuICAgIH1cblxuICAgIC51aS50aHJlZS5jYXJkcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAdGhyZWVDYXJkT2Zmc2V0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgfVxuICAgIC51aS50aHJlZS5jYXJkcyA+IC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IEB0aHJlZUNhcmQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAdGhyZWVDYXJkU3BhY2luZztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdGhyZWVDYXJkU3BhY2luZztcbiAgICB9XG5cbiAgICAudWkuZm91ci5jYXJkcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAZm91ckNhcmRPZmZzZXQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGZvdXJDYXJkT2Zmc2V0O1xuICAgIH1cbiAgICAudWkuZm91ci5jYXJkcyA+IC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IEBmb3VyQ2FyZDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBmb3VyQ2FyZFNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGZvdXJDYXJkU3BhY2luZztcbiAgICB9XG5cbiAgICAudWkuZml2ZS5jYXJkcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAZml2ZUNhcmRPZmZzZXQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGZpdmVDYXJkT2Zmc2V0O1xuICAgIH1cbiAgICAudWkuZml2ZS5jYXJkcyA+IC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IEBmaXZlQ2FyZDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBmaXZlQ2FyZFNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGZpdmVDYXJkU3BhY2luZztcbiAgICB9XG5cbiAgICAudWkuc2l4LmNhcmRzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBzaXhDYXJkT2Zmc2V0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBzaXhDYXJkT2Zmc2V0O1xuICAgIH1cbiAgICAudWkuc2l4LmNhcmRzID4gLmNhcmQge1xuICAgICAgICB3aWR0aDogQHNpeENhcmQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAc2l4Q2FyZFNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQHNpeENhcmRTcGFjaW5nO1xuICAgIH1cblxuICAgIC51aS5zZXZlbi5jYXJkcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAc2V2ZW5DYXJkT2Zmc2V0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBzZXZlbkNhcmRPZmZzZXQ7XG4gICAgfVxuICAgIC51aS5zZXZlbi5jYXJkcyA+IC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IEBzZXZlbkNhcmQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAc2V2ZW5DYXJkU3BhY2luZztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAc2V2ZW5DYXJkU3BhY2luZztcbiAgICB9XG5cbiAgICAudWkuZWlnaHQuY2FyZHMge1xuICAgICAgICBtYXJnaW4tbGVmdDogQGVpZ2h0Q2FyZE9mZnNldDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAZWlnaHRDYXJkT2Zmc2V0O1xuICAgIH1cbiAgICAudWkuZWlnaHQuY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgIHdpZHRoOiBAZWlnaHRDYXJkO1xuICAgICAgICBtYXJnaW4tbGVmdDogQGVpZ2h0Q2FyZFNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGVpZ2h0Q2FyZFNwYWNpbmc7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB9XG5cbiAgICAudWkubmluZS5jYXJkcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAbmluZUNhcmRPZmZzZXQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQG5pbmVDYXJkT2Zmc2V0O1xuICAgIH1cbiAgICAudWkubmluZS5jYXJkcyA+IC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IEBuaW5lQ2FyZDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBuaW5lQ2FyZFNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQG5pbmVDYXJkU3BhY2luZztcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgIH1cblxuICAgIC51aS50ZW4uY2FyZHMge1xuICAgICAgICBtYXJnaW4tbGVmdDogQHRlbkNhcmRPZmZzZXQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQHRlbkNhcmRPZmZzZXQ7XG4gICAgfVxuICAgIC51aS50ZW4uY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgIHdpZHRoOiBAdGVuQ2FyZDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEB0ZW5DYXJkU3BhY2luZztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdGVuQ2FyZFNwYWNpbmc7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkRG91YmxpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgRG91YmxpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogTW9iaWxlIE9ubHkgKi9cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgICAgIC51aS50d28uZG91YmxpbmcuY2FyZHMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBvbmVDYXJkT2Zmc2V0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAb25lQ2FyZE9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAudWkudHdvLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IEBvbmVDYXJkO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBvbmVDYXJkU3BhY2luZztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQG9uZUNhcmRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS50aHJlZS5kb3VibGluZy5jYXJkcyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHR3b0NhcmRPZmZzZXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0d29DYXJkT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIC51aS50aHJlZS5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdvQ2FyZDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZFNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0d29DYXJkU3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICAudWkuZm91ci5kb3VibGluZy5jYXJkcyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHR3b0NhcmRPZmZzZXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0d29DYXJkT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIC51aS5mb3VyLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IEB0d29DYXJkO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0d29DYXJkU3BhY2luZztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHR3b0NhcmRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS5maXZlLmRvdWJsaW5nLmNhcmRzIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZE9mZnNldDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHR3b0NhcmRPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZpdmUuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogQHR3b0NhcmQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHR3b0NhcmRTcGFjaW5nO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdHdvQ2FyZFNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNpeC5kb3VibGluZy5jYXJkcyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHR3b0NhcmRPZmZzZXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0d29DYXJkT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIC51aS5zaXguZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogQHR3b0NhcmQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHR3b0NhcmRTcGFjaW5nO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdHdvQ2FyZFNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNldmVuLmRvdWJsaW5nLmNhcmRzIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdGhyZWVDYXJkT2Zmc2V0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdGhyZWVDYXJkT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIC51aS5zZXZlbi5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGhyZWVDYXJkO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0aHJlZUNhcmRTcGFjaW5nO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdGhyZWVDYXJkU3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICAudWkuZWlnaHQuZG91YmxpbmcuY2FyZHMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmVpZ2h0LmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZUNhcmQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRocmVlQ2FyZFNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS5uaW5lLmRvdWJsaW5nLmNhcmRzIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdGhyZWVDYXJkT2Zmc2V0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdGhyZWVDYXJkT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIC51aS5uaW5lLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZUNhcmQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRocmVlQ2FyZFNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS50ZW4uZG91YmxpbmcuY2FyZHMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnRlbi5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGhyZWVDYXJkO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0aHJlZUNhcmRTcGFjaW5nO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdGhyZWVDYXJkU3BhY2luZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFRhYmxldCBPbmx5ICovXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAdGFibGV0QnJlYWtwb2ludCkgYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0VGFibGV0U2NyZWVuKSB7XG4gICAgICAgIC51aS50d28uZG91YmxpbmcuY2FyZHMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBvbmVDYXJkT2Zmc2V0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAb25lQ2FyZE9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAudWkudHdvLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IEBvbmVDYXJkO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBvbmVDYXJkU3BhY2luZztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQG9uZUNhcmRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS50aHJlZS5kb3VibGluZy5jYXJkcyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHR3b0NhcmRPZmZzZXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0d29DYXJkT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIC51aS50aHJlZS5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdHdvQ2FyZDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZFNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0d29DYXJkU3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICAudWkuZm91ci5kb3VibGluZy5jYXJkcyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHR3b0NhcmRPZmZzZXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0d29DYXJkT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIC51aS5mb3VyLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IEB0d29DYXJkO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0d29DYXJkU3BhY2luZztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHR3b0NhcmRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS5maXZlLmRvdWJsaW5nLmNhcmRzIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdGhyZWVDYXJkT2Zmc2V0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdGhyZWVDYXJkT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIC51aS5maXZlLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZUNhcmQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRocmVlQ2FyZFNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS5zaXguZG91YmxpbmcuY2FyZHMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNpeC5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGhyZWVDYXJkO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0aHJlZUNhcmRTcGFjaW5nO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdGhyZWVDYXJkU3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICAudWkuZWlnaHQuZG91YmxpbmcuY2FyZHMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmVpZ2h0LmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IEB0aHJlZUNhcmQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRocmVlQ2FyZFNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS5laWdodC5kb3VibGluZy5jYXJkcyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQGZvdXJDYXJkT2Zmc2V0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAZm91ckNhcmRPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmVpZ2h0LmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IEBmb3VyQ2FyZDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAZm91ckNhcmRTcGFjaW5nO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAZm91ckNhcmRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIC51aS5uaW5lLmRvdWJsaW5nLmNhcmRzIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAZm91ckNhcmRPZmZzZXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEBmb3VyQ2FyZE9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAudWkubmluZS5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiBAZm91ckNhcmQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQGZvdXJDYXJkU3BhY2luZztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQGZvdXJDYXJkU3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICAudWkudGVuLmRvdWJsaW5nLmNhcmRzIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAZml2ZUNhcmRPZmZzZXQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEBmaXZlQ2FyZE9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAudWkudGVuLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IEBmaXZlQ2FyZDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAZml2ZUNhcmRTcGFjaW5nO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAZml2ZUNhcmRTcGFjaW5nO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkU3RhY2thYmxlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIFN0YWNrYWJsZVxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgICAgIC51aS5zdGFja2FibGUuY2FyZHMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuc3RhY2thYmxlLmNhcmRzIC5jYXJkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAudWkuc3RhY2thYmxlLmNhcmRzID4gLmNhcmQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiBAc3RhY2thYmxlUm93U3BhY2luZyBAc3RhY2thYmxlQ2FyZFNwYWNpbmc7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogQHN0YWNrYWJsZU1hcmdpbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5jYXJkcyA+IC5jYXJkIHtcbiAgICBmb250LXNpemU6IEBtZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uQ2FyZFNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25DYXJkU2l6ZXMsIHtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5jYXJkLFxuICAgICAgICAudWkuQHt2YWx1ZX0uY2FyZHMgLmNhcmQge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAcztcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYXJkSW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCxcbiAgICAudWkuaW52ZXJ0ZWQuY2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6IEBpbnZlcnRlZEJveFNoYWRvdztcbiAgICB9XG5cbiAgICAvKiBDb250ZW50ICovXG4gICAgLnVpLmludmVydGVkLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCxcbiAgICAudWkuaW52ZXJ0ZWQuY2FyZCA+IC5jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLXRvcDogQGludmVydGVkQ29udGVudERpdmlkZXI7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQ2FyZEhlYWRlcikge1xuICAgICAgICAvKiBIZWFkZXIgKi9cbiAgICAgICAgLnVpLmludmVydGVkLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IC5oZWFkZXIsXG4gICAgICAgIC51aS5pbnZlcnRlZC5jYXJkID4gLmNvbnRlbnQgPiAuaGVhZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRIZWFkZXJDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gYS5oZWFkZXIsXG4gICAgICAgIC51aS5pbnZlcnRlZC5jYXJkID4gLmNvbnRlbnQgPiBhLmhlYWRlciB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkSGVhZGVyTGlua0NvbG9yO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEhlYWRlckxpbmtIb3ZlckNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQ2FyZERlc2NyaXB0aW9uKSB7XG4gICAgICAgIC8qIERlc2NyaXB0aW9uICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiAuZGVzY3JpcHRpb24sXG4gICAgICAgIC51aS5pbnZlcnRlZC5jYXJkID4gLmNvbnRlbnQgPiAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZERlc2NyaXB0aW9uQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25DYXJkTWV0YSkge1xuICAgICAgICAvKiBNZXRhICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5jYXJkcyA+IC5jYXJkIC5tZXRhLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuY2FyZCAubWV0YSB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkTWV0YUNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5jYXJkcyA+IC5jYXJkIC5tZXRhID4gYTpub3QoLnVpKSxcbiAgICAgICAgLnVpLmludmVydGVkLmNhcmQgLm1ldGEgPiBhOm5vdCgudWkpIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRNZXRhTGlua0NvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5jYXJkcyA+IC5jYXJkIC5tZXRhID4gYTpub3QoLnVpKTpob3ZlcixcbiAgICAgICAgLnVpLmludmVydGVkLmNhcmQgLm1ldGEgPiBhOm5vdCgudWkpOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRNZXRhTGlua0hvdmVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25DYXJkRXh0cmEpIHtcbiAgICAgICAgLyogRXh0cmEgKi9cbiAgICAgICAgLnVpLmludmVydGVkLmNhcmRzID4gLmNhcmQgPiAuZXh0cmEsXG4gICAgICAgIC51aS5pbnZlcnRlZC5jYXJkID4gLmV4dHJhIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IEBpbnZlcnRlZEV4dHJhRGl2aWRlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEV4dHJhQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLmNhcmRzID4gLmNhcmQgPiAuZXh0cmEgYTpub3QoLnVpKSxcbiAgICAgICAgLnVpLmludmVydGVkLmNhcmQgPiAuZXh0cmEgYTpub3QoLnVpKSB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkRXh0cmFMaW5rQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLmNhcmRzID4gLmNhcmQgPiAuZXh0cmEgYTpub3QoLnVpKTpob3ZlcixcbiAgICAgICAgLnVpLmludmVydGVkLmNhcmQgPiAuZXh0cmEgYTpub3QoLnVpKTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogQGV4dHJhTGlua0hvdmVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25DYXJkTGluaykge1xuICAgICAgICAvKiBMaW5rIGNhcmQocykgKi9cbiAgICAgICAgLnVpLmludmVydGVkLmNhcmRzIGEuY2FyZDpob3ZlcixcbiAgICAgICAgLnVpLmludmVydGVkLmxpbmsuY2FyZHMgLmNhcmQ6bm90KC5pY29uKTpob3ZlcixcbiAgICAgICAgYS5pbnZlcnRlZC51aS5jYXJkOmhvdmVyLFxuICAgICAgICAudWkuaW52ZXJ0ZWQubGluay5jYXJkOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZExpbmtIb3ZlckJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25DYXJkTG9hZGluZykge1xuICAgICAgICAvKiBMb2FkaW5nICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5sb2FkaW5nLmNhcmQge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZExvYWRlckxpbmVDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQubG9hZGluZy5jYXJkOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGxvYWRlckludmVydGVkRGltbWVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gQ29tbWVudFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwidmlld1wiO1xuQGVsZW1lbnQ6IFwiY29tbWVudFwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIENvbW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmNvbW1lbnRzIHtcbiAgICBtYXJnaW46IEBtYXJnaW47XG4gICAgbWF4LXdpZHRoOiBAbWF4V2lkdGg7XG59XG5cbi51aS5jb21tZW50czpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5jb21tZW50czpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb21tZW50XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmNvbW1lbnRzIC5jb21tZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogQGNvbW1lbnRCYWNrZ3JvdW5kO1xuICAgIG1hcmdpbjogQGNvbW1lbnRNYXJnaW47XG4gICAgcGFkZGluZzogQGNvbW1lbnRQYWRkaW5nO1xuICAgIGJvcmRlcjogQGNvbW1lbnRCb3JkZXI7XG4gICAgYm9yZGVyLXRvcDogQGNvbW1lbnREaXZpZGVyO1xuICAgIGxpbmUtaGVpZ2h0OiBAY29tbWVudExpbmVIZWlnaHQ7XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IEBmaXJzdENvbW1lbnRNYXJnaW47XG4gICAgcGFkZGluZy10b3A6IEBmaXJzdENvbW1lbnRQYWRkaW5nO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE5lc3RlZCBDb21tZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5jb21tZW50cyAuY29tbWVudCA+IC5jb21tZW50cyB7XG4gICAgbWFyZ2luOiBAbmVzdGVkQ29tbWVudHNNYXJnaW47XG4gICAgcGFkZGluZzogQG5lc3RlZENvbW1lbnRzUGFkZGluZztcbn1cbi51aS5jb21tZW50cyAuY29tbWVudCA+IC5jb21tZW50czo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQgPiAuY29tbWVudHMgLmNvbW1lbnQge1xuICAgIGJvcmRlcjogQG5lc3RlZENvbW1lbnRCb3JkZXI7XG4gICAgYm9yZGVyLXRvcDogQG5lc3RlZENvbW1lbnREaXZpZGVyO1xuICAgIGJhY2tncm91bmQ6IEBuZXN0ZWRDb21tZW50QmFja2dyb3VuZDtcbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkNvbW1lbnRBdmF0YXIpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQXZhdGFyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY29tbWVudHMgLmNvbW1lbnQgLmF2YXRhciB7XG4gICAgICAgIGRpc3BsYXk6IEBhdmF0YXJEaXNwbGF5O1xuICAgICAgICB3aWR0aDogQGF2YXRhcldpZHRoO1xuICAgICAgICBoZWlnaHQ6IEBhdmF0YXJIZWlnaHQ7XG4gICAgICAgIGZsb2F0OiBAYXZhdGFyRmxvYXQ7XG4gICAgICAgIG1hcmdpbjogQGF2YXRhck1hcmdpbjtcbiAgICB9XG4gICAgLnVpLmNvbW1lbnRzIC5jb21tZW50IGltZy5hdmF0YXIsXG4gICAgLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hdmF0YXIgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYXZhdGFyQm9yZGVyUmFkaXVzO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5jb21tZW50cyAuY29tbWVudCA+IC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkNvbW1lbnRBdmF0YXIpIHtcbiAgICAvKiBJZiB0aGVyZSBpcyBhbiBhdmF0YXIgbW92ZSBjb250ZW50IG92ZXIgKi9cbiAgICAudWkuY29tbWVudHMgLmNvbW1lbnQgPiAuYXZhdGFyIH4gLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogQGNvbnRlbnRNYXJnaW47XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Db21tZW50QXV0aG9yKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEF1dGhvclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hdXRob3Ige1xuICAgICAgICBmb250LXNpemU6IEBhdXRob3JGb250U2l6ZTtcbiAgICAgICAgY29sb3I6IEBhdXRob3JDb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBhdXRob3JGb250V2VpZ2h0O1xuICAgIH1cbiAgICAudWkuY29tbWVudHMgLmNvbW1lbnQgYS5hdXRob3Ige1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgIC51aS5jb21tZW50cyAuY29tbWVudCBhLmF1dGhvcjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAYXV0aG9ySG92ZXJDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNvbW1lbnRNZXRhKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIE1ldGFkYXRhXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY29tbWVudHMgLmNvbW1lbnQgLm1ldGFkYXRhIHtcbiAgICAgICAgZGlzcGxheTogQG1ldGFkYXRhRGlzcGxheTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBtZXRhZGF0YVNwYWNpbmc7XG4gICAgICAgIGNvbG9yOiBAbWV0YWRhdGFDb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiBAbWV0YWRhdGFGb250U2l6ZTtcbiAgICB9XG4gICAgLnVpLmNvbW1lbnRzIC5jb21tZW50IC5tZXRhZGF0YSA+ICoge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBAbWV0YWRhdGFDb250ZW50U3BhY2luZyAwIDA7XG4gICAgfVxuICAgIC51aS5jb21tZW50cyAuY29tbWVudCAubWV0YWRhdGEgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIENvbW1lbnQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5jb21tZW50cyAuY29tbWVudCAudGV4dCB7XG4gICAgbWFyZ2luOiBAdGV4dE1hcmdpbjtcbiAgICBmb250LXNpemU6IEB0ZXh0Rm9udFNpemU7XG4gICAgd29yZC13cmFwOiBAdGV4dFdvcmRXcmFwO1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xuICAgIGxpbmUtaGVpZ2h0OiBAdGV4dExpbmVIZWlnaHQ7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNvbW1lbnRBY3Rpb25zKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFVzZXIgQWN0aW9uc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIHtcbiAgICAgICAgZm9udC1zaXplOiBAYWN0aW9uRm9udFNpemU7XG4gICAgfVxuICAgIC51aS5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyBhIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBAYWN0aW9uQ29udGVudERpc3RhbmNlIDAgMDtcbiAgICAgICAgY29sb3I6IEBhY3Rpb25MaW5rQ29sb3I7XG4gICAgfVxuICAgIC51aS5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyBhOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIC51aS5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyBhLmFjdGl2ZSxcbiAgICAudWkuY29tbWVudHMgLmNvbW1lbnQgLmFjdGlvbnMgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAYWN0aW9uTGlua0hvdmVyQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Db21tZW50UmVwbHkpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIFJlcGx5IEZvcm1cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5jb21tZW50cyA+IC5yZXBseS5mb3JtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogQHJlcGx5RGlzdGFuY2U7XG4gICAgfVxuICAgIC51aS5jb21tZW50cyAuY29tbWVudCAucmVwbHkuZm9ybSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiBAY29tbWVudFJlcGx5RGlzdGFuY2U7XG4gICAgfVxuICAgIC51aS5jb21tZW50cyAucmVwbHkuZm9ybSB0ZXh0YXJlYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogQHJlcGx5Rm9udFNpemU7XG4gICAgICAgIGhlaWdodDogQHJlcGx5SGVpZ2h0O1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuY29sbGFwc2VkLmNvbW1lbnRzLFxuLnVpLmNvbW1lbnRzIC5jb2xsYXBzZWQuY29tbWVudHMsXG4udWkuY29tbWVudHMgLmNvbGxhcHNlZC5jb21tZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25Db21tZW50VGhyZWFkZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgVGhyZWFkZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS50aHJlYWRlZC5jb21tZW50cyAuY29tbWVudCA+IC5jb21tZW50cyB7XG4gICAgICAgIG1hcmdpbjogQHRocmVhZGVkQ29tbWVudE1hcmdpbjtcbiAgICAgICAgcGFkZGluZzogQHRocmVhZGVkQ29tbWVudFBhZGRpbmc7XG4gICAgICAgIGJveC1zaGFkb3c6IEB0aHJlYWRlZENvbW1lbnRCb3hTaGFkb3c7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Db21tZW50TWluaW1hbCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBNaW5pbWFsXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkubWluaW1hbC5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBAbWluaW1hbEFjdGlvblBvc2l0aW9uO1xuICAgICAgICB0b3A6IEBtaW5pbWFsQWN0aW9uVG9wO1xuICAgICAgICByaWdodDogQG1pbmltYWxBY3Rpb25SaWdodDtcbiAgICAgICAgbGVmdDogQG1pbmltYWxBY3Rpb25MZWZ0O1xuICAgICAgICB0cmFuc2l0aW9uOiBAbWluaW1hbFRyYW5zaXRpb247XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IEBtaW5pbWFsVHJhbnNpdGlvbkRlbGF5O1xuICAgIH1cbiAgICAudWkubWluaW1hbC5jb21tZW50cyAuY29tbWVudCA+IC5jb250ZW50OmhvdmVyID4gLmFjdGlvbnMge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmNvbW1lbnRzIHtcbiAgICBmb250LXNpemU6IEBtZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uQ29tbWVudFNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25Db21tZW50U2l6ZXMsIHtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5jb21tZW50cyB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNvbW1lbnRJbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAudWkuaW52ZXJ0ZWQuY29tbWVudHMgLmNvbW1lbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmxhY2s7XG4gICAgfVxuXG4gICAgLnVpLmludmVydGVkLmNvbW1lbnRzIC5jb21tZW50IC5hdXRob3IsXG4gICAgLnVpLmludmVydGVkLmNvbW1lbnRzIC5jb21tZW50IC50ZXh0IHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICB9XG5cbiAgICAudWkuaW52ZXJ0ZWQuY29tbWVudHMgLmNvbW1lbnQgLm1ldGFkYXRhLFxuICAgIC51aS5pbnZlcnRlZC5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyBhIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZExpZ2h0VGV4dENvbG9yO1xuICAgIH1cblxuICAgIC51aS5pbnZlcnRlZC5jb21tZW50cyAuY29tbWVudCBhLmF1dGhvcjpob3ZlcixcbiAgICAudWkuaW52ZXJ0ZWQuY29tbWVudHMgLmNvbW1lbnQgLmFjdGlvbnMgYS5hY3RpdmUsXG4gICAgLnVpLmludmVydGVkLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogQGludmVydGVkSG92ZXJlZFRleHRDb2xvcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQ29tbWVudFRocmVhZGVkKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC50aHJlYWRlZC5jb21tZW50cyAuY29tbWVudCA+IC5jb21tZW50cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAtMXB4IDAgMCBAc29saWRXaGl0ZUJvcmRlckNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uQ29tbWVudERpc2FibGVkKSB7XG4gICAgLnVpLmRpc2FibGVkLmNvbW1lbnRzLFxuICAgIC51aS5jb21tZW50cyAuZGlzYWJsZWQuY29tbWVudCB7XG4gICAgICAgIG9wYWNpdHk6IEBkaXNhYmxlZE9wYWNpdHk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBAZGlzYWJsZWRQb2ludGVyRXZlbnRzO1xuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBGZWVkXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJ2aWV3XCI7XG5AZWxlbWVudDogXCJmZWVkXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90Q29ubmVjdGVkOiBpZihAdmFyaWF0aW9uRmVlZENvbm5lY3RlZCwgZShcIjpub3QoLmNvbm5lY3RlZClcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgQWN0aXZpdHkgRmVlZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmZlZWQge1xuICAgIG1hcmdpbjogQG1hcmdpbjtcbn1cbi51aS5mZWVkOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLmZlZWQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIEV2ZW50ICovXG4udWkuZmVlZCA+IC5ldmVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIHdpZHRoOiBAZXZlbnRXaWR0aDtcbiAgICBwYWRkaW5nOiBAZXZlbnRQYWRkaW5nO1xuICAgIG1hcmdpbjogQGV2ZW50TWFyZ2luO1xuICAgIGJhY2tncm91bmQ6IEBldmVudEJhY2tncm91bmQ7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci10b3A6IEBldmVudERpdmlkZXI7XG4gICAgfVxufVxuLnVpLmZlZWRAe25vdENvbm5lY3RlZH0gPiAuZXZlbnQ6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQ6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkZlZWRMYWJlbCkge1xuICAgIC8qIEV2ZW50IExhYmVsICovXG5cbiAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IEBsYWJlbFdpZHRoO1xuICAgICAgICBoZWlnaHQ6IEBsYWJlbEhlaWdodDtcbiAgICAgICAgYWxpZ24tc2VsZjogQGxhYmVsQWxpZ25TZWxmO1xuICAgICAgICB0ZXh0LWFsaWduOiBAbGFiZWxUZXh0QWxpZ247XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmVlZExhYmVsSWNvbikge1xuICAgICAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCAuaWNvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiBAaWNvbkxhYmVsT3BhY2l0eTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQGljb25MYWJlbFNpemU7XG4gICAgICAgICAgICB3aWR0aDogQGljb25MYWJlbFdpZHRoO1xuICAgICAgICAgICAgcGFkZGluZzogQGljb25MYWJlbFBhZGRpbmc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaWNvbkxhYmVsQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlcjogQGljb25MYWJlbEJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEBpY29uTGFiZWxCb3JkZXJSYWRpdXM7XG4gICAgICAgICAgICBjb2xvcjogQGljb25MYWJlbENvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkZlZWRMYWJlbEltYWdlKSB7XG4gICAgICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogQGltYWdlTGFiZWxXaWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogQGltYWdlTGFiZWxIZWlnaHQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAaW1hZ2VMYWJlbEJvcmRlclJhZGl1cztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GZWVkTGFiZWxUZXh0KSB7XG4gICAgICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsID4gLnRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBAdGV4dExhYmVsVG9wTWFyZ2luO1xuICAgICAgICAgICAgJi51aSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogQHVpVGV4dExhYmVsVG9wTWFyZ2luO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5tdWx0aWxpbmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IEBtdWx0aWxpbmVUZXh0TGFiZWxUb3BNYXJnaW47XG4gICAgICAgICAgICAgICAgJi51aSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IEB1aU11bHRpbGluZVRleHRMYWJlbFRvcE1hcmdpbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmVlZExhYmVsVWlMYWJlbCkge1xuICAgICAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCA+IC51aS5sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBAdWlMYWJlbFRvcE1hcmdpbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IEB1aUxhYmVsWkluZGV4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAubGFiZWwgKyAuY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogQGxhYmVsZWRDb250ZW50TWFyZ2luO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIENvbnRlbnQgKi9cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIGFsaWduLXNlbGY6IEBjb250ZW50QWxpZ25TZWxmO1xuICAgIHRleHQtYWxpZ246IEBjb250ZW50VGV4dEFsaWduO1xuICAgIHdvcmQtd3JhcDogQGNvbnRlbnRXb3JkV3JhcDtcbn1cbi51aS5mZWVkID4gLmV2ZW50Omxhc3QtY2hpbGQgPiAuY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IEBsYXN0TGFiZWxlZENvbnRlbnRQYWRkaW5nO1xufVxuXG4vKiBMaW5rICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IGEge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRmVlZERhdGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIERhdGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLmRhdGUge1xuICAgICAgICBtYXJnaW46IEBkYXRlTWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiBAZGF0ZVBhZGRpbmc7XG4gICAgICAgIGNvbG9yOiBAZGF0ZUNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogQGRhdGVGb250V2VpZ2h0O1xuICAgICAgICBmb250LXNpemU6IEBkYXRlRm9udFNpemU7XG4gICAgICAgIGZvbnQtc3R5bGU6IEBkYXRlRm9udFN0eWxlO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRmVlZFN1bW1hcnkpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU3VtbWFyeVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuc3VtbWFyeSB7XG4gICAgICAgIG1hcmdpbjogQHN1bW1hcnlNYXJnaW47XG4gICAgICAgIGZvbnQtc2l6ZTogQHN1bW1hcnlGb250U2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBzdW1tYXJ5Rm9udFdlaWdodDtcbiAgICAgICAgY29sb3I6IEBzdW1tYXJ5Q29sb3I7XG4gICAgfVxuXG4gICAgLyogU3VtbWFyeSBJbWFnZSAqL1xuICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLnN1bW1hcnkgaW1nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogQHN1bW1hcnlJbWFnZVdpZHRoO1xuICAgICAgICBoZWlnaHQ6IEBzdW1tYXJ5SW1hZ2VIZWlnaHQ7XG4gICAgICAgIG1hcmdpbjogQHN1bW1hcnlJbWFnZU1hcmdpbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQHN1bW1hcnlJbWFnZUJvcmRlclJhZGl1cztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IEBzdW1tYXJ5SW1hZ2VWZXJ0aWNhbEFsaWduO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GZWVkRGF0ZSkge1xuICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBJbmxpbmUgRGF0ZVxuICAgICAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgICAgICAvKiBEYXRlIGluc2lkZSBTdW1tYXJ5ICovXG4gICAgICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLnN1bW1hcnkgPiAuZGF0ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBAc3VtbWFyeURhdGVEaXNwbGF5O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IEBzdW1tYXJ5RGF0ZUZvbnRXZWlnaHQ7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzdW1tYXJ5RGF0ZUZvbnRTaXplO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogQHN1bW1hcnlEYXRlRm9udFN0eWxlO1xuICAgICAgICAgICAgbWFyZ2luOiBAc3VtbWFyeURhdGVNYXJnaW47XG4gICAgICAgICAgICBwYWRkaW5nOiBAc3VtbWFyeURhdGVQYWRkaW5nO1xuICAgICAgICAgICAgY29sb3I6IEBzdW1tYXJ5RGF0ZUNvbG9yO1xuICAgICAgICAgICAgJjpub3QoLmZsb2F0ZWQpIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogQHN1bW1hcnlEYXRlRmxvYXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25GZWVkVXNlcikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgVXNlclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAudXNlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IEB1c2VyRm9udFdlaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdXNlckRpc3RhbmNlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLnVzZXIgaW1nIHtcbiAgICAgICAgbWFyZ2luOiBAdXNlckltYWdlTWFyZ2luO1xuICAgICAgICB3aWR0aDogQHVzZXJJbWFnZVdpZHRoO1xuICAgICAgICBoZWlnaHQ6IEB1c2VySW1hZ2VIZWlnaHQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBAdXNlckltYWdlVmVydGljYWxBbGlnbjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkZlZWRFeHRyYSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBFeHRyYSBTdW1tYXJ5XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5leHRyYSB7XG4gICAgICAgIG1hcmdpbjogQGV4dHJhTWFyZ2luO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAZXh0cmFCYWNrZ3JvdW5kO1xuICAgICAgICBwYWRkaW5nOiBAZXh0cmFQYWRkaW5nO1xuICAgICAgICBjb2xvcjogQGV4dHJhQ29sb3I7XG4gICAgfVxuXG4gICAgLyogSW1hZ2VzICovXG4gICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuZXh0cmEuaW1hZ2VzIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiBAZXh0cmFJbWFnZU1hcmdpbjtcbiAgICAgICAgd2lkdGg6IEBleHRyYUltYWdlV2lkdGg7XG4gICAgfVxuXG4gICAgLyogVGV4dCAqL1xuICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLmV4dHJhLnRleHQge1xuICAgICAgICBwYWRkaW5nOiBAZXh0cmFUZXh0UGFkZGluZztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IEBleHRyYVRleHRQb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IEBleHRyYVRleHRGb250U2l6ZTtcbiAgICAgICAgbWF4LXdpZHRoOiBAZXh0cmFUZXh0TWF4V2lkdGg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAZXh0cmFUZXh0TGluZUhlaWdodDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkZlZWRNZXRhKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBNZXRhXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIHtcbiAgICAgICAgZGlzcGxheTogQG1ldGFkYXRhRGlzcGxheTtcbiAgICAgICAgZm9udC1zaXplOiBAbWV0YWRhdGFGb250U2l6ZTtcbiAgICAgICAgbWFyZ2luOiBAbWV0YWRhdGFNYXJnaW47XG4gICAgICAgIGJhY2tncm91bmQ6IEBtZXRhZGF0YUJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlcjogQG1ldGFkYXRhQm9yZGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAbWV0YWRhdGFCb3JkZXJSYWRpdXM7XG4gICAgICAgIGJveC1zaGFkb3c6IEBtZXRhZGF0YUJveFNoYWRvdztcbiAgICAgICAgcGFkZGluZzogQG1ldGFkYXRhUGFkZGluZztcbiAgICAgICAgY29sb3I6IEBtZXRhZGF0YUNvbG9yO1xuICAgIH1cblxuICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgPiAqIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tbGVmdDogQG1ldGFkYXRhRWxlbWVudFNwYWNpbmc7XG4gICAgfVxuICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgPiAqOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IEBtZXRhZGF0YURpdmlkZXI7XG4gICAgICAgIGNvbG9yOiBAbWV0YWRhdGFEaXZpZGVyQ29sb3I7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogQG1ldGFkYXRhRGl2aWRlck9mZnNldDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkZlZWRMaWtlKSB7XG4gICAgICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgLmxpa2Uge1xuICAgICAgICAgICAgY29sb3I6IEBsaWtlQ29sb3I7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBAbGlrZVRyYW5zaXRpb247XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSAubGlrZTpob3ZlciBpLmljb24ge1xuICAgICAgICAgICAgY29sb3I6IEBsaWtlSG92ZXJDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIC5hY3RpdmUubGlrZSBpLmljb24ge1xuICAgICAgICAgICAgY29sb3I6IEBsaWtlQWN0aXZlQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBGaXJzdCBlbGVtZW50ICovXG4gICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gOmZpcnN0LWNoaWxkOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogQWN0aW9uICovXG4gICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSBhLFxuICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgPiBpLmljb24ge1xuICAgICAgICBjdXJzb3I6IEBtZXRhZGF0YUFjdGlvbkN1cnNvcjtcbiAgICAgICAgb3BhY2l0eTogQG1ldGFkYXRhQWN0aW9uT3BhY2l0eTtcbiAgICAgICAgY29sb3I6IEBtZXRhZGF0YUFjdGlvbkNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiBAbWV0YWRhdGFBY3Rpb25UcmFuc2l0aW9uO1xuICAgIH1cbiAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIGE6aG92ZXIsXG4gICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSBhOmhvdmVyIGkuaWNvbixcbiAgICAudWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gaS5pY29uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBtZXRhZGF0YUFjdGlvbkhvdmVyQ29sb3I7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiYgd2hlbiAoQHZhcmlhdGlvbkZlZWRSaWdodEZsb2F0ZWQpIHtcbiAgICAvKiBydGw6cmVuYW1lICovXG4gICAgLnVpLmZlZWQgLnJpZ2h0LmZsb2F0ZWQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uRmVlZENvbm5lY3RlZCkge1xuICAgIC51aS5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IEBjb25uZWN0ZWRCb3JkZXI7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgbGVmdDogQGNvbm5lY3RlZEJvcmRlckxlZnRPZmZzZXQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IEBjb25uZWN0ZWRCb3JkZXJUb3BPZmZzZXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IEBjb25uZWN0ZWRCb3JkZXJIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJiA+IC5sYWJlbCB3aGVuIChAdmFyaWF0aW9uRmVlZExhYmVsKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmVlZEludmVydGVkKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAaW52ZXJ0ZWRDb25uZWN0ZWRCb3JkZXJDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuKEB2YXJpYXRpb25GZWVkRGl2aWRlZCkge1xuICAgIC51aS5kaXZpZGVkLmZlZWQgPiAuZXZlbnQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBib3JkZXItdG9wOiBAZGl2aWRlZEJvcmRlcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmVlZEludmVydGVkKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5kaXZpZGVkLmZlZWQgPiAuZXZlbnQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogQGludmVydGVkRGl2aWRlZEJvcmRlckNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uRmVlZExhYmVsVGV4dCkge1xuICAgIC51aS51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsW2RhdGEtdGV4dF06OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10ZXh0KTtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25GZWVkT3JkZXJlZCkgb3IgKEB2YXJpYXRpb25GZWVkTGFiZWxUZXh0KSB7XG4gICAgLnVpLmZlZWQgPiAuZXZlbnQgPiAubGFiZWxbZGF0YS10ZXh0XTo6YmVmb3JlLFxuICAgIC51aS5vcmRlcmVkLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGhlaWdodDogQG9yZGVyZWRIZWlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQ6IEBvcmRlcmVkQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBvcmRlcmVkQ29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBvcmRlcmVkQm9yZGVyUmFkaXVzO1xuICAgICAgICBwYWRkaW5nLXRvcDogQG9yZGVyZWRUb3BPZmZzZXQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IEBvcmRlcmVkQm90dG9tTWFyZ2luO1xuICAgICAgICBib3JkZXI6IEBvcmRlcmVkQm9yZGVyO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkZlZWRPcmRlcmVkKSB7XG4gICAgLnVpLm9yZGVyZWQuZmVlZCB7XG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IEBvcmRlcmVkQ291bnROYW1lO1xuICAgICAgICAmID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IEBvcmRlcmVkQ291bnROYW1lO1xuICAgICAgICAgICAgY29udGVudDogQG9yZGVyZWRDb3VudENvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmVlZEJhc2ljKSB7XG4gICAgICAgIC51aS5vcmRlcmVkLmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSxcbiAgICAgICAgLnVpLm9yZGVyZWQuZmVlZCA+IC5ldmVudCA+IC5iYXNpYy5sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQG9yZGVyZWRCYXNpY0JvcmRlckNvbG9yO1xuICAgICAgICAgICAgY29sb3I6IEBvcmRlcmVkQmFzaWNDb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBvcmRlcmVkQmFzaWNCYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkZlZWRDb25uZWN0ZWQpIHtcbiAgICAgICAgLnVpLm9yZGVyZWQuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IEBvcmRlcmVkQ29ubmVjdGVkQm9yZGVyVG9wT2Zmc2V0O1xuICAgICAgICAgICAgaGVpZ2h0OiBAb3JkZXJlZENvbm5lY3RlZEJvcmRlckhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIHdvcmthcm91bmQgdW50aWwgYWxsIGJyb3dzZXJzIHN1cHBvcnQgOmhhcygpICovXG4gICAgICAgIC51aS5jb25uZWN0ZWQubGFiZWxlZC5mZWVkID4gLmV2ZW50OjpiZWZvcmUsXG4gICAgICAgIC51aS5jb25uZWN0ZWQuZmVlZCA+IC5sYWJlbGVkLmV2ZW50OjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiBAb3JkZXJlZENvbm5lY3RlZExhYmVsZWRCb3JkZXJUb3BPZmZzZXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IEBvcmRlcmVkQ29ubmVjdGVkTGFiZWxlZEJvcmRlckhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkZlZWRDb25uZWN0ZWQpIGFuZCAoKEB2YXJpYXRpb25GZWVkT3JkZXJlZCkgb3IgKEB2YXJpYXRpb25GZWVkTGFiZWxUZXh0KSkge1xuICAgIEBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKC5mKSkge1xuICAgICAgICAudWkuY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6aGFzKD4gLmxhYmVsW2RhdGEtdGV4dF0gPiAqKTo6YmVmb3JlLFxuICAgICAgICAudWkub3JkZXJlZC5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDpoYXMoPiAubGFiZWwgPiAqKTo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogQG9yZGVyZWRDb25uZWN0ZWRMYWJlbGVkQm9yZGVyVG9wT2Zmc2V0O1xuICAgICAgICAgICAgaGVpZ2h0OiBAb3JkZXJlZENvbm5lY3RlZExhYmVsZWRCb3JkZXJIZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi51aS5mZWVkIHtcbiAgICBmb250LXNpemU6IEBtZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uRmVlZFNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25GZWVkU2l6ZXMsIHtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5mZWVkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRmVlZEludmVydGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBibGFjaztcbiAgICAgICAgJiA+IC5sYWJlbCBpLmljb24gd2hlbiAoQHZhcmlhdGlvbkZlZWRMYWJlbEljb24pIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRJY29uTGFiZWxDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmID4gLmxhYmVsIC50ZXh0Om5vdCgudWkpIHdoZW4gKEB2YXJpYXRpb25GZWVkTGFiZWxUZXh0KSB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dExhYmVsQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GZWVkRGF0ZSkgb3IgKEB2YXJpYXRpb25GZWVkTGlrZSkge1xuICAgICAgICAudWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5kYXRlLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIC5saWtlIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRMaWtlQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GZWVkU3VtbWFyeSkgb3IgKEB2YXJpYXRpb25GZWVkRXh0cmEpIHtcbiAgICAgICAgLnVpLmludmVydGVkLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuc3VtbWFyeSxcbiAgICAgICAgLnVpLmludmVydGVkLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuZXh0cmEudGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmVlZExpa2UpIHtcbiAgICAgICAgLnVpLmludmVydGVkLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSAubGlrZTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkTGlrZUhvdmVyQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSAuYWN0aXZlLmxpa2UgaS5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRMaWtlQWN0aXZlQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBBY3Rpb24gKi9cbiAgICAudWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIGEsXG4gICAgLnVpLmludmVydGVkLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSA+IGkuaWNvbiB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRNZXRhZGF0YUFjdGlvbkNvbG9yO1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIGE6aG92ZXIsXG4gICAgLnVpLmludmVydGVkLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSBhOmhvdmVyIGkuaWNvbixcbiAgICAudWkuaW52ZXJ0ZWQuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gaS5pY29uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZE1ldGFkYXRhQWN0aW9uSG92ZXJDb2xvcjtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uRmVlZENvbG9ycyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uRmVlZENvbG9ycywge1xuICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICBAbDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodF07XG5cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRmVlZE9yZGVyZWQpIG9yIChAdmFyaWF0aW9uRmVlZExhYmVsVGV4dCkge1xuICAgICAgICAgICAgLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAuQHtjb2xvcn0ubGFiZWw6OmJlZm9yZSxcbiAgICAgICAgICAgIC51aS5Ae2NvbG9yfS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkZlZWRDb25uZWN0ZWQpIHtcbiAgICAgICAgICAgIC51aS5Ae2NvbG9yfS5jb25uZWN0ZWQuZmVlZCA+IC5ldmVudDo6YmVmb3JlLFxuICAgICAgICAgICAgLnVpLmNvbm5lY3RlZC5mZWVkID4gLkB7Y29sb3J9LmV2ZW50OjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25GZWVkSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uY29ubmVjdGVkLmZlZWQgPiAuZXZlbnQ6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAudWkuY29ubmVjdGVkLmZlZWQgPiAuaW52ZXJ0ZWQuQHtjb2xvcn0uZXZlbnQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkZlZWRCYXNpYykge1xuICAgICAgICAgICAgLnVpLnVpLmZlZWQgPiAuZXZlbnQgPiAuQHtjb2xvcn0uYmFzaWMubGFiZWw6OmJlZm9yZSxcbiAgICAgICAgICAgIC51aS5Ae2NvbG9yfS5iYXNpYy5mZWVkID4gLmV2ZW50ID4gLmxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25GZWVkSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLkB7Y29sb3J9LmxhYmVsOjpiZWZvcmUsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uZmVlZCA+IC5ldmVudCA+IC5sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkZlZWRCYXNpYykge1xuICAgICAgICAgICAgICAgIC51aS5mZWVkID4gLmV2ZW50ID4gLmludmVydGVkLkB7Y29sb3J9LmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkZlZWRCYXNpYykge1xuICAgIC51aS51aS5mZWVkID4gLmV2ZW50ID4gLmJhc2ljLmxhYmVsOjpiZWZvcmUsXG4gICAgLnVpLnVpLnVpLmJhc2ljLmZlZWQgPiAuZXZlbnQgPiAubGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBvcmRlcmVkQmFzaWNCYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25GZWVkRGlzYWJsZWQpIHtcbiAgICAudWkuZGlzYWJsZWQuZmVlZCxcbiAgICAudWkuZmVlZCAuZGlzYWJsZWQuZXZlbnQge1xuICAgICAgICBvcGFjaXR5OiBAZGlzYWJsZWRPcGFjaXR5O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogQGRpc2FibGVkUG9pbnRlckV2ZW50cztcbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gSXRlbVxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwidmlld1wiO1xuQGVsZW1lbnQ6IFwiaXRlbVwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdFVuc3RhY2thYmxlOiBpZihAdmFyaWF0aW9uSXRlbVVuc3RhY2thYmxlLCBlKFwiOm5vdCgudW5zdGFja2FibGUpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgSXRlbVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5pdGVtcyA+IC5pdGVtIHtcbiAgICBkaXNwbGF5OiBAZGlzcGxheTtcbiAgICBtYXJnaW46IEBpdGVtU3BhY2luZyAwO1xuICAgIHdpZHRoOiBAd2lkdGg7XG4gICAgbWluLWhlaWdodDogQG1pbkhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgICBwYWRkaW5nOiBAcGFkZGluZztcbiAgICBib3JkZXI6IEBib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICBib3gtc2hhZG93OiBAYm94U2hhZG93O1xuICAgIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgIHotaW5kZXg6IEB6SW5kZXg7XG59XG4udWkuaXRlbXMgPiAuaXRlbSBhIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBJdGVtc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5pdGVtcyB7XG4gICAgbWFyZ2luOiBAZ3JvdXBNYXJnaW47XG59XG5cbi51aS5pdGVtczpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLnVpLml0ZW1zOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEl0ZW1cbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuaXRlbXMgPiAuaXRlbTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGhlaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi51aS5pdGVtcyA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLml0ZW1zID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSXRlbUltYWdlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEltYWdlc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBAaW1hZ2VEaXNwbGF5O1xuICAgICAgICBmbG9hdDogQGltYWdlRmxvYXQ7XG4gICAgICAgIG1hcmdpbjogQGltYWdlTWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiBAaW1hZ2VQYWRkaW5nO1xuICAgICAgICBtYXgtaGVpZ2h0OiBAaW1hZ2VNYXhIZWlnaHQ7XG4gICAgICAgIGFsaWduLXNlbGY6IEBpbWFnZVZlcnRpY2FsQWxpZ247XG4gICAgfVxuICAgIC51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlID4gaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBpbWFnZUJvcmRlclJhZGl1cztcbiAgICAgICAgYm9yZGVyOiBAaW1hZ2VCb3JkZXI7XG4gICAgfVxuXG4gICAgLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2U6b25seS1jaGlsZCA+IGltZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgYmFja2dyb3VuZDogQGNvbnRlbnRCYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBAY29udGVudENvbG9yO1xuICAgIG1hcmdpbjogQGNvbnRlbnRNYXJnaW47XG4gICAgcGFkZGluZzogQGNvbnRlbnRQYWRkaW5nO1xuICAgIGJveC1zaGFkb3c6IEBjb250ZW50Qm94U2hhZG93O1xuICAgIGZvbnQtc2l6ZTogQGNvbnRlbnRGb250U2l6ZTtcbiAgICBib3JkZXI6IEBjb250ZW50Qm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IEBjb250ZW50Qm9yZGVyUmFkaXVzO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGhlaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgKyAuY29udGVudCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiBAY29udGVudFdpZHRoO1xuICAgIGRpc3BsYXk6IEBjb250ZW50RGlzcGxheTtcbiAgICBtYXJnaW4tbGVmdDogQGNvbnRlbnRPZmZzZXQ7XG4gICAgYWxpZ24tc2VsZjogQGNvbnRlbnRWZXJ0aWNhbEFsaWduO1xuICAgIHBhZGRpbmctbGVmdDogQGNvbnRlbnRJbWFnZURpc3RhbmNlO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JdGVtSGVhZGVyKSB7XG4gICAgLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCA+IC5oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogQGhlYWRlck1hcmdpbjtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBoZWFkZXJGb250O1xuICAgICAgICBmb250LXdlaWdodDogQGhlYWRlckZvbnRXZWlnaHQ7XG4gICAgICAgIGNvbG9yOiBAaGVhZGVyQ29sb3I7XG4gICAgfVxuXG4gICAgLyogRGVmYXVsdCBIZWFkZXIgU2l6ZSAqL1xuICAgIC51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiAuaGVhZGVyOm5vdCgudWkpIHtcbiAgICAgICAgZm9udC1zaXplOiBAaGVhZGVyRm9udFNpemU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JdGVtRmxvYXRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBGbG9hdGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaXRlbXMgPiAuaXRlbSBbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIC51aS5pdGVtcyA+IC5pdGVtIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSXRlbUltYWdlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIENvbnRlbnQgSW1hZ2VcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pdGVtcyA+IC5pdGVtIC5jb250ZW50IGltZyB7XG4gICAgICAgIGFsaWduLXNlbGY6IEBjb250ZW50SW1hZ2VWZXJ0aWNhbEFsaWduO1xuICAgICAgICB3aWR0aDogQGNvbnRlbnRJbWFnZVdpZHRoO1xuICAgIH1cbiAgICAudWkuaXRlbXMgPiAuaXRlbSBpbWcuYXZhdGFyLFxuICAgIC51aS5pdGVtcyA+IC5pdGVtIC5hdmF0YXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IEBhdmF0YXJTaXplO1xuICAgICAgICBoZWlnaHQ6IEBhdmF0YXJTaXplO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYXZhdGFyQm9yZGVyUmFkaXVzO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSXRlbURlc2NyaXB0aW9uKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBEZXNjcmlwdGlvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCA+IC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IEBkZXNjcmlwdGlvbkRpc3RhbmNlO1xuICAgICAgICBtYXgtd2lkdGg6IEBkZXNjcmlwdGlvbk1heFdpZHRoO1xuICAgICAgICBmb250LXNpemU6IEBkZXNjcmlwdGlvbkZvbnRTaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogQGRlc2NyaXB0aW9uTGluZUhlaWdodDtcbiAgICAgICAgY29sb3I6IEBkZXNjcmlwdGlvbkNvbG9yO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IHAge1xuICAgIG1hcmdpbjogMCAwIEBwYXJhZ3JhcGhEaXN0YW5jZTtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JdGVtTWV0YSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgTWV0YVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEge1xuICAgICAgICBtYXJnaW46IEBtZXRhTWFyZ2luO1xuICAgICAgICBmb250LXNpemU6IEBtZXRhRm9udFNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAbWV0YUxpbmVIZWlnaHQ7XG4gICAgICAgIGNvbG9yOiBAbWV0YUNvbG9yO1xuICAgIH1cbiAgICAudWkuaXRlbXMgPiAuaXRlbSAubWV0YSAqIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBAbWV0YVNwYWNpbmc7XG4gICAgfVxuICAgIC51aS5pdGVtcyA+IC5pdGVtIC5tZXRhIDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1GbG9hdGVkKSB7XG4gICAgICAgIC51aS5pdGVtcyA+IC5pdGVtIC5tZXRhIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAbWV0YVNwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIEdlbmVyaWMgKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgYTpub3QoLnVpKSB7XG4gICAgY29sb3I6IEBjb250ZW50TGlua0NvbG9yO1xuICAgIHRyYW5zaXRpb246IEBjb250ZW50TGlua1RyYW5zaXRpb247XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IGE6bm90KC51aSk6aG92ZXIge1xuICAgIGNvbG9yOiBAY29udGVudExpbmtIb3ZlckNvbG9yO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JdGVtSGVhZGVyKSB7XG4gICAgLyogSGVhZGVyICovXG4gICAgLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCA+IGEuaGVhZGVyIHtcbiAgICAgICAgY29sb3I6IEBoZWFkZXJMaW5rQ29sb3I7XG4gICAgfVxuICAgIC51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiBhLmhlYWRlcjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAaGVhZGVyTGlua0hvdmVyQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JdGVtTWV0YSkge1xuICAgIC8qIE1ldGEgKi9cbiAgICAudWkuaXRlbXMgPiAuaXRlbSAubWV0YSA+IGE6bm90KC51aSkge1xuICAgICAgICBjb2xvcjogQG1ldGFMaW5rQ29sb3I7XG4gICAgfVxuICAgIC51aS5pdGVtcyA+IC5pdGVtIC5tZXRhID4gYTpub3QoLnVpKTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAbWV0YUxpbmtIb3ZlckNvbG9yO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgTGFiZWxzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS1TdGFyLS0tLS0gKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uSXRlbUZhdm9yaXRlKSB7XG4gICAgLyogSWNvbiAqL1xuICAgIC51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmZhdm9yaXRlLmljb24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IEBhY3Rpb25PcGFjaXR5O1xuICAgICAgICB0cmFuc2l0aW9uOiBAYWN0aW9uVHJhbnNpdGlvbjtcbiAgICB9XG4gICAgLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAuZmF2b3JpdGUuaWNvbjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IEBhY3Rpb25Ib3Zlck9wYWNpdHk7XG4gICAgICAgIGNvbG9yOiBAZmF2b3JpdGVDb2xvcjtcbiAgICB9XG4gICAgLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAuYWN0aXZlLmZhdm9yaXRlLmljb24ge1xuICAgICAgICBjb2xvcjogQGZhdm9yaXRlQWN0aXZlQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JdGVtTGlrZSkge1xuICAgIC8qIC0tLS0tTGlrZS0tLS0tICovXG5cbiAgICAvKiBJY29uICovXG4gICAgLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAubGlrZS5pY29uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvcGFjaXR5OiBAYWN0aW9uT3BhY2l0eTtcbiAgICAgICAgdHJhbnNpdGlvbjogQGFjdGlvblRyYW5zaXRpb247XG4gICAgfVxuICAgIC51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmxpa2UuaWNvbjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IEBhY3Rpb25Ib3Zlck9wYWNpdHk7XG4gICAgICAgIGNvbG9yOiBAbGlrZUNvbG9yO1xuICAgIH1cbiAgICAudWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5hY3RpdmUubGlrZS5pY29uIHtcbiAgICAgICAgY29sb3I6IEBsaWtlQWN0aXZlQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JdGVtRXh0cmEpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tXG4gICAgICBFeHRyYSBDb250ZW50XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pdGVtcyA+IC5pdGVtIC5leHRyYSB7XG4gICAgICAgIGRpc3BsYXk6IEBleHRyYURpc3BsYXk7XG4gICAgICAgIHBvc2l0aW9uOiBAZXh0cmFQb3NpdGlvbjtcbiAgICAgICAgYmFja2dyb3VuZDogQGV4dHJhQmFja2dyb3VuZDtcbiAgICAgICAgbWFyZ2luOiBAZXh0cmFNYXJnaW47XG4gICAgICAgIHdpZHRoOiBAZXh0cmFXaWR0aDtcbiAgICAgICAgcGFkZGluZzogQGV4dHJhUGFkZGluZztcbiAgICAgICAgdG9wOiBAZXh0cmFUb3A7XG4gICAgICAgIGxlZnQ6IEBleHRyYUxlZnQ7XG4gICAgICAgIGNvbG9yOiBAZXh0cmFDb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogQGV4dHJhQm94U2hhZG93O1xuICAgICAgICB0cmFuc2l0aW9uOiBAZXh0cmFUcmFuc2l0aW9uO1xuICAgICAgICBib3JkZXItdG9wOiBAZXh0cmFEaXZpZGVyO1xuICAgIH1cbiAgICAudWkuaXRlbXMgPiAuaXRlbSAuZXh0cmEgPiAqIHtcbiAgICAgICAgbWFyZ2luOiAoQGV4dHJhUm93U3BhY2luZyAvIDIpIEBleHRyYUhvcml6b250YWxTcGFjaW5nIChAZXh0cmFSb3dTcGFjaW5nIC8gMikgMDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSXRlbUZsb2F0ZWQpIHtcbiAgICAgICAgLnVpLml0ZW1zID4gLml0ZW0gLmV4dHJhID4gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICAgICAgICAgICAgbWFyZ2luOiAoQGV4dHJhUm93U3BhY2luZyAvIDIpIDAgKEBleHRyYVJvd1NwYWNpbmcgLyAyKSBAZXh0cmFIb3Jpem9udGFsU3BhY2luZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS5pdGVtcyA+IC5pdGVtIC5leHRyYTo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgUmVzcG9uc2l2ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogRGVmYXVsdCBJbWFnZSBXaWR0aCAqL1xuLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2U6bm90KC51aSkge1xuICAgIHdpZHRoOiBAaW1hZ2VXaWR0aDtcbn1cblxuLyogVGFibGV0IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdFRhYmxldFNjcmVlbikge1xuICAgIC51aS5pdGVtcyA+IC5pdGVtIHtcbiAgICAgICAgbWFyZ2luOiBAdGFibGV0SXRlbVNwYWNpbmcgMDtcbiAgICB9XG4gICAgLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2U6bm90KC51aSkge1xuICAgICAgICB3aWR0aDogQHRhYmxldEltYWdlV2lkdGg7XG4gICAgfVxuICAgIC51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlICsgLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAwIDAgQHRhYmxldENvbnRlbnRJbWFnZURpc3RhbmNlO1xuICAgIH1cbn1cblxuLyogTW9iaWxlIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAudWkuaXRlbXNAe25vdFVuc3RhY2thYmxlfSA+IC5pdGVtIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luOiBAbW9iaWxlSXRlbVNwYWNpbmcgMDtcbiAgICB9XG4gICAgLnVpLml0ZW1zQHtub3RVbnN0YWNrYWJsZX0gPiAuaXRlbSA+IC5pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAudWkuaXRlbXNAe25vdFVuc3RhY2thYmxlfSA+IC5pdGVtID4gLmltYWdlLFxuICAgIC51aS5pdGVtc0B7bm90VW5zdGFja2FibGV9ID4gLml0ZW0gPiAuaW1hZ2UgPiBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IEBtb2JpbGVJbWFnZVdpZHRoICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IEBtb2JpbGVJbWFnZU1heEhlaWdodCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuaXRlbXNAe25vdFVuc3RhY2thYmxlfSA+IC5pdGVtID4gLmltYWdlICsgLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogQG1vYmlsZUNvbnRlbnRJbWFnZURpc3RhbmNlIDAgMDtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1BbGlnbmVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBBbGlnbmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlICsgW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLmNvbnRlbnQge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICAudWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSArIFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXS5jb250ZW50IHtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cbiAgICAudWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSArIFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXS5jb250ZW50IHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JdGVtUmVsYXhlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBSZWxheGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkucmVsYXhlZC5pdGVtcyA+IC5pdGVtIHtcbiAgICAgICAgbWFyZ2luOiBAcmVsYXhlZEl0ZW1TcGFjaW5nIDA7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1WZXJ5UmVsYXhlZCkge1xuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLml0ZW1zID4gLml0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luOiBAdmVyeVJlbGF4ZWRJdGVtU3BhY2luZyAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JdGVtRGl2aWRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBEaXZpZGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5kaXZpZGVkLml0ZW1zID4gLml0ZW0ge1xuICAgICAgICBib3JkZXItdG9wOiBAZGl2aWRlZEJvcmRlcjtcbiAgICAgICAgbWFyZ2luOiBAZGl2aWRlZE1hcmdpbjtcbiAgICAgICAgcGFkZGluZzogQGRpdmlkZWRQYWRkaW5nO1xuICAgIH1cbiAgICAudWkuZGl2aWRlZC5pdGVtcyA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogQGRpdmlkZWRGaXJzdExhc3RNYXJnaW4gIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy10b3A6IEBkaXZpZGVkRmlyc3RMYXN0UGFkZGluZyAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuZGl2aWRlZC5pdGVtcyA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBAZGl2aWRlZEZpcnN0TGFzdE1hcmdpbiAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogQGRpdmlkZWRGaXJzdExhc3RQYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1SZWxheGVkKSB7XG4gICAgICAgIC8qIFJlbGF4ZWQgRGl2aWRlZCAqL1xuICAgICAgICAudWkucmVsYXhlZC5kaXZpZGVkLml0ZW1zID4gLml0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogQHJlbGF4ZWRJdGVtU3BhY2luZyAwO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1WZXJ5UmVsYXhlZCkge1xuICAgICAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5kaXZpZGVkLml0ZW1zID4gLml0ZW0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBAdmVyeVJlbGF4ZWRJdGVtU3BhY2luZyAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25JdGVtTGluaykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIExpbmtcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLml0ZW1zIGEuaXRlbTpob3ZlcixcbiAgICAudWkubGluay5pdGVtcyA+IC5pdGVtOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1IZWFkZXIpIHtcbiAgICAgICAgLnVpLml0ZW1zIGEuaXRlbTpob3ZlciAuY29udGVudCAuaGVhZGVyLFxuICAgICAgICAudWkubGluay5pdGVtcyA+IC5pdGVtOmhvdmVyIC5jb250ZW50IC5oZWFkZXIge1xuICAgICAgICAgICAgY29sb3I6IEBoZWFkZXJMaW5rSG92ZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpemVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuaXRlbXMgPiAuaXRlbSB7XG4gICAgZm9udC1zaXplOiBAcmVsYXRpdmVNZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uSXRlbVNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25JdGVtU2l6ZXMsIHtcbiAgICAgICAgQHM6IEB7dmFsdWV9SXRlbVNpemU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5pdGVtcyA+IC5pdGVtIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQEBzO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1VbnN0YWNrYWJsZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFVuc3RhY2thYmxlXG4gICAgLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgICAgICAudWkudW5zdGFja2FibGUuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSxcbiAgICAgICAgLnVpLnVuc3RhY2thYmxlLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgPiBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IEB1bnN0YWNrYWJsZU1vYmlsZUltYWdlV2lkdGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSXRlbUludmVydGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRDb250ZW50QmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZENvbnRlbnRDb2xvcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSXRlbUV4dHJhKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtIC5leHRyYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRFeHRyYUJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSXRlbUhlYWRlcikge1xuICAgICAgICAudWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gLmhlYWRlciB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkSGVhZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSXRlbURlc2NyaXB0aW9uKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZERlc2NyaXB0aW9uQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSXRlbU1ldGEpIHtcbiAgICAgICAgLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gLm1ldGEge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZE1ldGFDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IGE6bm90KC51aSkge1xuICAgICAgICBjb2xvcjogQGludmVydGVkQ29udGVudExpbmtDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCBhOm5vdCgudWkpOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZENvbnRlbnRMaW5rSG92ZXJDb2xvcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSXRlbUhlYWRlcikge1xuICAgICAgICAudWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gYS5oZWFkZXIge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEhlYWRlckxpbmtDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gYS5oZWFkZXI6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEhlYWRlckxpbmtIb3ZlckNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkl0ZW1NZXRhKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtIC5tZXRhID4gYTpub3QoLnVpKSB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkTWV0YUxpbmtDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSAubWV0YSA+IGE6bm90KC51aSk6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZE1ldGFMaW5rSG92ZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JdGVtRmF2b3JpdGUpIHtcbiAgICAgICAgLnVpLmludmVydGVkLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAuZmF2b3JpdGUuaWNvbjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkRmF2b3JpdGVDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5hY3RpdmUuZmF2b3JpdGUuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkRmF2b3JpdGVBY3RpdmVDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JdGVtTGlrZSkge1xuICAgICAgICAudWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5saWtlLmljb246aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZExpa2VDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5hY3RpdmUubGlrZS5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRMaWtlQWN0aXZlQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uSXRlbUV4dHJhKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5pdGVtcyA+IC5pdGVtIC5leHRyYSB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkRXh0cmFDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JdGVtSGVhZGVyKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5pdGVtcyBhLml0ZW06aG92ZXIgLmNvbnRlbnQgLmhlYWRlcixcbiAgICAgICAgLnVpLmludmVydGVkLmxpbmsuaXRlbXMgPiAuaXRlbTpob3ZlciAuY29udGVudCAuaGVhZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRIZWFkZXJMaW5rSG92ZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25JdGVtRGl2aWRlZCkge1xuICAgICAgICAudWkuaW52ZXJ0ZWQuZGl2aWRlZC5pdGVtcyA+IC5pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IEBpbnZlcnRlZERpdmlkZWRCb3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLmRpdmlkZWQuaXRlbXMgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uSXRlbURpc2FibGVkKSB7XG4gICAgLnVpLmRpc2FibGVkLml0ZW1zLFxuICAgIC51aS5pdGVtcyA+IC5kaXNhYmxlZC5pdGVtIHtcbiAgICAgICAgb3BhY2l0eTogQGRpc2FibGVkT3BhY2l0eTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IEBkaXNhYmxlZFBvaW50ZXJFdmVudHM7XG4gICAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFN0YXRpc3RpY1xuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwidmlld1wiO1xuQGVsZW1lbnQ6IFwic3RhdGlzdGljXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBTdGF0aXN0aWNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIFN0YW5kYWxvbmUgKi9cbi51aS5zdGF0aXN0aWMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiBAbWFyZ2luO1xuICAgIG1heC13aWR0aDogQG1heFdpZHRoO1xufVxuXG4udWkuc3RhdGlzdGljICsgLnVpLnN0YXRpc3RpYyB7XG4gICAgbWFyZ2luOiAwIDAgMCBAaG9yaXpvbnRhbFNwYWNpbmc7XG59XG5cbi51aS5zdGF0aXN0aWM6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4udWkuc3RhdGlzdGljOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBHcm91cFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogR3JvdXBlZCAqL1xuLnVpLnN0YXRpc3RpY3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuLnVpLnN0YXRpc3RpY3MgPiAuc3RhdGlzdGljIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogQGVsZW1lbnRNYXJnaW47XG4gICAgbWF4LXdpZHRoOiBAZWxlbWVudE1heFdpZHRoO1xufVxuLnVpLnN0YXRpc3RpY3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiBAZ3JvdXBNYXJnaW47XG59XG5cbi8qIENsZWFyaW5nICovXG4udWkuc3RhdGlzdGljczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGhlaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnVpLnN0YXRpc3RpY3M6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgVmFsdWVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gICAgZm9udC1mYW1pbHk6IEB2YWx1ZUZvbnQ7XG4gICAgZm9udC1zaXplOiBAdmFsdWVTaXplO1xuICAgIGZvbnQtd2VpZ2h0OiBAdmFsdWVGb250V2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBAdmFsdWVMaW5lSGVpZ2h0O1xuICAgIGNvbG9yOiBAdmFsdWVDb2xvcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogQHZhbHVlVGV4dFRyYW5zZm9ybTtcbiAgICB0ZXh0LWFsaWduOiBAdGV4dEFsaWduO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBMYWJlbFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAubGFiZWwsXG4udWkuc3RhdGlzdGljID4gLmxhYmVsIHtcbiAgICBmb250LWZhbWlseTogQGxhYmVsRm9udDtcbiAgICBmb250LXNpemU6IEBsYWJlbFNpemU7XG4gICAgZm9udC13ZWlnaHQ6IEBsYWJlbEZvbnRXZWlnaHQ7XG4gICAgY29sb3I6IEBsYWJlbENvbG9yO1xuICAgIHRleHQtdHJhbnNmb3JtOiBAbGFiZWxUZXh0VHJhbnNmb3JtO1xuICAgIHRleHQtYWxpZ246IEB0ZXh0QWxpZ247XG59XG5cbi8qIFRvcCBMYWJlbCAqL1xuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC5sYWJlbCB+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWMgPiAubGFiZWwgfiAudmFsdWUge1xuICAgIG1hcmdpbi10b3A6IEB0b3BMYWJlbERpc3RhbmNlO1xufVxuXG4vKiBCb3R0b20gTGFiZWwgKi9cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUgfiAubGFiZWwsXG4udWkuc3RhdGlzdGljID4gLnZhbHVlIH4gLmxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiBAYm90dG9tTGFiZWxEaXN0YW5jZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEljb24gVmFsdWVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlID4gaS5pY29uLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSA+IGkuaWNvbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBUZXh0IFZhbHVlXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlLFxuLnVpLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlIHtcbiAgICBsaW5lLWhlaWdodDogQHRleHRWYWx1ZUxpbmVIZWlnaHQ7XG4gICAgbWluLWhlaWdodDogQHRleHRWYWx1ZU1pbkhlaWdodDtcbiAgICBmb250LXdlaWdodDogQHRleHRWYWx1ZUZvbnRXZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlICsgLmxhYmVsLFxuLnVpLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlICsgLmxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICBJbWFnZSBWYWx1ZVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUgaW1nLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSBpbWcge1xuICAgIG1heC1oZWlnaHQ6IEBpbWFnZUhlaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogQGltYWdlVmVydGljYWxBbGlnbjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBDb3VudFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblN0YXRpc3RpY0VxdWFsV2lkdGgpIHtcbiAgICAudWkudGVuLnN0YXRpc3RpY3Mge1xuICAgICAgICBtYXJnaW46IEBpdGVtR3JvdXBNYXJnaW47XG4gICAgfVxuICAgIC51aS50ZW4uc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgICAgICAgbWluLXdpZHRoOiBAdGVuQ29sdW1uO1xuICAgICAgICBtYXJnaW46IEBpdGVtTWFyZ2luO1xuICAgIH1cblxuICAgIC51aS5uaW5lLnN0YXRpc3RpY3Mge1xuICAgICAgICBtYXJnaW46IEBpdGVtR3JvdXBNYXJnaW47XG4gICAgfVxuICAgIC51aS5uaW5lLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gICAgICAgIG1pbi13aWR0aDogQG5pbmVDb2x1bW47XG4gICAgICAgIG1hcmdpbjogQGl0ZW1NYXJnaW47XG4gICAgfVxuXG4gICAgLnVpLmVpZ2h0LnN0YXRpc3RpY3Mge1xuICAgICAgICBtYXJnaW46IEBpdGVtR3JvdXBNYXJnaW47XG4gICAgfVxuICAgIC51aS5laWdodC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICAgICAgICBtaW4td2lkdGg6IEBlaWdodENvbHVtbjtcbiAgICAgICAgbWFyZ2luOiBAaXRlbU1hcmdpbjtcbiAgICB9XG5cbiAgICAudWkuc2V2ZW4uc3RhdGlzdGljcyB7XG4gICAgICAgIG1hcmdpbjogQGl0ZW1Hcm91cE1hcmdpbjtcbiAgICB9XG4gICAgLnVpLnNldmVuLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gICAgICAgIG1pbi13aWR0aDogQHNldmVuQ29sdW1uO1xuICAgICAgICBtYXJnaW46IEBpdGVtTWFyZ2luO1xuICAgIH1cblxuICAgIC51aS5zaXguc3RhdGlzdGljcyB7XG4gICAgICAgIG1hcmdpbjogQGl0ZW1Hcm91cE1hcmdpbjtcbiAgICB9XG4gICAgLnVpLnNpeC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICAgICAgICBtaW4td2lkdGg6IEBzaXhDb2x1bW47XG4gICAgICAgIG1hcmdpbjogQGl0ZW1NYXJnaW47XG4gICAgfVxuXG4gICAgLnVpLmZpdmUuc3RhdGlzdGljcyB7XG4gICAgICAgIG1hcmdpbjogQGl0ZW1Hcm91cE1hcmdpbjtcbiAgICB9XG4gICAgLnVpLmZpdmUuc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgICAgICAgbWluLXdpZHRoOiBAZml2ZUNvbHVtbjtcbiAgICAgICAgbWFyZ2luOiBAaXRlbU1hcmdpbjtcbiAgICB9XG5cbiAgICAudWkuZm91ci5zdGF0aXN0aWNzIHtcbiAgICAgICAgbWFyZ2luOiBAaXRlbUdyb3VwTWFyZ2luO1xuICAgIH1cbiAgICAudWkuZm91ci5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICAgICAgICBtaW4td2lkdGg6IEBmb3VyQ29sdW1uO1xuICAgICAgICBtYXJnaW46IEBpdGVtTWFyZ2luO1xuICAgIH1cblxuICAgIC51aS50aHJlZS5zdGF0aXN0aWNzIHtcbiAgICAgICAgbWFyZ2luOiBAaXRlbUdyb3VwTWFyZ2luO1xuICAgIH1cbiAgICAudWkudGhyZWUuc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgICAgICAgbWluLXdpZHRoOiBAdGhyZWVDb2x1bW47XG4gICAgICAgIG1hcmdpbjogQGl0ZW1NYXJnaW47XG4gICAgfVxuXG4gICAgLnVpLnR3by5zdGF0aXN0aWNzIHtcbiAgICAgICAgbWFyZ2luOiBAaXRlbUdyb3VwTWFyZ2luO1xuICAgIH1cbiAgICAudWkudHdvLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gICAgICAgIG1pbi13aWR0aDogQHR3b0NvbHVtbjtcbiAgICAgICAgbWFyZ2luOiBAaXRlbU1hcmdpbjtcbiAgICB9XG5cbiAgICAudWkub25lLnN0YXRpc3RpY3Mge1xuICAgICAgICBtYXJnaW46IEBpdGVtR3JvdXBNYXJnaW47XG4gICAgfVxuICAgIC51aS5vbmUuc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgICAgICAgbWluLXdpZHRoOiBAb25lQ29sdW1uO1xuICAgICAgICBtYXJnaW46IEBpdGVtTWFyZ2luO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU3RhdGlzdGljRmx1aWQpIHtcbiAgICAudWkuZmx1aWQuc3RhdGlzdGljIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TdGF0aXN0aWNIb3Jpem9udGFsKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBIb3Jpem9udGFsXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaG9yaXpvbnRhbC5zdGF0aXN0aWMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAudWkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuICAgIC51aS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiBAaG9yaXpvbnRhbEdyb3VwRWxlbWVudE1hcmdpbjtcbiAgICB9XG5cbiAgICAudWkuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSxcbiAgICAudWkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzID4gLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlIHtcbiAgICAgICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUgPiBpLmljb24sXG4gICAgLnVpLmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlID4gaS5pY29uIHtcbiAgICAgICAgd2lkdGg6IEBpY29uV2lkdGg7XG4gICAgfVxuXG4gICAgLnVpLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuICAgIC51aS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gICAgLnVpLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLmxhYmVsLFxuICAgIC51aS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBAaG9yaXpvbnRhbExhYmVsRGlzdGFuY2U7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TdGF0aXN0aWNJbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaW52ZXJ0ZWQuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuICAgIC51aS5pbnZlcnRlZC5zdGF0aXN0aWMgLnZhbHVlIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFZhbHVlQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAubGFiZWwsXG4gICAgLnVpLmludmVydGVkLnN0YXRpc3RpYyAubGFiZWwge1xuICAgICAgICBjb2xvcjogQGludmVydGVkTGFiZWxDb2xvcjtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uU3RhdGlzdGljQ29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25TdGF0aXN0aWNDb2xvcnMsIHtcbiAgICAgICAgQGNvbG9yOiBAdmFsdWU7XG4gICAgICAgIEBjOiBAY29sb3JzW0BAY29sb3JdW2NvbG9yXTtcbiAgICAgICAgQGw6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRdO1xuXG4gICAgICAgIC51aS5Ae2NvbG9yfS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4gICAgICAgIC51aS5zdGF0aXN0aWNzIC5Ae2NvbG9yfS5zdGF0aXN0aWMgPiAudmFsdWUsXG4gICAgICAgIC51aS5Ae2NvbG9yfS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICAgICAgICAgICAgY29sb3I6IEBjO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblN0YXRpc3RpY0ludmVydGVkKSB7XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0uc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuICAgICAgICAgICAgLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLkB7Y29sb3J9LnN0YXRpc3RpYyA+IC52YWx1ZSxcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TdGF0aXN0aWNGbG9hdGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRmxvYXRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5zdGF0aXN0aWMge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiBAbGVmdEZsb2F0ZWRNYXJnaW47XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLnN0YXRpc3RpYyB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luOiBAcmlnaHRGbG9hdGVkTWFyZ2luO1xuICAgIH1cbiAgICAudWkuZmxvYXRlZC5zdGF0aXN0aWM6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TdGF0aXN0aWNTdGFja2FibGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGFja2FibGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgLnVpLnN0YWNrYWJsZS5zdGF0aXN0aWNzIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5zdGFja2FibGUuc3RhdGlzdGljcyA+IC5zdGF0aXN0aWMge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZzogKEBzdGFja2FibGVSb3dTcGFjaW5nIC8gMikgKEBzdGFja2FibGVHdXR0ZXIgLyAyKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIE1lZGl1bSAqL1xuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICAgIGZvbnQtc2l6ZTogQHZhbHVlU2l6ZTtcbn1cbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gICAgZm9udC1zaXplOiBAaG9yaXpvbnRhbFZhbHVlU2l6ZTtcbn1cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSxcbi51aS5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSB7XG4gICAgZm9udC1zaXplOiBAdGV4dFZhbHVlU2l6ZTtcbn1cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25TdGF0aXN0aWNTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uU3RhdGlzdGljU2l6ZXMsIHtcbiAgICAgICAgQHM6IEB7dmFsdWV9VmFsdWVTaXplO1xuICAgICAgICBAaHM6IEB7dmFsdWV9SG9yaXpvbnRhbFZhbHVlU2l6ZTtcbiAgICAgICAgQHRzOiBAe3ZhbHVlfVRleHRWYWx1ZVNpemU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4gICAgICAgIC51aS5Ae3ZhbHVlfS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAQHM7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLkB7dmFsdWV9Lmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuICAgICAgICAudWkuQHt2YWx1ZX0uaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAQGhzO1xuICAgICAgICB9XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSxcbiAgICAgICAgLnVpLkB7dmFsdWV9LnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQEB0cztcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIEFjY29yZGlvblxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwibW9kdWxlXCI7XG5AZWxlbWVudDogXCJhY2NvcmRpb25cIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3RTdHlsZWQ6IGlmKEB2YXJpYXRpb25BY2NvcmRpb25TdHlsZWQsIGUoXCI6bm90KC5zdHlsZWQpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEFjY29yZGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmFjY29yZGlvbixcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgICBtYXJnaW46IEBjaGlsZEFjY29yZGlvbk1hcmdpbjtcbiAgICBwYWRkaW5nOiBAY2hpbGRBY2NvcmRpb25QYWRkaW5nO1xufVxuXG4vKiBUaXRsZSAqL1xuLnVpLmFjY29yZGlvbi5tZW51IC5pdGVtID4gLnRpdGxlLFxuLnVpLmFjY29yZGlvbiA+IC50aXRsZSxcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC50aXRsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IEB0aXRsZVBhZGRpbmc7XG4gICAgZm9udC1mYW1pbHk6IEB0aXRsZUZvbnQ7XG4gICAgZm9udC1zaXplOiBAdGl0bGVGb250U2l6ZTtcbiAgICBjb2xvcjogQHRpdGxlQ29sb3I7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogQHRpdGxlTGluZUhlaWdodDtcbn1cblxuLyogRGVmYXVsdCBTdHlsaW5nICovXG4udWkuYWNjb3JkaW9uQHtub3RTdHlsZWR9IC50aXRsZSB+IC5jb250ZW50LFxuLnVpLmFjY29yZGlvbkB7bm90U3R5bGVkfSAuYWNjb3JkaW9uIC50aXRsZSB+IC5jb250ZW50IHtcbiAgICBtYXJnaW46IEBjb250ZW50TWFyZ2luO1xuICAgIHBhZGRpbmc6IEBjb250ZW50UGFkZGluZztcbn1cbi51aS5hY2NvcmRpb25Ae25vdFN0eWxlZH0gLnRpdGxlIH4gLmNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi8qIEFycm93ICovXG4udWkuYWNjb3JkaW9uIC51aS5oZWFkZXIgPiAuZHJvcGRvd24uaWNvbixcbi51aS5hY2NvcmRpb24gLnRpdGxlID4gLmRyb3Bkb3duLmljb24sXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24gLnRpdGxlID4gLmRyb3Bkb3duLmljb24ge1xuICAgIGRpc3BsYXk6IEBpY29uRGlzcGxheTtcbiAgICBmbG9hdDogQGljb25GbG9hdDtcbiAgICBvcGFjaXR5OiBAaWNvbk9wYWNpdHk7XG4gICAgd2lkdGg6IEBpY29uV2lkdGg7XG4gICAgaGVpZ2h0OiBAaWNvbkhlaWdodDtcbiAgICBtYXJnaW46IEBpY29uTWFyZ2luO1xuICAgIHBhZGRpbmc6IEBpY29uUGFkZGluZztcbiAgICBmb250LXNpemU6IEBpY29uRm9udFNpemU7XG4gICAgdHJhbnNpdGlvbjogQGljb25UcmFuc2l0aW9uO1xuICAgIHZlcnRpY2FsLWFsaWduOiBAaWNvblZlcnRpY2FsQWxpZ247XG4gICAgdHJhbnNmb3JtOiBAaWNvblRyYW5zZm9ybTtcbiAgICAmLnJpZ2h0IHdoZW4gKEB2YXJpYXRpb25BY2NvcmRpb25SaWdodERyb3Bkb3duKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgdHJhbnNmb3JtOiBAaWNvblRyYW5zZm9ybVJpZ2h0O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIE1lbnUgKi9cbi51aS5hY2NvcmRpb24ubWVudSAuaXRlbSAudGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IEBtZW51VGl0bGVQYWRkaW5nO1xufVxuLnVpLmFjY29yZGlvbi5tZW51IC5pdGVtIC50aXRsZSA+IC5kcm9wZG93bi5pY29uIHtcbiAgICBmbG9hdDogQG1lbnVJY29uRmxvYXQ7XG4gICAgbWFyZ2luOiBAbWVudUljb25NYXJnaW47XG4gICAgdHJhbnNmb3JtOiBAbWVudUljb25UcmFuc2Zvcm07XG59XG5cbi8qIEhlYWRlciAqL1xuLnVpLmFjY29yZGlvbiAudWkuaGVhZGVyID4gLmRyb3Bkb3duLmljb24ge1xuICAgIGZvbnQtc2l6ZTogQGljb25Gb250U2l6ZTtcbiAgICBtYXJnaW46IEBpY29uTWFyZ2luO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuYWNjb3JkaW9uW29wZW5dID4gLnRpdGxlID4gLmRyb3Bkb3duLmljb24sXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb25bb3Blbl0gPiAudGl0bGUgPiAuZHJvcGRvd24uaWNvbixcbi51aS5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSA+IC5kcm9wZG93bi5pY29uLFxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUgPiAuZHJvcGRvd24uaWNvbiB7XG4gICAgdHJhbnNmb3JtOiBAYWN0aXZlSWNvblRyYW5zZm9ybTtcbn1cblxuLnVpLmFjY29yZGlvbi5tZW51IC5pdGVtIC5hY3RpdmUudGl0bGUgPiAuZHJvcGRvd24uaWNvbiB7XG4gICAgdHJhbnNmb3JtOiBAYWN0aXZlSWNvblRyYW5zZm9ybTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25BY2NvcmRpb25TdHlsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU3R5bGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuc3R5bGVkLmFjY29yZGlvbiB7XG4gICAgICAgIHdpZHRoOiBAc3R5bGVkV2lkdGg7XG4gICAgfVxuXG4gICAgLnVpLnN0eWxlZC5hY2NvcmRpb24sXG4gICAgLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBzdHlsZWRCb3JkZXJSYWRpdXM7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzdHlsZWRCYWNrZ3JvdW5kO1xuICAgICAgICBib3gtc2hhZG93OiBAc3R5bGVkQm94U2hhZG93O1xuICAgIH1cbiAgICAudWkuc3R5bGVkLmFjY29yZGlvbiA+IC50aXRsZSxcbiAgICAudWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiBAc3R5bGVkVGl0bGVNYXJnaW47XG4gICAgICAgIHBhZGRpbmc6IEBzdHlsZWRUaXRsZVBhZGRpbmc7XG4gICAgICAgIGNvbG9yOiBAc3R5bGVkVGl0bGVDb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBzdHlsZWRUaXRsZUZvbnRXZWlnaHQ7XG4gICAgICAgIGJvcmRlci10b3A6IEBzdHlsZWRUaXRsZUJvcmRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogQHN0eWxlZFRpdGxlVHJhbnNpdGlvbjtcbiAgICB9XG4gICAgLnVpLnN0eWxlZC5hY2NvcmRpb24gPiAudGl0bGU6Zmlyc3QtY2hpbGQsXG4gICAgLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC50aXRsZTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogQ29udGVudCAqL1xuICAgIC51aS5zdHlsZWQuYWNjb3JkaW9uID4gLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IEBzdHlsZWRDb250ZW50TWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiBAc3R5bGVkQ29udGVudFBhZGRpbmc7XG4gICAgfVxuICAgIC51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAuY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogQHN0eWxlZENoaWxkQ29udGVudE1hcmdpbjtcbiAgICAgICAgcGFkZGluZzogQHN0eWxlZENoaWxkQ29udGVudFBhZGRpbmc7XG4gICAgfVxuXG4gICAgLyogSG92ZXIgKi9cbiAgICAudWkuc3R5bGVkLmFjY29yZGlvbiA+IC50aXRsZTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzdHlsZWRUaXRsZUhvdmVyQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBzdHlsZWRUaXRsZUhvdmVyQ29sb3I7XG4gICAgfVxuICAgIC51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAudGl0bGU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAc3R5bGVkSG92ZXJDaGlsZFRpdGxlQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBzdHlsZWRIb3ZlckNoaWxkVGl0bGVDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBBY3RpdmUgKi9cbiAgICAudWkuc3R5bGVkLmFjY29yZGlvbltvcGVuXSA+IC50aXRsZSxcbiAgICAudWkuc3R5bGVkLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHN0eWxlZEFjdGl2ZVRpdGxlQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBzdHlsZWRBY3RpdmVUaXRsZUNvbG9yO1xuICAgIH1cbiAgICAudWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uW29wZW5dID4gLnRpdGxlLFxuICAgIC51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzdHlsZWRBY3RpdmVDaGlsZFRpdGxlQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBzdHlsZWRBY3RpdmVDaGlsZFRpdGxlQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25BY2NvcmRpb25Db21wYWN0KSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIENvbXBhY3RcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIERlZmF1bHQgU3R5bGluZyAqL1xuXG4gICAgLnVpLmNvbXBhY3QuYWNjb3JkaW9uQHtub3RTdHlsZWR9ID4gLnRpdGxlLFxuICAgIC51aS5jb21wYWN0LmFjY29yZGlvbkB7bm90U3R5bGVkfSAuYWNjb3JkaW9uID4gLnRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogQHRpdGxlUGFkZGluZ0NvbXBhY3Q7XG4gICAgfVxuXG4gICAgLnVpLmNvbXBhY3QuYWNjb3JkaW9uQHtub3RTdHlsZWR9IC50aXRsZSB+IC5jb250ZW50LFxuICAgIC51aS5jb21wYWN0LmFjY29yZGlvbkB7bm90U3R5bGVkfSAuYWNjb3JkaW9uIC50aXRsZSB+IC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogQGNvbnRlbnRQYWRkaW5nQ29tcGFjdDtcbiAgICB9XG5cbiAgICAvKiBTdHlsZWQgKi9cblxuICAgIC51aS5jb21wYWN0LnN0eWxlZC5hY2NvcmRpb24gPiAudGl0bGUsXG4gICAgLnVpLmNvbXBhY3Quc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogQHN0eWxlZFRpdGxlUGFkZGluZ0NvbXBhY3Q7XG4gICAgfVxuXG4gICAgLnVpLmNvbXBhY3Quc3R5bGVkLmFjY29yZGlvbiAudGl0bGUgfiAuY29udGVudCxcbiAgICAudWkuY29tcGFjdC5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLnRpdGxlIH4gLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiBAc3R5bGVkQ29udGVudFBhZGRpbmdDb21wYWN0O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBWZXJ5IENvbXBhY3RcbiAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkFjY29yZGlvblZlcnlDb21wYWN0KSB7XG4gICAgLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5hY2NvcmRpb25Ae25vdFN0eWxlZH0gPiAudGl0bGUsXG4gICAgLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5hY2NvcmRpb25Ae25vdFN0eWxlZH0gLmFjY29yZGlvbiA+IC50aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IEB0aXRsZVBhZGRpbmdWZXJ5Q29tcGFjdDtcbiAgICB9XG5cbiAgICAudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmFjY29yZGlvbkB7bm90U3R5bGVkfSAudGl0bGUgfiAuY29udGVudCxcbiAgICAudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLmFjY29yZGlvbkB7bm90U3R5bGVkfSAuYWNjb3JkaW9uIC50aXRsZSB+IC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogQGNvbnRlbnRQYWRkaW5nVmVyeUNvbXBhY3Q7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS5zdHlsZWQuYWNjb3JkaW9uID4gLnRpdGxlLFxuICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0uc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogQHN0eWxlZFRpdGxlUGFkZGluZ1ZlcnlDb21wYWN0O1xuICAgIH1cblxuICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IGNvbXBhY3RcIl0uc3R5bGVkLmFjY29yZGlvbiAudGl0bGUgfiAuY29udGVudCxcbiAgICAudWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGUgfiAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IEBzdHlsZWRDb250ZW50UGFkZGluZ1ZlcnlDb21wYWN0O1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgIE5vdCBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuYWNjb3JkaW9uOm5vdChkZXRhaWxzKSAudGl0bGUgfiAuY29udGVudDpub3QoLmFjdGl2ZSksXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb246bm90KGRldGFpbHMpIC50aXRsZSB+IC5jb250ZW50Om5vdCguYWN0aXZlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uQWNjb3JkaW9uRmx1aWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRmx1aWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mbHVpZC5hY2NvcmRpb24sXG4gICAgLnVpLmZsdWlkLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25BY2NvcmRpb25JbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmludmVydGVkLmFjY29yZGlvbi5tZW51IC5pdGVtID4gLnRpdGxlLFxuICAgIC51aS5pbnZlcnRlZC5hY2NvcmRpb24gPiAudGl0bGUsXG4gICAgLnVpLmludmVydGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRpdGxlQ29sb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkFjY29yZGlvblN0eWxlZCkge1xuICAgICAgICAudWkuaW52ZXJ0ZWQuc3R5bGVkLmFjY29yZGlvbixcbiAgICAgICAgLnVpLmludmVydGVkLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRTdHlsZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGludmVydGVkU3R5bGVkQm94U2hhZG93O1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5zdHlsZWQuYWNjb3JkaW9uID4gLnRpdGxlLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRTdHlsZWRUaXRsZUNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogQGludmVydGVkU3R5bGVkVGl0bGVCb3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBIb3ZlciAqL1xuICAgICAgICAudWkuaW52ZXJ0ZWQuc3R5bGVkLmFjY29yZGlvbiA+IC50aXRsZTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRTdHlsZWRUaXRsZUhvdmVyQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRTdHlsZWRUaXRsZUhvdmVyQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC50aXRsZTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRTdHlsZWRIb3ZlckNoaWxkVGl0bGVCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFN0eWxlZEhvdmVyQ2hpbGRUaXRsZUNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogQWN0aXZlICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5zdHlsZWQuYWNjb3JkaW9uW29wZW5dID4gLnRpdGxlLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuc3R5bGVkLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFN0eWxlZEFjdGl2ZVRpdGxlQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRTdHlsZWRBY3RpdmVUaXRsZUNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb25bb3Blbl0gPiAudGl0bGUsXG4gICAgICAgIC51aS5pbnZlcnRlZC5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRTdHlsZWRBY3RpdmVDaGlsZFRpdGxlQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRTdHlsZWRBY3RpdmVDaGlsZFRpdGxlQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkFjY29yZGlvbkJhc2ljU3R5bGVkKSB7XG4gICAgLnVpLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24sXG4gICAgLnVpLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgICAudWkuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiA+IC50aXRsZSxcbiAgICAudWkuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uID4gLnRpdGxlIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogQGJhc2ljU3R5bGVkVGl0bGVDb2xvcjtcbiAgICB9XG4gICAgLnVpLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gPiAudGl0bGU6aG92ZXIsXG4gICAgLnVpLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC50aXRsZTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogQGJhc2ljU3R5bGVkVGl0bGVIb3ZlckNvbG9yO1xuICAgIH1cbiAgICAudWkuYmFzaWMuc3R5bGVkLmFjY29yZGlvbltvcGVuXSA+IC50aXRsZSxcbiAgICAudWkuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlLFxuICAgIC51aS5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb25bb3Blbl0gPiAudGl0bGUsXG4gICAgLnVpLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBAYmFzaWNTdHlsZWRBY3RpdmVUaXRsZUNvbG9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25BY2NvcmRpb25JbnZlcnRlZCkge1xuICAgICAgICAudWkuaW52ZXJ0ZWQuYmFzaWMuc3R5bGVkLmFjY29yZGlvbiA+IC50aXRsZSxcbiAgICAgICAgLnVpLmludmVydGVkLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC50aXRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRCYXNpY1N0eWxlZFRpdGxlQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLmJhc2ljLnN0eWxlZC5hY2NvcmRpb24gPiAudGl0bGU6aG92ZXIsXG4gICAgICAgIC51aS5pbnZlcnRlZC5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gPiAudGl0bGU6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkQmFzaWNTdHlsZWRUaXRsZUhvdmVyQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLmJhc2ljLnN0eWxlZC5hY2NvcmRpb25bb3Blbl0gPiAudGl0bGUsXG4gICAgICAgIC51aS5pbnZlcnRlZC5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUsXG4gICAgICAgIC51aS5pbnZlcnRlZC5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb25bb3Blbl0gPiAudGl0bGUsXG4gICAgICAgIC51aS5pbnZlcnRlZC5iYXNpYy5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRCYXNpY1N0eWxlZEFjdGl2ZVRpdGxlQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkFjY29yZGlvblRyZWUpIHtcbiAgICAudWkudHJlZS5hY2NvcmRpb25Ae25vdFN0eWxlZH0gLnRpdGxlIH4gLmNvbnRlbnQsXG4gICAgLnVpLnRyZWUuYWNjb3JkaW9uQHtub3RTdHlsZWR9IC5hY2NvcmRpb24gLnRpdGxlIH4gLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiBAdHJlZUNvbnRlbnRQYWRkaW5nO1xuICAgIH1cbiAgICAudWkudHJlZS5hY2NvcmRpb24gPiAuY29udGVudCxcbiAgICAudWkudHJlZS5hY2NvcmRpb24gLmFjY29yZGlvbiA+IC5jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEB0cmVlQ29udGVudExlZnRNYXJnaW47XG4gICAgfVxuICAgIC51aS50cmVlLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogQHRyZWVDb250ZW50VG9wTWFyZ2luO1xuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IEFjY29yZGlvbjtcbiAgICBzcmM6IHVybChcImRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2Jhc2U2NCxkMDlHUms5VVZFOEFBQVJFQUFzQUFBQUFCa0FBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkRSa1lnQUFBQzdBQUFBUW9BQUFFL2ovZnh3VVpHVkUwQUFBUVVBQUFBSEFBQUFCeU5xdnhRUjBSRlJnQUFBL2dBQUFBY0FBQUFJQUFuQUJoUFV5OHlBQUFCWUFBQUFFSUFBQUJnVGFkVzVtTnRZWEFBQUFLTUFBQUFVUUFBQVdBRlp1S0RhR1ZoWkFBQUFRZ0FBQUF5QUFBQU5nOHpUOHRvYUdWaEFBQUJQQUFBQUJvQUFBQWtBcGtBNW1odGRIZ0FBQVF3QUFBQUV3QUFBQllCdHdBU2JXRjRjQUFBQVZnQUFBQUdBQUFBQmdBR1VBQnVZVzFsQUFBQnBBQUFBT1lBQUFHcS9IQWhXWEJ2YzNRQUFBTGdBQUFBREFBQUFDQUFBd0FBZUp4allHUmdZQURpOEtXUnN2SDhObDhadUprWVFPRDgzOFh2UVBUOWhHeE5JT1hKc0oweEQwaHpNSUNsQVJ6c0Njb0FBSGljWTJCa1lHQjg4UDhCa0dRQWcrMHdCaHl3QWdCZ2pnT0FBQUFBQUZBQUFBWUFBSGljWTJCbU9NODRnWUdWZ1lIUmh6R05nWUhCSFVwL1paQmthR0ZBQll3Q1NKeUFOTmNVQmdjR2hnKzNHQi84ZndDVWZNQ2dBRklEVjZBQWhJd0FSVmNNSndBQWVKeDFqckZPd3pBVVJVL1NOS2dGSVZnUTZ1U1JLV29sWmphUU9uUUJxUU5iMmxwUnBNcVczSFRvd2hldzhVOUkvQlUzN1dPanRteWZkLzN1dFlFYnZzbjRHN2x4UnNtdGNjNEZEOFlENlUvR2hmak5lTWdseWJqVS9EUWVNK0ZIcnF3WTJRc256cmdTblRqbm1udmpnZlNwY1NGK05oNXl4N3R4S2YzRGVNd2pYMzFzb3FhakpkQ29xTHMyNkh6RnE5eXoxV1ZTNlp2OXRrNW5tdjhWbDBwSTdDUkhYVGhtVlBvZlM1OTJiUXh1VmszUEdGK09oazZXUmhIaEdOTzNlVGJTVmh5MHoxbXJhNkhWOTFZeXhkQzV4Z2V2Rkw5eHE0T2JyK01peGxEeEMvSFRPcnNBQUhpY1kyQmdZR2FBWUJrR1JnWVFpQUx5R01GOEZnWTdJTTNGd01IQUJJU01EQW9mYnYzLysvOC9XSlhDaDV0Z051UC94MkErUkM4YlVDMERVQjhyV0lnTmlKa1k4QUptL05KREhnQUFMcW9PeGdBQUFIaWNZMkJtd0FzQUFIMEFCSGljUFk3QlNzTkFFSVpua2syemxoZzFKS0FZeE9ySmk2UmVwTWRDOFNLZWZBSlA0a1ZCekN0a053N1pqZUsxajlDMzhSbjZDTzVDRHJwcGlnd01NOFAvZi84Z01BYUlHTDQrdkQwOVB3SjZnTEN3cDJBbmFNODhlKzdiUTBhUlR4RTdHY1BSZmZKTDlEOUVJWDJiVytzRk9YenU1UUQ3T1N3UGN1QTVYaWV3MDVOOENJRERMaVNRdVRxR1NWbVUwL0txS0crS3hheHY4K2xsTVVSdkh3QkFnUkpyZkVlQ0VhTG5zOUhkUnh6SFAvRnFhVjR5YXB0V0syNVNrd1pLdTRWYTByVVNXallWVmJ6N0NxbXFoWkJTaU5vZHFHcWs1bDJ2RnFyVzFQSjR0V2JHcVp4VkthMzFodEE2Z21OMmFUQndCb2J6dVlzVTFZWWtHaGV5WlZCcUxqS0t4bjhjU212dUFBQjRuR05nWkdCZzRBRmlBUVlKQmlZZ3pRTEVJSm9SZ2dFRmJRQkFBQUFBQVFBQUFBRGVUTzA0QUFBQUFNLzlvKzRBQUFBQTMyQnJLWGljWTJCQUFFWVFzWjFCaUlFQkFBUHBBTXNBXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qIERyb3Bkb3duIEljb24gKi9cbi51aS5hY2NvcmRpb24gLnVpLmhlYWRlciA+IC5kcm9wZG93bi5pY29uLFxuLnVpLmFjY29yZGlvbiAudGl0bGUgPiAuZHJvcGRvd24uaWNvbixcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGUgPiAuZHJvcGRvd24uaWNvbiB7XG4gICAgZm9udC1mYW1pbHk6IEFjY29yZGlvbjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnVpLmFjY29yZGlvbiAudWkuaGVhZGVyID4gLmRyb3Bkb3duLmljb246OmJlZm9yZSxcbi51aS5hY2NvcmRpb24gLnRpdGxlID4gLmRyb3Bkb3duLmljb246OmJlZm9yZSxcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGUgPiAuZHJvcGRvd24uaWNvbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjBkYVwiIC8qIHJ0bDogXCJcXGYwZDlcIiAqLztcbn1cbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIENhbGVuZGFyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJtb2R1bGVcIjtcbkBlbGVtZW50OiBcImNhbGVuZGFyXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90RGlzYWJsZWQ6IGlmKEB2YXJpYXRpb25DYWxlbmRhckRpc2FibGVkLCBlKFwiOm5vdCguZGlzYWJsZWQpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFBvcHVwXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuY2FsZW5kYXIucG9wdXAge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAmLmludmVydGVkOjpiZWZvcmUgd2hlbiAoQHZhcmlhdGlvbkNhbGVuZGFySW52ZXJ0ZWQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQXJyb3dCYWNrZ3JvdW5kO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENhbGVuZGFyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuY2FsZW5kYXIgLmNhbGVuZGFyOmZvY3VzLFxuLnVpLmNhbGVuZGFyLnBvcHVwOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgR3JpZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmNhbGVuZGFyLnBvcHVwIC51aS5ncmlkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udWkuY2FsZW5kYXIucG9wdXAgLnVpLmdyaWQgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRhYmxlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlLnllYXIsXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlLm1vbnRoLFxuLnVpLmNhbGVuZGFyIC51aS50YWJsZS5taW51dGUge1xuICAgIG1pbi13aWR0aDogQHdpZHRoWWVhck1vbnRoTWludXRlO1xufVxuXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlLmRheSB7XG4gICAgbWluLXdpZHRoOiBAd2lkdGhEYXk7XG59XG5cbi51aS5jYWxlbmRhciAudWkudGFibGUuZGF5LmFuZHdlZWsge1xuICAgIG1pbi13aWR0aDogQHdpZHRoRGF5QW5kV2Vlaztcbn1cblxuLnVpLmNhbGVuZGFyIC51aS50YWJsZS5ob3VyIHtcbiAgICBtaW4td2lkdGg6IEB3aWR0aEhvdXI7XG59XG5cbi51aS5jYWxlbmRhciAudWkudGFibGUgdHIgdGgsXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRkIHtcbiAgICBwYWRkaW5nOiBAY2VsbFBhZGRpbmc7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0ciB0aCB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi51aS5jYWxlbmRhciAudWkudGFibGUgdHIgdGggaS5pY29uIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi51aS5jYWxlbmRhciAudWkudGFibGUgdHI6Zmlyc3QtY2hpbGQgdGgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLnVpLmNhbGVuZGFyIC51aS50YWJsZS5kYXkgdHI6Zmlyc3QtY2hpbGQgdGgge1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLnVpLmNhbGVuZGFyIC51aS50YWJsZS5kYXkgdHI6bnRoLWNoaWxkKDIpIHRoIHtcbiAgICBwYWRkaW5nLXRvcDogQGNlbGxIZWFkZXJUb3BQYWRkaW5nO1xuICAgIHBhZGRpbmctYm90dG9tOiBAY2VsbEhlYWRlckJvdHRvbVBhZGRpbmc7XG59XG5cbi51aS5jYWxlbmRhciAudWkudGFibGUgdHIgdGQge1xuICAgIHBhZGRpbmctbGVmdDogQGNlbGxMZWZ0UmlnaHRQYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6IEBjZWxsTGVmdFJpZ2h0UGFkZGluZztcbn1cblxuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0ciAubGluayB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIC5wcmV2Lmxpbmsge1xuICAgIHdpZHRoOiBAd2lkdGhQcmV2TmV4dDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbn1cblxuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0ciAubmV4dC5saW5rIHtcbiAgICB3aWR0aDogQHdpZHRoUHJldk5leHQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWkudWkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIC5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGNvbG9yOiBAZGlzYWJsZWRUZXh0Q29sb3I7XG59XG5cbi51aS5jYWxlbmRhciAudWkudGFibGUgdHIgLmFkamFjZW50Om5vdCguZGlzYWJsZWQpOm5vdCguYWN0aXZlKSB7XG4gICAgY29sb3I6IEBhZGphY2VudFRleHRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiBAYWRqYWNlbnRCYWNrZ3JvdW5kO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIHRkLnRvZGF5IHtcbiAgICBmb250LXdlaWdodDogQHRvZGF5Rm9udFdlaWdodDtcbn1cblxuLnVpLmNhbGVuZGFyIC51aS50YWJsZSB0ciB0ZC5yYW5nZSB7XG4gICAgYmFja2dyb3VuZDogQHJhbmdlQmFja2dyb3VuZDtcbiAgICBjb2xvcjogQHJhbmdlVGV4dENvbG9yO1xuICAgIGJveC1zaGFkb3c6IEByYW5nZUJveFNoYWRvdztcbn1cblxuLnVpLmNhbGVuZGFyQHtub3REaXNhYmxlZH06Zm9jdXMgLnVpLnRhYmxlIHRib2R5IHRyIHRkLmZvY3VzLFxuLnVpLmNhbGVuZGFyQHtub3REaXNhYmxlZH0ucG9wdXAuYWN0aXZlIC51aS50YWJsZSB0Ym9keSB0ciB0ZC5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogQGZvY3VzQm94U2hhZG93O1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYWxlbmRhckludmVydGVkKSB7XG4gICAgLnVpLmludmVydGVkLmNhbGVuZGFyIC51aS50YWJsZS5pbnZlcnRlZCB0ciB0ZC5yYW5nZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEByYW5nZUludmVydGVkQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEByYW5nZUludmVydGVkVGV4dENvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBAcmFuZ2VJbnZlcnRlZEJveFNoYWRvdztcbiAgICB9XG5cbiAgICAudWkuaW52ZXJ0ZWQuY2FsZW5kYXJAe25vdERpc2FibGVkfSAuY2FsZW5kYXI6Zm9jdXMgLnVpLnRhYmxlLmludmVydGVkIHRib2R5IHRyIHRkLmZvY3VzLFxuICAgIC51aS5pbnZlcnRlZC5jYWxlbmRhckB7bm90RGlzYWJsZWR9LnBvcHVwLmFjdGl2ZSAudWkudGFibGUuaW52ZXJ0ZWQgdGJvZHkgdHIgdGQuZm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBAZm9jdXNJbnZlcnRlZEJveFNoYWRvdztcbiAgICB9XG4gICAgLnVpLmludmVydGVkLmNhbGVuZGFyIC51aS51aS51aS5pbnZlcnRlZC50YWJsZSB0ciAuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogQGludmVydGVkRGlzYWJsZWRUZXh0Q29sb3I7XG4gICAgfVxuXG4gICAgLnVpLmludmVydGVkLmNhbGVuZGFyIC51aS5pbnZlcnRlZC50YWJsZSB0ciAuYWRqYWNlbnQ6bm90KC5kaXNhYmxlZCk6bm90KC5hY3RpdmUpIHtcbiAgICAgICAgY29sb3I6IEBhZGphY2VudEludmVydGVkVGV4dENvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAYWRqYWNlbnRJbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DYWxlbmRhck11bHRpTW9udGgpIHtcbiAgICAudWkudWkudWkuY2FsZW5kYXIucG9wdXAgPiAudWkudWkuZ3JpZCB7XG4gICAgICAgIG1hcmdpbjogQG11bHRpTW9udGhNYXJnaW47XG4gICAgICAgICYgPiAuY29sdW1uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQG11bHRpTW9udGhQYWRkaW5nO1xuICAgICAgICAgICAgJiA+IC51aS50YWJsZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgPiAuY29sdW1uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQG11bHRpTW9udGhQYWRkaW5nO1xuICAgICAgICAgICAgJiA+IC51aS50YWJsZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbkNhbGVuZGFyU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbkNhbGVuZGFyU2l6ZXMsIHtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5jYWxlbmRhcixcbiAgICAgICAgLnVpLkB7dmFsdWV9LmNhbGVuZGFyIC51aS50YWJsZSB0ciB0aCxcbiAgICAgICAgLnVpLkB7dmFsdWV9LmNhbGVuZGFyIC51aS50YWJsZSB0ciB0ZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICB9XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5jYWxlbmRhciAudWkudGFibGUueWVhcixcbiAgICAgICAgLnVpLkB7dmFsdWV9LmNhbGVuZGFyIC51aS50YWJsZS5tb250aCxcbiAgICAgICAgLnVpLkB7dmFsdWV9LmNhbGVuZGFyIC51aS50YWJsZS5taW51dGUge1xuICAgICAgICAgICAgbWluLXdpZHRoOiB1bml0KEB3aWR0aFllYXJNb250aE1pbnV0ZSAqIEBzLCBlbSk7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLkB7dmFsdWV9LmNhbGVuZGFyIC51aS50YWJsZS5kYXkge1xuICAgICAgICAgICAgbWluLXdpZHRoOiB1bml0KEB3aWR0aERheSAqIEBzLCBlbSk7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLkB7dmFsdWV9LmNhbGVuZGFyIC51aS50YWJsZS5kYXkuYW5kd2VlayB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IHVuaXQoQHdpZHRoRGF5QW5kV2VlayAqIEBzLCBlbSk7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLkB7dmFsdWV9LmNhbGVuZGFyIC51aS50YWJsZS5ob3VyIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogdW5pdChAd2lkdGhIb3VyICogQHMsIGVtKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25DYWxlbmRhckRpc2FibGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZGlzYWJsZWQuY2FsZW5kYXIge1xuICAgICAgICBvcGFjaXR5OiBAZGlzYWJsZWRPcGFjaXR5O1xuICAgIH1cblxuICAgIC51aS5kaXNhYmxlZC5jYWxlbmRhciA+IC5pbnB1dCxcbiAgICAudWkuZGlzYWJsZWQuY2FsZW5kYXIgLnVpLnRhYmxlIHRyIC5saW5rIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIENoZWNrYm94XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJtb2R1bGVcIjtcbkBlbGVtZW50OiBcImNoZWNrYm94XCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90VG9nZ2xlOiBpZihAdmFyaWF0aW9uQ2hlY2tib3hUb2dnbGUsIGUoXCI6bm90KC50b2dnbGUpXCIpKTtcbkBub3RTbGlkZXI6IGlmKEB2YXJpYXRpb25DaGVja2JveFNsaWRlciwgZShcIjpub3QoLnNsaWRlcilcIikpO1xuQG5vdFJhZGlvOiBpZihAdmFyaWF0aW9uQ2hlY2tib3hSYWRpbywgZShcIjpub3QoLnJhZGlvKVwiKSk7XG5Abm90SW52aXNpYmxlOiBpZihAdmFyaWF0aW9uQ2hlY2tib3hJbnZpc2libGUsIGUoXCI6bm90KC5pbnZpc2libGUpXCIpKTtcbkBub3RDb21wYWN0OiBpZihAdmFyaWF0aW9uQ2hlY2tib3hDb21wYWN0LCBlKFwiOm5vdCguY29tcGFjdClcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBDaGVja2JveFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmNoZWNrYm94IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgbWluLWhlaWdodDogQGNoZWNrYm94U2l6ZTtcbiAgICBmb250LXNpemU6IEByZWxhdGl2ZU1lZGl1bTtcbiAgICBsaW5lLWhlaWdodDogQGNoZWNrYm94TGluZUhlaWdodDtcbiAgICBtaW4td2lkdGg6IEBjaGVja2JveFNpemU7XG59XG5cbi8qIEhUTUwgQ2hlY2tib3ggKi9cbi51aS5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4udWkuY2hlY2tib3ggaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHotaW5kZXg6IDM7XG4gICAgd2lkdGg6IEBjaGVja2JveFNpemU7XG4gICAgaGVpZ2h0OiBAY2hlY2tib3hTaXplO1xufVxuXG4udWkuY2hlY2tib3ggbGFiZWwge1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBmb250LXNpemU6IEBsYWJlbEZvbnRTaXplO1xufVxuXG4udWkuY2hlY2tib3hAe25vdEludmlzaWJsZX0gbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogQGxhYmVsRGlzdGFuY2U7XG59XG5cbi51aS5jaGVja2JveCBsYWJlbDo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IEBjaGVja2JveFNpemU7XG4gICAgaGVpZ2h0OiBAY2hlY2tib3hTaXplO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogQGNoZWNrYm94QmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiBAY2hlY2tib3hCb3JkZXJSYWRpdXM7XG4gICAgdHJhbnNpdGlvbjogQGNoZWNrYm94VHJhbnNpdGlvbjtcbiAgICBib3JkZXI6IEBjaGVja2JveEJvcmRlcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDaGVja21hcmtcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuY2hlY2tib3ggbGFiZWw6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1zaXplOiBAY2hlY2tib3hDaGVja0ZvbnRTaXplO1xuICAgIHRvcDogQGNoZWNrYm94Q2hlY2tUb3A7XG4gICAgbGVmdDogQGNoZWNrYm94Q2hlY2tMZWZ0O1xuICAgIHdpZHRoOiBAY2hlY2tib3hDaGVja1NpemU7XG4gICAgaGVpZ2h0OiBAY2hlY2tib3hDaGVja1NpemU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY29sb3I6IEBjaGVja2JveENvbG9yO1xuICAgIHRyYW5zaXRpb246IEBjaGVja2JveFRyYW5zaXRpb247XG59XG4mIHdoZW4gKEB2YXJpYXRpb25DaGVja2JveFJpZ2h0QWxpZ25lZCkge1xuICAgIC51aS5yaWdodC5hbGlnbmVkLmNoZWNrYm94IGxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAbGFiZWxEaXN0YW5jZTtcbiAgICAgICAgJjo6YWZ0ZXIsXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBMYWJlbFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIEluc2lkZSAqL1xuLnVpLmNoZWNrYm94IGxhYmVsLFxuLnVpLmNoZWNrYm94ICsgbGFiZWwge1xuICAgIGNvbG9yOiBAbGFiZWxDb2xvcjtcbiAgICB0cmFuc2l0aW9uOiBAbGFiZWxUcmFuc2l0aW9uO1xufVxuXG4vKiBPdXRzaWRlICovXG4udWkuY2hlY2tib3ggKyBsYWJlbCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuY2hlY2tib3ggbGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogQGNoZWNrYm94SG92ZXJCYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogQGNoZWNrYm94SG92ZXJCb3JkZXJDb2xvcjtcbn1cbi51aS5jaGVja2JveEB7bm90SW52aXNpYmxlfSBsYWJlbDpob3Zlcixcbi51aS5jaGVja2JveEB7bm90SW52aXNpYmxlfSArIGxhYmVsOmhvdmVyIHtcbiAgICBjb2xvcjogQGxhYmVsSG92ZXJDb2xvcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIERvd25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuY2hlY2tib3ggbGFiZWw6YWN0aXZlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IEBjaGVja2JveFByZXNzZWRCYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogQGNoZWNrYm94UHJlc3NlZEJvcmRlckNvbG9yO1xufVxuLnVpLmNoZWNrYm94IGxhYmVsOmFjdGl2ZTo6YWZ0ZXIge1xuICAgIGNvbG9yOiBAY2hlY2tib3hQcmVzc2VkQ29sb3I7XG59XG4udWkuY2hlY2tib3hAe25vdEludmlzaWJsZX0gaW5wdXQ6YWN0aXZlIH4gbGFiZWwge1xuICAgIGNvbG9yOiBAbGFiZWxQcmVzc2VkQ29sb3I7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWw6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogQGNoZWNrYm94Rm9jdXNCYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogQGNoZWNrYm94Rm9jdXNCb3JkZXJDb2xvcjtcbn1cbi51aS5jaGVja2JveCBpbnB1dDpmb2N1cyB+IGxhYmVsOjphZnRlciB7XG4gICAgY29sb3I6IEBjaGVja2JveEZvY3VzQ2hlY2tDb2xvcjtcbn1cbi51aS5jaGVja2JveEB7bm90SW52aXNpYmxlfSBpbnB1dDpmb2N1cyB+IGxhYmVsIHtcbiAgICBjb2xvcjogQGxhYmVsRm9jdXNDb2xvcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBAY2hlY2tib3hBY3RpdmVCYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogQGNoZWNrYm94QWN0aXZlQm9yZGVyQ29sb3I7XG59XG4udWkuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOjphZnRlciB7XG4gICAgb3BhY2l0eTogQGNoZWNrYm94QWN0aXZlQ2hlY2tPcGFjaXR5O1xuICAgIGNvbG9yOiBAY2hlY2tib3hBY3RpdmVDaGVja0NvbG9yO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DaGVja2JveEluZGV0ZXJtaW5hdGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgSW5kZXRlcm1pbmF0ZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTppbmRldGVybWluYXRlIH4gbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBjaGVja2JveEluZGV0ZXJtaW5hdGVCYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItY29sb3I6IEBjaGVja2JveEluZGV0ZXJtaW5hdGVCb3JkZXJDb2xvcjtcbiAgICB9XG4gICAgLnVpLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTppbmRldGVybWluYXRlIH4gbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogQGNoZWNrYm94SW5kZXRlcm1pbmF0ZUNoZWNrT3BhY2l0eTtcbiAgICAgICAgY29sb3I6IEBjaGVja2JveEluZGV0ZXJtaW5hdGVDaGVja0NvbG9yO1xuICAgIH1cbiAgICAudWkuaW5kZXRlcm1pbmF0ZS50b2dnbGUuY2hlY2tib3gge1xuICAgICAgICAmIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTppbmRldGVybWluYXRlIH4gbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdG9nZ2xlQ2VudGVyTGFuZUJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgJiBpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSkgfiBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogQHRvZ2dsZUNlbnRlck9mZnNldDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25DaGVja2JveFJpZ2h0QWxpZ25lZCkge1xuICAgICAgICAudWkucmlnaHQuYWxpZ25lZC5pbmRldGVybWluYXRlLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSkgfiBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiBAdG9nZ2xlQ2VudGVyT2Zmc2V0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBBY3RpdmUgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOmluZGV0ZXJtaW5hdGU6Zm9jdXMgfiBsYWJlbDo6YmVmb3JlLFxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQ6Zm9jdXMgfiBsYWJlbDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBAY2hlY2tib3hBY3RpdmVGb2N1c0JhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiBAY2hlY2tib3hBY3RpdmVGb2N1c0JvcmRlckNvbG9yO1xufVxuLnVpLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTppbmRldGVybWluYXRlOmZvY3VzIH4gbGFiZWw6OmFmdGVyLFxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQ6Zm9jdXMgfiBsYWJlbDo6YWZ0ZXIge1xuICAgIGNvbG9yOiBAY2hlY2tib3hBY3RpdmVGb2N1c0NoZWNrQ29sb3I7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNoZWNrYm94UmVhZG9ubHkpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBSZWFkLU9ubHlcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5yZWFkLW9ubHkuY2hlY2tib3gsXG4gICAgLnVpLnJlYWQtb25seS5jaGVja2JveCBsYWJlbCB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DaGVja2JveERpc2FibGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZGlzYWJsZWQuY2hlY2tib3ggbGFiZWwsXG4gICAgLnVpLmNoZWNrYm94IGlucHV0W2Rpc2FibGVkXSB+IGxhYmVsIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBvcGFjaXR5OiBAZGlzYWJsZWRDaGVja2JveE9wYWNpdHk7XG4gICAgICAgIGNvbG9yOiBAZGlzYWJsZWRDaGVja2JveExhYmVsQ29sb3I7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgSGlkZGVuXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogSW5pdGlhbGl6ZWQgY2hlY2tib3ggbW92ZXMgaW5wdXQgYmVsb3cgZWxlbWVudFxuIHRvIHByZXZlbnQgbWFudWFsbHkgdHJpZ2dlcmluZyAqL1xuLnVpLmNoZWNrYm94IGlucHV0LmhpZGRlbiB7XG4gICAgei1pbmRleDogLTE7XG59XG5cbi8qIFNlbGVjdGFibGUgTGFiZWwgKi9cbi51aS5jaGVja2JveCBpbnB1dCArIGxhYmVsW2Zvcl0sXG4udWkuY2hlY2tib3ggaW5wdXQuaGlkZGVuICsgbGFiZWwge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uQ2hlY2tib3hSYWRpbykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBSYWRpb1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnJhZGlvLmNoZWNrYm94IHtcbiAgICAgICAgbWluLWhlaWdodDogQHJhZGlvU2l6ZTtcbiAgICB9XG5cbiAgICAudWkucmFkaW8uY2hlY2tib3ggbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEByYWRpb0xhYmVsRGlzdGFuY2U7XG4gICAgfVxuXG4gICAgLyogQm94ICovXG4gICAgLnVpLnJhZGlvLmNoZWNrYm94IGxhYmVsOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHdpZHRoOiBAcmFkaW9TaXplO1xuICAgICAgICBoZWlnaHQ6IEByYWRpb1NpemU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgICAgICAgdG9wOiBAcmFkaW9Ub3A7XG4gICAgICAgIGxlZnQ6IEByYWRpb0xlZnQ7XG4gICAgfVxuXG4gICAgLyogQnVsbGV0ICovXG4gICAgLnVpLnJhZGlvLmNoZWNrYm94IGxhYmVsOjphZnRlciB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogQHJhZGlvU2l6ZTtcbiAgICAgICAgdG9wOiBAYnVsbGV0VG9wO1xuICAgICAgICBsZWZ0OiBAYnVsbGV0TGVmdDtcbiAgICAgICAgd2lkdGg6IEByYWRpb1NpemU7XG4gICAgICAgIGhlaWdodDogQHJhZGlvU2l6ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJ1bGxldFJhZGl1cztcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZShAYnVsbGV0U2NhbGUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnVsbGV0Q29sb3I7XG4gICAgfVxuXG4gICAgLyogRm9jdXMgKi9cbiAgICAudWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHJhZGlvRm9jdXNCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAudWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmFkaW9Gb2N1c0J1bGxldENvbG9yO1xuICAgIH1cblxuICAgIC8qIEluZGV0ZXJtaW5hdGUgKi9cbiAgICAudWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IGxhYmVsOjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgLyogQWN0aXZlICovXG4gICAgLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHJhZGlvQWN0aXZlQmFja2dyb3VuZDtcbiAgICB9XG4gICAgLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmFkaW9BY3RpdmVCdWxsZXRDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBBY3RpdmUgRm9jdXMgKi9cbiAgICAudWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmFkaW9BY3RpdmVGb2N1c0JhY2tncm91bmQ7XG4gICAgfVxuICAgIC51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHJhZGlvQWN0aXZlRm9jdXNCdWxsZXRDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNoZWNrYm94U2xpZGVyKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFNsaWRlclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnNsaWRlci5jaGVja2JveCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IEBzbGlkZXJIZWlnaHQ7XG4gICAgfVxuXG4gICAgLyogSW5wdXQgKi9cbiAgICAudWkuc2xpZGVyLmNoZWNrYm94IGlucHV0IHtcbiAgICAgICAgd2lkdGg6IEBzbGlkZXJXaWR0aDtcbiAgICAgICAgaGVpZ2h0OiBAc2xpZGVySGVpZ2h0O1xuICAgIH1cblxuICAgIC8qIExhYmVsICovXG4gICAgLnVpLnNsaWRlci5jaGVja2JveCBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQHNsaWRlckxhYmVsRGlzdGFuY2U7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAc2xpZGVyTGFiZWxMaW5lSGVpZ2h0O1xuICAgICAgICBjb2xvcjogQHNsaWRlck9mZkxhYmVsQ29sb3I7XG4gICAgfVxuXG4gICAgLyogTGluZSAqL1xuICAgIC51aS5zbGlkZXIuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRvcDogQHNsaWRlckxpbmVWZXJ0aWNhbE9mZnNldDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHNsaWRlckxpbmVDb2xvcjtcbiAgICAgICAgd2lkdGg6IEBzbGlkZXJMaW5lV2lkdGg7XG4gICAgICAgIGhlaWdodDogQHNsaWRlckxpbmVIZWlnaHQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBzbGlkZXJMaW5lUmFkaXVzO1xuICAgICAgICB0cmFuc2l0aW9uOiBAc2xpZGVyTGluZVRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgLyogSGFuZGxlICovXG4gICAgLnVpLnNsaWRlci5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaGFuZGxlQmFja2dyb3VuZDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogQGhhbmRsZUJveFNoYWRvdztcbiAgICAgICAgd2lkdGg6IEBzbGlkZXJIYW5kbGVTaXplO1xuICAgICAgICBoZWlnaHQ6IEBzbGlkZXJIYW5kbGVTaXplO1xuICAgICAgICB0b3A6IEBzbGlkZXJIYW5kbGVPZmZzZXQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuICAgICAgICB0cmFuc2l0aW9uOiBAc2xpZGVySGFuZGxlVHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICAvKiBGb2N1cyAqL1xuICAgIC51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRvZ2dsZUZvY3VzQ29sb3I7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBIb3ZlciAqL1xuICAgIC51aS5zbGlkZXIuY2hlY2tib3ggbGFiZWw6aG92ZXIge1xuICAgICAgICBjb2xvcjogQHNsaWRlckhvdmVyTGFiZWxDb2xvcjtcbiAgICB9XG4gICAgLnVpLnNsaWRlci5jaGVja2JveCBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHNsaWRlckhvdmVyTGFuZUJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLyogQWN0aXZlICovXG4gICAgLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWwge1xuICAgICAgICBjb2xvcjogQHNsaWRlck9uTGFiZWxDb2xvcjtcbiAgICB9XG4gICAgLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzbGlkZXJPbkxpbmVDb2xvcjtcbiAgICB9XG4gICAgLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgbGVmdDogQHNsaWRlclRyYXZlbERpc3RhbmNlO1xuICAgIH1cblxuICAgIC8qIEFjdGl2ZSBGb2N1cyAqL1xuICAgIC51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgICAgICAgY29sb3I6IEBzbGlkZXJPbkZvY3VzTGFiZWxDb2xvcjtcbiAgICB9XG4gICAgLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzbGlkZXJPbkZvY3VzTGluZUNvbG9yO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkNoZWNrYm94UmlnaHRBbGlnbmVkKSB7XG4gICAgICAgIC51aS5yaWdodC5hbGlnbmVkLnNsaWRlci5jaGVja2JveCBsYWJlbCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAc2xpZGVyTGFiZWxEaXN0YW5jZTtcbiAgICAgICAgfVxuICAgICAgICAudWkucmlnaHQuYWxpZ25lZC5zbGlkZXIuY2hlY2tib3ggbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogQHNsaWRlclRyYXZlbERpc3RhbmNlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogQHNsaWRlckhhbmRsZVRyYW5zaXRpb25SaWdodEFsaWduZWQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnJpZ2h0LmFsaWduZWQuc2xpZGVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25DaGVja2JveFRvZ2dsZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBUb2dnbGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS50b2dnbGUuY2hlY2tib3gge1xuICAgICAgICBtaW4taGVpZ2h0OiBAdG9nZ2xlSGVpZ2h0O1xuICAgIH1cblxuICAgIC8qIElucHV0ICovXG4gICAgLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiBAdG9nZ2xlV2lkdGg7XG4gICAgICAgIGhlaWdodDogQHRvZ2dsZUhlaWdodDtcbiAgICB9XG5cbiAgICAvKiBMYWJlbCAqL1xuICAgIC51aS50b2dnbGUuY2hlY2tib3ggbGFiZWwge1xuICAgICAgICBtaW4taGVpZ2h0OiBAdG9nZ2xlSGFuZGxlU2l6ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBAdG9nZ2xlTGFiZWxEaXN0YW5jZTtcbiAgICAgICAgY29sb3I6IEB0b2dnbGVPZmZMYWJlbENvbG9yO1xuICAgIH1cbiAgICAudWkudG9nZ2xlLmNoZWNrYm94IGxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IEB0b2dnbGVMYWJlbE9mZnNldDtcbiAgICB9XG5cbiAgICAvKiBTd2l0Y2ggKi9cbiAgICAudWkudG9nZ2xlLmNoZWNrYm94IGxhYmVsOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgdG9wOiBAdG9nZ2xlTGFuZVZlcnRpY2FsT2Zmc2V0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdG9nZ2xlTGFuZUJhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6IEB0b2dnbGVMYW5lQm94U2hhZG93O1xuICAgICAgICB3aWR0aDogQHRvZ2dsZUxhbmVXaWR0aDtcbiAgICAgICAgaGVpZ2h0OiBAdG9nZ2xlTGFuZUhlaWdodDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQHRvZ2dsZUhhbmRsZVJhZGl1cztcbiAgICB9XG5cbiAgICAvKiBIYW5kbGUgKi9cbiAgICAudWkudG9nZ2xlLmNoZWNrYm94IGxhYmVsOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBoYW5kbGVCYWNrZ3JvdW5kO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCIgIWltcG9ydGFudDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBAaGFuZGxlQm94U2hhZG93O1xuICAgICAgICB3aWR0aDogQHRvZ2dsZUhhbmRsZVNpemU7XG4gICAgICAgIGhlaWdodDogQHRvZ2dsZUhhbmRsZVNpemU7XG4gICAgICAgIHRvcDogQHRvZ2dsZUhhbmRsZU9mZnNldDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuICAgICAgICB0cmFuc2l0aW9uOiBAdG9nZ2xlSGFuZGxlVHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICAudWkudG9nZ2xlLmNoZWNrYm94IGlucHV0IH4gbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgbGVmdDogQHRvZ2dsZU9mZk9mZnNldDtcbiAgICAgICAgYm94LXNoYWRvdzogQHRvZ2dsZU9mZkhhbmRsZUJveFNoYWRvdztcbiAgICB9XG5cbiAgICAvKiBGb2N1cyAqL1xuICAgIC51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRvZ2dsZUZvY3VzQ29sb3I7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBIb3ZlciAqL1xuICAgIC51aS50b2dnbGUuY2hlY2tib3ggbGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0b2dnbGVIb3ZlckNvbG9yO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogQWN0aXZlICovXG4gICAgLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWwge1xuICAgICAgICBjb2xvcjogQHRvZ2dsZU9uTGFiZWxDb2xvcjtcbiAgICB9XG4gICAgLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0b2dnbGVPbkxhbmVDb2xvcjtcbiAgICB9XG4gICAgLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgbGVmdDogQHRvZ2dsZU9uT2Zmc2V0O1xuICAgICAgICBib3gtc2hhZG93OiBAdG9nZ2xlT25IYW5kbGVCb3hTaGFkb3c7XG4gICAgfVxuXG4gICAgLyogQWN0aXZlIEZvY3VzICovXG4gICAgLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWwge1xuICAgICAgICBjb2xvcjogQHRvZ2dsZU9uRm9jdXNMYWJlbENvbG9yO1xuICAgIH1cbiAgICAudWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRvZ2dsZU9uRm9jdXNMYW5lQ29sb3I7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQ2hlY2tib3hSaWdodEFsaWduZWQpIHtcbiAgICAgICAgLnVpLnJpZ2h0LmFsaWduZWQudG9nZ2xlLmNoZWNrYm94IGxhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IEB0b2dnbGVMYWJlbERpc3RhbmNlO1xuICAgICAgICB9XG4gICAgICAgIC51aS5yaWdodC5hbGlnbmVkLnRvZ2dsZS5jaGVja2JveCBpbnB1dCB+IGxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IEB0b2dnbGVPbk9mZnNldDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IEB0b2dnbGVIYW5kbGVUcmFuc2l0aW9uUmlnaHRBbGlnbmVkO1xuICAgICAgICB9XG4gICAgICAgIC51aS5yaWdodC5hbGlnbmVkLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogQHRvZ2dsZU9mZk9mZnNldDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4mIHdoZW4gKEB2YXJpYXRpb25DaGVja2JveEZpdHRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBGaXR0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS51aS5maXR0ZWQuY2hlY2tib3ggbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLnVpLmZpdHRlZC50b2dnbGUuY2hlY2tib3gge1xuICAgICAgICB3aWR0aDogQHRvZ2dsZVdpZHRoO1xuICAgIH1cblxuICAgIC51aS5maXR0ZWQuc2xpZGVyLmNoZWNrYm94IHtcbiAgICAgICAgd2lkdGg6IEBzbGlkZXJXaWR0aDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkNoZWNrYm94SW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAudWkudWkudWkuaW52ZXJ0ZWQuY2hlY2tib3ggbGFiZWwsXG4gICAgLnVpLnVpLnVpLmludmVydGVkLmNoZWNrYm94ICsgbGFiZWwge1xuICAgICAgICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgIH1cblxuICAgIC8qIEhvdmVyICovXG4gICAgLnVpLnVpLmludmVydGVkLmNoZWNrYm94IGxhYmVsOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZEhvdmVyZWRUZXh0Q29sb3I7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5jaGVja2JveCBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAc3Ryb25nU2VsZWN0ZWRCb3JkZXJDb2xvcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQ2hlY2tib3hTbGlkZXIpIHtcbiAgICAgICAgLyogU2xpZGVyIExhYmVsICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5zbGlkZXIuY2hlY2tib3ggbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZFVuc2VsZWN0ZWRUZXh0Q29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBTbGlkZXIgTGluZSAqL1xuICAgICAgICAudWkudWkuaW52ZXJ0ZWQuc2xpZGVyLmNoZWNrYm94IGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkVW5zZWxlY3RlZFRleHRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFNsaWRlciBIb3ZlciAqL1xuICAgICAgICAudWkudWkuaW52ZXJ0ZWQuc2xpZGVyLmNoZWNrYm94IGxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkTGlnaHRUZXh0Q29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBTbGlkZXIgQWN0aXZlICovXG4gICAgICAgIC51aS51aS5pbnZlcnRlZC5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRTZWxlY3RlZFRleHRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkudWkuaW52ZXJ0ZWQuc2xpZGVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzZWxlY3RlZFdoaXRlQm9yZGVyQ29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBTbGlkZXIgQWN0aXZlIEZvY3VzICovXG4gICAgICAgIC51aS51aS5pbnZlcnRlZC5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRTZWxlY3RlZFRleHRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkudWkuaW52ZXJ0ZWQuc2xpZGVyLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzZWxlY3RlZFdoaXRlQm9yZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uQ2hlY2tib3hUb2dnbGUpIHtcbiAgICAgICAgLyogVG9nZ2xlIFN3aXRjaCAqL1xuICAgICAgICAudWkudWkuaW52ZXJ0ZWQudG9nZ2xlLmNoZWNrYm94IGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogVG9nZ2xlIEhvdmVyICovXG4gICAgICAgIC51aS51aS5pbnZlcnRlZC50b2dnbGUuY2hlY2tib3ggbGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRIb3ZlcmVkVGV4dENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogVG9nZ2xlIEFjdGl2ZSAqL1xuICAgICAgICAudWkudWkuaW52ZXJ0ZWQudG9nZ2xlLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkU2VsZWN0ZWRUZXh0Q29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnVpLmludmVydGVkLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9nZ2xlT25MYW5lQ29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBUb2dnbGUgQWN0aXZlIEZvY3VzICovXG4gICAgICAgIC51aS51aS5pbnZlcnRlZC50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRTZWxlY3RlZFRleHRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkudWkuaW52ZXJ0ZWQudG9nZ2xlLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0b2dnbGVPbkZvY3VzTGFuZUNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uQ2hlY2tib3hJbnZpc2libGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSW52aXNpYmxlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaW52aXNpYmxlLmNoZWNrYm94IHtcbiAgICAgICAgJjpub3QoLmNvbXBhY3QpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICYgaW5wdXQge1xuICAgICAgICAgICAgbGVmdDogLTk5OTk5cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICAgICAgJiBsYWJlbDo6YmVmb3JlLFxuICAgICAgICAmIGxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICYgbGFiZWwge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogQGludmlzaWJsZUNoZWNrYm94TGFiZWxUcmFuc2l0aW9uO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS51aS51aS51aS51aS5pbnZpc2libGUuY2hlY2tib3ggaW5wdXQ6bm90KDpjaGVja2VkKSB7XG4gICAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52aXNpYmxlQ2hlY2tib3hCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAaW52aXNpYmxlQ2hlY2tib3hCb3JkZXJDb2xvcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBpbnZpc2libGVDaGVja2JveEJveFNoYWRvdztcbiAgICAgICAgICAgIGNvbG9yOiBAaW52aXNpYmxlQ2hlY2tib3hDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmOm5vdCg6aG92ZXIpOmZvY3VzICsgbGFiZWw6bm90KC5pbWFnZSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGludmlzaWJsZUNoZWNrYm94Rm9jdXNCb3hTaGFkb3c7XG4gICAgICAgIH1cbiAgICAgICAgJiArIGxhYmVsLmltYWdlLFxuICAgICAgICAuYmFzaWMmICsgbGFiZWwge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS5pbnZpc2libGUuY2hlY2tib3ggaW5wdXQ6bm90KDpjaGVja2VkKSB7XG4gICAgICAgICYgKyBsYWJlbC5pbWFnZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiBAaW52aXNpYmxlQ2hlY2tib3hJbWFnZU9wYWNpdHlVbmNoZWNrZWQ7XG4gICAgICAgICAgICBmaWx0ZXI6IEBpbnZpc2libGVDaGVja2JveEltYWdlRmlsdGVyVW5jaGVja2VkO1xuICAgICAgICB9XG4gICAgICAgICY6bm90KDpob3Zlcik6Zm9jdXMgKyBsYWJlbC5pbWFnZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiBAaW52aXNpYmxlQ2hlY2tib3hJbWFnZU9wYWNpdHlGb2N1cztcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25DaGVja2JveERpc2FibGVkKSB7XG4gICAgICAgICAgICAmW2Rpc2FibGVkXSArIGxhYmVsLmltYWdlLFxuICAgICAgICAgICAgLmRpc2FibGVkJiArIGxhYmVsLmltYWdlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiBAaW52aXNpYmxlQ2hlY2tib3hJbWFnZU9wYWNpdHlVbmNoZWNrZWREaXNhYmxlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uQ2hlY2tib3hTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uQ2hlY2tib3hTaXplcywge1xuICAgICAgICBAcmF3OiBAe3ZhbHVlfVJhdztcbiAgICAgICAgQHNpemU6IEB7dmFsdWV9Q2hlY2tib3hTaXplO1xuICAgICAgICBAY2lyY2xlU2NhbGU6IEB7dmFsdWV9Q2hlY2tib3hDaXJjbGVTY2FsZTtcbiAgICAgICAgQGNpcmNsZUxlZnQ6IEB7dmFsdWV9Q2hlY2tib3hDaXJjbGVMZWZ0O1xuXG4gICAgICAgIC51aS5Ae3ZhbHVlfS5jaGVja2JveCB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBAc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQEByYXcgPiAxKSB7XG4gICAgICAgICAgICAudWkuQHt2YWx1ZX0uZm9ybSAuY2hlY2tib3gsXG4gICAgICAgICAgICAudWkuQHt2YWx1ZX0uY2hlY2tib3gge1xuICAgICAgICAgICAgICAgICZAe25vdFNsaWRlcn1Ae25vdFRvZ2dsZX1Ae25vdFJhZGlvfSB7XG4gICAgICAgICAgICAgICAgICAgICZcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6OmFmdGVyLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoQEByYXcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLnJhZGlvIHdoZW4gKEB2YXJpYXRpb25DaGVja2JveFJhZGlvKSB7XG4gICAgICAgICAgICAgICAgICAgICZcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKEBAcmF3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJlxuICAgICAgICAgICAgICAgICAgICBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZShAQGNpcmNsZVNjYWxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBAQGNpcmNsZUxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogQ2hlY2tib3g7XG4gICAgc3JjOiB1cmwoXCJkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtiYXNlNjQsZDA5R1JnQUJBQUFBQUFSOEFBMEFBQUFBQnR3QUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUVZQUFBQUJvQUFBQWNnYkNXSjBkRVJVWUFBQVJJQUFBQUZ3QUFBQmdBSlFBQVQxTXZNZ0FBQVpnQUFBQkFBQUFBWUE4U0JEOWpiV0Z3QUFBQjlBQUFBRk1BQUFGYzcxem82V2RoYzNBQUFBUkFBQUFBQ0FBQUFBZ0FBQUFRWjJ4NVpnQUFBbHdBQUFESkFBQUJWSHNod0dCb1pXRmtBQUFCTUFBQUFDNEFBQUEyQmozdFdXaG9aV0VBQUFGZ0FBQUFIUUFBQUNRSGZRUElhRzEwZUFBQUFkZ0FBQUFaQUFBQUhnNTZBRVZzYjJOaEFBQUNTQUFBQUJJQUFBQVNBUW9BakcxaGVIQUFBQUdBQUFBQUdBQUFBQ0FBQ2dBdmJtRnRaUUFBQXlnQUFBRG5BQUFCcDV4T0M0RndiM04wQUFBRUVBQUFBREFBQUFCYUhSdFdXM2ljWTJCa1lHQmdZbURncWJBVmplZTMrY3JBemNJQUFoYzNYaWxIcHBsM00rY0JLUTZRV2dZR0FBSG5DVnNBQUhpY1kyQmtZR0ErOFA4QUF3TUxBd2d3NzJaZ1pFQUY3QUJhSmdOT0FBQUFlSnhqWUdSZ1lPQmcwR1VBMFF3TVRBeG9BQUFGdFFBNmVKeGpZR1lXWXB6QXdNckF3RFNUNlF3REEwTS9oR1o4eldETXlNbUFDaGdGMEFRWUhCZ1lYakF4SC9oL2dNR0IrUUNJeDhDSUpLdkF3QWdBSU9jS1czaWNZMkdBQU1aUUNNMEV4Q3dNREs3TXFpQWVBQXFYQU00QUFBQjRuTjJOd1EyQU1Bd0RMMDBwSFlKSDUyQVE5bi93NkJiRkNTOVd3SkZsTzNJVXdIbDVZQVF1SmN0Y09hVmRVNlRHbUdXdDdJeEp1SFhudm1jcm5MUFIyR1diNk5uRjRycndoVDVVL28wSGY1RUpHQUFBQUFBQUFBZ0FDQUFRQUJnQVNBQnNBS29BQUhpY2hZMDlDc0pBRUlWbmRpRzJneVE3SUFTSkliSFF5dnlJaUZoWnBCRThpTnNJZWlWdllPRng3RlBiS0U2eVVjSEdnWjIzanpkOER4RGVvd0FXQ3Y3N0RlejBWZDFoQUlCK0Q3MTROTWEweU5kWVpyTWh1bTBDZmFXblQ0YnBlU1BhRWpPZDhkaklsdFRCTkJsaFNHekVTM0pxYjVvVzZVT3JFMVdCTDcvQTczbHhOQnFuSzh6blpSYk5XTWdKRVQ4cUpobFdGMUhWM3p2WFNjZUJTaWZhd3JUalRMcmQwdUkzYzRsRnU0VWNZdmJoMS9Lc0lhb2RVYXl4N0t4cit3YjhZK0VGaStZc25nQUFBSGljZmM1QlNzTkFHTVh4ZjlxMGFnVVJGeTUwTTNzaGxPb05pa0lYZGRHRmE1TjBTRXZMREtRcDJLVUg4QXh1WFhra3orSkwrTllKSlB6bWZmTm1BbHp4UzBMN0pKeHpZeDV3eG9ONXFQelpuTXJ2NWhHWGZKckh5ci9ORSs3NFV5dEpMNVJjZHllMEh1aXVlL05RK2FNNWxWL05JMjdabXNmS3Y4d1RudmhoemdaUHlZNkN5QWZNTjc3Y0ZWRmFhVkJ4WkU5T3JhV3ZqdnRjNktuMGpONDBxRG5vVnlJQng0eU1xV0pmSDdZeHVGazI3YTIvZExWR3hVcGJRbmRZcnJWbnJhemdwTzlDMWNoU2I3czNVeW1HeGxVKytEcHYvTm9WSjdjbzR6TEdrUEVQajBWQVJRQjRuR05nWXNBUE9CZ1lHSmtZbUJpWkdaZ1pXUmhaR2RuWVMvTXlEWUFBU2h1Q2FGY0xDQjlJdy9oR0FPUGRDdU1BQVFBQi8vOEFEM2ljWTJCa1lHRGdBV0lCSUdZQ1loWUlEUUFDT3dBbUFIaWNZMkJnWUdRQWducytieTFBOU1XTlY4cGhOQUJRNXdmckFBQT1cIikgZm9ybWF0KFwid29mZlwiKTtcbn1cblxuLyogQ2hlY2ttYXJrICovXG4udWkuY2hlY2tib3ggbGFiZWw6OmFmdGVyIHtcbiAgICBmb250LWZhbWlseTogQ2hlY2tib3g7XG59XG5cbi8qIENoZWNrZWQgKi9cbi51aS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZTgwMFwiO1xufVxuXG4vKiBJbmRldGVybWluYXRlICovXG4udWkuY2hlY2tib3ggaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IGxhYmVsOjphZnRlciB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbnRlbnQ6IFwiXFxlODAxXCI7XG59XG5cbi8qIFVURiBSZWZlcmVuY2Vcbi5jaGVjazo6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMCc7IH1cbi5kYXNoOjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAxJzsgfVxuLnBsdXM6OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDInOyB9XG4qL1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gRGltbWVyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJtb2R1bGVcIjtcbkBlbGVtZW50OiBcImRpbW1lclwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdEludmVydGVkOiBpZihAdmFyaWF0aW9uRGltbWVySW52ZXJ0ZWQsIGUoXCI6bm90KC5pbnZlcnRlZClcIikpO1xuQG5vdFBhZ2U6IGlmKEB2YXJpYXRpb25EaW1tZXJQYWdlLCBlKFwiOm5vdCgucGFnZSlcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRGltbWVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4uZGltbWFibGU6bm90KGJvZHkpIHtcbiAgICBwb3NpdGlvbjogQGRpbW1hYmxlUG9zaXRpb247XG59XG5cbi51aS5kaW1tZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IEBkaW1tZXJQb3NpdGlvbjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogQHRleHRBbGlnbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogQHZlcnRpY2FsQWxpZ247XG4gICAgcGFkZGluZzogQHBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogQGJhY2tncm91bmRDb2xvcjtcbiAgICBvcGFjaXR5OiBAaGlkZGVuT3BhY2l0eTtcbiAgICBsaW5lLWhlaWdodDogQGxpbmVIZWlnaHQ7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IEBkdXJhdGlvbjtcbiAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgei1pbmRleDogQHpJbmRleDtcbn1cblxuLyogRGltbWVyIENvbnRlbnQgKi9cbi51aS5kaW1tZXIgPiAuY29udGVudCB7XG4gICAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gICAgY29sb3I6IEB0ZXh0Q29sb3I7XG59XG5cbi8qIExvb3NlIENvdXBsaW5nICovXG4udWkuc2VnbWVudCA+IC51aS5kaW1tZXJAe25vdFBhZ2V9IHtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xufVxuXG4vKiBTY3JvbGxiYXJzICovXG4mIHdoZW4gKEB1c2VDdXN0b21TY3JvbGxiYXJzKSB7XG4gICAgLnVpLmRpbW1lckB7bm90SW52ZXJ0ZWR9Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0cmFja0ludmVydGVkQmFja2dyb3VuZDtcbiAgICB9XG4gICAgLnVpLmRpbW1lckB7bm90SW52ZXJ0ZWR9Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0aHVtYkludmVydGVkQmFja2dyb3VuZDtcbiAgICB9XG4gICAgLnVpLmRpbW1lckB7bm90SW52ZXJ0ZWR9Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjp3aW5kb3ctaW5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdGh1bWJJbnZlcnRlZEluYWN0aXZlQmFja2dyb3VuZDtcbiAgICB9XG4gICAgLnVpLmRpbW1lckB7bm90SW52ZXJ0ZWR9Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0aHVtYkludmVydGVkSG92ZXJCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAmIHdoZW4gKEBzdXBwb3J0SUUpIHtcbiAgICAgICAgLnVpLmRpbW1lckB7bm90SW52ZXJ0ZWR9IHtcbiAgICAgICAgICAgIC8qIElFMTEgKi9cbiAgICAgICAgICAgIHNjcm9sbGJhci1mYWNlLWNvbG9yOiBAdGh1bWJJbnZlcnRlZEJhY2tncm91bmRIZXg7XG4gICAgICAgICAgICBzY3JvbGxiYXItc2hhZG93LWNvbG9yOiBAdGh1bWJJbnZlcnRlZEJhY2tncm91bmRIZXg7XG4gICAgICAgICAgICBzY3JvbGxiYXItdHJhY2stY29sb3I6IEB0cmFja0ludmVydGVkQmFja2dyb3VuZEhleDtcbiAgICAgICAgICAgIHNjcm9sbGJhci1hcnJvdy1jb2xvcjogQHRyYWNrSW52ZXJ0ZWRCYWNrZ3JvdW5kSGV4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOiBub25lKSB7XG4gICAgICAgIC51aS5kaW1tZXJAe25vdEludmVydGVkfSB7XG4gICAgICAgICAgICAvKiBmaXJlZm94OiBmaXJzdCBjb2xvciB0aHVtYiwgc2Vjb25kIHRyYWNrICovXG4gICAgICAgICAgICBzY3JvbGxiYXItY29sb3I6IEB0aHVtYkludmVydGVkQmFja2dyb3VuZCBAdHJhY2tJbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIEFuaW1hdGluZyAqL1xuLmFuaW1hdGluZy5kaW1tYWJsZTpub3QoYm9keSksXG4uZGltbWVkLmRpbW1hYmxlOm5vdChib2R5KSB7XG4gICAgb3ZlcmZsb3c6IEBvdmVyZmxvdztcbn1cblxuLyogQW5pbWF0aW5nIC8gQWN0aXZlIC8gVmlzaWJsZSAqL1xuLmRpbW1lZC5kaW1tYWJsZSA+IC51aS5hbmltYXRpbmcuZGltbWVyLFxuLmRpbW1lZC5kaW1tYWJsZSA+IC51aS52aXNpYmxlLmRpbW1lcixcbi51aS5hY3RpdmUuZGltbWVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG9wYWNpdHk6IEB2aXNpYmxlT3BhY2l0eTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRGltbWVyRGlzYWJsZWQpIHtcbiAgICAvKiBEaXNhYmxlZCAqL1xuICAgIC51aS5kaXNhYmxlZC5kaW1tZXIge1xuICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRpbW1lckxlZ2FjeSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExlZ2FjeVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogQW5pbWF0aW5nIC8gQWN0aXZlIC8gVmlzaWJsZSAqL1xuICAgIC5kaW1tZWQuZGltbWFibGUgPiAudWkuYW5pbWF0aW5nLmxlZ2FjeS5kaW1tZXIsXG4gICAgLmRpbW1lZC5kaW1tYWJsZSA+IC51aS52aXNpYmxlLmxlZ2FjeS5kaW1tZXIsXG4gICAgLnVpLmFjdGl2ZS5sZWdhY3kuZGltbWVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25EaW1tZXJBbGlnbmVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWxpZ25tZW50XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWlbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0uZGltbWVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0uZGltbWVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRpbW1lclBhZ2UpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIFBhZ2VcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5wYWdlLmRpbW1lciB7XG4gICAgICAgIHBvc2l0aW9uOiBAcGFnZURpbW1lclBvc2l0aW9uO1xuICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IEB0cmFuc2Zvcm1TdHlsZTtcbiAgICAgICAgcGVyc3BlY3RpdmU6IEBwZXJzcGVjdGl2ZTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgJi5tb2RhbHMge1xuICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL3B1bGwvMTQ5MVxuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgICAgIC1tb3otcGVyc3BlY3RpdmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmJvZHkuYW5pbWF0aW5nLmluLmRpbW1hYmxlLFxuYm9keS5kaW1tZWQuZGltbWFibGUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmJvZHkuZGltbWFibGUgPiAuZGltbWVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRpbW1lckJsdXJyaW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQmx1cnJpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIEBzdXBwb3J0cyAobm90ICgtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogbm9uZSkpIGFuZCAobm90IChiYWNrZHJvcC1maWx0ZXI6IG5vbmUpKSB7XG4gICAgICAgIC5ibHVycmluZy5kaW1tYWJsZSA+IDpub3QoLmRpbW1lcikge1xuICAgICAgICAgICAgZmlsdGVyOiBAYmx1cnJlZFN0YXJ0RmlsdGVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogQGJsdXJyZWRUcmFuc2l0aW9uO1xuICAgICAgICB9XG4gICAgICAgIC5ibHVycmluZy5kaW1tZWQuZGltbWFibGUgPiA6bm90KC5kaW1tZXIpOm5vdCgucG9wdXApIHtcbiAgICAgICAgICAgIGZpbHRlcjogQGJsdXJyZWRFbmRGaWx0ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEaW1tZXIgQ29sb3IgKi9cbiAgICAuYmx1cnJpbmcuZGltbWFibGUgPiAuZGltbWVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGJsdXJyZWRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBAYmx1cnJlZEVuZEZpbHRlcjtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBAYmx1cnJlZEVuZEZpbHRlcjtcbiAgICB9XG4gICAgLmJsdXJyaW5nLmRpbW1hYmxlID4gLmludmVydGVkLmRpbW1lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBibHVycmVkSW52ZXJ0ZWRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uRGltbWVyQWxpZ25lZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFsaWduZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5kaW1tZXIgPiAudG9wLmFsaWduZWQuY29udGVudCA+ICoge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgICAudWkuZGltbWVyID4gLmJvdHRvbS5hbGlnbmVkLmNvbnRlbnQgPiAqIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRpbW1lclNoYWRlcykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNoYWRlc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLm1lZGl1bS5tZWRpdW0ubWVkaXVtLm1lZGl1bS5tZWRpdW0uZGltbWVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQG1lZGl1bUJhY2tncm91bmRDb2xvcjtcbiAgICB9XG4gICAgLmxpZ2h0LmxpZ2h0LmxpZ2h0LmxpZ2h0LmxpZ2h0LmRpbW1lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBsaWdodEJhY2tncm91bmRDb2xvcjtcbiAgICB9XG4gICAgLnZlcnkudmVyeS52ZXJ5LnZlcnkubGlnaHQuZGltbWVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQHZlcnlMaWdodEJhY2tncm91bmRDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRpbW1lckludmVydGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pbnZlcnRlZC5kaW1tZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5kaW1tZXIgPiAuY29udGVudCxcbiAgICAudWkuaW52ZXJ0ZWQuZGltbWVyID4gLmNvbnRlbnQgPiAqIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25EaW1tZXJTaGFkZXMpIHtcbiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEludmVydGVkIFNoYWRlc1xuICAgICAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgICAgICAubWVkaXVtLm1lZGl1bS5tZWRpdW0ubWVkaXVtLm1lZGl1bS5pbnZlcnRlZC5kaW1tZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQG1lZGl1bUludmVydGVkQmFja2dyb3VuZENvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC5saWdodC5saWdodC5saWdodC5saWdodC5saWdodC5pbnZlcnRlZC5kaW1tZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGxpZ2h0SW52ZXJ0ZWRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnZlcnkudmVyeS52ZXJ5LnZlcnkubGlnaHQuaW52ZXJ0ZWQuZGltbWVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEB2ZXJ5TGlnaHRJbnZlcnRlZEJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRGltbWVyU2ltcGxlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFNpbXBsZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogRGlzcGxheXMgd2l0aG91dCBqYXZhc2NyaXB0ICovXG4gICAgLnVpLnNpbXBsZS5kaW1tZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgei1pbmRleDogLTEwMDtcbiAgICAgICAgYmFja2dyb3VuZDogQHNpbXBsZVN0YXJ0QmFja2dyb3VuZENvbG9yO1xuICAgIH1cbiAgICAuZGltbWVkLmRpbW1hYmxlID4gLnVpLnNpbXBsZS5kaW1tZXIge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogQHNpbXBsZUVuZEJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgei1pbmRleDogQHNpbXBsZVpJbmRleDtcbiAgICB9XG5cbiAgICAudWkuc2ltcGxlLmludmVydGVkLmRpbW1lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzaW1wbGVJbnZlcnRlZFN0YXJ0QmFja2dyb3VuZENvbG9yO1xuICAgIH1cbiAgICAuZGltbWVkLmRpbW1hYmxlID4gLnVpLnNpbXBsZS5pbnZlcnRlZC5kaW1tZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAc2ltcGxlSW52ZXJ0ZWRFbmRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25EaW1tZXJQYXJ0aWFsbHkpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgUGFydGlhbGx5XG4gICAgLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpW2NsYXNzKj1cInRvcCBkaW1tZXJcIl0sXG4gICAgLnVpW2NsYXNzKj1cImNlbnRlciBkaW1tZXJcIl0sXG4gICAgLnVpW2NsYXNzKj1cImJvdHRvbSBkaW1tZXJcIl0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJib3R0b20gZGltbWVyXCJdIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJjZW50ZXIgZGltbWVyXCJdIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG5cbiAgICAudWkuc2VnbWVudCA+IC51aS51aVtjbGFzcyo9XCJ0b3AgZGltbWVyXCJdIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuICAgIC51aS5zZWdtZW50ID4gLnVpLnVpW2NsYXNzKj1cImNlbnRlciBkaW1tZXJcIl0ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgICAudWkuc2VnbWVudCA+IC51aS51aVtjbGFzcyo9XCJib3R0b20gZGltbWVyXCJdIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLnVpW2NsYXNzKj1cImNlbnRlciBkaW1tZXJcIl0udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIHVwXCJdLmluIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQ2VudGVyO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwiY2VudGVyIGRpbW1lclwiXS50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgZG93blwiXS5pbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQ2VudGVyO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwiY2VudGVyIGRpbW1lclwiXS50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgdXBcIl0ub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcENlbnRlcjtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cImNlbnRlciBkaW1tZXJcIl0udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGRvd25cIl0ub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQ2VudGVyO1xuICAgIH1cbiAgICAudWlbY2xhc3MqPVwiY2VudGVyIGRpbW1lclwiXS5ib3VuY2UudHJhbnNpdGlvbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VDZW50ZXI7XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgZmFkZUluVXBDZW50ZXIge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MCUpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGZhZGVJbkRvd25DZW50ZXIge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MCUpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGZhZGVPdXRVcENlbnRlciB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00NSUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgZmFkZU91dERvd25DZW50ZXIge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTUlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGJvdW5jZUNlbnRlciB7XG4gICAgICAgIDAlLFxuICAgICAgICAyMCUsXG4gICAgICAgIDUwJSxcbiAgICAgICAgODAlLFxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICA0MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTUwJSAtIDMwcHgpKTtcbiAgICAgICAgfVxuICAgICAgICA2MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTUwJSAtIDE1cHgpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBEcm9wZG93blxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwibW9kdWxlXCI7XG5AZWxlbWVudDogXCJkcm9wZG93blwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdFBvaW50aW5nOiBpZihAdmFyaWF0aW9uRHJvcGRvd25Qb2ludGluZywgZShcIjpub3QoLnBvaW50aW5nKVwiKSk7XG5Abm90RmxvYXRpbmc6IGlmKEB2YXJpYXRpb25Ecm9wZG93bkZsb2F0aW5nLCBlKFwiOm5vdCguZmxvYXRpbmcpXCIpKTtcbkBub3RMYWJlbGVkOiBpZihAdmFyaWF0aW9uRHJvcGRvd25MYWJlbCwgZShcIjpub3QoLmxhYmVsZWQpXCIpKTtcbkBub3RTZWFyY2g6IGlmKEB2YXJpYXRpb25Ecm9wZG93blNlYXJjaCwgZShcIjpub3QoLnNlYXJjaClcIikpO1xuQG5vdFVubGltaXRlZDogaWYoQHZhcmlhdGlvbkRyb3Bkb3duVW5saW1pdGVkLCBlKFwiOm5vdCgudW5saW1pdGVkKVwiKSk7XG5Abm90TXVsdGlwbGU6IGlmKEB2YXJpYXRpb25Ecm9wZG93bk11bHRpcGxlLCBlKFwiOm5vdCgubXVsdGlwbGUpXCIpKTtcbkBub3RTZWxlY3Rpb246IGlmKEB2YXJpYXRpb25Ecm9wZG93blNlbGVjdGlvbiwgZShcIjpub3QoLnNlbGVjdGlvbilcIikpO1xuQG5vdEJ1dHRvbjogaWYoQHZhcmlhdGlvbkRyb3Bkb3duQnV0dG9uLCBlKFwiOm5vdCguYnV0dG9uKVwiKSk7XG5Abm90U2ltcGxlOiBpZihAdmFyaWF0aW9uRHJvcGRvd25TaW1wbGUsIGUoXCI6bm90KC5zaW1wbGUpXCIpKTtcbkBub3RVcHdhcmQ6IGlmKEB2YXJpYXRpb25Ecm9wZG93blVwd2FyZCwgZShcIjpub3QoLnVwd2FyZClcIikpO1xuQG5vdEludmVydGVkOiBpZihAdmFyaWF0aW9uRHJvcGRvd25JbnZlcnRlZCwgZShcIjpub3QoLmludmVydGVkKVwiKSk7XG5cbkBub3RUcmFuc3BhcmVudDogaWYoQHZhcmlhdGlvbklucHV0VHJhbnNwYXJlbnQsIGUoXCI6bm90KC50cmFuc3BhcmVudClcIikpO1xuQG5vdFZlcnRpY2FsOiBpZihAdmFyaWF0aW9uTWVudVZlcnRpY2FsLCBlKFwiOm5vdCgudmVydGljYWwpXCIpKTtcbkBub3RJbWFnZTogaWYoQHZhcmlhdGlvbkxhYmVsSW1hZ2UsIGUoXCI6bm90KC5pbWFnZSlcIikpO1xuQG5vdENlbnRlcmVkOiBpZihAdmFyaWF0aW9uSW1hZ2VDZW50ZXJlZCwgZShcIjpub3QoLmNlbnRlcmVkKVwiKSk7XG5Abm90QXZhdGFyOiBpZihAdmFyaWF0aW9uSW1hZ2VBdmF0YXIsIGUoXCI6bm90KC5hdmF0YXIpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIERyb3Bkb3duXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuZHJvcGRvd24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgTWVudVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5kcm9wZG93biAubWVudSB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdG9wOiAxMDAlO1xuICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgbWFyZ2luOiBAbWVudU1hcmdpbjtcbiAgICBwYWRkaW5nOiBAbWVudVBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogQG1lbnVCYWNrZ3JvdW5kO1xuICAgIGZvbnQtc2l6ZTogQHJlbGF0aXZlTWVkaXVtO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIHRleHQtYWxpZ246IEBtZW51VGV4dEFsaWduO1xuICAgIGJveC1zaGFkb3c6IEBtZW51Qm94U2hhZG93O1xuICAgIGJvcmRlcjogQG1lbnVCb3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogQG1lbnVCb3JkZXJSYWRpdXM7XG4gICAgdHJhbnNpdGlvbjogQG1lbnVUcmFuc2l0aW9uO1xuICAgIHotaW5kZXg6IEBtZW51WkluZGV4O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG59XG5cbi51aS5kcm9wZG93biAubWVudSA+ICoge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIEhpZGRlbiBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5kcm9wZG93biA+IGlucHV0QHtub3RTZWFyY2h9OmZpcnN0LWNoaWxkLFxuLnVpLmRyb3Bkb3duID4gc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gRHJvcGRvd24gSWNvblxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5kcm9wZG93bkB7bm90TGFiZWxlZH0gPiAuZHJvcGRvd24uaWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1pbi13aWR0aDogQGRyb3Bkb3duSWNvbk1pbldpZHRoO1xuICAgIGZvbnQtc2l6ZTogQGRyb3Bkb3duSWNvblNpemU7XG4gICAgbWFyZ2luOiBAZHJvcGRvd25JY29uTWFyZ2luO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gLmRyb3Bkb3duLmljb24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsb2F0OiBAaXRlbURyb3Bkb3duSWNvbkZsb2F0O1xuICAgIG1hcmdpbjogQGl0ZW1Ecm9wZG93bkljb25NYXJnaW47XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSAuZHJvcGRvd24uaWNvbiArIC50ZXh0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IEBpdGVtRHJvcGRvd25JY29uRGlzdGFuY2U7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBUZXh0XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmRyb3Bkb3duID4gLnRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0cmFuc2l0aW9uOiBAdGV4dFRyYW5zaXRpb247XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgTWVudSBJdGVtXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiBAaXRlbUJvcmRlcjtcbiAgICBoZWlnaHQ6IEBpdGVtSGVpZ2h0O1xuICAgIG1pbi1oZWlnaHQ6IEBpdGVtTWluSGVpZ2h0O1xuICAgIHRleHQtYWxpZ246IEBpdGVtVGV4dEFsaWduO1xuICAgIGJvcmRlci10b3A6IEBpdGVtRGl2aWRlcjtcbiAgICBsaW5lLWhlaWdodDogQGl0ZW1MaW5lSGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogQGl0ZW1Gb250U2l6ZTtcbiAgICBjb2xvcjogQGl0ZW1Db2xvcjtcbiAgICBwYWRkaW5nOiBAaXRlbVBhZGRpbmc7XG4gICAgdGV4dC10cmFuc2Zvcm06IEBpdGVtVGV4dFRyYW5zZm9ybTtcbiAgICBmb250LXdlaWdodDogQGl0ZW1Gb250V2VpZ2h0O1xuICAgIGJveC1zaGFkb3c6IEBpdGVtQm94U2hhZG93O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xufVxuXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbS52ZXJ0aWNhbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gIEZsb2F0ZWQgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0sXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IEBmbG9hdGVkRGlzdGFuY2UgIWltcG9ydGFudDtcbn1cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSxcbi51aS5kcm9wZG93biAubWVudSAuaXRlbSA+IFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0ge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IEBmbG9hdGVkRGlzdGFuY2UgIWltcG9ydGFudDtcbn1cblxuLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtID4gaS5pY29uLmZsb2F0ZWQsXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiAuZmxhZy5mbG9hdGVkLFxuLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtID4gLmltYWdlLmZsb2F0ZWQsXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiBpbWcuZmxvYXRlZCB7XG4gICAgbWFyZ2luLXRvcDogQGl0ZW1MaW5lSGVpZ2h0T2Zmc2V0O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICBNZW51IERpdmlkZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaGVhZGVyIHtcbiAgICBtYXJnaW46IEBtZW51SGVhZGVyTWFyZ2luO1xuICAgIHBhZGRpbmc6IEBtZW51SGVhZGVyUGFkZGluZztcbiAgICBmb250LXdlaWdodDogQG1lbnVIZWFkZXJGb250V2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBAbWVudUhlYWRlclRleHRUcmFuc2Zvcm07XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaGVhZGVyOm5vdCgudWkpIHtcbiAgICBjb2xvcjogQG1lbnVIZWFkZXJDb2xvcjtcbiAgICBmb250LXNpemU6IEBtZW51SGVhZGVyRm9udFNpemU7XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogQG1lbnVEaXZpZGVyQm9yZGVyO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IEBtZW51RGl2aWRlck1hcmdpbjtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5ob3Jpem9udGFsLmRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi51aS51aS51aS5kcm9wZG93biAubWVudSA+IC5pbnB1dCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IEBtZW51SW5wdXRNYXJnaW47XG4gICAgbWluLXdpZHRoOiBAbWVudUlucHV0TWluV2lkdGg7XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaGVhZGVyICsgLmlucHV0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmlucHV0QHtub3RUcmFuc3BhcmVudH0gaW5wdXQge1xuICAgIHBhZGRpbmc6IEBtZW51SW5wdXRQYWRkaW5nO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmlucHV0QHtub3RUcmFuc3BhcmVudH0gLmJ1dHRvbixcbi51aS5kcm9wZG93biAubWVudSA+IC5pbnB1dEB7bm90VHJhbnNwYXJlbnR9IGkuaWNvbixcbi51aS5kcm9wZG93biAubWVudSA+IC5pbnB1dEB7bm90VHJhbnNwYXJlbnR9IC5sYWJlbCB7XG4gICAgcGFkZGluZy10b3A6IEBtZW51SW5wdXRWZXJ0aWNhbFBhZGRpbmc7XG4gICAgcGFkZGluZy1ib3R0b206IEBtZW51SW5wdXRWZXJ0aWNhbFBhZGRpbmc7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tXG4gIEl0ZW0gRGVzY3JpcHRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuZGVzY3JpcHRpb24sXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5kZXNjcmlwdGlvbiB7XG4gICAgZmxvYXQ6IEBpdGVtRGVzY3JpcHRpb25GbG9hdDtcbiAgICBtYXJnaW46IEBpdGVtRGVzY3JpcHRpb25NYXJnaW47XG4gICAgY29sb3I6IEBpdGVtRGVzY3JpcHRpb25Db2xvcjtcbn1cblxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0udmVydGljYWwgPiAuZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEl0ZW0gVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbS52ZXJ0aWNhbCA+IC50ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiBAdmVydGljYWxJdGVtTWFyZ2luO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIE1lc3NhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLm1lc3NhZ2Uge1xuICAgIHBhZGRpbmc6IEBtZXNzYWdlUGFkZGluZztcbiAgICBmb250LXdlaWdodDogQG1lc3NhZ2VGb250V2VpZ2h0O1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLm1lc3NhZ2U6bm90KC51aSkge1xuICAgIGNvbG9yOiBAbWVzc2FnZUNvbG9yO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIFN1YiBNZW51XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmRyb3Bkb3duIC5tZW51IC5tZW51IHtcbiAgICB0b3A6IEBzdWJNZW51VG9wO1xuICAgIGxlZnQ6IEBzdWJNZW51TGVmdDtcbiAgICByaWdodDogQHN1Yk1lbnVSaWdodDtcbiAgICBtYXJnaW46IEBzdWJNZW51TWFyZ2luICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogQHN1Yk1lbnVCb3JkZXJSYWRpdXMgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiBAc3ViTWVudVpJbmRleCAhaW1wb3J0YW50O1xufVxuXG4vKiBIaWRlIEFycm93ICovXG4udWkuZHJvcGRvd24gLm1lbnUgLm1lbnU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgU3ViIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogSWNvbnMgLyBGbGFncyAvIExhYmVscyAvIEltYWdlICovXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IGkuaWNvbnMsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IGkuaWNvbixcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmxhYmVsLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuZmxhZyxcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gaW1nLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuaW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IEB0ZXh0TGluZUhlaWdodE9mZnNldDtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gaS5pY29ucyxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gaS5pY29uLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAubGFiZWwsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5mbGFnLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuaW1hZ2UsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IGltZyB7XG4gICAgbWFyZ2luLXRvcDogQGl0ZW1MaW5lSGVpZ2h0T2Zmc2V0O1xufVxuXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IGkuaWNvbnMsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IGkuaWNvbixcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmxhYmVsLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuZmxhZyxcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gaW1nLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuaW1hZ2UsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IGkuaWNvbnMsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IGkuaWNvbixcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmxhYmVsLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuZmxhZyxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmltYWdlLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiBpbWcge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZsb2F0OiBAaXRlbUVsZW1lbnRGbG9hdDtcbiAgICBtYXJnaW4tcmlnaHQ6IEBpdGVtRWxlbWVudERpc3RhbmNlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBJbWFnZVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gaW1nLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuaW1hZ2U6bm90KC5pY29uKSxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmltYWdlOm5vdCguaWNvbiksXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IGltZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogQG1lbnVJbWFnZVZlcnRpY2FsTWFyZ2luO1xuICAgIG1hcmdpbi1ib3R0b206IEBtZW51SW1hZ2VWZXJ0aWNhbE1hcmdpbjtcbiAgICBtYXgtaGVpZ2h0OiBAbWVudUltYWdlTWF4SGVpZ2h0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ291cGxpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBNZW51XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogUmVtb3ZlIE1lbnUgSXRlbSBEaXZpZGVyICovXG4udWkuZHJvcGRvd24gLnVpLm1lbnUgPiAuaXRlbTo6YmVmb3JlLFxuLnVpLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogUHJldmVudCBNZW51IEl0ZW0gQm9yZGVyICovXG4udWkubWVudSAudWkuZHJvcGRvd24gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLyogQXV0b21hdGljYWxseSBmbG9hdCBkcm9wZG93biBtZW51IHJpZ2h0IG9uIGxhc3QgbWVudSBpdGVtICovXG4udWkubWVudSAucmlnaHQubWVudSAuZHJvcGRvd246bGFzdC1jaGlsZCA+IC5tZW51Om5vdCgubGVmdCksXG4udWkubWVudSAucmlnaHQuZHJvcGRvd24uaXRlbSA+IC5tZW51Om5vdCgubGVmdCksXG4udWkuYnV0dG9ucyA+IC51aS5kcm9wZG93bjpsYXN0LWNoaWxkID4gLm1lbnU6bm90KC5sZWZ0KSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25MYWJlbCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgTGFiZWxcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIERyb3Bkb3duIE1lbnUgKi9cbiAgICAudWkubGFiZWwuZHJvcGRvd24gLm1lbnUge1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93bkJ1dHRvbikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBCdXR0b25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIE5vIE1hcmdpbiBPbiBJY29uIEJ1dHRvbiAqL1xuICAgIC51aS5kcm9wZG93bi5pY29uLmJ1dHRvbiA+IC5kcm9wZG93bi5pY29uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAudWkuZHJvcGRvd24uYnV0dG9uIC5tZW51IHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAudWkuZHJvcGRvd24uYnV0dG9uQHtub3RQb2ludGluZ31Ae25vdEZsb2F0aW5nfS5hY3RpdmUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMCAwO1xuICAgIH1cbiAgICAudWkuZHJvcGRvd24uYnV0dG9uQHtub3RQb2ludGluZ31Ae25vdEZsb2F0aW5nfSA+IC5tZW51IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cztcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuc2VsZWN0LnVpLmRyb3Bkb3duIHtcbiAgICBoZWlnaHQ6IEBzZWxlY3RIZWlnaHQ7XG4gICAgcGFkZGluZzogQHNlbGVjdFBhZGRpbmc7XG4gICAgYm9yZGVyOiBAc2VsZWN0Qm9yZGVyO1xuICAgIHZpc2liaWxpdHk6IEBzZWxlY3RWaXNpYmlsaXR5O1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blNlbGVjdGlvbikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNlbGVjdGlvblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogRGlzcGxheXMgbGlrZSBhIHNlbGVjdCBib3ggKi9cbiAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigwKTtcbiAgICAgICAgbWluLXdpZHRoOiBAc2VsZWN0aW9uTWluV2lkdGg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IEBzZWxlY3Rpb25NaW5IZWlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzZWxlY3Rpb25CYWNrZ3JvdW5kO1xuICAgICAgICBkaXNwbGF5OiBAc2VsZWN0aW9uRGlzcGxheTtcbiAgICAgICAgcGFkZGluZzogQHNlbGVjdGlvblBhZGRpbmc7XG4gICAgICAgIGNvbG9yOiBAc2VsZWN0aW9uVGV4dENvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBAc2VsZWN0aW9uQm94U2hhZG93O1xuICAgICAgICBib3JkZXI6IEBzZWxlY3Rpb25Cb3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBzZWxlY3Rpb25Cb3JkZXJSYWRpdXM7XG4gICAgICAgIHRyYW5zaXRpb246IEBzZWxlY3Rpb25UcmFuc2l0aW9uO1xuICAgIH1cbiAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duLnZpc2libGUsXG4gICAgLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiBAc2VsZWN0aW9uWkluZGV4O1xuICAgIH1cblxuICAgIC51aS5zZWxlY3Rpb24uZHJvcGRvd24gPiAuc2VhcmNoLmljb24sXG4gICAgLnVpLnNlbGVjdGlvbi5kcm9wZG93biA+IC5kZWxldGUuaWNvbixcbiAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBzZWFyY2hTZWxlY3Rpb25MaW5lSGVpZ2h0O1xuICAgICAgICB0b3A6IEBzZWxlY3Rpb25WZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgIHJpZ2h0OiBAc2VsZWN0aW9uSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgICAgIHotaW5kZXg6IEBzZWxlY3Rpb25JY29uWkluZGV4O1xuICAgICAgICBtYXJnaW46IEBzZWxlY3Rpb25JY29uTWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiBAc2VsZWN0aW9uSWNvblBhZGRpbmc7XG4gICAgICAgIG9wYWNpdHk6IEBzZWxlY3Rpb25JY29uT3BhY2l0eTtcbiAgICAgICAgdHJhbnNpdGlvbjogQHNlbGVjdGlvbkljb25UcmFuc2l0aW9uO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93bkNvbXBhY3QpIHtcbiAgICAgICAgLyogQ29tcGFjdCAqL1xuICAgICAgICAudWkuY29tcGFjdC5zZWxlY3Rpb24uZHJvcGRvd24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgJiA+IC5tZW51IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAmOm5vdCgubXVsdGlsaW5lKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBTZWxlY3Rpb24gTWVudSAqL1xuICAgIC51aS5zZWxlY3Rpb24uZHJvcGRvd25Ae25vdFVubGltaXRlZH0gLm1lbnUge1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IEBvdmVyc2Nyb2xsQmVoYXZpb3I7XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCAtQG1lbnVCb3JkZXJXaWR0aDtcbiAgICAgICAgbWluLXdpZHRoOiBAbWVudU1pbldpZHRoO1xuICAgICAgICB3aWR0aDogQG1lbnVNaW5XaWR0aDtcbiAgICAgICAgYm94LXNoYWRvdzogQHNlbGVjdGlvbk1lbnVCb3hTaGFkb3c7XG4gICAgICAgIHRyYW5zaXRpb246IEBzZWxlY3Rpb25NZW51VHJhbnNpdGlvbjtcbiAgICB9XG4gICAgLnVpLnNlbGVjdGlvbi5kcm9wZG93bkB7bm90UG9pbnRpbmd9QHtub3RGbG9hdGluZ30gPiAubWVudSB7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBzZWxlY3Rpb25NZW51Qm9yZGVyUmFkaXVzO1xuICAgIH1cbiAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51OjphZnRlcixcbiAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51OjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIE1lc3NhZ2VcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUgPiAubWVzc2FnZSB7XG4gICAgICAgIHBhZGRpbmc6IEBzZWxlY3Rpb25NZXNzYWdlUGFkZGluZztcbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duU2hvcnQpIHtcbiAgICAgICAgICAgIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd24uc2hvcnQgLm1lbnUge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzZWxlY3Rpb25Nb2JpbGVNYXhNZW51SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd25bY2xhc3MqPVwidmVyeSBzaG9ydFwiXSAubWVudSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlbGVjdGlvbk1vYmlsZU1heE1lbnVIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNlbGVjdGlvbi5kcm9wZG93bkB7bm90VW5saW1pdGVkfSAubWVudSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2VsZWN0aW9uTW9iaWxlTWF4TWVudUhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93bkxvbmcpIHtcbiAgICAgICAgICAgIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd24ubG9uZyAubWVudSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlbGVjdGlvbk1vYmlsZU1heE1lbnVIZWlnaHQgKiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bltjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0gLm1lbnUge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzZWxlY3Rpb25Nb2JpbGVNYXhNZW51SGVpZ2h0ICogMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSB7XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duU2hvcnQpIHtcbiAgICAgICAgICAgIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd24uc2hvcnQgLm1lbnUge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzZWxlY3Rpb25UYWJsZXRNYXhNZW51SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd25bY2xhc3MqPVwidmVyeSBzaG9ydFwiXSAubWVudSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlbGVjdGlvblRhYmxldE1heE1lbnVIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNlbGVjdGlvbi5kcm9wZG93bkB7bm90VW5saW1pdGVkfSAubWVudSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2VsZWN0aW9uVGFibGV0TWF4TWVudUhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93bkxvbmcpIHtcbiAgICAgICAgICAgIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd24ubG9uZyAubWVudSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlbGVjdGlvblRhYmxldE1heE1lbnVIZWlnaHQgKiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bltjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0gLm1lbnUge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzZWxlY3Rpb25UYWJsZXRNYXhNZW51SGVpZ2h0ICogMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBjb21wdXRlckJyZWFrcG9pbnQpIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25TaG9ydCkge1xuICAgICAgICAgICAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5zaG9ydCAubWVudSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlbGVjdGlvbkNvbXB1dGVyTWF4TWVudUhlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gLm1lbnUge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzZWxlY3Rpb25Db21wdXRlck1heE1lbnVIZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNlbGVjdGlvbi5kcm9wZG93bkB7bm90VW5saW1pdGVkfSAubWVudSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2VsZWN0aW9uQ29tcHV0ZXJNYXhNZW51SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duTG9uZykge1xuICAgICAgICAgICAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5sb25nIC5tZW51IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2VsZWN0aW9uQ29tcHV0ZXJNYXhNZW51SGVpZ2h0ICogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd25bY2xhc3MqPVwidmVyeSBsb25nXCJdIC5tZW51IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2VsZWN0aW9uQ29tcHV0ZXJNYXhNZW51SGVpZ2h0ICogMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB3aWRlc2NyZWVuTW9uaXRvckJyZWFrcG9pbnQpIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25TaG9ydCkge1xuICAgICAgICAgICAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5zaG9ydCAubWVudSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlbGVjdGlvbldpZGVzY3JlZW5NYXhNZW51SGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd25bY2xhc3MqPVwidmVyeSBzaG9ydFwiXSAubWVudSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlbGVjdGlvbldpZGVzY3JlZW5NYXhNZW51SGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS5zZWxlY3Rpb24uZHJvcGRvd25Ae25vdFVubGltaXRlZH0gLm1lbnUge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlbGVjdGlvbldpZGVzY3JlZW5NYXhNZW51SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duTG9uZykge1xuICAgICAgICAgICAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5sb25nIC5tZW51IHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2VsZWN0aW9uV2lkZXNjcmVlbk1heE1lbnVIZWlnaHQgKiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLnVpLnNlbGVjdGlvbi5kcm9wZG93bltjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0gLm1lbnUge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzZWxlY3Rpb25XaWRlc2NyZWVuTWF4TWVudUhlaWdodCAqIDM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBNZW51IEl0ZW0gKi9cbiAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICAgICAgICBib3JkZXItdG9wOiBAc2VsZWN0aW9uSXRlbURpdmlkZXI7XG4gICAgICAgIHBhZGRpbmc6IEBzZWxlY3Rpb25JdGVtUGFkZGluZztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duUG9pbnRpbmcpIG9yIChAdmFyaWF0aW9uRHJvcGRvd25GbG9hdGluZykge1xuICAgICAgICAudWkuc2VsZWN0aW9uLnBvaW50aW5nLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQsXG4gICAgICAgIC51aS5zZWxlY3Rpb24uZmxvYXRpbmcuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogVXNlciBJdGVtICovXG4gICAgLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSA+IC5oaWRkZW4uYWRkaXRpb24uaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogVXNlciBhZGRpdGlvbiBpdGVtICovXG4gICAgLnVpLmRyb3Bkb3duID4gLm1lbnUgPiAuc3R1Y2suYWRkaXRpb24uaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm94LXNoYWRvdzogQHNlbGVjdGlvblZpc2libGVCb3hTaGFkb3c7XG4gICAgICAgIGJhY2tncm91bmQ6IEBtZW51QmFja2dyb3VuZDtcbiAgICAgICAgei1pbmRleDogQGFkZGl0aW9uWkluZGV4O1xuICAgIH1cblxuICAgIC8qIEhvdmVyICovXG4gICAgLnVpLnNlbGVjdGlvbi5kcm9wZG93bjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQHNlbGVjdGlvbkhvdmVyQm9yZGVyQ29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IEBzZWxlY3Rpb25Ib3ZlckJveFNoYWRvdztcbiAgICB9XG5cbiAgICAvKiBBY3RpdmUgKi9cbiAgICAudWkuc2VsZWN0aW9uLnNpbXBsZS5kcm9wZG93bjpob3ZlcixcbiAgICAudWkuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93biB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQHNlbGVjdGlvblZpc2libGVCb3JkZXJDb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogQHNlbGVjdGlvblZpc2libGVCb3hTaGFkb3c7XG4gICAgfVxuICAgIC51aS5zZWxlY3Rpb24uc2ltcGxlLmRyb3Bkb3duOmhvdmVyIC5tZW51LFxuICAgIC51aS5zZWxlY3Rpb24uYWN0aXZlLmRyb3Bkb3duIC5tZW51IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAc2VsZWN0aW9uVmlzaWJsZUJvcmRlckNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBAc2VsZWN0aW9uVmlzaWJsZU1lbnVCb3hTaGFkb3c7XG4gICAgfVxuXG4gICAgLyogRm9jdXMgKi9cbiAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAc2VsZWN0aW9uRm9jdXNCb3JkZXJDb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogQHNlbGVjdGlvbkZvY3VzQm94U2hhZG93O1xuICAgIH1cbiAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duOmZvY3VzIC5tZW51IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAc2VsZWN0aW9uRm9jdXNCb3JkZXJDb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogQHNlbGVjdGlvbkZvY3VzTWVudUJveFNoYWRvdztcbiAgICB9XG4gICAgQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoLmYpKSB7XG4gICAgICAgIC51aS51aS5zZWxlY3Rpb24uZHJvcGRvd25Ae25vdEludmVydGVkfTpoYXMoPiBpbnB1dDpmb2N1cykge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAc2VsZWN0aW9uRm9jdXNCb3JkZXJDb2xvcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAmID4gaS5pY29uIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiBAc2VsZWN0aW9uSWNvbkZvY3VzT3BhY2l0eTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkudWkuc2VsZWN0aW9uLmRyb3Bkb3duOmZvY3VzID4gaS5pY29uIHtcbiAgICAgICAgb3BhY2l0eTogQHNlbGVjdGlvbkljb25Gb2N1c09wYWNpdHk7XG4gICAgfVxuXG4gICAgLyogVmlzaWJsZSAqL1xuICAgIC51aS5zZWxlY3Rpb24udmlzaWJsZS5kcm9wZG93biA+IC50ZXh0Om5vdCguZGVmYXVsdCkge1xuICAgICAgICBmb250LXdlaWdodDogQHNlbGVjdGlvblZpc2libGVUZXh0Rm9udFdlaWdodDtcbiAgICAgICAgY29sb3I6IEBzZWxlY3Rpb25WaXNpYmxlVGV4dENvbG9yO1xuICAgIH1cblxuICAgIC8qIFZpc2libGUgSG92ZXIgKi9cbiAgICAudWkuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93bjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQHNlbGVjdGlvbkFjdGl2ZUhvdmVyQm9yZGVyQ29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IEBzZWxlY3Rpb25BY3RpdmVIb3ZlckJveFNoYWRvdztcbiAgICB9XG4gICAgLnVpLnNlbGVjdGlvbi5hY3RpdmUuZHJvcGRvd246aG92ZXIgLm1lbnUge1xuICAgICAgICBib3JkZXItY29sb3I6IEBzZWxlY3Rpb25BY3RpdmVIb3ZlckJvcmRlckNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBAc2VsZWN0aW9uQWN0aXZlSG92ZXJNZW51Qm94U2hhZG93O1xuICAgIH1cblxuICAgIC8qIERyb3Bkb3duIEljb24gKi9cbiAgICAudWkuYWN0aXZlLnNlbGVjdGlvbi5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uLFxuICAgIC51aS52aXNpYmxlLnNlbGVjdGlvbi5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgICAgICAgb3BhY2l0eTogQHNlbGVjdGlvblZpc2libGVJY29uT3BhY2l0eTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbiAgICAvKiBDb25uZWN0aW5nIEJvcmRlciAqL1xuICAgIC51aS5hY3RpdmUuc2VsZWN0aW9uLmRyb3Bkb3duQHtub3RQb2ludGluZ31Ae25vdEZsb2F0aW5nfSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEBzZWxlY3Rpb25WaXNpYmxlQ29ubmVjdGluZ0JvcmRlciAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQHNlbGVjdGlvblZpc2libGVDb25uZWN0aW5nQm9yZGVyICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogRW1wdHkgQ29ubmVjdGluZyBCb3JkZXIgKi9cbiAgICAudWkuYWN0aXZlLmVtcHR5LnNlbGVjdGlvbi5kcm9wZG93biB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBzZWxlY3Rpb25Cb3JkZXJSYWRpdXMgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogQHNlbGVjdGlvbkJveFNoYWRvdyAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkuYWN0aXZlLmVtcHR5LnNlbGVjdGlvbi5kcm9wZG93biAubWVudSB7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duU2Nyb2xsaGludCkge1xuICAgICAgICAvKiBDU1Mgc3BlY2lmaWMgdG8gaU9TIGRldmljZXMgb3IgZmlyZWZveCBtb2JpbGUgb25seSAqL1xuICAgICAgICBAc3VwcG9ydHMgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkgb3IgKC1tb3otYXBwZWFyYW5jZTogbm9uZSkge1xuICAgICAgICAgICAgQG1lZGlhICgtbW96LXRvdWNoLWVuYWJsZWQpLCAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgICAgICAgICAgICAgLnVpLmRyb3Bkb3duIC5zY3JvbGxoaW50Lm1lbnU6bm90KC5oaWRkZW4pOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IHNjcm9sbGhpbnQgQHNjcm9sbGhpbnREdXJhdGlvbiBAc2Nyb2xsaGludEVhc2luZyBAc2Nyb2xsaGludEl0ZXJhdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogQHNjcm9sbGhpbnRaSW5kZXg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBAc2Nyb2xsaGludE9mZnNldFJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBAc2Nyb2xsaGludFJpZ2h0Qm9yZGVyO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogQHNjcm9sbGhpbnRMZWZ0Qm9yZGVyO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIEBzY3JvbGxoaW50U3RhcnRDb2xvciwgQHNjcm9sbGhpbnRFbmRDb2xvcikgMSAxMDAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5kcm9wZG93biAuc2Nyb2xsaGludC5tZW51Om5vdCguaGlkZGVuKTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBAaW52ZXJ0ZWRTY3JvbGxoaW50U3RhcnRDb2xvciwgQGludmVydGVkU2Nyb2xsaGludEVuZENvbG9yKSAxIDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGtleWZyYW1lcyBzY3JvbGxoaW50IHtcbiAgICAgICAgICAgICAgICAgICAgMCUge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duU2VhcmNoKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTZWFyY2hhYmxlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBTZWFyY2ggU2VsZWN0aW9uICovXG4gICAgLnVpLnNlYXJjaC5kcm9wZG93biB7XG4gICAgICAgIG1pbi13aWR0aDogQHNlYXJjaE1pbldpZHRoO1xuICAgIH1cblxuICAgIC8qIFNlYXJjaCBEcm9wZG93biAqL1xuICAgIC51aS5zZWFyY2guZHJvcGRvd24gPiBpbnB1dC5zZWFyY2gge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGN1cnNvcjogdGV4dDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiBAdGV4dEN1cnNvclNwYWNpbmc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gICAgICAgIHBhZGRpbmc6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyogVGV4dCBMYXllcmluZyAqL1xuICAgIC51aS5zZWFyY2guZHJvcGRvd24gPiBpbnB1dC5zZWFyY2gge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICAgIC51aS5zZWFyY2guZHJvcGRvd24gPiAudGV4dCB7XG4gICAgICAgIGN1cnNvcjogdGV4dDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiBAdGV4dEN1cnNvclNwYWNpbmc7XG4gICAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25TZWxlY3Rpb24pIHtcbiAgICAgICAgLyogU2VhcmNoIFNlbGVjdGlvbiAqL1xuICAgICAgICAudWkuc2VhcmNoLnNlbGVjdGlvbi5kcm9wZG93biA+IGlucHV0LnNlYXJjaCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogQHNlYXJjaFNlbGVjdGlvbkxpbmVIZWlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiBAc2VhcmNoU2VsZWN0aW9uSW5wdXRQYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogVXNlZCB0byBzaXplIG11bHRpIHNlbGVjdCBpbnB1dCB0byBjaGFyYWN0ZXIgd2lkdGggKi9cbiAgICAgICAgLnVpLnNlYXJjaC5zZWxlY3Rpb24uZHJvcGRvd24gPiBzcGFuLnNpemVyIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBAc2VhcmNoU2VsZWN0aW9uTGluZUhlaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IEBzZWFyY2hTZWxlY3Rpb25JbnB1dFBhZGRpbmc7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEFjdGl2ZS9WaXNpYmxlIFNlYXJjaCAqL1xuICAgIC51aS5zZWFyY2guZHJvcGRvd24uYWN0aXZlID4gaW5wdXQuc2VhcmNoLFxuICAgIC51aS5zZWFyY2guZHJvcGRvd24udmlzaWJsZSA+IGlucHV0LnNlYXJjaCB7XG4gICAgICAgIGN1cnNvcjogYXV0bztcbiAgICB9XG4gICAgLnVpLnNlYXJjaC5kcm9wZG93bi5hY3RpdmUgPiAudGV4dCxcbiAgICAudWkuc2VhcmNoLmRyb3Bkb3duLnZpc2libGUgPiAudGV4dCB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC8qIEZpbHRlcmVkIFRleHQgKi9cbiAgICAudWkuYWN0aXZlLnNlYXJjaC5kcm9wZG93biBpbnB1dC5zZWFyY2g6Zm9jdXMgKyAudGV4dCBpLmljb24sXG4gICAgLnVpLmFjdGl2ZS5zZWFyY2guZHJvcGRvd24gaW5wdXQuc2VhcmNoOmZvY3VzICsgLnRleHQgLmZsYWcge1xuICAgICAgICBvcGFjaXR5OiBAc2VsZWN0aW9uVGV4dFVuZGVybGF5SWNvbk9wYWNpdHk7XG4gICAgfVxuICAgIC51aS5hY3RpdmUuc2VhcmNoLmRyb3Bkb3duIGlucHV0LnNlYXJjaDpmb2N1cyArIC50ZXh0IHtcbiAgICAgICAgY29sb3I6IEBzZWxlY3Rpb25UZXh0VW5kZXJsYXlDb2xvcjtcbiAgICB9XG5cbiAgICAudWkuc2VhcmNoLmRyb3Bkb3duLmJ1dHRvbiA+IHNwYW4uc2l6ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFNlYXJjaCBNZW51ICovXG4gICAgLnVpLnNlYXJjaC5kcm9wZG93bkB7bm90VW5saW1pdGVkfSAubWVudSB7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogQG92ZXJzY3JvbGxCZWhhdmlvcjtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgICAgIC51aS5zZWFyY2guZHJvcGRvd25Ae25vdFVubGltaXRlZH0gLm1lbnUge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlYXJjaE1vYmlsZU1heE1lbnVIZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAdGFibGV0QnJlYWtwb2ludCkge1xuICAgICAgICAudWkuc2VhcmNoLmRyb3Bkb3duQHtub3RVbmxpbWl0ZWR9IC5tZW51IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzZWFyY2hUYWJsZXRNYXhNZW51SGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGNvbXB1dGVyQnJlYWtwb2ludCkge1xuICAgICAgICAudWkuc2VhcmNoLmRyb3Bkb3duQHtub3RVbmxpbWl0ZWR9IC5tZW51IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzZWFyY2hDb21wdXRlck1heE1lbnVIZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAd2lkZXNjcmVlbk1vbml0b3JCcmVha3BvaW50KSB7XG4gICAgICAgIC51aS5zZWFyY2guZHJvcGRvd25Ae25vdFVubGltaXRlZH0gLm1lbnUge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNlYXJjaFdpZGVzY3JlZW5NYXhNZW51SGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93bkNsZWFyKSB7XG4gICAgLyogQ2xlYXJhYmxlIFNlbGVjdGlvbiAqL1xuICAgIC51aS5kcm9wZG93biA+IC5yZW1vdmUuaWNvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiBAZHJvcGRvd25JY29uU2l6ZTtcbiAgICAgICAgbWFyZ2luOiBAc2VsZWN0aW9uSWNvbk1hcmdpbjtcbiAgICAgICAgcGFkZGluZzogQHNlbGVjdGlvbkljb25QYWRkaW5nO1xuICAgICAgICByaWdodDogQGNsZWFyYWJsZUljb25Qb3NpdGlvbjtcbiAgICAgICAgdG9wOiBAc2VsZWN0aW9uVmVydGljYWxQYWRkaW5nO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG9wYWNpdHk6IEBjbGVhcmFibGVJY29uT3BhY2l0eTtcbiAgICAgICAgei1pbmRleDogQHNlbGVjdGlvbkljb25aSW5kZXg7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duU2VsZWN0aW9uKSB7XG4gICAgICAgIC51aS5zZWxlY3Rpb24uZHJvcGRvd24gPiAucmVtb3ZlLmljb24ge1xuICAgICAgICAgICAgcmlnaHQ6IEBjbGVhcmFibGVJY29uU2VsZWN0aW9uUG9zaXRpb247XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25JbmxpbmUpIHtcbiAgICAgICAgLnVpLmlubGluZS5kcm9wZG93biA+IC5yZW1vdmUuaWNvbiB7XG4gICAgICAgICAgICByaWdodDogQGNsZWFyYWJsZUljb25JbmxpbmVQb3NpdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS5jbGVhcmFibGUuZHJvcGRvd24gLnRleHQ6bm90KC5kZWZhdWx0KSxcbiAgICAudWkuY2xlYXJhYmxlLmRyb3Bkb3duQHtub3RTZWFyY2h9ID4gLnVpLmxhYmVsOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogQGNsZWFyYWJsZVRleHRNYXJnaW47XG4gICAgfVxuXG4gICAgLnVpLmRyb3Bkb3duIHNlbGVjdC5ub3NlbGVjdGlvbiB+IC5yZW1vdmUuaWNvbixcbiAgICAudWkuZHJvcGRvd24gaW5wdXRbdmFsdWU9XCJcIl0gfiAucmVtb3ZlLmljb24sXG4gICAgLnVpLmRyb3Bkb3duIGlucHV0Om5vdChbdmFsdWVdKUB7bm90U2VhcmNofSB+IC5yZW1vdmUuaWNvbixcbiAgICAudWkuZHJvcGRvd24ubG9hZGluZyA+IC5yZW1vdmUuaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVpLmRyb3Bkb3duQHtub3RTZWxlY3Rpb259ID4gLnJlbW92ZS5pY29uIH4gLmRyb3Bkb3duLmljb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogQGNsZWFyYWJsZUljb25NYXJnaW47XG4gICAgfVxuICAgIC51aS5kcm9wZG93bkB7bm90U2VsZWN0aW9ufUB7bm90TXVsdGlwbGV9ID4gLnJlbW92ZS5pY29uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLUBjbGVhcmFibGVJY29uTWFyZ2luVG9wO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25NdWx0aXBsZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIE11bHRpcGxlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBNdWx0aXBsZSBTZWxlY3Rpb24gKi9cbiAgICAudWkudWkubXVsdGlwbGUuZHJvcGRvd24ge1xuICAgICAgICBwYWRkaW5nOiBAbXVsdGlwbGVTZWxlY3Rpb25QYWRkaW5nO1xuICAgIH1cbiAgICAudWkubXVsdGlwbGUuZHJvcGRvd24gLm1lbnUge1xuICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgfVxuXG4gICAgLyogU2VsZWN0aW9uIExhYmVsICovXG4gICAgLnVpLm11bHRpcGxlLmRyb3Bkb3duID4gLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IEBsYWJlbFNpemU7XG4gICAgICAgIHBhZGRpbmc6IEBsYWJlbFBhZGRpbmc7XG4gICAgICAgIG1hcmdpbjogQGxhYmVsTWFyZ2luO1xuICAgICAgICBib3gtc2hhZG93OiBAbGFiZWxCb3hTaGFkb3c7XG4gICAgfVxuXG4gICAgLyogRHJvcGRvd24gSWNvbiAqL1xuICAgIC51aS5tdWx0aXBsZS5kcm9wZG93biAuZHJvcGRvd24uaWNvbiB7XG4gICAgICAgIG1hcmdpbjogQG11bHRpcGxlU2VsZWN0aW9uRHJvcGRvd25JY29uTWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiBAbXVsdGlwbGVTZWxlY3Rpb25Ecm9wZG93bkljb25QYWRkaW5nO1xuICAgIH1cblxuICAgIC8qIFRleHQgKi9cbiAgICAudWkubXVsdGlwbGUuZHJvcGRvd24gPiAudGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiBAbXVsdGlwbGVTZWxlY3Rpb25DaGlsZE1hcmdpbjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBtdWx0aXBsZVNlbGVjdGlvbkNoaWxkTGluZUhlaWdodDtcbiAgICAgICAgJi5kZWZhdWx0IHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLm11bHRpcGxlLmRyb3Bkb3duID4gLmxhYmVsIH4gaW5wdXQuc2VhcmNoIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBtdWx0aXBsZVNlbGVjdGlvblNlYXJjaEFmdGVyTGFiZWxEaXN0YW5jZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWwgfiAudGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC51aS5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbEB7bm90SW1hZ2V9ID4gaW1nQHtub3RDZW50ZXJlZH0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBpdGVtRWxlbWVudERpc3RhbmNlO1xuICAgIH1cbiAgICAudWkubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWxAe25vdEltYWdlfSA+IGltZy51aUB7bm90QXZhdGFyfSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IEBpdGVtRWxlbWVudEJvdHRvbURpc3RhbmNlO1xuICAgIH1cbiAgICAudWkubXVsdGlwbGUuZHJvcGRvd24gPiAuaW1hZ2UubGFiZWwgaW1nIHtcbiAgICAgICAgbWFyZ2luOiBAaW1hZ2VMYWJlbEltYWdlTWFyZ2luO1xuICAgICAgICBoZWlnaHQ6IEBpbWFnZUxhYmVsSGVpZ2h0O1xuICAgIH1cbiAgICAudWkubXVsdGlwbGUuZHJvcGRvd25Ae25vdFNlbGVjdGlvbn1Ae25vdExhYmVsZWR9IHtcbiAgICAgICAgJiA+IC5kcm9wZG93bi5pY29uIHtcbiAgICAgICAgICAgIHJpZ2h0OiBAZHJvcGRvd25JY29uTXVsdGlwbGVSaWdodDtcbiAgICAgICAgfVxuICAgICAgICAmID4gLnJlbW92ZS5pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQGRyb3Bkb3duSWNvbk11bHRpcGxlUmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJkB7bm90U2VhcmNofSA+IC5yZW1vdmUuaWNvbiB+IC50ZXh0LmRlZmF1bHQsXG4gICAgICAgID4gLnRleHQuZGVmYXVsdDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duU2VhcmNoKSB7XG4gICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgTXVsdGlwbGUgU2VhcmNoXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAgICAgLyogTXVsdGlwbGUgU2VhcmNoIFNlbGVjdGlvbiAqL1xuICAgICAgICAudWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duLFxuICAgICAgICAudWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duID4gaW5wdXQuc2VhcmNoIHtcbiAgICAgICAgICAgIGN1cnNvcjogdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFByb21wdCBUZXh0ICovXG4gICAgICAgIC51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd24gPiAudGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogaW5oZXJpdDtcbiAgICAgICAgICAgIG1hcmdpbjogQG11bHRpcGxlU2VsZWN0aW9uQ2hpbGRNYXJnaW47XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogQG11bHRpcGxlU2VsZWN0aW9uQ2hpbGRMaW5lSGVpZ2h0O1xuICAgICAgICAgICAgJi5kZWZhdWx0IHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd24gPiAubGFiZWwgfiAudGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogU2VhcmNoICovXG4gICAgICAgIC51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd24gPiBpbnB1dC5zZWFyY2gge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IEBtdWx0aXBsZVNlbGVjdGlvbkNoaWxkTWFyZ2luO1xuICAgICAgICAgICAgd2lkdGg6IEBtdWx0aXBsZVNlbGVjdGlvblNlYXJjaFN0YXJ0V2lkdGg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogQG11bHRpcGxlU2VsZWN0aW9uQ2hpbGRMaW5lSGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLm11bHRpcGxlLnNlYXJjaC5kcm9wZG93bi5idXR0b24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiBAc2VsZWN0aW9uTWluV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLm11bHRpcGxlLnNlYXJjaC5kcm9wZG93biA+IHNwYW4uc2l6ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAudWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duQHtub3RTZWxlY3Rpb259ID4gLnJlbW92ZS5pY29uICsgaW5wdXQuc2VhcmNoLFxuICAgICAgICAudWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duQHtub3RTZWxlY3Rpb259ID4gaW5wdXQuc2VhcmNoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogQG11bHRpcGxlU2VhcmNoTWluV2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duSW5saW5lKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIElubGluZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmlubGluZS5kcm9wZG93biB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogQGlubGluZVRleHRDb2xvcjtcbiAgICB9XG4gICAgLnVpLmlubGluZS5kcm9wZG93biAuZHJvcGRvd24uaWNvbiB7XG4gICAgICAgIG1hcmdpbjogQGlubGluZUljb25NYXJnaW47XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG4gICAgLnVpLmlubGluZS5kcm9wZG93biA+IC50ZXh0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBpbmxpbmVUZXh0Rm9udFdlaWdodDtcbiAgICB9XG4gICAgLnVpLmlubGluZS5kcm9wZG93biAubWVudSB7XG4gICAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogQGlubGluZU1lbnVEaXN0YW5jZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGlubGluZU1lbnVCb3JkZXJSYWRpdXM7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogTWVudSBJdGVtIEFjdGl2ZSAqL1xuLnVpLmRyb3Bkb3duIC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gICAgYmFja2dyb3VuZDogQGFjdGl2ZUl0ZW1CYWNrZ3JvdW5kO1xuICAgIGZvbnQtd2VpZ2h0OiBAYWN0aXZlSXRlbUZvbnRXZWlnaHQ7XG4gICAgY29sb3I6IEBhY3RpdmVJdGVtQ29sb3I7XG4gICAgYm94LXNoYWRvdzogQGFjdGl2ZUl0ZW1Cb3hTaGFkb3c7XG4gICAgei1pbmRleDogQGFjdGl2ZUl0ZW1aSW5kZXg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIE1lbnUgSXRlbSBIb3ZlciAqL1xuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IEBob3ZlcmVkSXRlbUJhY2tncm91bmQ7XG4gICAgY29sb3I6IEBob3ZlcmVkSXRlbUNvbG9yO1xuICAgIHotaW5kZXg6IEBob3ZlcmVkWkluZGV4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBEZWZhdWx0IFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmRyb3Bkb3duQHtub3RCdXR0b259ID4gLmRlZmF1bHQudGV4dCxcbi51aS5kZWZhdWx0LmRyb3Bkb3duQHtub3RCdXR0b259ID4gLnRleHQge1xuICAgIGNvbG9yOiBAZGVmYXVsdFRleHRDb2xvcjtcbn1cbi51aS5kcm9wZG93bkB7bm90QnV0dG9ufSA+IGlucHV0OmZvY3VzIH4gLmRlZmF1bHQudGV4dCxcbi51aS5kZWZhdWx0LmRyb3Bkb3duQHtub3RCdXR0b259ID4gaW5wdXQ6Zm9jdXMgfiAudGV4dCB7XG4gICAgY29sb3I6IEBkZWZhdWx0VGV4dEZvY3VzQ29sb3I7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duTG9hZGluZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIExvYWRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5sb2FkaW5nLmRyb3Bkb3duID4gaS5pY29uIHtcbiAgICAgICAgaGVpZ2h0OiBAcmVsYXRpdmUxNHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5sb2FkaW5nLnNlbGVjdGlvbi5kcm9wZG93biA+IGkuaWNvbiB7XG4gICAgICAgIHBhZGRpbmc6IEByZWxhdGl2ZTIxcHggQHJlbGF0aXZlMThweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkubG9hZGluZy5kcm9wZG93biA+IGkuaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW46IEBsb2FkZXJNYXJnaW47XG4gICAgICAgIHdpZHRoOiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuICAgICAgICBib3JkZXI6IEBsb2FkZXJMaW5lV2lkdGggc29saWQgQGxvYWRlckZpbGxDb2xvcjtcbiAgICB9XG4gICAgLnVpLmxvYWRpbmcuZHJvcGRvd24gPiBpLmljb246OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gICAgICAgIG1hcmdpbjogQGxvYWRlck1hcmdpbjtcbiAgICAgICAgd2lkdGg6IEBsb2FkZXJTaXplO1xuICAgICAgICBoZWlnaHQ6IEBsb2FkZXJTaXplO1xuICAgICAgICBhbmltYXRpb246IGxvYWRlciBAbG9hZGVyU3BlZWQgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICBib3JkZXI6IEBsb2FkZXJMaW5lV2lkdGggc29saWQgQGxvYWRlckxpbmVDb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuICAgIH1cblxuICAgIC8qIENvdXBsaW5nICovXG4gICAgLnVpLmxvYWRpbmcuZHJvcGRvd24uYnV0dG9uID4gaS5pY29uOjpiZWZvcmUsXG4gICAgLnVpLmxvYWRpbmcuZHJvcGRvd24uYnV0dG9uID4gaS5pY29uOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVpLmxvYWRpbmcuZHJvcGRvd24gPiAudGV4dCB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLyogVXNlZCBUbyBDaGVjayBQb3NpdGlvbiAqL1xuICAgIC51aS5kcm9wZG93biAubG9hZGluZy5tZW51IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogQGxvYWRpbmdaSW5kZXg7XG4gICAgfVxuICAgIC51aS5kcm9wZG93biA+IC5sb2FkaW5nLm1lbnUge1xuICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC51aS5kcm9wZG93biA+IC5tZW51IC5sb2FkaW5nLm1lbnUge1xuICAgICAgICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEtleWJvYXJkIFNlbGVjdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBTZWxlY3RlZCBJdGVtICovXG4udWkuZHJvcGRvd24uc2VsZWN0ZWQsXG4udWkuZHJvcGRvd24gLm1lbnUgLnNlbGVjdGVkLml0ZW0ge1xuICAgIGJhY2tncm91bmQ6IEBzZWxlY3RlZEJhY2tncm91bmQ7XG4gICAgY29sb3I6IEBzZWxlY3RlZENvbG9yO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNlYXJjaCBGaWx0ZXJlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBGaWx0ZXJlZCBJdGVtICovXG4udWkuZHJvcGRvd24gPiAuZmlsdGVyZWQudGV4dCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnVpLmRyb3Bkb3duIC5maWx0ZXJlZC5pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25Ecm9wZG93blN0YXRlcyA9IGZhbHNlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFN0YXRlc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICBlYWNoKEB2YXJpYXRpb25Ecm9wZG93blN0YXRlcywge1xuICAgICAgICBAc3RhdGU6IEB2YWx1ZTtcbiAgICAgICAgQGM6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2Ryb3Bkb3duTGFiZWxDb2xvcl07XG4gICAgICAgIEBiZGM6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2JvcmRlckNvbG9yXTtcblxuICAgICAgICAudWkuZHJvcGRvd24uQHtzdGF0ZX0sXG4gICAgICAgIC51aS5kcm9wZG93bi5Ae3N0YXRlfSA+IC50ZXh0LFxuICAgICAgICAudWkuZHJvcGRvd24uQHtzdGF0ZX0gPiAuZGVmYXVsdC50ZXh0IHtcbiAgICAgICAgICAgIGNvbG9yOiBAYztcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blNlbGVjdGlvbikge1xuICAgICAgICAgICAgLnVpLnNlbGVjdGlvbi5kcm9wZG93bi5Ae3N0YXRlfSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGZvcm1TdGF0ZXNbQEBzdGF0ZV1bYmFja2dyb3VuZF07XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAYmRjO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duLkB7c3RhdGV9OmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEBiZGM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duTXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAudWkubXVsdGlwbGUuc2VsZWN0aW9uLkB7c3RhdGV9LmRyb3Bkb3duID4gLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAYmRjO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudWkuZHJvcGRvd24uQHtzdGF0ZX0gPiAubWVudSxcbiAgICAgICAgLnVpLmRyb3Bkb3duLkB7c3RhdGV9ID4gLm1lbnUgLm1lbnUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAYmRjO1xuICAgICAgICB9XG4gICAgICAgIC51aS5kcm9wZG93bi5Ae3N0YXRlfSA+IC5tZW51ID4gLml0ZW0ge1xuICAgICAgICAgICAgY29sb3I6IEBjO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogSXRlbSBIb3ZlciAqL1xuICAgICAgICAudWkuZHJvcGRvd24uQHtzdGF0ZX0gPiAubWVudSA+IC5pdGVtOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBmb3JtU3RhdGVzW0BAc3RhdGVdW2Ryb3Bkb3duSG92ZXJCYWNrZ3JvdW5kXTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEl0ZW0gQWN0aXZlICovXG4gICAgICAgIC51aS5kcm9wZG93bi5Ae3N0YXRlfSA+IC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZm9ybVN0YXRlc1tAQHN0YXRlXVtkcm9wZG93bkFjdGl2ZUJhY2tncm91bmRdO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duQ2xlYXIpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgQ2xlYXJcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLnVpLmRyb3Bkb3duID4gLnJlbW92ZS5pY29uLFxuICAgIC51aS5kcm9wZG93biA+IC5jbGVhci5kcm9wZG93bi5pY29uIHtcbiAgICAgICAgb3BhY2l0eTogQGNsZWFyYWJsZUljb25PcGFjaXR5O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IEBkZWZhdWx0RHVyYXRpb24gQGRlZmF1bHRFYXNpbmc7XG4gICAgfVxuICAgIC51aS5kcm9wZG93biA+IC5yZW1vdmUuaWNvbjpob3ZlcixcbiAgICAudWkuZHJvcGRvd24gPiAuY2xlYXIuZHJvcGRvd24uaWNvbjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IEBjbGVhcmFibGVJY29uQWN0aXZlT3BhY2l0eTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duRGlzYWJsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgRGlzYWJsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBEaXNhYmxlZCAqL1xuICAgIC51aS5kaXNhYmxlZC5kcm9wZG93bixcbiAgICAudWkuZHJvcGRvd24gLm1lbnUgPiAuZGlzYWJsZWQuaXRlbSB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IEBkaXNhYmxlZE9wYWNpdHk7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blJlYWRvbmx5KSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIFJlYWQtT25seVxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5yZWFkLW9ubHkuZHJvcGRvd24ge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25EaXNhYmxlZCkgb3IgKEB2YXJpYXRpb25Ecm9wZG93blJlYWRvbmx5KSB7XG4gICAgLnVpLmRpc2FibGVkLmRyb3Bkb3duLFxuICAgIC51aS5yZWFkLW9ubHkuZHJvcGRvd24ge1xuICAgICAgICA+IC5yZW1vdmUuaWNvbixcbiAgICAgICAgPiAubGFiZWwgPiAuZGVsZXRlLmljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBEaXJlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBGbHlvdXQgRGlyZWN0aW9uICovXG4udWkuZHJvcGRvd24gLm1lbnUge1xuICAgIGxlZnQ6IDA7XG59XG5cbi8qIERlZmF1bHQgU2lkZSAoUmlnaHQpICovXG4udWkuZHJvcGRvd24gLnJpZ2h0Lm1lbnUgPiAubWVudSxcbi51aS5kcm9wZG93biAubWVudSAucmlnaHQubWVudSB7XG4gICAgbGVmdDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogQHN1Yk1lbnVCb3JkZXJSYWRpdXMgIWltcG9ydGFudDtcbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duTGVmdCkge1xuICAgIC8qIExlZnR3YXJkIE9wZW5pbmcgTWVudSAqL1xuICAgIC51aS5kcm9wZG93biA+IC5sZWZ0Lm1lbnUge1xuICAgICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVpLmRyb3Bkb3duID4gLmxlZnQubWVudSAubWVudSxcbiAgICAudWkuZHJvcGRvd24gLm1lbnUgLmxlZnQubWVudSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IEBsZWZ0U3ViTWVudU1hcmdpbiAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAbGVmdFN1Yk1lbnVCb3JkZXJSYWRpdXMgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWkuZHJvcGRvd24gLml0ZW0gLmxlZnQuZHJvcGRvd24uaWNvbixcbiAgICAudWkuZHJvcGRvd24gLmxlZnQubWVudSAuaXRlbSAuZHJvcGRvd24uaWNvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmbG9hdDogQGxlZnRNZW51RHJvcGRvd25JY29uRmxvYXQ7XG4gICAgICAgIG1hcmdpbjogQGxlZnRNZW51RHJvcGRvd25JY29uTWFyZ2luO1xuICAgIH1cbiAgICAudWkuZHJvcGRvd24gLml0ZW0gLmxlZnQuZHJvcGRvd24uaWNvbixcbiAgICAudWkuZHJvcGRvd24gLmxlZnQubWVudSAuaXRlbSAuZHJvcGRvd24uaWNvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmbG9hdDogQGxlZnRNZW51RHJvcGRvd25JY29uRmxvYXQ7XG4gICAgICAgIG1hcmdpbjogQGxlZnRNZW51RHJvcGRvd25JY29uTWFyZ2luO1xuICAgIH1cbiAgICAudWkuZHJvcGRvd24gLml0ZW0gLmxlZnQuZHJvcGRvd24uaWNvbiArIC50ZXh0LFxuICAgIC51aS5kcm9wZG93biAubGVmdC5tZW51IC5pdGVtIC5kcm9wZG93bi5pY29uICsgLnRleHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogQGl0ZW1Ecm9wZG93bkljb25EaXN0YW5jZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25VcHdhcmQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgVXB3YXJkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBVcHdhcmQgTWFpbiBNZW51ICovXG4gICAgLnVpLnVwd2FyZC5kcm9wZG93biA+IC5tZW51IHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgIGJveC1zaGFkb3c6IEB1cHdhcmRNZW51Qm94U2hhZG93O1xuICAgIH1cblxuICAgIC8qIFVwd2FyZCBTdWIgTWVudSAqL1xuICAgIC51aS5kcm9wZG93biAudXB3YXJkLm1lbnUge1xuICAgICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25TaW1wbGUpIHtcbiAgICAgICAgLyogQWN0aXZlIFVwd2FyZCAqL1xuICAgICAgICAudWkuc2ltcGxlLnVwd2FyZC5hY3RpdmUuZHJvcGRvd24sXG4gICAgICAgIC51aS5zaW1wbGUudXB3YXJkLmRyb3Bkb3duOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93bkJ1dHRvbikge1xuICAgICAgICAvKiBCdXR0b24gKi9cbiAgICAgICAgLnVpLnVwd2FyZC5kcm9wZG93bi5idXR0b25Ae25vdFBvaW50aW5nfUB7bm90RmxvYXRpbmd9LmFjdGl2ZSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzO1xuICAgICAgICB9XG4gICAgICAgIC51aS51cHdhcmQuZHJvcGRvd24uYnV0dG9uQHtub3RQb2ludGluZ31Ae25vdEZsb2F0aW5nfSA+IC5tZW51IHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blNlbGVjdGlvbikge1xuICAgICAgICAvKiBTZWxlY3Rpb24gKi9cbiAgICAgICAgLnVpLnVpLnVwd2FyZC5zZWxlY3Rpb24uZHJvcGRvd25Ae25vdFBvaW50aW5nfUB7bm90RmxvYXRpbmd9ID4gLm1lbnUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogQG1lbnVCb3JkZXJXaWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAdXB3YXJkU2VsZWN0aW9uTWVudUJveFNoYWRvdztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEB1cHdhcmRTZWxlY3Rpb25NZW51Qm9yZGVyUmFkaXVzO1xuICAgICAgICB9XG4gICAgICAgIC51aS51cHdhcmQuc2VsZWN0aW9uLmRyb3Bkb3duOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEB1cHdhcmRTZWxlY3Rpb25Ib3ZlckJveFNoYWRvdztcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEFjdGl2ZSBVcHdhcmQgKi9cbiAgICAgICAgLnVpLmFjdGl2ZS51cHdhcmQuc2VsZWN0aW9uLmRyb3Bkb3duQHtub3RQb2ludGluZ31Ae25vdEZsb2F0aW5nfSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAdXB3YXJkU2VsZWN0aW9uVmlzaWJsZUJvcmRlclJhZGl1cyAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogVmlzaWJsZSBVcHdhcmQgKi9cbiAgICAgICAgLnVpLnVwd2FyZC5zZWxlY3Rpb24uZHJvcGRvd24udmlzaWJsZSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAdXB3YXJkU2VsZWN0aW9uVmlzaWJsZUJveFNoYWRvdztcbiAgICAgICAgICAgICZAe25vdFBvaW50aW5nfUB7bm90RmxvYXRpbmd9IHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAdXB3YXJkU2VsZWN0aW9uVmlzaWJsZUJvcmRlclJhZGl1cyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyogVmlzaWJsZSBIb3ZlciBVcHdhcmQgKi9cbiAgICAgICAgLnVpLnVwd2FyZC5hY3RpdmUuc2VsZWN0aW9uLmRyb3Bkb3duOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEB1cHdhcmRTZWxlY3Rpb25BY3RpdmVIb3ZlckJveFNoYWRvdztcbiAgICAgICAgfVxuICAgICAgICAudWkudXB3YXJkLmFjdGl2ZS5zZWxlY3Rpb24uZHJvcGRvd246aG92ZXJAe25vdFBvaW50aW5nfUB7bm90RmxvYXRpbmd9IC5tZW51IHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEB1cHdhcmRTZWxlY3Rpb25BY3RpdmVIb3Zlck1lbnVCb3hTaGFkb3c7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duU2Nyb2xsaW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFNjcm9sbGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogU2VsZWN0aW9uIE1lbnUgKi9cbiAgICAudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxuICAgIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUge1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IEBvdmVyc2Nyb2xsQmVoYXZpb3I7XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQGZsb2F0aW5nTWVudUJvcmRlclJhZGl1cyBAZmxvYXRpbmdNZW51Qm9yZGVyUmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItdG9wOiBAbWVudUJvcmRlcjtcbiAgICB9XG4gICAgLnVpLnVpLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSAuaXRlbSxcbiAgICAudWkudWkudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51ID4gLml0ZW0ge1xuICAgICAgICBib3JkZXItdG9wOiBAc2Nyb2xsaW5nTWVudUl0ZW1Cb3JkZXI7XG4gICAgfVxuICAgIC51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUgLml0ZW06Zmlyc3QtY2hpbGQsXG4gICAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuICAgIC51aS5kcm9wZG93biA+IC5hbmltYXRpbmcubWVudSAuc2Nyb2xsaW5nLm1lbnUsXG4gICAgLnVpLmRyb3Bkb3duID4gLnZpc2libGUubWVudSAuc2Nyb2xsaW5nLm1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJiB3aGVuIChAc3VwcG9ydElFKSB7XG4gICAgICAgIC8qIFNjcm9sbGJhciBpbiBJRSAqL1xuICAgICAgICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgICAgICAgIC51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUsXG4gICAgICAgICAgICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IGUoJShcImNhbGMoMTAwJSUgLSAlZClcIiwgQHNjcm9sbGJhcldpZHRoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgICAgICAudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxuICAgICAgICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhNZW51SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnJlc2l6YWJsZS5kcm9wZG93biAubWVudSxcbiAgICAgICAgICAgIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLnJlc2l6YWJsZS5tZW51IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdNb2JpbGVNYXhNZW51SGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIHtcbiAgICAgICAgLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSxcbiAgICAgICAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4TWVudUhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blJlc2l6YWJsZSkge1xuICAgICAgICAgICAgLnVpLnNjcm9sbGluZy5yZXNpemFibGUuZHJvcGRvd24gLm1lbnUsXG4gICAgICAgICAgICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5yZXNpemFibGUubWVudSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4TWVudUhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBjb21wdXRlckJyZWFrcG9pbnQpIHtcbiAgICAgICAgLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSxcbiAgICAgICAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhNZW51SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnJlc2l6YWJsZS5kcm9wZG93biAubWVudSxcbiAgICAgICAgICAgIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLnJlc2l6YWJsZS5tZW51IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heE1lbnVIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAd2lkZXNjcmVlbk1vbml0b3JCcmVha3BvaW50KSB7XG4gICAgICAgIC51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUsXG4gICAgICAgIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhNZW51SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAudWkuc2Nyb2xsaW5nLnJlc2l6YWJsZS5kcm9wZG93biAubWVudSxcbiAgICAgICAgICAgIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLnJlc2l6YWJsZS5tZW51IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4TWVudUhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blJlc2l6YWJsZSkge1xuICAgICAgICAudWkuc2Nyb2xsaW5nLnJlc2l6YWJsZS5kcm9wZG93biAubWVudSxcbiAgICAgICAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcucmVzaXphYmxlLm1lbnUge1xuICAgICAgICAgICAgcmVzaXplOiBAcmVzaXphYmxlRGlyZWN0aW9uO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uSW5wdXRMYWJlbGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIExhYmVsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIFJlZ3VsYXIgTGFiZWwgb24gTGVmdCAqL1xuICAgIC51aS5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pIC5sYWJlbDpmaXJzdC1jaGlsZCArIC5kcm9wZG93biB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvKiBSZWd1bGFyIExhYmVsIG9uIFJpZ2h0ICovXG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaW5wdXQgPiAuZHJvcGRvd246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaW5wdXQgPiAuZHJvcGRvd24gKyAubGFiZWwge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25Db2x1bW5hcikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBDb2x1bW5hclxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC51aS5jb2x1bW4uZHJvcGRvd24gPiAubWVudSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgLnVpLmRyb3Bkb3duW2NsYXNzKj1cInR3byBjb2x1bW5cIl0gPiAubWVudSA+IC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgLnVpLmRyb3Bkb3duW2NsYXNzKj1cInRocmVlIGNvbHVtblwiXSA+IC5tZW51ID4gLml0ZW0ge1xuICAgICAgICB3aWR0aDogMzMlO1xuICAgIH1cbiAgICAudWkuZHJvcGRvd25bY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0gPiAubWVudSA+IC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG4gICAgLnVpLmRyb3Bkb3duW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdID4gLm1lbnUgPiAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blNpbXBsZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBTaW1wbGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIERpc3BsYXlzIHdpdGhvdXQgamF2YXNjcmlwdCAqL1xuXG4gICAgLnVpLnNpbXBsZS5kcm9wZG93biAubWVudTo6YmVmb3JlLFxuICAgIC51aS5zaW1wbGUuZHJvcGRvd24gLm1lbnU6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnVpLnNpbXBsZS5kcm9wZG93biAubWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgJiB3aGVuIChAc3VwcG9ydElFKSB7XG4gICAgICAgICAgICAvKiBJRSBoYWNrIHRvIG1ha2UgZHJvcGRvd24gaWNvbnMgYXBwZWFyIGlubGluZSAqL1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHZhbHVlLW5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRvcDogLTk5OTlweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogQHNpbXBsZVRyYW5zaXRpb247XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25VcHdhcmQpIHtcbiAgICAgICAgLnVpLnNpbXBsZS5kcm9wZG93biAudXB3YXJkLm1lbnUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogQHNpbXBsZVVwd2FyZE1lbnVNYXJnaW47XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnNpbXBsZS5zZWxlY3Rpb24uZHJvcGRvd24gLnVwd2FyZC5tZW51IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IEBzaW1wbGVVcHdhcmRTZWxlY3Rpb25NZW51TWFyZ2luO1xuICAgICAgICB9XG4gICAgICAgIC51aS5tZW51QHtub3RWZXJ0aWNhbH0gLnVpLnNpbXBsZS5kcm9wZG93bi5pdGVtIC51cHdhcmQubWVudSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBAc2ltcGxlVXB3YXJkSXRlbU1lbnVNYXJnaW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWkuc2ltcGxlLmFjdGl2ZS5kcm9wZG93bixcbiAgICAudWkuc2ltcGxlLmRyb3Bkb3duOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLnVpLnNpbXBsZS5hY3RpdmUuZHJvcGRvd24gPiAubWVudSxcbiAgICAudWkuc2ltcGxlLmRyb3Bkb3duOmhvdmVyID4gLm1lbnUge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAudWkuc2ltcGxlLmRyb3Bkb3duID4gLm1lbnUgPiAuaXRlbTphY3RpdmUgPiAubWVudSxcbiAgICAudWkuc2ltcGxlLmRyb3Bkb3duIC5tZW51IC5pdGVtOmhvdmVyID4gLm1lbnUge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duU2VsZWN0aW9uKSB7XG4gICAgICAgIC51aS5zaW1wbGUuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93biA+IC5tZW51LFxuICAgICAgICAudWkuc2ltcGxlLnNlbGVjdGlvbi5kcm9wZG93bjpob3ZlciA+IC5tZW51LFxuICAgICAgICAudWkuc2ltcGxlLnNlbGVjdGlvbi5kcm9wZG93biA+IC5tZW51ID4gLml0ZW06YWN0aXZlID4gLm1lbnUsXG4gICAgICAgIC51aS5zaW1wbGUuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51IC5pdGVtOmhvdmVyID4gLm1lbnUge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBAb3ZlcnNjcm9sbEJlaGF2aW9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5zaW1wbGUuZHJvcGRvd24gPiAubWVudSA+IC5pdGVtOmFjdGl2ZSA+IC5sZWZ0Lm1lbnUsXG4gICAgLnVpLnNpbXBsZS5kcm9wZG93biAubWVudSAuaXRlbTpob3ZlciA+IC5sZWZ0Lm1lbnUsXG4gICAgLnJpZ2h0Lm1lbnUgLnVpLnNpbXBsZS5kcm9wZG93biA+IC5tZW51ID4gLml0ZW06YWN0aXZlID4gLm1lbnU6bm90KC5yaWdodCksXG4gICAgLnJpZ2h0Lm1lbnUgLnVpLnNpbXBsZS5kcm9wZG93biA+IC5tZW51IC5pdGVtOmhvdmVyID4gLm1lbnU6bm90KC5yaWdodCkge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMTAwJTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25EaXNhYmxlZCkge1xuICAgICAgICAudWkuc2ltcGxlLmRpc2FibGVkLmRyb3Bkb3duOmhvdmVyIC5tZW51IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBWaXNpYmxlICovXG4gICAgLnVpLnNpbXBsZS52aXNpYmxlLmRyb3Bkb3duID4gLm1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25TY3JvbGxpbmcpIHtcbiAgICAgICAgLyogU2Nyb2xsaW5nICovXG4gICAgICAgIC51aS5zaW1wbGUuc2Nyb2xsaW5nLmFjdGl2ZS5kcm9wZG93biA+IC5tZW51LFxuICAgICAgICAudWkuc2ltcGxlLnNjcm9sbGluZy5kcm9wZG93bjpob3ZlciA+IC5tZW51IHtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBAb3ZlcnNjcm9sbEJlaGF2aW9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93bkZsdWlkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBGbHVpZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZsdWlkLmRyb3Bkb3duIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgLnVpLmZsdWlkLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93bkZsb2F0aW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRmxvYXRpbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mbG9hdGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGJveC1zaGFkb3c6IEBmbG9hdGluZ01lbnVCb3hTaGFkb3cgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGZsb2F0aW5nTWVudUJvcmRlclJhZGl1cyAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWlAe25vdFVwd2FyZH0uZmxvYXRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6IEBmbG9hdGluZ01lbnVEaXN0YW5jZTtcbiAgICB9XG4gICAgLnVpLnVwd2FyZC5mbG9hdGluZy5kcm9wZG93bkB7bm90U2ltcGxlfSA+IC5tZW51IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogQGZsb2F0aW5nTWVudURpc3RhbmNlO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25Qb2ludGluZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBQb2ludGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IEBwb2ludGluZ01lbnVEaXN0YW5jZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQHBvaW50aW5nTWVudUJvcmRlclJhZGl1cztcbiAgICB9XG5cbiAgICAudWkucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTpub3QoLmhpZGRlbik6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgd2lkdGg6IEBwb2ludGluZ0Fycm93U2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAcG9pbnRpbmdBcnJvd1NpemU7XG4gICAgICAgIGJveC1zaGFkb3c6IEBwb2ludGluZ0Fycm93Qm94U2hhZG93O1xuICAgICAgICBiYWNrZ3JvdW5kOiBAcG9pbnRpbmdBcnJvd0JhY2tncm91bmQ7XG4gICAgICAgIHotaW5kZXg6IEBwb2ludGluZ0Fycm93WkluZGV4O1xuICAgIH1cblxuICAgIEBzdXBwb3J0cyBzZWxlY3Rvcig6aGFzKC5mKSkge1xuICAgICAgICAudWkucG9pbnRpbmcuZHJvcGRvd25Ae25vdFVwd2FyZH0gLm1lbnU6aGFzKDpmaXJzdC1jaGlsZDpob3Zlcik6OmFmdGVyLFxuICAgICAgICAudWkudXB3YXJkLnBvaW50aW5nLmRyb3Bkb3duIC5tZW51Omhhcyg6bGFzdC1jaGlsZDpob3Zlcik6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBob3ZlcmVkSXRlbUJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLnBvaW50aW5nLmRyb3Bkb3duQHtub3RVcHdhcmR9IC5tZW51Omhhcyguc2VsZWN0ZWQuaXRlbTpmaXJzdC1jaGlsZCk6OmFmdGVyLFxuICAgICAgICAudWkudXB3YXJkLnBvaW50aW5nLmRyb3Bkb3duIC5tZW51Omhhcyguc2VsZWN0ZWQuaXRlbTpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHNlbGVjdGVkQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duU2VsZWN0aW9uKSB7XG4gICAgICAgIC51aS5zZWxlY3Rpb24ucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTo6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQHBvaW50aW5nQXJyb3dCb3hTaGFkb3dTZWxlY3Rpb247XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6bm90KC5oaWRkZW4pOjphZnRlciB7XG4gICAgICAgIHRvcDogQHBvaW50aW5nQXJyb3dPZmZzZXQ7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBAcG9pbnRpbmdBcnJvd09mZnNldDtcbiAgICB9XG5cbiAgICAvKiBUb3AgTGVmdCBQb2ludGluZyAqL1xuICAgIC51aS50b3AubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZSAwIDA7XG4gICAgfVxuICAgIC51aS50b3AubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZSAwIDA7XG4gICAgfVxuICAgIC51aS50b3AubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gICAgICAgIHRvcDogQHBvaW50aW5nQXJyb3dPZmZzZXQ7XG4gICAgICAgIGxlZnQ6IEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cblxuICAgIC8qIFRvcCBSaWdodCBQb2ludGluZyAqL1xuICAgIC51aS50b3AucmlnaHQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luOiBAcG9pbnRpbmdBcnJvd0Rpc3RhbmNlRnJvbUVkZ2UgMCAwO1xuICAgIH1cbiAgICAudWkudG9wLnBvaW50aW5nLmRyb3Bkb3duID4gLmxlZnQubWVudTo6YWZ0ZXIsXG4gICAgLnVpLnRvcC5yaWdodC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gICAgICAgIHRvcDogQHBvaW50aW5nQXJyb3dPZmZzZXQ7XG4gICAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG5cbiAgICAvKiBMZWZ0IFBvaW50aW5nICovXG4gICAgLnVpLmxlZnQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCAwIDAgQHBvaW50aW5nQXJyb3dEaXN0YW5jZUZyb21FZGdlO1xuICAgIH1cbiAgICAudWkubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gICAgICAgIHRvcDogMWVtO1xuICAgICAgICBsZWZ0OiBAcG9pbnRpbmdBcnJvd09mZnNldDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbiAgICAudWkubGVmdDpub3QoLnRvcCk6bm90KC5ib3R0b20pLnBvaW50aW5nLmRyb3Bkb3duID4gLmxlZnQubWVudSB7XG4gICAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZSAwIDA7XG4gICAgfVxuICAgIC51aS5sZWZ0Om5vdCgudG9wKTpub3QoLmJvdHRvbSkucG9pbnRpbmcuZHJvcGRvd24gPiAubGVmdC5tZW51OjphZnRlciB7XG4gICAgICAgIHRvcDogMWVtO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogQHBvaW50aW5nQXJyb3dPZmZzZXQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG5cbiAgICAvKiBSaWdodCBQb2ludGluZyAqL1xuICAgIC51aS5yaWdodC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZSAwIDA7XG4gICAgfVxuICAgIC51aS5yaWdodC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gICAgICAgIHRvcDogMWVtO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogQHBvaW50aW5nQXJyb3dPZmZzZXQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG5cbiAgICAvKiBCb3R0b20gUG9pbnRpbmcgKi9cbiAgICAudWkuYm90dG9tLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCAwIEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZTtcbiAgICB9XG4gICAgLnVpLmJvdHRvbS5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiBAcG9pbnRpbmdBcnJvd09mZnNldDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgfVxuXG4gICAgLyogUmV2ZXJzZSBTdWItTWVudSBEaXJlY3Rpb24gKi9cbiAgICAudWkuYm90dG9tLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUgLm1lbnUge1xuICAgICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogQm90dG9tIExlZnQgKi9cbiAgICAudWkuYm90dG9tLmxlZnQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAudWkuYm90dG9tLmxlZnQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTo6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiBAcG9pbnRpbmdBcnJvd0Rpc3RhbmNlRnJvbUVkZ2U7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qIEJvdHRvbSBSaWdodCAqL1xuICAgIC51aS5ib3R0b20ucmlnaHQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgICAudWkuYm90dG9tLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6OmFmdGVyIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZTtcbiAgICB9XG5cbiAgICAvKiBVcHdhcmQgcG9pbnRpbmcgKi9cbiAgICAudWkucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duIC5tZW51LFxuICAgIC51aS50b3AucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duIC5tZW51IHtcbiAgICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvdHRvbTogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMCBAcG9pbnRpbmdNZW51RGlzdGFuY2U7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBwb2ludGluZ1Vwd2FyZE1lbnVCb3JkZXJSYWRpdXM7XG4gICAgfVxuICAgIC51aS5wb2ludGluZy51cHdhcmQuZHJvcGRvd24gLm1lbnU6OmFmdGVyLFxuICAgIC51aS50b3AucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duIC5tZW51OjphZnRlciB7XG4gICAgICAgIHRvcDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogQHBvaW50aW5nVXB3YXJkQXJyb3dCb3hTaGFkb3c7XG4gICAgICAgIG1hcmdpbjogQHBvaW50aW5nQXJyb3dPZmZzZXQgMCAwO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duU2VsZWN0aW9uKSB7XG4gICAgICAgIC51aS5zZWxlY3Rpb24ucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duIC5tZW51OjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAcG9pbnRpbmdVcHdhcmRBcnJvd0JveFNoYWRvd1NlbGVjdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFJpZ2h0IFBvaW50aW5nIFVwd2FyZCAqL1xuICAgIC51aS5yaWdodC5wb2ludGluZy51cHdhcmQuZHJvcGRvd246bm90KC50b3ApOm5vdCguYm90dG9tKSAubWVudSB7XG4gICAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZSAwIDA7XG4gICAgfVxuICAgIC51aS5yaWdodC5wb2ludGluZy51cHdhcmQuZHJvcGRvd246bm90KC50b3ApOm5vdCguYm90dG9tKSAubWVudTo6YWZ0ZXIge1xuICAgICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZSAwO1xuICAgICAgICBib3gtc2hhZG93OiBAcG9pbnRpbmdBcnJvd0JveFNoYWRvdztcbiAgICB9XG5cbiAgICAvKiBMZWZ0IFBvaW50aW5nIFVwd2FyZCAqL1xuICAgIC51aS5sZWZ0LnBvaW50aW5nLnVwd2FyZC5kcm9wZG93bjpub3QoLnRvcCk6bm90KC5ib3R0b20pIC5tZW51IHtcbiAgICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMCAwIEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZTtcbiAgICB9XG4gICAgLnVpLmxlZnQucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duOm5vdCgudG9wKTpub3QoLmJvdHRvbSkgLm1lbnU6OmFmdGVyIHtcbiAgICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMCBAcG9pbnRpbmdBcnJvd0Rpc3RhbmNlRnJvbUVkZ2UgMDtcbiAgICAgICAgYm94LXNoYWRvdzogQHBvaW50aW5nQXJyb3dCb3hTaGFkb3c7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blBvaW50aW5nKSBvciAoQHZhcmlhdGlvbkRyb3Bkb3duRmxvYXRpbmcpIHtcbiAgICAudWkuZmxvYXRpbmcuZHJvcGRvd24gLm1lbnUgLml0ZW06Zmlyc3QtY2hpbGQsXG4gICAgLnVpLnBvaW50aW5nLmRyb3Bkb3duIC5tZW51IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgfVxuICAgIC51aS5mbG9hdGluZy5kcm9wZG93biAubWVudSAuaXRlbTpsYXN0LWNoaWxkLFxuICAgIC51aS5wb2ludGluZy5kcm9wZG93biAubWVudSAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5kcm9wZG93bixcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgICBmb250LXNpemU6IEBtZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uRHJvcGRvd25TaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uRHJvcGRvd25TaXplcywge1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgLnVpLnVpLkB7dmFsdWV9LmRyb3Bkb3duLFxuICAgICAgICAudWkudWkuQHt2YWx1ZX0uZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duSGlnaGxpZ2h0TWF0Y2hlcykge1xuICAgIC51aS5kcm9wZG93biAubWVudSA+IC5pdGVtIG1hcmsge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaGlnaGxpZ2h0TWF0Y2hlc0JhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAaGlnaGxpZ2h0TWF0Y2hlc0NvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRHJvcGRvd25JbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEludmVydGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBHZW5lcmFsIHJ1bGVzIGFuZCBiYXNpYyBkcm9wZG93bnMgKi9cbiAgICAudWkuZHJvcGRvd24gLmludmVydGVkLm1lbnUsXG4gICAgLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51IHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkTWVudUJhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6IEBpbnZlcnRlZE1lbnVCb3hTaGFkb3c7XG4gICAgICAgIGJvcmRlcjogQGludmVydGVkTWVudUJvcmRlcjtcbiAgICB9XG5cbiAgICAudWkuZHJvcGRvd24gLmludmVydGVkLm1lbnUgPiAuaXRlbSxcbiAgICAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRNZW51Q29sb3I7XG4gICAgfVxuXG4gICAgLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51IC5hY3RpdmUuaXRlbSxcbiAgICAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQWN0aXZlSXRlbUJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRBY3RpdmVJdGVtQ29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IEBpbnZlcnRlZEFjdGl2ZUl0ZW1Cb3hTaGFkb3c7XG4gICAgfVxuXG4gICAgLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51ID4gLml0ZW06aG92ZXIsXG4gICAgLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRIb3ZlcmVkSXRlbUJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRIb3ZlcmVkSXRlbUNvbG9yO1xuICAgIH1cblxuICAgIC51aS5pbnZlcnRlZC5kcm9wZG93bi5zZWxlY3RlZCxcbiAgICAudWkuZHJvcGRvd24gLmludmVydGVkLm1lbnUgLnNlbGVjdGVkLml0ZW0sXG4gICAgLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51IC5zZWxlY3RlZC5pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkU2VsZWN0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogQGludmVydGVkU2VsZWN0ZWRDb2xvcjtcbiAgICB9XG5cbiAgICAudWkuZHJvcGRvd24gLmludmVydGVkLm1lbnUgPiAuaGVhZGVyLFxuICAgIC51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSA+IC5oZWFkZXIge1xuICAgICAgICBjb2xvcjogQGludmVydGVkTWVudUhlYWRlckNvbG9yO1xuICAgIH1cblxuICAgIC51aS5pbnZlcnRlZC5kcm9wZG93biA+IC50ZXh0ID4gLmRlc2NyaXB0aW9uLFxuICAgIC51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSA+IC5pdGVtID4gLmRlc2NyaXB0aW9uLFxuICAgIC51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZEl0ZW1EZXNjcmlwdGlvbkNvbG9yO1xuICAgIH1cblxuICAgIC51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSA+IC5kaXZpZGVyLFxuICAgIC51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSA+IC5kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogQGludmVydGVkTWVudURpdmlkZXJCb3JkZXI7XG4gICAgfVxuXG4gICAgLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5zY3JvbGxpbmcubWVudSxcbiAgICAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItdG9wOiBAaW52ZXJ0ZWRNZW51Qm9yZGVyO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkRyb3Bkb3duU2VsZWN0aW9uKSB7XG4gICAgICAgIC8qIFNlbGVjdGlvbiAqL1xuICAgICAgICAudWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgICAgICAgICAgIGJvcmRlcjogQGludmVydGVkU2VsZWN0aW9uQm9yZGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkU2VsZWN0aW9uQmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRTZWxlY3Rpb25UZXh0Q29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmRyb3Bkb3duOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGludmVydGVkU2VsZWN0aW9uSG92ZXJCb3JkZXJDb2xvcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBpbnZlcnRlZFNlbGVjdGlvbkhvdmVyQm94U2hhZG93O1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLmludmVydGVkLnNlbGVjdGlvbi5kcm9wZG93biBpbnB1dCB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkU2VsZWN0aW9uSW5wdXRUZXh0Q29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLnZpc2libGUuZHJvcGRvd24gPiAudGV4dDpub3QoLmRlZmF1bHQpIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRTZWxlY3Rpb25WaXNpYmxlVGV4dENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLnNlbGVjdGlvbi5zaW1wbGUuZHJvcGRvd246aG92ZXIgLmludmVydGVkLm1lbnUsXG4gICAgICAgIC51aS5pbnZlcnRlZC5zZWxlY3Rpb24uc2ltcGxlLmRyb3Bkb3duOmhvdmVyIC5tZW51LFxuICAgICAgICAudWkuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSxcbiAgICAgICAgLnVpLmludmVydGVkLnNlbGVjdGlvbi5hY3RpdmUuZHJvcGRvd24gLm1lbnUsXG4gICAgICAgIC51aS5pbnZlcnRlZC5zZWxlY3Rpb24uYWN0aXZlLmRyb3Bkb3duOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGludmVydGVkU2VsZWN0aW9uVmlzaWJsZUJvcmRlckNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLnNlbGVjdGlvbi5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSA+IC5pdGVtLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogQGludmVydGVkU2VsZWN0aW9uSXRlbURpdmlkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWkuaW52ZXJ0ZWQuZHJvcGRvd25Ae25vdEJ1dHRvbn0gPiAuZGVmYXVsdC50ZXh0LFxuICAgIC51aS5pbnZlcnRlZC5kZWZhdWx0LmRyb3Bkb3duQHtub3RCdXR0b259ID4gLnRleHQge1xuICAgICAgICBjb2xvcjogQGludmVydGVkRGVmYXVsdFRleHRDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLmRyb3Bkb3duQHtub3RCdXR0b259ID4gaW5wdXQ6Zm9jdXMgfiAuZGVmYXVsdC50ZXh0LFxuICAgIC51aS5pbnZlcnRlZC5kZWZhdWx0LmRyb3Bkb3duQHtub3RCdXR0b259ID4gaW5wdXQ6Zm9jdXMgfiAudGV4dCB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWREZWZhdWx0VGV4dEZvY3VzQ29sb3I7XG4gICAgfVxuXG4gICAgLnVpLmludmVydGVkLmFjdGl2ZS5zZWFyY2guZHJvcGRvd24gaW5wdXQuc2VhcmNoOmZvY3VzICsgLnRleHQgaS5pY29uLFxuICAgIC51aS5pbnZlcnRlZC5hY3RpdmUuc2VhcmNoLmRyb3Bkb3duIGlucHV0LnNlYXJjaDpmb2N1cyArIC50ZXh0IC5mbGFnIHtcbiAgICAgICAgb3BhY2l0eTogQGludmVydGVkU2VsZWN0aW9uVGV4dFVuZGVybGF5SWNvbk9wYWNpdHk7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5hY3RpdmUuc2VhcmNoLmRyb3Bkb3duIGlucHV0LnNlYXJjaDpmb2N1cyArIC50ZXh0IHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFNlbGVjdGlvblRleHRVbmRlcmxheUNvbG9yO1xuICAgIH1cblxuICAgIC51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSA+IC5tZXNzYWdlOm5vdCgudWkpLFxuICAgIC51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSA+IC5tZXNzYWdlOm5vdCgudWkpIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZE1lc3NhZ2VDb2xvcjtcbiAgICB9XG5cbiAgICAvKiBGaXhpbmcgdGhlIGJvcmRlciAqL1xuICAgIC51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkLFxuICAgIC51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93bk11bHRpcGxlKSB7XG4gICAgICAgIC8qIExhYmVscyAqL1xuICAgICAgICAudWkuaW52ZXJ0ZWQubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkTGFiZWxCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBAaW52ZXJ0ZWRMYWJlbEJhY2tncm91bmRJbWFnZTtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRMYWJlbENvbG9yO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGludmVydGVkTGFiZWxCb3hTaGFkb3c7XG4gICAgICAgIH1cblxuICAgICAgICAudWkuaW52ZXJ0ZWQubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWw6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkTGFiZWxIb3ZlckJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGludmVydGVkTGFiZWxIb3ZlckJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IEBpbnZlcnRlZExhYmVsSG92ZXJCYWNrZ3JvdW5kSW1hZ2U7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkTGFiZWxIb3ZlclRleHRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5pbnZlcnRlZC5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbCA+IC5jbG9zZS5pY29uLFxuICAgICAgICAudWkuaW52ZXJ0ZWQubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWwgPiAuZGVsZXRlLmljb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogQGludmVydGVkTGFiZWxJY29uT3BhY2l0eTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5pbnZlcnRlZC5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbCA+IC5jbG9zZS5pY29uOmhvdmVyLFxuICAgICAgICAudWkuaW52ZXJ0ZWQubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWwgPiAuZGVsZXRlLmljb246aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogQGludmVydGVkTGFiZWxJY29uSG92ZXJPcGFjaXR5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogU2VsZWN0aW9uIGZvciBmb3JtIGVsZW1lbnRzICovXG4gICAgLnVpLmludmVydGVkLmRyb3Bkb3duIHRleHRhcmVhOjpzZWxlY3Rpb24sXG4gICAgLnVpLmludmVydGVkLmRyb3Bkb3duIGlucHV0OjpzZWxlY3Rpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRJbnB1dEhpZ2hsaWdodEJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRJbnB1dEhpZ2hsaWdodENvbG9yO1xuICAgIH1cblxuICAgIC8qIFNjcm9sbGJhcnMgKi9cbiAgICAmIHdoZW4gKEB1c2VDdXN0b21TY3JvbGxiYXJzKSB7XG4gICAgICAgIC51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2ssXG4gICAgICAgIC51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHRyYWNrSW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICAgIC51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsXG4gICAgICAgIC51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHRodW1iSW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICAgIC51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6d2luZG93LWluYWN0aXZlLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOndpbmRvdy1pbmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdGh1bWJJbnZlcnRlZEluYWN0aXZlQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgICAudWkuZHJvcGRvd24gLmludmVydGVkLm1lbnU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuZHJvcGRvd24gLm1lbnU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEB0aHVtYkludmVydGVkSG92ZXJCYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHN1cHBvcnRJRSkge1xuICAgICAgICAgICAgLnVpLmRyb3Bkb3duIC5pbnZlcnRlZC5tZW51LFxuICAgICAgICAgICAgLnVpLmludmVydGVkLmRyb3Bkb3duIC5tZW51IHtcbiAgICAgICAgICAgICAgICAvKiBJRTExICovXG4gICAgICAgICAgICAgICAgc2Nyb2xsYmFyLWZhY2UtY29sb3I6IEB0aHVtYkludmVydGVkQmFja2dyb3VuZEhleDtcbiAgICAgICAgICAgICAgICBzY3JvbGxiYXItc2hhZG93LWNvbG9yOiBAdGh1bWJJbnZlcnRlZEJhY2tncm91bmRIZXg7XG4gICAgICAgICAgICAgICAgc2Nyb2xsYmFyLXRyYWNrLWNvbG9yOiBAdHJhY2tJbnZlcnRlZEJhY2tncm91bmRIZXg7XG4gICAgICAgICAgICAgICAgc2Nyb2xsYmFyLWFycm93LWNvbG9yOiBAdHJhY2tJbnZlcnRlZEJhY2tncm91bmRIZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6IG5vbmUpIHtcbiAgICAgICAgICAgIC51aS5kcm9wZG93biAuaW52ZXJ0ZWQubWVudSxcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5kcm9wZG93biAubWVudSB7XG4gICAgICAgICAgICAgICAgLyogZmlyZWZveDogZmlyc3QgY29sb3IgdGh1bWIsIHNlY29uZCB0cmFjayAqL1xuICAgICAgICAgICAgICAgIHNjcm9sbGJhci1jb2xvcjogQHRodW1iSW52ZXJ0ZWRCYWNrZ3JvdW5kIEB0cmFja0ludmVydGVkQmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blBvaW50aW5nKSB7XG4gICAgICAgIC51aS5wb2ludGluZy5kcm9wZG93biA+IC5pbnZlcnRlZC5tZW51OjphZnRlcixcbiAgICAgICAgLnVpLmludmVydGVkLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFBvaW50aW5nQXJyb3dCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogQGludmVydGVkUG9pbnRpbmdBcnJvd0JveFNoYWRvdztcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Ecm9wZG93blVwd2FyZCkge1xuICAgICAgICAgICAgLnVpLmludmVydGVkLnVwd2FyZC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OjphZnRlciB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogQGludmVydGVkUG9pbnRpbmdVcHdhcmRBcnJvd0JveFNoYWRvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAc3VwcG9ydHMgc2VsZWN0b3IoOmhhcyguZikpIHtcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5wb2ludGluZy5kcm9wZG93bkB7bm90VXB3YXJkfSAubWVudTpoYXMoOmZpcnN0LWNoaWxkOmhvdmVyKTo6YWZ0ZXIsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQudXB3YXJkLnBvaW50aW5nLmRyb3Bkb3duIC5tZW51Omhhcyg6bGFzdC1jaGlsZDpob3Zlcik6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRIb3ZlcmVkSXRlbUJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQucG9pbnRpbmcuZHJvcGRvd25Ae25vdFVwd2FyZH0gLm1lbnU6aGFzKC5zZWxlY3RlZC5pdGVtOmZpcnN0LWNoaWxkKTo6YWZ0ZXIsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQudXB3YXJkLnBvaW50aW5nLmRyb3Bkb3duIC5tZW51Omhhcyguc2VsZWN0ZWQuaXRlbTpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZFNlbGVjdGVkQmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBEcm9wZG93biBDYXJldHMgKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBEcm9wZG93bjtcbiAgICBzcmM6IHVybChcImRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2Jhc2U2NCxkMDlHUms5VVZFOEFBQVNFQUFzQUFBQUFCd1FBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkRSa1lnQUFBQzVBQUFBVThBQUFIclNyMjJBVVpHVkUwQUFBUlFBQUFBSEFBQUFCeU5yWi9UUjBSRlJnQUFCRFFBQUFBY0FBQUFJQUFuQUJoUFV5OHlBQUFCWUFBQUFFSUFBQUJnVGFkWENHTnRZWEFBQUFLRUFBQUFWQUFBQVdRRmNPS1FhR1ZoWkFBQUFRZ0FBQUF5QUFBQU5nK2o4MDVvYUdWaEFBQUJQQUFBQUJzQUFBQWtBd2NCRFdodGRIZ0FBQVJzQUFBQUZnQUFBQjRFQVFBU2JXRjRjQUFBQVZnQUFBQUdBQUFBQmdBSVVBQnVZVzFsQUFBQnBBQUFBTjhBQUFHMnJTYkFNM0J2YzNRQUFBTFlBQUFBREFBQUFDQUFBd0FBZUp4allHUmdZQURpS2p0RzNuaCttNjhNM0V3TUlIQ0J3VDBDUk45UHlIWUNVcDZNcW94NVFKcURBU3dOQU1OT0JyZ0FBSGljWTJCa1lHQjg4UDhCa0ZSbFlBQ1RqQXlvZ0IwQVdXc0RGZ0FBQUZBQUFBZ0FBSGljWTJCbStNZzRnWUdWZ1lIUmh6R05nWUhCSFVwL1paQmthR0ZBQll3Q1NKeUFOTmNVQmdjR2hnKzNHQi84ZndDVWZNQ2dBRklEVjZBQWhJd0FVYkVNU1FBQWVKeDF6VEVLd2tBVUJOQkpqSW9LSWdnVzJtd3ZCRVZ2SUFnaU5oWTJWakV1UVVoMllZMkZlQUNQWU9sdHZJSDNjWko4eXdRUzNwL2QrUUV3d0FjZS9vOHY5dERHVU96VFUzR0RYb2tEK2lodW9vZUh1TVg4SmU1aWpDOWJYdENSUDFUMjBLY3ErL1JFM0tBWDRvRGVpcHNZSVJhM21EL0ZYU3p4THRaZWVHeVI4YlV3SEdPYldVdnNvWkhnaGhRUkhFZWQzTkxJMWQrdnl3L2M0M0RsZVpFcnpCRml4bGk3NjhVYU5ROW45ZDExT2Vkc0pkeGl5azBSWjQwenN4UHUvRzdLN2s2NklVdlc1Q3JSUnJzbzEyZDF1cXROYkhmY0YrSUhyblUrbXdCNG5HTmdZR0JtZ0dBWkJrWUdFSWdEOGhqQmZCWUdKeUROeGNEQndBU0VqQXdLSDI3OS8vdi9QMWlWd29mcllEYmovOGRnUGtRdkd3TVBrR1JoWUFXeTJNSENiRURNeElBWE1PT1hIdklBQUlOaER0MTRuR05nWnNBTEFBQjlBQVI0bkUyUHYwckVRQkNIWjNKN2Q0dkdxRWNPRmFLQy96b2xaNk9Xd21FbE5qNkNsWVdteWl2Y2JseXpFK1JhSzhFSHNQTXhCQnRyd1Vkd0ExZm9icEk3WldCWWZ1eDhmRDhFeGdBUitmVlZjcE1rdDRBZUlBekxMU2kzc2R6eHl0MVd1Y3FVMzFJKzI1aUR0Y3ZlajFLemg5OVY3K2ExOU5vUlBDMUdBRXNSdkN4SHdDUDg3TUc4STdXZ0RSd1dvQWNyRU1HbW5UM1lUK04wa0I3RzZWazhQSExyMkswVHQwNEhCM0ZqTWhVQ1FJRVNNN3hEaGZlWUEzZGN6NUlaZE9BY0h1QUQxNE1nZUF1K3pUTlRSVjVvVFVSNW9iZ1pkd3BWWkZxUXpFZktUaWFFNEpOd0VyYWxIR1V1RXJuUU5qRTJvWXhVd1MwbGRCVFN4STNMN2NPeUtvNjBpYjBsZXpTbDFSdytHWGRxMXBRaUgwM1NkektrYTR5bW9zTFFUTWNlZFN1SWxFSlVNcU5jVWkwamRJUDVZc2IrK2xlcUx0U0kvTldTVFMweHEwV3lZYWpRWFBTVlAvY0xpdE80TmdCNG5HTmdaR0JnNEFGaUFRWUpCaVlnelFMRUlKb1JnZ0VGYlFCQUFBQUFBUUFBQUFEZVRPMDRBQUFBQU5BQVIxZ0FBQUFBMzJCclFuaWNZMkJBQUVZUVZvVmdodTBNUWd3TUFBYy9BUmNBQUE9PVwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4udWkuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gICAgZm9udC1mYW1pbHk6IERyb3Bkb3duO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGhlaWdodDogMWVtO1xuICAgIHdpZHRoOiAxLjIzZW07XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnVpLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuLnVpLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb246OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwZDdcIjtcbn1cblxuLyogU3ViIE1lbnUgKi9cbi51aS5kcm9wZG93biAubWVudSAuaXRlbSAuZHJvcGRvd24uaWNvbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjBkYVwiIC8qIHJ0bDogXCJcXGYwZDlcIiAqLztcbn1cblxuLnVpLmRyb3Bkb3duIC5pdGVtIC5sZWZ0LmRyb3Bkb3duLmljb246OmJlZm9yZSxcbi51aS5kcm9wZG93biAubGVmdC5tZW51IC5pdGVtIC5kcm9wZG93bi5pY29uOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMGQ5XCIgLypydGw6IFwiXFxmMGRhXCIgKi87XG59XG5cbi8qIFZlcnRpY2FsIE1lbnUgRHJvcGRvd24gKi9cbi51aS52ZXJ0aWNhbC5tZW51IC5kcm9wZG93bi5pdGVtID4gLmRyb3Bkb3duLmljb246OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwZGFcIiAvKiBydGw6IFwiXFxmMGQ5XCIgKi87XG59XG5cbi8qIEljb25zIGZvciBSZWZlcmVuY2Vcbi5kcm9wZG93bi5kb3duLmljb24ge1xuICBjb250ZW50OiBcIlxcZjBkN1wiO1xufVxuLmRyb3Bkb3duLnVwLmljb24ge1xuICBjb250ZW50OiBcIlxcZjBkOFwiO1xufVxuLmRyb3Bkb3duLmxlZnQuaWNvbiB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ5XCI7XG59XG4uZHJvcGRvd24uaWNvbi5pY29uIHtcbiAgY29udGVudDogXCJcXGYwZGFcIjtcbn1cbiovXG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBFbWJlZFxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwibW9kdWxlXCI7XG5AZWxlbWVudDogXCJlbWJlZFwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuZW1iZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gICAgcGFkZGluZy1ib3R0b206IEB3aWRlc2NyZWVuUmF0aW87XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tXG4gIEVtYmVkZGVkIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZW1iZWQgaWZyYW1lLFxuLnVpLmVtYmVkIGVtYmVkLFxuLnVpLmVtYmVkIG9iamVjdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEVtYmVkXG4tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmVtYmVkID4gLmVtYmVkIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgUGxhY2Vob2xkZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZW1iZWQgPiAucGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IEBwbGFjZWhvbGRlckJhY2tncm91bmQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBJY29uXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmVtYmVkID4gaS5pY29uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAyO1xufVxuLnVpLmVtYmVkID4gaS5pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogQHBsYWNlaG9sZGVyQmFja2dyb3VuZDtcbiAgICBvcGFjaXR5OiBAcGxhY2Vob2xkZXJCYWNrZ3JvdW5kT3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uOiBAcGxhY2Vob2xkZXJCYWNrZ3JvdW5kVHJhbnNpdGlvbjtcbn1cbi51aS5lbWJlZCA+IGkuaWNvbjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGNvbG9yOiBAaWNvbkNvbG9yO1xuICAgIGZvbnQtc2l6ZTogQGljb25TaXplO1xuICAgIHRleHQtc2hhZG93OiBAaWNvblNoYWRvdztcbiAgICB0cmFuc2l0aW9uOiBAaWNvblRyYW5zaXRpb247XG4gICAgei1pbmRleDogQGljb25aSW5kZXg7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmVtYmVkIGkuaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IEBob3ZlclBsYWNlaG9sZGVyQmFja2dyb3VuZDtcbiAgICBvcGFjaXR5OiBAaG92ZXJQbGFjZWhvbGRlckJhY2tncm91bmRPcGFjaXR5O1xufVxuLnVpLmVtYmVkIGkuaWNvbjpob3Zlcjo6YmVmb3JlIHtcbiAgICBjb2xvcjogQGhvdmVySWNvbkNvbG9yO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuYWN0aXZlLmVtYmVkID4gaS5pY29uLFxuLnVpLmFjdGl2ZS5lbWJlZCA+IC5wbGFjZWhvbGRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5hY3RpdmUuZW1iZWQgPiAuZW1iZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbkVtYmVkUmF0aW8pIHtcbiAgICAudWkuc3F1YXJlLmVtYmVkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IEBzcXVhcmVSYXRpbztcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cIjQ6M1wiXS5lbWJlZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBAc3RhbmRhcmRSYXRpbztcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cIjE2OjlcIl0uZW1iZWQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogQHdpZGVzY3JlZW5SYXRpbztcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cIjIxOjlcIl0uZW1iZWQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogQHVsdHJhV2lkZXNjcmVlblJhdGlvO1xuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBGbHlvdXRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcIm1vZHVsZVwiO1xuQGVsZW1lbnQ6IFwiZmx5b3V0XCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90RnVsbHNjcmVlbjogaWYoQHZhcmlhdGlvbkZseW91dEZ1bGxzY3JlZW4sIGUoXCI6bm90KC5mdWxsc2NyZWVuKVwiKSk7XG5cbkBub3RGbHVpZDogaWYoQHZhcmlhdGlvbkJ1dHRvbkZsdWlkLCBlKFwiOm5vdCguZmx1aWQpXCIpKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBGbHlvdXRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIEZseW91dCBNZW51ICovXG4udWkuZmx5b3V0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIHotaW5kZXg6IEB0b3BMYXllcjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIEdQVSBMYXllcnMgZm9yIENoaWxkIEVsZW1lbnRzICovXG4udWkuZmx5b3V0ID4gKiB7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0Q2xvc2UpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIENsb3NlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZmx5b3V0ID4gLmNsb3NlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogQGNsb3NlVG9wO1xuICAgICAgICByaWdodDogQGNsb3NlUmlnaHQ7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG9wYWNpdHk6IEBjbG9zZU9wYWNpdHk7XG4gICAgICAgIGZvbnQtc2l6ZTogQGNsb3NlU2l6ZTtcbiAgICAgICAgY29sb3I6IEBjbG9zZUNvbG9yO1xuICAgICAgICB3aWR0aDogQGNsb3NlSGl0Ym94O1xuICAgICAgICBoZWlnaHQ6IEBjbG9zZUhpdGJveDtcbiAgICAgICAgcGFkZGluZzogQGNsb3NlUGFkZGluZztcbiAgICAgICAgbWFyZ2luOiBAY2xvc2VNYXJnaW47XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgICAudWkuZmx5b3V0ID4gLmNsb3NlOmZvY3VzLFxuICAgIC51aS5mbHlvdXQgPiAuY2xvc2U6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgIEhlYWRlclxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmx5b3V0ID4gLmhlYWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogQGhlYWRlckJhY2tncm91bmQ7XG4gICAgbWFyZ2luOiBAaGVhZGVyTWFyZ2luO1xuICAgIHBhZGRpbmc6IEBoZWFkZXJQYWRkaW5nO1xuICAgIGJveC1zaGFkb3c6IEBoZWFkZXJCb3hTaGFkb3c7XG4gICAgY29sb3I6IEBoZWFkZXJDb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiBAaGVhZGVyQm9yZGVyO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tICovXG4udWkuZmx5b3V0ID4gLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogQGNvbnRlbnRGb250U2l6ZTtcbiAgICBsaW5lLWhlaWdodDogQGNvbnRlbnRMaW5lSGVpZ2h0O1xuICAgIHBhZGRpbmc6IEBjb250ZW50UGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiBAY29udGVudEJhY2tncm91bmQ7XG4gICAgJi5zY3JvbGxpbmcgd2hlbihAdmFyaWF0aW9uRmx5b3V0U2Nyb2xsaW5nKSB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBAb3ZlcnNjcm9sbEJlaGF2aW9yO1xuICAgIH1cbn1cbi51aS5mbHlvdXQubGVmdCA+IC5jb250ZW50LFxuLnVpLmZseW91dC5yaWdodCA+IC5jb250ZW50IHtcbiAgICBtaW4taGVpZ2h0OiBAY29udGVudE1pbkhlaWdodFdpdGhvdXRIZWFkZXI7XG59XG4udWkuZmx5b3V0LmxlZnQgPiAuaGVhZGVyICsgLmNvbnRlbnQsXG4udWkuZmx5b3V0LnJpZ2h0ID4gLmhlYWRlciArIC5jb250ZW50IHtcbiAgICBtaW4taGVpZ2h0OiBAY29udGVudE1pbkhlaWdodDtcbn1cbiYgd2hlbihAdmFyaWF0aW9uRmx5b3V0U2Nyb2xsaW5nKSB7XG4gICAgLnVpLmZseW91dC5sZWZ0ID4gLnNjcm9sbGluZy5jb250ZW50LFxuICAgIC51aS5mbHlvdXQucmlnaHQgPiAuc2Nyb2xsaW5nLmNvbnRlbnQge1xuICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29udGVudE1heEhlaWdodFdpdGhvdXRIZWFkZXI7XG4gICAgfVxuICAgIC51aS5mbHlvdXQubGVmdCA+IC5oZWFkZXIgKyAuc2Nyb2xsaW5nLmNvbnRlbnQsXG4gICAgLnVpLmZseW91dC5yaWdodCA+IC5oZWFkZXIgKyAuc2Nyb2xsaW5nLmNvbnRlbnQge1xuICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29udGVudE1heEhlaWdodDtcbiAgICB9XG5cbiAgICAudWkuZmx5b3V0LnRvcCA+IC5zY3JvbGxpbmcuY29udGVudCxcbiAgICAudWkuZmx5b3V0LmJvdHRvbSA+IC5zY3JvbGxpbmcuY29udGVudCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdDb250ZW50TWF4SGVpZ2h0VG9wQm90dG9tO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0QWN0aW9ucykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWN0aW9uc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC51aS5mbHlvdXQgPiAuYWN0aW9ucyB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBhY3Rpb25CYWNrZ3JvdW5kO1xuICAgICAgICBwYWRkaW5nOiBAYWN0aW9uUGFkZGluZztcbiAgICAgICAgYm9yZGVyLXRvcDogQGFjdGlvbkJvcmRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogQGFjdGlvbkFsaWduO1xuICAgIH1cbiAgICAudWkuZmx5b3V0IC5hY3Rpb25zID4gLmJ1dHRvbkB7bm90Rmx1aWR9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBidXR0b25EaXN0YW5jZTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0QmFzaWMpIHtcbiAgICAgICAgLnVpLnVpLmZseW91dCA+IC5iYXNpYy5hY3Rpb25zIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0TGVmdEFjdGlvbnMpIHtcbiAgICAgICAgLnVpLmZseW91dCA+IC5sZWZ0LmFjdGlvbnMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICYgPiAuYnV0dG9uQHtub3RGbHVpZH0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAYnV0dG9uTGVmdERpc3RhbmNlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQGJ1dHRvbkxlZnREaXN0YW5jZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvbkZseW91dENlbnRlcmVkKSB7XG4gICAgLnVpLmZseW91dCA+IC5jZW50ZXJlZCxcbiAgICAudWkuZmx5b3V0ID4gLmNlbnRlci5hbGlnbmVkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAmLmFjdGlvbnMgPiAuYnV0dG9uQHtub3RGbHVpZH0gd2hlbiAoQHZhcmlhdGlvbkZseW91dEFjdGlvbnMpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAYnV0dG9uQ2VudGVyZWREaXN0YW5jZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQGJ1dHRvbkNlbnRlcmVkRGlzdGFuY2U7XG4gICAgICAgIH1cbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRCYXNpYykge1xuICAgIC51aS51aS5mbHlvdXQgPiAuYmFzaWMuaGVhZGVyLFxuICAgIC51aS51aS5mbHlvdXQgPiAuYmFzaWMuYWN0aW9ucyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAudWkuZmx5b3V0ID4gLmJhc2ljLmhlYWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRGlyZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiAoQHZhcmlhdGlvbkZseW91dExlZnQpIHtcbiAgICAudWkubGVmdC5mbHlvdXQge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0UmlnaHQpIHtcbiAgICAudWkucmlnaHQuZmx5b3V0IHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRUb3ApIG9yIChAdmFyaWF0aW9uRmx5b3V0Qm90dG9tKSB7XG4gICAgLnVpLnRvcC5mbHlvdXQsXG4gICAgLnVpLmJvdHRvbS5mbHlvdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRUb3ApIHtcbiAgICAgICAgLnVpLnRvcC5mbHlvdXQge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0Qm90dG9tKSB7XG4gICAgICAgIC51aS5ib3R0b20uZmx5b3V0IHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFB1c2hhYmxlXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnB1c2hhYmxlLnB1c2hhYmxlLnB1c2hhYmxlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgJi5sb2NrZWQge1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgfVxufVxuXG4vKiBXaG9sZSBQYWdlICovXG5ib2R5LnB1c2hhYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiBAY2FudmFzQmFja2dyb3VuZDtcbiAgICAmLmRpbW1lZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgfVxufVxuXG4vKiBQYWdlIENvbnRleHQgKi9cbi5wdXNoYWJsZTpub3QoYm9keSkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuLnB1c2hhYmxlOm5vdChib2R5KSA+IC51aS5mbHlvdXQsXG4ucHVzaGFibGU6bm90KGJvZHkpID4gLmZpeGVkLFxuLnB1c2hhYmxlOm5vdChib2R5KSA+IC5wdXNoZXI6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEZpeGVkXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnB1c2hhYmxlID4gLmZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBAZHVyYXRpb24gQGVhc2luZztcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIHotaW5kZXg6IEBmaXhlZExheWVyO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnB1c2hhYmxlID4gLnB1c2hlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBAZHVyYXRpb24gQGVhc2luZztcbiAgICB6LWluZGV4OiBAbWlkZGxlTGF5ZXI7XG5cbiAgICAvKiBQdXNoZXIgc2hvdWxkIGluaGVyaXQgYmFja2dyb3VuZCBmcm9tIGNvbnRleHQgKi9cbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICY6bm90KC5vdmVyZmxvd2luZykge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cblxuYm9keS5wdXNoYWJsZSA+IC5wdXNoZXIge1xuICAgIGJhY2tncm91bmQ6IEBwYWdlQmFja2dyb3VuZDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgRGltbWVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnB1c2hhYmxlID4gLnB1c2hlcjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiBAZGltbWVyQ29sb3I7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IEBkaW1tZXJUcmFuc2l0aW9uO1xuICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgIHotaW5kZXg6IEBkaW1tZXJMYXllcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5mbHlvdXQubWVudSAuaXRlbSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBEaW1tZWRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucHVzaGFibGUgPiAucHVzaGVyLmRpbW1lZDo6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0Qmx1cnJpbmcpIHtcbiAgICAucHVzaGFibGUgPiAucHVzaGVyLmRpbW1lZC5ibHVycmluZzpub3QoLmNsb3NpbmcpOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBibHVycmVkQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogQGJsdXJyZWRFbmRGaWx0ZXI7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogQGJsdXJyZWRFbmRGaWx0ZXI7XG4gICAgfVxufVxuLnB1c2hhYmxlID4gLnB1c2hlci5jbG9zaW5nLmRpbW1lZDo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBBbmltYXRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuYW5pbWF0aW5nLmZseW91dCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgVmlzaWJsZVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS52aXNpYmxlLmZseW91dCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4vKiBTaGFkb3cgRGlyZWN0aW9uICovXG4mIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRMZWZ0KSBvciAoQHZhcmlhdGlvbkZseW91dFJpZ2h0KSB7XG4gICAgLnVpLmxlZnQudmlzaWJsZS5mbHlvdXQsXG4gICAgLnVpLnJpZ2h0LnZpc2libGUuZmx5b3V0IHtcbiAgICAgICAgYm94LXNoYWRvdzogQGhvcml6b250YWxCb3hTaGFkb3c7XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0VG9wKSBvciAoQHZhcmlhdGlvbkZseW91dEJvdHRvbSkge1xuICAgIC51aS50b3AudmlzaWJsZS5mbHlvdXQsXG4gICAgLnVpLmJvdHRvbS52aXNpYmxlLmZseW91dCB7XG4gICAgICAgIGJveC1zaGFkb3c6IEB2ZXJ0aWNhbEJveFNoYWRvdztcbiAgICB9XG59XG5cbi8qIFZpc2libGUgT24gTG9hZCAqL1xuJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0TGVmdCkge1xuICAgIC51aS52aXNpYmxlLmxlZnQuZmx5b3V0IH4gLmZpeGVkLFxuICAgIC51aS52aXNpYmxlLmxlZnQuZmx5b3V0IH4gLnB1c2hlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHdpZHRoLCAwLCAwKTtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRSaWdodCkge1xuICAgIC51aS52aXNpYmxlLnJpZ2h0LmZseW91dCB+IC5maXhlZCxcbiAgICAudWkudmlzaWJsZS5yaWdodC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtQHdpZHRoLCAwLCAwKTtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRUb3ApIHtcbiAgICAudWkudmlzaWJsZS50b3AuZmx5b3V0IH4gLmZpeGVkLFxuICAgIC51aS52aXNpYmxlLnRvcC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCBAaGVpZ2h0LCAwKTtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRCb3R0b20pIHtcbiAgICAudWkudmlzaWJsZS5ib3R0b20uZmx5b3V0IH4gLmZpeGVkLFxuICAgIC51aS52aXNpYmxlLmJvdHRvbS5mbHlvdXQgfiAucHVzaGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtQGhlaWdodCwgMCk7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRMZWZ0KSBvciAoQHZhcmlhdGlvbkZseW91dFJpZ2h0KSB7XG4gICAgLyogb3Bwb3NpdGUgc2lkZXMgdmlzaWJsZSBmb3JjZXMgY29udGVudCBvdmVybGF5ICovXG4gICAgLnVpLnZpc2libGUubGVmdC5mbHlvdXQgfiAudWkudmlzaWJsZS5yaWdodC5mbHlvdXQgfiAuZml4ZWQsXG4gICAgLnVpLnZpc2libGUubGVmdC5mbHlvdXQgfiAudWkudmlzaWJsZS5yaWdodC5mbHlvdXQgfiAucHVzaGVyLFxuICAgIC51aS52aXNpYmxlLnJpZ2h0LmZseW91dCB+IC51aS52aXNpYmxlLmxlZnQuZmx5b3V0IH4gLmZpeGVkLFxuICAgIC51aS52aXNpYmxlLnJpZ2h0LmZseW91dCB+IC51aS52aXNpYmxlLmxlZnQuZmx5b3V0IH4gLnB1c2hlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRJbnZlcnRlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuICAgIC51aS5mbHlvdXQuaW52ZXJ0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRDbG9zZSkge1xuICAgICAgICAudWkuZmx5b3V0LmludmVydGVkID4gLmNsb3NlIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRDbG9zZUNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLmZseW91dC5pbnZlcnRlZCA+IC5oZWFkZXIsXG4gICAgLnVpLmZseW91dC5pbnZlcnRlZCA+IC5jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZEhlYWRlckNvbG9yO1xuICAgIH1cbiAgICAudWkuZmx5b3V0LmludmVydGVkID4gLmFjdGlvbnMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRBY3Rpb25CYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItdG9wOiBAaW52ZXJ0ZWRBY3Rpb25Cb3JkZXI7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRBY3Rpb25Db2xvcjtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgV2lkdGhcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBMZWZ0IC8gUmlnaHQgKi9cbiYgd2hlbiAoQHZhcmlhdGlvbkZseW91dExlZnQpIG9yIChAdmFyaWF0aW9uRmx5b3V0UmlnaHQpIHtcbiAgICAudWkubGVmdC5mbHlvdXQsXG4gICAgLnVpLnJpZ2h0LmZseW91dCB7XG4gICAgICAgIHdpZHRoOiBAd2lkdGg7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkZseW91dFRoaW4pIHtcbiAgICAgICAgLnVpLnRoaW4ubGVmdC5mbHlvdXQsXG4gICAgICAgIC51aS50aGluLnJpZ2h0LmZseW91dCB7XG4gICAgICAgICAgICB3aWR0aDogQHRoaW5XaWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ubGVmdC5mbHlvdXQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ucmlnaHQuZmx5b3V0IHtcbiAgICAgICAgICAgIHdpZHRoOiBAdmVyeVRoaW5XaWR0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkZseW91dFdpZGUpIHtcbiAgICAgICAgLnVpLndpZGUubGVmdC5mbHlvdXQsXG4gICAgICAgIC51aS53aWRlLnJpZ2h0LmZseW91dCB7XG4gICAgICAgICAgICB3aWR0aDogQHdpZGVXaWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ubGVmdC5mbHlvdXQsXG4gICAgICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ucmlnaHQuZmx5b3V0IHtcbiAgICAgICAgICAgIHdpZHRoOiBAdmVyeVdpZGVXaWR0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIExlZnQgVmlzaWJsZSAqL1xuICAgICYgd2hlbiAoQHZhcmlhdGlvbkZseW91dExlZnQpIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0VGhpbikge1xuICAgICAgICAgICAgLnVpLnZpc2libGUudGhpbi5sZWZ0LmZseW91dCB+IC5maXhlZCxcbiAgICAgICAgICAgIC51aS52aXNpYmxlLnRoaW4ubGVmdC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB0aGluV2lkdGgsIDAsIDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ubGVmdC5mbHlvdXQgfiAuZml4ZWQsXG4gICAgICAgICAgICAudWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ubGVmdC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB2ZXJ5VGhpbldpZHRoLCAwLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkZseW91dFdpZGUpIHtcbiAgICAgICAgICAgIC51aS52aXNpYmxlLndpZGUubGVmdC5mbHlvdXQgfiAuZml4ZWQsXG4gICAgICAgICAgICAudWkudmlzaWJsZS53aWRlLmxlZnQuZmx5b3V0IH4gLnB1c2hlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAd2lkZVdpZHRoLCAwLCAwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB3aWRlXCJdLmxlZnQuZmx5b3V0IH4gLmZpeGVkLFxuICAgICAgICAgICAgLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB3aWRlXCJdLmxlZnQuZmx5b3V0IH4gLnB1c2hlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAdmVyeVdpZGVXaWR0aCwgMCwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBSaWdodCBWaXNpYmxlICovXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0UmlnaHQpIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0VGhpbikge1xuICAgICAgICAgICAgLnVpLnZpc2libGUudGhpbi5yaWdodC5mbHlvdXQgfiAuZml4ZWQsXG4gICAgICAgICAgICAudWkudmlzaWJsZS50aGluLnJpZ2h0LmZseW91dCB+IC5wdXNoZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLUB0aGluV2lkdGgsIDAsIDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ucmlnaHQuZmx5b3V0IH4gLmZpeGVkLFxuICAgICAgICAgICAgLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB0aGluXCJdLnJpZ2h0LmZseW91dCB+IC5wdXNoZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLUB2ZXJ5VGhpbldpZHRoLCAwLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbkZseW91dFdpZGUpIHtcbiAgICAgICAgICAgIC51aS52aXNpYmxlLndpZGUucmlnaHQuZmx5b3V0IH4gLmZpeGVkLFxuICAgICAgICAgICAgLnVpLnZpc2libGUud2lkZS5yaWdodC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC1Ad2lkZVdpZHRoLCAwLCAwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB3aWRlXCJdLnJpZ2h0LmZseW91dCB+IC5maXhlZCxcbiAgICAgICAgICAgIC51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5yaWdodC5mbHlvdXQgfiAucHVzaGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC1AdmVyeVdpZGVXaWR0aCwgMCwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRGdWxsc2NyZWVuKSB7XG4gICAgICAgIC8qIEZ1bGxzY3JlZW4gKi9cbiAgICAgICAgLnVpLmZ1bGxzY3JlZW4uZmx5b3V0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQ29sdW1uIFdpZHRoXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvbkZseW91dENvbHVtbldpZHRoKSB7XG4gICAgICAgIC8qIFNpemluZyBDb21iaW5hdGlvbnMgKi9cblxuICAgICAgICAudWlbY2xhc3MqPVwib25lIHdpZGVcIl0uZmx5b3V0QHtub3RGdWxsc2NyZWVufSB7XG4gICAgICAgICAgICB3aWR0aDogQG9uZVdpZGU7XG4gICAgICAgIH1cblxuICAgICAgICAudWlbY2xhc3MqPVwidHdvIHdpZGVcIl0uZmx5b3V0QHtub3RGdWxsc2NyZWVufSB7XG4gICAgICAgICAgICB3aWR0aDogQHR3b1dpZGU7XG4gICAgICAgIH1cblxuICAgICAgICAudWlbY2xhc3MqPVwidGhyZWUgd2lkZVwiXS5mbHlvdXRAe25vdEZ1bGxzY3JlZW59IHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGhyZWVXaWRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpW2NsYXNzKj1cImZvdXIgd2lkZVwiXS5mbHlvdXRAe25vdEZ1bGxzY3JlZW59IHtcbiAgICAgICAgICAgIHdpZHRoOiBAZm91cldpZGU7XG4gICAgICAgIH1cblxuICAgICAgICAudWlbY2xhc3MqPVwiZml2ZSB3aWRlXCJdLmZseW91dEB7bm90RnVsbHNjcmVlbn0ge1xuICAgICAgICAgICAgd2lkdGg6IEBmaXZlV2lkZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aVtjbGFzcyo9XCJzaXggd2lkZVwiXS5mbHlvdXRAe25vdEZ1bGxzY3JlZW59IHtcbiAgICAgICAgICAgIHdpZHRoOiBAc2l4V2lkZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aVtjbGFzcyo9XCJzZXZlbiB3aWRlXCJdLmZseW91dEB7bm90RnVsbHNjcmVlbn0ge1xuICAgICAgICAgICAgd2lkdGg6IEBzZXZlbldpZGU7XG4gICAgICAgIH1cblxuICAgICAgICAudWlbY2xhc3MqPVwiZWlnaHQgd2lkZVwiXS5mbHlvdXRAe25vdEZ1bGxzY3JlZW59IHtcbiAgICAgICAgICAgIHdpZHRoOiBAZWlnaHRXaWRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpW2NsYXNzKj1cIm5pbmUgd2lkZVwiXS5mbHlvdXRAe25vdEZ1bGxzY3JlZW59IHtcbiAgICAgICAgICAgIHdpZHRoOiBAbmluZVdpZGU7XG4gICAgICAgIH1cblxuICAgICAgICAudWlbY2xhc3MqPVwidGVuIHdpZGVcIl0uZmx5b3V0QHtub3RGdWxsc2NyZWVufSB7XG4gICAgICAgICAgICB3aWR0aDogQHRlbldpZGU7XG4gICAgICAgIH1cblxuICAgICAgICAudWlbY2xhc3MqPVwiZWxldmVuIHdpZGVcIl0uZmx5b3V0QHtub3RGdWxsc2NyZWVufSB7XG4gICAgICAgICAgICB3aWR0aDogQGVsZXZlbldpZGU7XG4gICAgICAgIH1cblxuICAgICAgICAudWlbY2xhc3MqPVwidHdlbHZlIHdpZGVcIl0uZmx5b3V0QHtub3RGdWxsc2NyZWVufSB7XG4gICAgICAgICAgICB3aWR0aDogQHR3ZWx2ZVdpZGU7XG4gICAgICAgIH1cblxuICAgICAgICAudWlbY2xhc3MqPVwidGhpcnRlZW4gd2lkZVwiXS5mbHlvdXRAe25vdEZ1bGxzY3JlZW59IHtcbiAgICAgICAgICAgIHdpZHRoOiBAdGhpcnRlZW5XaWRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGVcIl0uZmx5b3V0QHtub3RGdWxsc2NyZWVufSB7XG4gICAgICAgICAgICB3aWR0aDogQGZvdXJ0ZWVuV2lkZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aVtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGVcIl0uZmx5b3V0QHtub3RGdWxsc2NyZWVufSB7XG4gICAgICAgICAgICB3aWR0aDogQGZpZnRlZW5XaWRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpW2NsYXNzKj1cInNpeHRlZW4gd2lkZVwiXS5mbHlvdXRAe25vdEZ1bGxzY3JlZW59IHtcbiAgICAgICAgICAgIHdpZHRoOiBAc2l4dGVlbldpZGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgQW5pbWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0T3ZlcmxheSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIE92ZXJsYXlcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIFNldC11cCAqL1xuICAgIC51aS5vdmVybGF5LmZseW91dCB7XG4gICAgICAgIHotaW5kZXg6IEB0b3BMYXllcjtcbiAgICB9XG5cbiAgICAvKiBJbml0aWFsICovXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uRmx5b3V0TGVmdCkge1xuICAgICAgICAudWkubGVmdC5vdmVybGF5LmZseW91dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRSaWdodCkge1xuICAgICAgICAudWkucmlnaHQub3ZlcmxheS5mbHlvdXQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRUb3ApIHtcbiAgICAgICAgLnVpLnRvcC5vdmVybGF5LmZseW91dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25GbHlvdXRCb3R0b20pIHtcbiAgICAgICAgLnVpLmJvdHRvbS5vdmVybGF5LmZseW91dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogQW5pbWF0aW9uICovXG4gICAgLmFuaW1hdGluZy51aS5vdmVybGF5LmZseW91dCxcbiAgICAudWkudmlzaWJsZS5vdmVybGF5LmZseW91dCB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBAZHVyYXRpb24gQGVhc2luZztcbiAgICB9XG5cbiAgICAvKiBFbmQgLSBmbHlvdXQgKi9cbiAgICAudWkudmlzaWJsZS5vdmVybGF5LmZseW91dCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxuXG4gICAgLyogRW5kIC0gUHVzaGVyICovXG4gICAgLnVpLnZpc2libGUub3ZlcmxheS5mbHlvdXQgfiAuZml4ZWQsXG4gICAgLnVpLnZpc2libGUub3ZlcmxheS5mbHlvdXQgfiAucHVzaGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIE1vZGFsXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJtb2R1bGVcIjtcbkBlbGVtZW50OiBcIm1vZGFsXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90RnVsbHNjcmVlbjogaWYoQHZhcmlhdGlvbk1vZGFsRnVsbHNjcmVlbiwgZShcIjpub3QoLmZ1bGxzY3JlZW4pXCIpKTtcbkBub3RJbnNpZGU6IGlmKEB2YXJpYXRpb25Nb2RhbENsb3NlSW5zaWRlLCBlKFwiOm5vdCguaW5zaWRlKVwiKSk7XG5Abm90QWxpZ25lZDogaWYoQHZhcmlhdGlvbk1vZGFsQWxpZ25lZCwgZShcIjpub3QoLmFsaWduZWQpXCIpKTtcbkBub3RDbG9zZTogaWYoQHZhcmlhdGlvbk1vZGFsQ2xvc2UsIGUoXCI6bm90KC5jbG9zZSlcIikpO1xuXG5Abm90Rmx1aWQ6IGlmKEB2YXJpYXRpb25CdXR0b25GbHVpZCwgZShcIjpub3QoLmZsdWlkKVwiKSk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTW9kYWxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5tb2RhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgei1pbmRleDogQHpJbmRleDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6IEBiYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogQGJvcmRlcjtcbiAgICBib3gtc2hhZG93OiBAYm94U2hhZG93O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IEB0cmFuc2Zvcm1PcmlnaW47XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICB1c2VyLXNlbGVjdDogdGV4dDtcbiAgICB3aWxsLWNoYW5nZTogdG9wLCBsZWZ0LCBtYXJnaW4sIHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4udWkubW9kYWwgPiA6Zmlyc3QtY2hpbGRAe25vdENsb3NlfTpub3QoLmRpbW1lciksXG4udWkubW9kYWwgPiBpLmljb246Zmlyc3QtY2hpbGQgKyAqLFxuLnVpLm1vZGFsID4gLmRpbW1lcjpmaXJzdC1jaGlsZCArICpAe25vdENsb3NlfSxcbi51aS5tb2RhbCA+IC5kaW1tZXI6Zmlyc3QtY2hpbGQgKyBpLmljb24gKyAqIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xufVxuXG4udWkubW9kYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbn1cblxuLnVpLm1vZGFsID4gLnVpLmRpbW1lciB7XG4gICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1vZGFsQ2xvc2UpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQ2xvc2VcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5tb2RhbCA+IC5jbG9zZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IEBjbG9zZVRvcDtcbiAgICAgICAgcmlnaHQ6IEBjbG9zZVJpZ2h0O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvcGFjaXR5OiBAY2xvc2VPcGFjaXR5O1xuICAgICAgICBmb250LXNpemU6IEBjbG9zZVNpemU7XG4gICAgICAgIGNvbG9yOiBAY2xvc2VDb2xvcjtcbiAgICAgICAgd2lkdGg6IEBjbG9zZUhpdGJveDtcbiAgICAgICAgaGVpZ2h0OiBAY2xvc2VIaXRib3g7XG4gICAgICAgIHBhZGRpbmc6IEBjbG9zZVBhZGRpbmc7XG4gICAgfVxuICAgIC51aS5tb2RhbCA+IC5jbG9zZTpmb2N1cyxcbiAgICAudWkubW9kYWwgPiAuY2xvc2U6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgSGVhZGVyXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLm1vZGFsID4gLmhlYWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IEBoZWFkZXJGb250RmFtaWx5O1xuICAgIGJhY2tncm91bmQ6IEBoZWFkZXJCYWNrZ3JvdW5kO1xuICAgIG1hcmdpbjogQGhlYWRlck1hcmdpbjtcbiAgICBwYWRkaW5nOiBAaGVhZGVyUGFkZGluZztcbiAgICBib3gtc2hhZG93OiBAaGVhZGVyQm94U2hhZG93O1xuICAgIGNvbG9yOiBAaGVhZGVyQ29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogQGhlYWRlckJvcmRlcjtcbn1cbi51aS5tb2RhbCA+IC5oZWFkZXI6bm90KC51aSkge1xuICAgIGZvbnQtc2l6ZTogQGhlYWRlckZvbnRTaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBAaGVhZGVyTGluZUhlaWdodDtcbiAgICBmb250LXdlaWdodDogQGhlYWRlckZvbnRXZWlnaHQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkubW9kYWwgPiAuY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiBAY29udGVudEZvbnRTaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBAY29udGVudExpbmVIZWlnaHQ7XG4gICAgcGFkZGluZzogQGNvbnRlbnRQYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6IEBjb250ZW50QmFja2dyb3VuZDtcbn1cbi51aS5tb2RhbCA+IC5pbWFnZS5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi8qIEltYWdlICovXG4udWkubW9kYWwgPiAuY29udGVudCA+IC5pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IEBpbWFnZVdpZHRoO1xuICAgIGFsaWduLXNlbGY6IEBpbWFnZVZlcnRpY2FsQWxpZ247XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLnVpLm1vZGFsID4gW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdIHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbn1cbi51aS5tb2RhbCA+IFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXSB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLnVpLm1vZGFsID4gW2NsYXNzKj1cInN0cmV0Y2hlZFwiXSB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLyogRGVzY3JpcHRpb24gKi9cbi51aS5tb2RhbCA+IC5jb250ZW50ID4gLmRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgYWxpZ24tc2VsZjogQGRlc2NyaXB0aW9uVmVydGljYWxBbGlnbjtcbn1cblxuLnVpLm1vZGFsID4gLmNvbnRlbnQgPiBpLmljb24gKyAuZGVzY3JpcHRpb24sXG4udWkubW9kYWwgPiAuY29udGVudCA+IC5pbWFnZSArIC5kZXNjcmlwdGlvbiB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgbWluLXdpZHRoOiBAZGVzY3JpcHRpb25NaW5XaWR0aDtcbiAgICB3aWR0aDogQGRlc2NyaXB0aW9uV2lkdGg7XG4gICAgcGFkZGluZy1sZWZ0OiBAZGVzY3JpcHRpb25EaXN0YW5jZTtcbn1cblxuLyogcnRsOmlnbm9yZSAqL1xuLnVpLm1vZGFsID4gLmNvbnRlbnQgPiAuaW1hZ2UgPiBpLmljb24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogQGltYWdlSWNvblNpemU7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1vZGFsQWN0aW9ucykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBBY3Rpb25zXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkubW9kYWwgPiAuYWN0aW9ucyB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBhY3Rpb25CYWNrZ3JvdW5kO1xuICAgICAgICBwYWRkaW5nOiBAYWN0aW9uUGFkZGluZztcbiAgICAgICAgYm9yZGVyLXRvcDogQGFjdGlvbkJvcmRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogQGFjdGlvbkFsaWduO1xuICAgIH1cbiAgICAudWkubW9kYWwgLmFjdGlvbnMgPiAuYnV0dG9uQHtub3RGbHVpZH0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogQGJ1dHRvbkRpc3RhbmNlO1xuICAgIH1cbiAgICAudWkudWkubW9kYWwgPiAuYmFzaWMuYWN0aW9ucyxcbiAgICAudWkuYmFzaWMubW9kYWwgPiAuYWN0aW9ucyB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1vZGFsTGVmdEFjdGlvbnMpIHtcbiAgICAgICAgLnVpLm1vZGFsID4gLmxlZnQuYWN0aW9ucyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgJiA+IC5idXR0b25Ae25vdEZsdWlkfSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBidXR0b25MZWZ0RGlzdGFuY2U7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAYnV0dG9uTGVmdERpc3RhbmNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Nb2RhbENlbnRlcmVkKSB7XG4gICAgLnVpLm1vZGFsID4gLmNlbnRlcmVkLFxuICAgIC51aS5tb2RhbCA+IC5jZW50ZXIuYWxpZ25lZCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgJi5hY3Rpb25zID4gLmJ1dHRvbkB7bm90Rmx1aWR9IHdoZW4gKEB2YXJpYXRpb25Nb2RhbEFjdGlvbnMpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAYnV0dG9uQ2VudGVyZWREaXN0YW5jZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQGJ1dHRvbkNlbnRlcmVkRGlzdGFuY2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBSZXNwb25zaXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBNb2RhbCBXaWR0aCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgIC51aS5tb2RhbEB7bm90RnVsbHNjcmVlbn0ge1xuICAgICAgICB3aWR0aDogQG1vYmlsZVdpZHRoO1xuICAgICAgICBtYXJnaW46IEBtb2JpbGVNYXJnaW47XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAdGFibGV0QnJlYWtwb2ludCkge1xuICAgIC51aS5tb2RhbEB7bm90RnVsbHNjcmVlbn0ge1xuICAgICAgICB3aWR0aDogQHRhYmxldFdpZHRoO1xuICAgICAgICBtYXJnaW46IEB0YWJsZXRNYXJnaW47XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAY29tcHV0ZXJCcmVha3BvaW50KSB7XG4gICAgLnVpLm1vZGFsQHtub3RGdWxsc2NyZWVufSB7XG4gICAgICAgIHdpZHRoOiBAY29tcHV0ZXJXaWR0aDtcbiAgICAgICAgbWFyZ2luOiBAY29tcHV0ZXJNYXJnaW47XG4gICAgICAgICYgPiAuYWN0aXZlLmRpbW1lciArIC5jbG9zZUB7bm90SW5zaWRlfSB3aGVuIChAdmFyaWF0aW9uTW9kYWxDbG9zZSkge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBvcGFjaXR5OiBAY2xvc2VPcGFjaXR5RGltbWVkO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1vZGFsQ2xvc2UpIHtcbiAgICAgICAgLnVpLmRpbW1lciA+IC51aS5tb2RhbEB7bm90RnVsbHNjcmVlbn0gPiAuY2xvc2VAe25vdEluc2lkZX0ge1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IEBjbG9zZVNoYWRvdztcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25EaW1tZXJJbnZlcnRlZCkge1xuICAgICAgICAgICAgLnVpLmludmVydGVkLmRpbW1lciA+IC51aS5tb2RhbEB7bm90RnVsbHNjcmVlbn0gPiAuY2xvc2VAe25vdEluc2lkZX0ge1xuICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRDbG9zZVNoYWRvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGxhcmdlTW9uaXRvckJyZWFrcG9pbnQpIHtcbiAgICAudWkubW9kYWxAe25vdEZ1bGxzY3JlZW59IHtcbiAgICAgICAgd2lkdGg6IEBsYXJnZU1vbml0b3JXaWR0aDtcbiAgICAgICAgbWFyZ2luOiBAbGFyZ2VNb25pdG9yTWFyZ2luO1xuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHdpZGVzY3JlZW5Nb25pdG9yQnJlYWtwb2ludCkge1xuICAgIC51aS5tb2RhbEB7bm90RnVsbHNjcmVlbn0ge1xuICAgICAgICB3aWR0aDogQHdpZGVzY3JlZW5Nb25pdG9yV2lkdGg7XG4gICAgICAgIG1hcmdpbjogQHdpZGVzY3JlZW5Nb25pdG9yTWFyZ2luO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxDbG9zZSkge1xuICAgIC8qIFRhYmxldCBhbmQgTW9iaWxlICovXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdFRhYmxldFNjcmVlbikge1xuICAgICAgICAudWkubW9kYWwgPiAuY2xvc2UgKyAuaGVhZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IEBjbG9zZUhpdGJveDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS5tb2RhbCA+IC5jbG9zZSB7XG4gICAgICAgICAgICB0b3A6IEBpbm5lckNsb3NlVG9wO1xuICAgICAgICAgICAgcmlnaHQ6IEBpbm5lckNsb3NlUmlnaHQ7XG4gICAgICAgICAgICBjb2xvcjogQGlubmVyQ2xvc2VDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogTW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgLnVpLm1vZGFsID4gLmhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IEBtb2JpbGVIZWFkZXJQYWRkaW5nO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Nb2RhbENsb3NlKSB7XG4gICAgICAgIC51aS5tb2RhbCA+IC5jbG9zZSArIC5oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQGNsb3NlSGl0Ym94O1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aS5vdmVybGF5LmZ1bGxzY3JlZW4ubW9kYWwgPiAuY29udGVudC5jb250ZW50LmNvbnRlbnQge1xuICAgICAgICBtaW4taGVpZ2h0OiBAb3ZlcmxheUZ1bGxzY3JlZW5TY3JvbGxpbmdDb250ZW50TWF4SGVpZ2h0TW9iaWxlO1xuICAgIH1cbiAgICAudWkub3ZlcmxheS5mdWxsc2NyZWVuLm1vZGFsID4gLnNjcm9sbGluZy5jb250ZW50LmNvbnRlbnQuY29udGVudCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IEBvdmVybGF5RnVsbHNjcmVlblNjcm9sbGluZ0NvbnRlbnRNYXhIZWlnaHRNb2JpbGU7XG4gICAgfVxuICAgIC51aS5tb2RhbCA+IC5jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IEBtb2JpbGVDb250ZW50UGFkZGluZyAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Nb2RhbENsb3NlKSB7XG4gICAgICAgIC51aS5tb2RhbCA+IC5jbG9zZSB7XG4gICAgICAgICAgICB0b3A6IEBtb2JpbGVDbG9zZVRvcCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcmlnaHQ6IEBtb2JpbGVDbG9zZVJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBydGw6aWdub3JlICovXG4gICAgLnVpLm1vZGFsIC5pbWFnZS5jb250ZW50IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgLnVpLm1vZGFsID4gLmNvbnRlbnQgPiAuaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IEBtb2JpbGVJbWFnZVBhZGRpbmcgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnVpLm1vZGFsID4gLmNvbnRlbnQgPiAuaW1hZ2UgPiBpLmljb24ge1xuICAgICAgICBmb250LXNpemU6IEBtb2JpbGVJbWFnZUljb25TaXplO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLyogcnRsOmlnbm9yZSAqL1xuICAgIC51aS5tb2RhbCA+IC5jb250ZW50ID4gLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiBAbW9iaWxlRGVzY3JpcHRpb25QYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1vZGFsQWN0aW9ucykge1xuICAgICAgICAvKiBMZXQgQnV0dG9ucyBTdGFjayAqL1xuICAgICAgICAudWkubW9kYWwgPiAuYWN0aW9ucyB7XG4gICAgICAgICAgICBwYWRkaW5nOiBAbW9iaWxlQWN0aW9uUGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC51aS5tb2RhbCAuYWN0aW9ucyA+IC5idXR0b25zLFxuICAgICAgICAudWkubW9kYWwgLmFjdGlvbnMgPiAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IEBtb2JpbGVCdXR0b25EaXN0YW5jZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5pbnZlcnRlZC5kaW1tZXIgPiAudWkubW9kYWwge1xuICAgIGJveC1zaGFkb3c6IEBpbnZlcnRlZEJveFNoYWRvdztcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiYgd2hlbiAoQHZhcmlhdGlvbk1vZGFsQmFzaWMpIHtcbiAgICAudWkuYmFzaWMubW9kYWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBAYmFzaWNNb2RhbENvbG9yO1xuICAgIH1cbiAgICAudWkudWkubW9kYWwgPiAuYmFzaWMuaGVhZGVyLFxuICAgIC51aS51aS5tb2RhbCA+IC5iYXNpYy5hY3Rpb25zLFxuICAgIC51aS5iYXNpYy5tb2RhbCA+IC5oZWFkZXIsXG4gICAgLnVpLmJhc2ljLm1vZGFsID4gLmNvbnRlbnQsXG4gICAgLnVpLmJhc2ljLm1vZGFsID4gLmFjdGlvbnMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgLnVpLm1vZGFsID4gLmJhc2ljLmhlYWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICAgIC51aS5iYXNpYy5tb2RhbCA+IC5oZWFkZXIge1xuICAgICAgICBjb2xvcjogQGJhc2ljTW9kYWxIZWFkZXJDb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxDbG9zZSkge1xuICAgICAgICAudWkuYmFzaWMubW9kYWwgPiAuY2xvc2Uge1xuICAgICAgICAgICAgdG9wOiBAYmFzaWNNb2RhbENsb3NlVG9wO1xuICAgICAgICAgICAgcmlnaHQ6IEBiYXNpY01vZGFsQ2xvc2VSaWdodDtcbiAgICAgICAgICAgIGNvbG9yOiBAYmFzaWNJbm5lckNsb3NlQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLmludmVydGVkLmRpbW1lciA+IC5iYXNpYy5tb2RhbCB7XG4gICAgICAgIGNvbG9yOiBAYmFzaWNJbnZlcnRlZE1vZGFsQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5kaW1tZXIgPiAudWkuYmFzaWMubW9kYWwgPiAuaGVhZGVyIHtcbiAgICAgICAgY29sb3I6IEBiYXNpY0ludmVydGVkTW9kYWxIZWFkZXJDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1vZGFsTGVnYWN5KSB7XG4gICAgLyogUmVzb3J0IHRvIG1hcmdpbiBwb3NpdGlvbmluZyBpZiBsZWdhY3kgKi9cbiAgICAudWkubGVnYWN5LmxlZ2FjeS5tb2RhbCxcbiAgICAudWkubGVnYWN5LmxlZ2FjeS5wYWdlLmRpbW1lciA+IC51aS5tb2RhbCB7XG4gICAgICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWkubGVnYWN5LmxlZ2FjeS5tb2RhbEB7bm90QWxpZ25lZH0sXG4gICAgLnVpLmxlZ2FjeS5sZWdhY3kucGFnZS5kaW1tZXIgPiAudWkubW9kYWxAe25vdEFsaWduZWR9IHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgfVxuICAgIC51aS5sZWdhY3kubGVnYWN5LnBhZ2UuZGltbWVyID4gLnVpLnNjcm9sbGluZy5tb2RhbEB7bm90QWxpZ25lZH0sXG4gICAgLnVpLnBhZ2UuZGltbWVyID4gLnVpLnNjcm9sbGluZy5sZWdhY3kubGVnYWN5Lm1vZGFsQHtub3RBbGlnbmVkfSxcbiAgICAudWkudG9wLmFsaWduZWQubGVnYWN5LmxlZ2FjeS5wYWdlLmRpbW1lciA+IC51aS5tb2RhbEB7bm90QWxpZ25lZH0sXG4gICAgLnVpLnRvcC5hbGlnbmVkLmRpbW1lciA+IC51aS5sZWdhY3kubGVnYWN5Lm1vZGFsQHtub3RBbGlnbmVkfSB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxPdmVybGF5KSB7XG4gICAgICAgIC51aS5sZWdhY3kub3ZlcmxheS5mdWxsc2NyZWVuLm1vZGFsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC1Ac2Nyb2xsaW5nTWFyZ2luICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkubG9hZGluZy5tb2RhbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IEBsb2FkaW5nWkluZGV4O1xufVxuXG4udWkuYWN0aXZlLm1vZGFsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxBbGlnbmVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBbGlnbmVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAubW9kYWxzLmRpbW1lciAudWkudG9wLmFsaWduZWQubW9kYWwge1xuICAgICAgICB0b3A6IEB0b3BBbGlnbmVkTWFyZ2luO1xuICAgIH1cbiAgICAubW9kYWxzLmRpbW1lciAudWkuYm90dG9tLmFsaWduZWQubW9kYWwge1xuICAgICAgICBib3R0b206IEBib3R0b21BbGlnbmVkTWFyZ2luO1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgLm1vZGFscy5kaW1tZXIgLnVpLnRvcC5hbGlnbmVkLm1vZGFsIHtcbiAgICAgICAgICAgIHRvcDogQG1vYmlsZVRvcEFsaWduZWRNYXJnaW47XG4gICAgICAgIH1cbiAgICAgICAgLm1vZGFscy5kaW1tZXIgLnVpLmJvdHRvbS5hbGlnbmVkLm1vZGFsIHtcbiAgICAgICAgICAgIGJvdHRvbTogQG1vYmlsZUJvdHRvbUFsaWduZWRNYXJnaW47XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1vZGFsU2Nyb2xsaW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2Nyb2xsaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBTY3JvbGxpbmcgRGltbWVyICovXG4gICAgLnNjcm9sbGluZy5kaW1tYWJsZS5kaW1tZWQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAuc2Nyb2xsaW5nLmRpbW1hYmxlID4gLmRpbW1lciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICAgIC5zY3JvbGxpbmcuZGltbWFibGU6bm90KGJvZHkpID4gLmRpbW1lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgLnNjcm9sbGluZy5kaW1tYWJsZS5kaW1tZWQgPiAuZGltbWVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IEBvdmVyc2Nyb2xsQmVoYXZpb3I7XG4gICAgfVxuICAgIC5tb2RhbHMuZGltbWVyIC51aS5zY3JvbGxpbmcubW9kYWwuZnVsbHNjcmVlbiB7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG4gICAgLm1vZGFscy5kaW1tZXIgLnVpLnNjcm9sbGluZy5tb2RhbEB7bm90RnVsbHNjcmVlbn0ge1xuICAgICAgICBtYXJnaW46IEBzY3JvbGxpbmdNYXJnaW4gYXV0bztcbiAgICAgICAgdG9wOiBAc2Nyb2xsaW5nVG9wO1xuICAgIH1cblxuICAgIC8qIEZpeCBmb3IgRmlyZWZveCwgRWRnZSwgSUUxMSAqL1xuICAgIC5tb2RhbHMuZGltbWVyIC51aS5zY3JvbGxpbmcubW9kYWw6bm90KFtjbGFzcyo9XCJvdmVybGF5IGZ1bGxzY3JlZW5cIl0pOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwwMEEwXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nTWFyZ2luO1xuICAgIH1cblxuICAgIC8qIFVuZGV0YWNoZWQgU2Nyb2xsaW5nICovXG4gICAgLnNjcm9sbGluZy51bmRldGFjaGVkLmRpbW1hYmxlLmRpbW1lZCB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBAb3ZlcnNjcm9sbEJlaGF2aW9yO1xuICAgIH1cbiAgICAuc2Nyb2xsaW5nLnVuZGV0YWNoZWQuZGltbWFibGUuZGltbWVkID4gLmRpbW1lciB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5zY3JvbGxpbmcudW5kZXRhY2hlZC5kaW1tYWJsZSAudWkuc2Nyb2xsaW5nLm1vZGFsQHtub3RGdWxsc2NyZWVufSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgIH1cblxuICAgIC8qIFNjcm9sbGluZyBDb250ZW50ICovXG4gICAgLnVpLm1vZGFsID4gLnNjcm9sbGluZy5jb250ZW50IHtcbiAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ0NvbnRlbnRNYXhIZWlnaHQ7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBAb3ZlcnNjcm9sbEJlaGF2aW9yO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25UYWJsZVJlc2l6YWJsZSkge1xuICAgICAgICAudWkubW9kYWwgPiAucmVzaXphYmxlLnNjcm9sbGluZy5jb250ZW50IHtcbiAgICAgICAgICAgIHJlc2l6ZTogQHJlc2l6YWJsZURpcmVjdGlvbjtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvbk1vZGFsT3ZlcmxheSkge1xuICAgIC51aS5vdmVybGF5LmZ1bGxzY3JlZW4ubW9kYWwgPiAuY29udGVudCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IEBvdmVybGF5RnVsbHNjcmVlblNjcm9sbGluZ0NvbnRlbnRNYXhIZWlnaHQ7XG4gICAgfVxuICAgIC51aS5vdmVybGF5LmZ1bGxzY3JlZW4ubW9kYWwgPiAuc2Nyb2xsaW5nLmNvbnRlbnQge1xuICAgICAgICBtYXgtaGVpZ2h0OiBAb3ZlcmxheUZ1bGxzY3JlZW5TY3JvbGxpbmdDb250ZW50TWF4SGVpZ2h0O1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxGdWxsc2NyZWVuKSBvciAoQHZhcmlhdGlvbk1vZGFsT3ZlcmxheSkgb3IgKEB2YXJpYXRpb25Nb2RhbENsb3NlSW5zaWRlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGdWxsIFNjcmVlblxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmZ1bGxzY3JlZW4ubW9kYWwge1xuICAgICAgICB3aWR0aDogQGZ1bGxTY3JlZW5XaWR0aDtcbiAgICAgICAgbGVmdDogQGZ1bGxTY3JlZW5PZmZzZXQ7XG4gICAgICAgIG1hcmdpbjogQGZ1bGxTY3JlZW5NYXJnaW47XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvbk1vZGFsT3ZlcmxheSkge1xuICAgICAgICAudWkub3ZlcmxheS5mdWxsc2NyZWVuLm1vZGFsIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Nb2RhbENsb3NlKSB7XG4gICAgICAgIC51aS5tb2RhbCA+IC5jbG9zZS5pbnNpZGUgKyAuaGVhZGVyOm5vdCguY2VudGVyZWQpOm5vdCguY2VudGVyKTpub3QoLmljb24pLFxuICAgICAgICAudWkuZnVsbHNjcmVlbi5tb2RhbCA+IC5jbG9zZSArIC5oZWFkZXI6bm90KC5jZW50ZXJlZCk6bm90KC5jZW50ZXIpOm5vdCguaWNvbikge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogQGNsb3NlSGl0Ym94O1xuICAgICAgICB9XG4gICAgICAgIC51aS5tb2RhbCA+IC5jbG9zZS5pbnNpZGUsXG4gICAgICAgIC51aS5mdWxsc2NyZWVuLm1vZGFsID4gLmNsb3NlIHtcbiAgICAgICAgICAgIHRvcDogQGlubmVyQ2xvc2VUb3A7XG4gICAgICAgICAgICByaWdodDogQGlubmVyQ2xvc2VSaWdodDtcbiAgICAgICAgICAgIGNvbG9yOiBAaW5uZXJDbG9zZUNvbG9yO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvbk1vZGFsQmFzaWMpIHtcbiAgICAgICAgICAgIC51aS5iYXNpYy5mdWxsc2NyZWVuLm1vZGFsID4gLmNsb3NlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGJhc2ljSW5uZXJDbG9zZUNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5tb2RhbCB7XG4gICAgZm9udC1zaXplOiBAbWVkaXVtO1xufVxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbk1vZGFsU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvbk1vZGFsU2l6ZXMsIHtcbiAgICAgICAgQGhzOiBAe3ZhbHVlfUhlYWRlclNpemU7XG4gICAgICAgIEBtdzogQHt2YWx1ZX1Nb2JpbGVXaWR0aDtcbiAgICAgICAgQG1tOiBAe3ZhbHVlfU1vYmlsZU1hcmdpbjtcbiAgICAgICAgQHR3OiBAe3ZhbHVlfVRhYmxldFdpZHRoO1xuICAgICAgICBAdG06IEB7dmFsdWV9VGFibGV0TWFyZ2luO1xuICAgICAgICBAY3c6IEB7dmFsdWV9Q29tcHV0ZXJXaWR0aDtcbiAgICAgICAgQGNtOiBAe3ZhbHVlfUNvbXB1dGVyTWFyZ2luO1xuICAgICAgICBAbHc6IEB7dmFsdWV9TGFyZ2VNb25pdG9yV2lkdGg7XG4gICAgICAgIEBsbTogQHt2YWx1ZX1MYXJnZU1vbml0b3JNYXJnaW47XG4gICAgICAgIEB3dzogQHt2YWx1ZX1XaWRlc2NyZWVuTW9uaXRvcldpZHRoO1xuICAgICAgICBAd206IEB7dmFsdWV9V2lkZXNjcmVlbk1vbml0b3JNYXJnaW47XG4gICAgICAgIC51aS5Ae3ZhbHVlfS5tb2RhbCA+IC5oZWFkZXI6bm90KC51aSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAQGhzO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAgICAgICAgIC51aS5Ae3ZhbHVlfS5tb2RhbCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IEBAbXc7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBAQG1tO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIC51aS5Ae3ZhbHVlfS5tb2RhbCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IEBAdHc7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBAQHRtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGNvbXB1dGVyQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgLnVpLkB7dmFsdWV9Lm1vZGFsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogQEBjdztcbiAgICAgICAgICAgICAgICBtYXJnaW46IEBAY207XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAbGFyZ2VNb25pdG9yQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgLnVpLkB7dmFsdWV9Lm1vZGFsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogQEBsdztcbiAgICAgICAgICAgICAgICBtYXJnaW46IEBAbG07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAd2lkZXNjcmVlbk1vbml0b3JCcmVha3BvaW50KSB7XG4gICAgICAgICAgICAudWkuQHt2YWx1ZX0ubW9kYWwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBAQHd3O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogQEB3bTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Nb2RhbEludmVydGVkKSB7XG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgIEludmVydGVkXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIC51aS5pbnZlcnRlZC5tb2RhbCB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLnVpLmludmVydGVkLm1vZGFsID4gLmhlYWRlcixcbiAgICAudWkuaW52ZXJ0ZWQubW9kYWwgPiAuY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRIZWFkZXJDb2xvcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxBY3Rpb25zKSB7XG4gICAgICAgIC51aS5pbnZlcnRlZC5tb2RhbCA+IC5hY3Rpb25zIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEFjdGlvbkJhY2tncm91bmQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBAaW52ZXJ0ZWRBY3Rpb25Cb3JkZXI7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkQWN0aW9uQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxDbG9zZSkge1xuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25EaW1tZXJJbnZlcnRlZCkge1xuICAgICAgICAgICAgLnVpLmludmVydGVkLmRpbW1lciA+IC5tb2RhbCA+IC5jbG9zZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZERpbW1lckNsb3NlQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0VGFibGV0U2NyZWVuKSB7XG4gICAgICAgICAgICAudWkuZGltbWVyIC5pbnZlcnRlZC5tb2RhbCA+IC5jbG9zZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZENsb3NlQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uTW9kYWxGdWxsc2NyZWVuKSBvciAoQHZhcmlhdGlvbk1vZGFsQ2xvc2VJbnNpZGUpIHtcbiAgICAgICAgLnVpLmludmVydGVkLm1vZGFsID4gLmNsb3NlLmluc2lkZSxcbiAgICAgICAgLnVpLmludmVydGVkLmZ1bGxzY3JlZW4ubW9kYWwgPiAuY2xvc2Uge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZENsb3NlQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gTmFnXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJtb2R1bGVcIjtcbkBlbGVtZW50OiBcIm5hZ1wiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuQG5vdEJvdHRvbTogaWYoQHZhcmlhdGlvbk5hZ0JvdHRvbSwgZShcIjpub3QoLmJvdHRvbSlcIikpO1xuQG5vdEZpeGVkOiBpZihAdmFyaWF0aW9uTmFnRml4ZWQsIGUoXCI6bm90KC5maXhlZClcIikpO1xuQG5vdE92ZXJsYXk6IGlmKEB2YXJpYXRpb25OYWdPdmVybGF5LCBlKFwiOm5vdCgub3ZlcmxheSlcIikpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE5hZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLm5hZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiBAb3BhY2l0eTtcbiAgICBwb3NpdGlvbjogQHBvc2l0aW9uO1xuICAgIHRvcDogQHRvcDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IEB6SW5kZXg7XG4gICAgbWluLWhlaWdodDogQG1pbkhlaWdodDtcbiAgICB3aWR0aDogQHdpZHRoO1xuICAgIG1hcmdpbjogQG1hcmdpbjtcbiAgICBwYWRkaW5nOiBAcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgICBib3gtc2hhZG93OiBAYm94U2hhZG93O1xuICAgIGZvbnQtc2l6ZTogQGZvbnRTaXplO1xuICAgIHRleHQtYWxpZ246IEB0ZXh0QWxpZ247XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiBAdG9wQm9yZGVyUmFkaXVzO1xuICAgIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xufVxuXG5hLnVpLm5hZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udWkubmFnID4gLnRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiBAdGl0bGVNYXJnaW47XG4gICAgY29sb3I6IEB0aXRsZUNvbG9yO1xufVxuXG4udWkubmFnID4gLmNsb3NlLmljb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiBAY2xvc2VPcGFjaXR5O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IEBjbG9zZVRvcDtcbiAgICByaWdodDogQGNsb3NlUmlnaHQ7XG4gICAgZm9udC1zaXplOiBAY2xvc2VTaXplO1xuICAgIG1hcmdpbjogQGNsb3NlTWFyZ2luO1xuICAgIGNvbG9yOiBAY2xvc2VDb2xvcjtcbiAgICB0cmFuc2l0aW9uOiBAY2xvc2VUcmFuc2l0aW9uO1xufVxuXG4udWkubmFnQHtub3RPdmVybGF5fUB7bm90Rml4ZWR9IHtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogSG92ZXIgKi9cbi51aS5uYWc6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IEBuYWdIb3ZlckJhY2tncm91bmQ7XG4gICAgb3BhY2l0eTogQG5hZ0hvdmVyT3BhY2l0eTtcbn1cblxuLnVpLm5hZyA+IC5jbG9zZTpob3ZlciB7XG4gICAgb3BhY2l0eTogQGNsb3NlSG92ZXJPcGFjaXR5O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4oQHZhcmlhdGlvbk5hZ092ZXJsYXkpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU3RhdGljXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLnVpLm92ZXJsYXkubmFncyxcbiAgICAudWkub3ZlcmxheS5uYWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxufVxuXG4mIHdoZW4oQHZhcmlhdGlvbk5hZ0ZpeGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZpeGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLnVpLmZpeGVkLm5hZ3MsXG4gICAgLnVpLmZpeGVkLm5hZyB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG59XG4mIHdoZW4oQHZhcmlhdGlvbk5hZ0JvdHRvbSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBCb3R0b21cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAudWkuYm90dG9tLm5hZ3MsXG4gICAgLnVpLmJvdHRvbS5uYWcge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYm90dG9tQm9yZGVyUmFkaXVzO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogQGJvdHRvbTtcbiAgICB9XG59XG5cbiYgd2hlbihAdmFyaWF0aW9uTmFnSW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pbnZlcnRlZC5uYWdzIC5uYWcsXG4gICAgLnVpLmludmVydGVkLm5hZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAZGFya1RleHRDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLm5hZ3MgLm5hZyA+IC5jbG9zZSxcbiAgICAudWkuaW52ZXJ0ZWQubmFnID4gLmNsb3NlIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZENsb3NlQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5uYWdzIC5uYWcgPiAudGl0bGUsXG4gICAgLnVpLmludmVydGVkLm5hZyA+IC50aXRsZSB7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUaXRsZUNvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvbk5hZ1NpemVzID0gZmFsc2UpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBTaXplc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgZWFjaChAdmFyaWF0aW9uTmFnU2l6ZXMsIHtcbiAgICAgICAgQHM6IEBAdmFsdWU7XG4gICAgICAgIEBzcjogXCJAe3ZhbHVlfVJhd1wiO1xuICAgICAgICAudWkuQHt2YWx1ZX0ubmFnLFxuICAgICAgICAudWkuQHt2YWx1ZX0ubmFncyAubmFnIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgICAgICAmIHdoZW4gKEBAc3IgPiAxLjQpIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gbm90IChAdmFyaWF0aW9uTmFnQ29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25OYWdDb2xvcnMsIHtcbiAgICAgICAgQGNvbG9yOiBAdmFsdWU7XG4gICAgICAgIEBjOiBAY29sb3JzW0BAY29sb3JdW2NvbG9yXTtcbiAgICAgICAgQGw6IEBjb2xvcnNbQEBjb2xvcl1bbGlnaHRdO1xuICAgICAgICBAaXNWZXJ5RGFyazogQGNvbG9yc1tAQGNvbG9yXVtpc1ZlcnlEYXJrXTtcblxuICAgICAgICAudWkuQHtjb2xvcn0ubmFnIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjO1xuICAgICAgICAgICAgJiB3aGVuIChAaXNWZXJ5RGFyaykge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uTmFnSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5uYWcge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBsO1xuICAgICAgICAgICAgICAgICYgLnRpdGxlIHdoZW4gKEBpc1ZlcnlEYXJrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAdGl0bGVDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uTmFnR3JvdXBzKSB7XG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgIEdyb3Vwc1xuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICAgLnVpLm5hZ3Mge1xuICAgICAgICB0b3A6IEB0b3A7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiBAd2lkdGg7XG4gICAgfVxuICAgIC51aS51aS5uYWdzIC5uYWcge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAZ3JvdXBlZEJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpLm5hZ3NAe25vdEJvdHRvbX0gLm5hZzpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQHRvcEJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgJiB3aGVuKEB2YXJpYXRpb25OYWdCb3R0b20pIHtcbiAgICAgICAgLnVpLmJvdHRvbS5uYWdzIC5uYWc6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvdHRvbUJvcmRlclJhZGl1cztcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkubmFnc0B7bm90Rml4ZWR9QHtub3RPdmVybGF5fSAubmFnOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvdHRvbUJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpLm5hZ3NAe25vdEZpeGVkfUB7bm90T3ZlcmxheX0gLm5hZzpvbmx5LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gUG9wdXBcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcIm1vZHVsZVwiO1xuQGVsZW1lbnQ6IFwicG9wdXBcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3RQYWRkZWQ6IGlmKEB2YXJpYXRpb25HcmlkUGFkZGVkLCBlKFwiOm5vdCgucGFkZGVkKVwiKSk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBQb3B1cFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnBvcHVwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICAvKiBGaXhlcyBjb250ZW50IGJlaW5nIHNxdWlzaGVkIHdoZW4gaW5saW5lIChtb3ogb25seSkgKi9cbiAgICBtaW4td2lkdGg6IG1pbi1jb250ZW50O1xuICAgIHotaW5kZXg6IEB6SW5kZXg7XG4gICAgYm9yZGVyOiBAYm9yZGVyO1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZUhlaWdodDtcbiAgICBtYXgtd2lkdGg6IEBtYXhXaWR0aDtcbiAgICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgICBwYWRkaW5nOiBAdmVydGljYWxQYWRkaW5nIEBob3Jpem9udGFsUGFkZGluZztcbiAgICBmb250LXdlaWdodDogQGZvbnRXZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogQGZvbnRTdHlsZTtcbiAgICBjb2xvcjogQGNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgYm94LXNoYWRvdzogQGJveFNoYWRvdztcbn1cbi51aS5wb3B1cCA+IC5oZWFkZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1mYW1pbHk6IEBoZWFkZXJGb250O1xuICAgIGZvbnQtc2l6ZTogQGhlYWRlckZvbnRTaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBAaGVhZGVyTGluZUhlaWdodDtcbiAgICBmb250LXdlaWdodDogQGhlYWRlckZvbnRXZWlnaHQ7XG59XG4udWkucG9wdXAgPiAuaGVhZGVyICsgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiBAaGVhZGVyRGlzdGFuY2U7XG59XG5cbi51aS5wb3B1cDo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogQGFycm93U2l6ZTtcbiAgICBoZWlnaHQ6IEBhcnJvd1NpemU7XG4gICAgYmFja2dyb3VuZDogQGFycm93QmFja2dyb3VuZDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgei1pbmRleDogQGFycm93WkluZGV4O1xuICAgIGJveC1zaGFkb3c6IEBhcnJvd0JveFNoYWRvdztcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25Qb3B1cFRvb2x0aXApIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBUb29sdGlwXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBDb250ZW50ICovXG4gICAgW2RhdGEtdG9vbHRpcF0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLyogQXJyb3cgKi9cbiAgICBbZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZm9udC1zaXplOiBAbWVkaXVtO1xuICAgICAgICB3aWR0aDogQGFycm93U2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAYXJyb3dTaXplO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdG9vbHRpcEFycm93QmFja2dyb3VuZDtcbiAgICAgICAgei1pbmRleDogQGFycm93WkluZGV4O1xuICAgICAgICBib3gtc2hhZG93OiBAdG9vbHRpcEFycm93Qm94U2hhZG93O1xuICAgIH1cblxuICAgIC8qIFBvcHVwICovXG4gICAgW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10b29sdGlwKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogQHRvb2x0aXBGb250U2l6ZTtcbiAgICAgICAgYm9yZGVyOiBAdG9vbHRpcEJvcmRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEB0b29sdGlwTGluZUhlaWdodDtcbiAgICAgICAgbWF4LXdpZHRoOiBAdG9vbHRpcE1heFdpZHRoO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdG9vbHRpcEJhY2tncm91bmQ7XG4gICAgICAgIHBhZGRpbmc6IEB0b29sdGlwUGFkZGluZztcbiAgICAgICAgZm9udC13ZWlnaHQ6IEB0b29sdGlwRm9udFdlaWdodDtcbiAgICAgICAgZm9udC1zdHlsZTogQHRvb2x0aXBGb250U3R5bGU7XG4gICAgICAgIGNvbG9yOiBAdG9vbHRpcENvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAdG9vbHRpcEJvcmRlclJhZGl1cztcbiAgICAgICAgYm94LXNoYWRvdzogQHRvb2x0aXBCb3hTaGFkb3c7XG4gICAgICAgIHotaW5kZXg6IEB0b29sdGlwWkluZGV4O1xuICAgIH1cblxuICAgIC8qIEFuaW1hdGlvbiAqL1xuICAgIFtkYXRhLXRvb2x0aXBdOjpiZWZvcmUsXG4gICAgW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICB0cmFuc2Zvcm0gQHRvb2x0aXBEdXJhdGlvbiBAdG9vbHRpcEVhc2luZyxcbiAgICAgICAgICAgIG9wYWNpdHkgQHRvb2x0aXBEdXJhdGlvbiBAdG9vbHRpcEVhc2luZztcbiAgICB9XG4gICAgW2RhdGEtdG9vbHRpcF06OmFmdGVyLFxuICAgIFtkYXRhLXRvb2x0aXBdOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiBAdG9vbHRpcERlbGF5O1xuICAgIH1cbiAgICBbZGF0YS10b29sdGlwXTo6YmVmb3JlLFxuICAgIFtkYXRhLXRvb2x0aXBdOmhvdmVyOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgIH1cbiAgICBbZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKEB0b29sdGlwU2NhbGVJbml0KTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcbiAgICB9XG4gICAgW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB9XG4gICAgW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwidmlzaWJsZVwiXTo6YmVmb3JlLFxuICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cInZpc2libGVcIl06OmFmdGVyLFxuICAgIFtkYXRhLXRvb2x0aXBdOmhvdmVyOjpiZWZvcmUsXG4gICAgW2RhdGEtdG9vbHRpcF06aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIFtkYXRhLXRvb2x0aXBdOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGUoMSk7XG4gICAgfVxuXG4gICAgLyogQW5pbWF0aW9uIFBvc2l0aW9uICovXG4gICAgW2RhdGEtdG9vbHRpcF06bm90KFtkYXRhLXBvc2l0aW9uXSk6OmFmdGVyLFxuICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJ0b3AgY2VudGVyXCJdOjphZnRlcixcbiAgICBbZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGNlbnRlclwiXTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoQHRvb2x0aXBTY2FsZUluaXQpO1xuICAgIH1cbiAgICBbZGF0YS10b29sdGlwXTpub3QoW2RhdGEtcG9zaXRpb25dKTpob3Zlcjo6YWZ0ZXIsXG4gICAgW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cInRvcCBjZW50ZXJcIl06aG92ZXI6OmFmdGVyLFxuICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJib3R0b20gY2VudGVyXCJdOmhvdmVyOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgxKTtcbiAgICB9XG4gICAgW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cImxlZnQgY2VudGVyXCJdOjphZnRlcixcbiAgICBbZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZShAdG9vbHRpcFNjYWxlSW5pdCk7XG4gICAgfVxuICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJsZWZ0IGNlbnRlclwiXTpob3Zlcjo6YWZ0ZXIsXG4gICAgW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cInJpZ2h0IGNlbnRlclwiXTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSk7XG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9wdWxsLzE1MzdcbiAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMS4wMDAxKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBbZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwidG9wIGxlZnRcIl06OmFmdGVyLFxuICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJ0b3AgcmlnaHRcIl06OmFmdGVyLFxuICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJib3R0b20gbGVmdFwiXTo6YWZ0ZXIsXG4gICAgW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSByaWdodFwiXTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKEB0b29sdGlwU2NhbGVJbml0KTtcbiAgICB9XG4gICAgW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cInRvcCBsZWZ0XCJdOmhvdmVyOjphZnRlcixcbiAgICBbZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwidG9wIHJpZ2h0XCJdOmhvdmVyOjphZnRlcixcbiAgICBbZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGxlZnRcIl06aG92ZXI6OmFmdGVyLFxuICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJib3R0b20gcmlnaHRcIl06aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBGaXhlZCkge1xuICAgICAgICBbZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJmaXhlZFwiXTo6YWZ0ZXIge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgIHdpZHRoOiBAbWF4V2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb24qPVwid2lkZSBmaXhlZFwiXTo6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IEB3aWRlV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb24qPVwidmVyeSB3aWRlIGZpeGVkXCJdOjphZnRlciB7XG4gICAgICAgICAgICB3aWR0aDogQHZlcnlXaWRlV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgICAgICAgICAgW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwiZml4ZWRcIl06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogQG1heFdpZHRoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwSW52ZXJ0ZWQpIHtcbiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIEludmVydGVkXG4gICAgICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgICAgIC8qIEFycm93ICovXG4gICAgICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdOjpiZWZvcmUge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEFycm93IFBvc2l0aW9uICovXG4gICAgICAgIFtkYXRhLXRvb2x0aXBdOm5vdChbZGF0YS1wb3NpdGlvbl0pW2RhdGEtaW52ZXJ0ZWRdOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQXJyb3dCb3R0b21CYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogUG9wdXAgKi9cbiAgICAgICAgW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF06OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEB0b29sdGlwSW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6IEB0b29sdGlwSW52ZXJ0ZWRDb2xvcjtcbiAgICAgICAgICAgIGJvcmRlcjogQHRvb2x0aXBJbnZlcnRlZEJvcmRlcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEB0b29sdGlwSW52ZXJ0ZWRCb3hTaGFkb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cFBvc2l0aW9uKSB7XG4gICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICBQb3NpdGlvblxuICAgICAgICAtLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBUb3ApIHtcbiAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9ufj1cInRvcFwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBhcnJvd0JvdHRvbUJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cENlbnRlcikge1xuICAgICAgICAgICAgICAgIC8qIFRvcCBDZW50ZXIgKGRlZmF1bHQpICovXG4gICAgICAgICAgICAgICAgW2RhdGEtdG9vbHRpcF06bm90KFtkYXRhLXBvc2l0aW9uXSk6OmFmdGVyLFxuICAgICAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9uPVwidG9wIGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBAdG9vbHRpcERpc3RhbmNlQXdheTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgW2RhdGEtdG9vbHRpcF06bm90KFtkYXRhLXBvc2l0aW9uXSk6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICBbZGF0YS1wb3NpdGlvbj1cInRvcCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEB0b29sdGlwQXJyb3dUb3BCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRvb2x0aXBBcnJvd0hvcml6b250YWxPZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC1AdG9vbHRpcEFycm93VmVydGljYWxPZmZzZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBMZWZ0KSB7XG4gICAgICAgICAgICAgICAgLyogVG9wIExlZnQgKi9cbiAgICAgICAgICAgICAgICBbZGF0YS1wb3NpdGlvbj1cInRvcCBsZWZ0XCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBAdG9vbHRpcERpc3RhbmNlQXdheTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgW2RhdGEtcG9zaXRpb249XCJ0b3AgbGVmdFwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IEBhcnJvd0Rpc3RhbmNlRnJvbUVkZ2U7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdG9vbHRpcEFycm93SG9yaXpvbnRhbE9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLUB0b29sdGlwQXJyb3dWZXJ0aWNhbE9mZnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cFJpZ2h0KSB7XG4gICAgICAgICAgICAgICAgLyogVG9wIFJpZ2h0ICovXG4gICAgICAgICAgICAgICAgW2RhdGEtcG9zaXRpb249XCJ0b3AgcmlnaHRcIl1bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IEB0b29sdGlwRGlzdGFuY2VBd2F5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBbZGF0YS1wb3NpdGlvbj1cInRvcCByaWdodFwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IEBhcnJvd0Rpc3RhbmNlRnJvbUVkZ2U7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdG9vbHRpcEFycm93SG9yaXpvbnRhbE9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLUB0b29sdGlwQXJyb3dWZXJ0aWNhbE9mZnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cEJvdHRvbSkge1xuICAgICAgICAgICAgW2RhdGEtcG9zaXRpb25+PVwiYm90dG9tXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGFycm93VG9wQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAYm90dG9tQXJyb3dCb3hTaGFkb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cENlbnRlcikge1xuICAgICAgICAgICAgICAgIC8qIEJvdHRvbSBDZW50ZXIgKi9cbiAgICAgICAgICAgICAgICBbZGF0YS1wb3NpdGlvbj1cImJvdHRvbSBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogQHRvb2x0aXBEaXN0YW5jZUF3YXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0b29sdGlwQXJyb3dIb3Jpem9udGFsT2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtQGFycm93T2Zmc2V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwTGVmdCkge1xuICAgICAgICAgICAgICAgIC8qIEJvdHRvbSBMZWZ0ICovXG4gICAgICAgICAgICAgICAgW2RhdGEtcG9zaXRpb249XCJib3R0b20gbGVmdFwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogQHRvb2x0aXBEaXN0YW5jZUF3YXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGxlZnRcIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBAYXJyb3dEaXN0YW5jZUZyb21FZGdlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRvb2x0aXBBcnJvd0hvcml6b250YWxPZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC1AdG9vbHRpcEFycm93VmVydGljYWxPZmZzZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBSaWdodCkge1xuICAgICAgICAgICAgICAgIC8qIEJvdHRvbSBSaWdodCAqL1xuICAgICAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIHJpZ2h0XCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogQHRvb2x0aXBEaXN0YW5jZUF3YXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIHJpZ2h0XCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogQGFycm93RGlzdGFuY2VGcm9tRWRnZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0b29sdGlwQXJyb3dWZXJ0aWNhbE9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLUB0b29sdGlwQXJyb3dIb3Jpem9udGFsT2Zmc2V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cENlbnRlcikge1xuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBMZWZ0KSB7XG4gICAgICAgICAgICAgICAgLyogTGVmdCBDZW50ZXIgKi9cbiAgICAgICAgICAgICAgICBbZGF0YS1wb3NpdGlvbj1cImxlZnQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0b29sdGlwRGlzdGFuY2VBd2F5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBbZGF0YS1wb3NpdGlvbj1cImxlZnQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogQHRvb2x0aXBBcnJvd1ZlcnRpY2FsT2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0b29sdGlwQXJyb3dIb3Jpem9udGFsT2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYXJyb3dDZW50ZXJCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAbGVmdEFycm93Qm94U2hhZG93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwUmlnaHQpIHtcbiAgICAgICAgICAgICAgICAvKiBSaWdodCBDZW50ZXIgKi9cbiAgICAgICAgICAgICAgICBbZGF0YS1wb3NpdGlvbj1cInJpZ2h0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogQHRvb2x0aXBEaXN0YW5jZUF3YXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBAdG9vbHRpcEFycm93SG9yaXpvbnRhbE9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC1AdG9vbHRpcEFycm93VmVydGljYWxPZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBhcnJvd0NlbnRlckJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEByaWdodEFycm93Qm94U2hhZG93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC8qIEludmVydGVkIEFycm93IENvbG9yICovXG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cEJvdHRvbSkge1xuICAgICAgICAgICAgICAgIFtkYXRhLWludmVydGVkXVtkYXRhLXBvc2l0aW9ufj1cImJvdHRvbVwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRBcnJvd1RvcEJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEBib3R0b21BcnJvd0JveFNoYWRvdztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cENlbnRlcikge1xuICAgICAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwTGVmdCkge1xuICAgICAgICAgICAgICAgICAgICBbZGF0YS1pbnZlcnRlZF1bZGF0YS1wb3NpdGlvbj1cImxlZnQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRBcnJvd0NlbnRlckJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAbGVmdEFycm93Qm94U2hhZG93O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwUmlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtcG9zaXRpb249XCJyaWdodCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEFycm93Q2VudGVyQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IEByaWdodEFycm93Qm94U2hhZG93O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBUb3ApIHtcbiAgICAgICAgICAgICAgICBbZGF0YS1pbnZlcnRlZF1bZGF0YS1wb3NpdGlvbn49XCJ0b3BcIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQXJyb3dCb3R0b21CYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwQm90dG9tKSB7XG4gICAgICAgICAgICBbZGF0YS1wb3NpdGlvbn49XCJib3R0b21cIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgW2RhdGEtcG9zaXRpb25+PVwiYm90dG9tXCJdW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwQ2VudGVyKSB7XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cEJvdHRvbSkge1xuICAgICAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwTGVmdCkge1xuICAgICAgICAgICAgICAgIFtkYXRhLXBvc2l0aW9uPVwibGVmdCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgW2RhdGEtcG9zaXRpb249XCJsZWZ0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cFJpZ2h0KSB7XG4gICAgICAgICAgICAgICAgW2RhdGEtcG9zaXRpb249XCJyaWdodCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBbZGF0YS1wb3NpdGlvbj1cInJpZ2h0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIFtkYXRhLXBvc2l0aW9uPVwidG9wIGxlZnRcIl1bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgICB9XG4gICAgW2RhdGEtcG9zaXRpb249XCJ0b3AgcmlnaHRcIl1bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG4gICAgfVxuICAgIFtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGxlZnRcIl1bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB9XG4gICAgW2RhdGEtcG9zaXRpb249XCJib3R0b20gcmlnaHRcIl1bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBCYXNpYykge1xuICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgQmFzaWNcbiAgICAgICAgLS0tLS0tLS0tLS0tLS0tICovXG4gICAgICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cImJhc2ljXCJdOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwTXVsdGlsaW5lKSB7XG4gICAgICAgIFtkYXRhLXRvb2x0aXBdW2RhdGEtdmFyaWF0aW9ufj1cIm11bHRpbGluZVwiXTo6YWZ0ZXIge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IEBtdWx0aWxpbmVXaGl0ZVNwYWNlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBTcGFjaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnBvcHVwIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblBvcHVwVG9wKSB7XG4gICAgLyogRXh0ZW5kaW5nIGZyb20gVG9wICovXG4gICAgLnVpLnRvcC5wb3B1cCB7XG4gICAgICAgIG1hcmdpbjogMCAwIEBwb3B1cERpc3RhbmNlQXdheTtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBMZWZ0KSB7XG4gICAgICAgIC51aS50b3AubGVmdC5wb3B1cCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cENlbnRlcikge1xuICAgICAgICAudWkudG9wLmNlbnRlci5wb3B1cCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwUmlnaHQpIHtcbiAgICAgICAgLnVpLnRvcC5yaWdodC5wb3B1cCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblBvcHVwQ2VudGVyKSB7XG4gICAgLyogRXh0ZW5kaW5nIGZyb20gVmVydGljYWwgQ2VudGVyICovXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBMZWZ0KSB7XG4gICAgICAgIC51aS5sZWZ0LmNlbnRlci5wb3B1cCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgQHBvcHVwRGlzdGFuY2VBd2F5IDAgMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IDUwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cFJpZ2h0KSB7XG4gICAgICAgIC51aS5yaWdodC5jZW50ZXIucG9wdXAge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCBAcG9wdXBEaXN0YW5jZUF3YXk7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IDUwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBCb3R0b20pIHtcbiAgICAvKiBFeHRlbmRpbmcgZnJvbSBCb3R0b20gKi9cbiAgICAudWkuYm90dG9tLnBvcHVwIHtcbiAgICAgICAgbWFyZ2luOiBAcG9wdXBEaXN0YW5jZUF3YXkgMCAwO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cExlZnQpIHtcbiAgICAgICAgLnVpLmJvdHRvbS5sZWZ0LnBvcHVwIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwQ2VudGVyKSB7XG4gICAgICAgIC51aS5ib3R0b20uY2VudGVyLnBvcHVwIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBSaWdodCkge1xuICAgICAgICAudWkuYm90dG9tLnJpZ2h0LnBvcHVwIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBQb2ludGVyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiAtLS0gQmVsb3cgLS0tICovXG4gICAgLnVpLmJvdHRvbS5jZW50ZXIucG9wdXA6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAYXJyb3dPZmZzZXQ7XG4gICAgICAgIHRvcDogQGFycm93T2Zmc2V0O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGJveC1zaGFkb3c6IEBib3R0b21BcnJvd0JveFNoYWRvdztcbiAgICB9XG5cbiAgICAudWkuYm90dG9tLmxlZnQucG9wdXAge1xuICAgICAgICBtYXJnaW4tbGVmdDogQGJveEFycm93T2Zmc2V0O1xuICAgIH1cblxuICAgIC8qIHJ0bDpyZW5hbWUgKi9cbiAgICAudWkuYm90dG9tLmxlZnQucG9wdXA6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogQGFycm93T2Zmc2V0O1xuICAgICAgICBsZWZ0OiBAYXJyb3dEaXN0YW5jZUZyb21FZGdlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm94LXNoYWRvdzogQGJvdHRvbUFycm93Qm94U2hhZG93O1xuICAgIH1cblxuICAgIC51aS5ib3R0b20ucmlnaHQucG9wdXAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEBib3hBcnJvd09mZnNldDtcbiAgICB9XG5cbiAgICAvKiBydGw6cmVuYW1lICovXG4gICAgLnVpLmJvdHRvbS5yaWdodC5wb3B1cDo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiBAYXJyb3dPZmZzZXQ7XG4gICAgICAgIHJpZ2h0OiBAYXJyb3dEaXN0YW5jZUZyb21FZGdlO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3gtc2hhZG93OiBAYm90dG9tQXJyb3dCb3hTaGFkb3c7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Qb3B1cFRvcCkge1xuICAgIC8qIC0tLSBBYm92ZSAtLS0gKi9cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cENlbnRlcikge1xuICAgICAgICAudWkudG9wLmNlbnRlci5wb3B1cDo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiBAYXJyb3dPZmZzZXQ7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogQGFycm93T2Zmc2V0O1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwTGVmdCkge1xuICAgICAgICAudWkudG9wLmxlZnQucG9wdXAge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEBib3hBcnJvd09mZnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIHJ0bDpyZW5hbWUgKi9cbiAgICAgICAgLnVpLnRvcC5sZWZ0LnBvcHVwOjpiZWZvcmUge1xuICAgICAgICAgICAgYm90dG9tOiBAYXJyb3dPZmZzZXQ7XG4gICAgICAgICAgICBsZWZ0OiBAYXJyb3dEaXN0YW5jZUZyb21FZGdlO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cFJpZ2h0KSB7XG4gICAgICAgIC51aS50b3AucmlnaHQucG9wdXAge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAYm94QXJyb3dPZmZzZXQ7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBydGw6cmVuYW1lICovXG4gICAgICAgIC51aS50b3AucmlnaHQucG9wdXA6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3R0b206IEBhcnJvd09mZnNldDtcbiAgICAgICAgICAgIHJpZ2h0OiBAYXJyb3dEaXN0YW5jZUZyb21FZGdlO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Qb3B1cENlbnRlcikge1xuICAgIC8qIC0tLSBMZWZ0IENlbnRlciAtLS0gKi9cblxuICAgIC8qIHJ0bDpyZW5hbWUgKi9cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cExlZnQpIHtcbiAgICAgICAgLnVpLmxlZnQuY2VudGVyLnBvcHVwOjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogQGFycm93T2Zmc2V0O1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IEBhcnJvd09mZnNldDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IEBsZWZ0QXJyb3dCb3hTaGFkb3c7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBSaWdodCkge1xuICAgICAgICAvKiAtLS0gUmlnaHQgQ2VudGVyIC0tLSAqL1xuXG4gICAgICAgIC8qIHJ0bDpyZW5hbWUgKi9cbiAgICAgICAgLnVpLnJpZ2h0LmNlbnRlci5wb3B1cDo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogQGFycm93T2Zmc2V0O1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBAYXJyb3dPZmZzZXQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBAcmlnaHRBcnJvd0JveFNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cExlZnQpIG9yIChAdmFyaWF0aW9uUG9wdXBSaWdodCkge1xuICAgICAgICAudWkucmlnaHQuY2VudGVyLnBvcHVwOjpiZWZvcmUsXG4gICAgICAgIC51aS5sZWZ0LmNlbnRlci5wb3B1cDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBhcnJvd0NlbnRlckJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblBvcHVwQm90dG9tKSB7XG4gICAgLyogQXJyb3cgQ29sb3IgQnkgTG9jYXRpb24gKi9cbiAgICAudWkuYm90dG9tLnBvcHVwOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAYXJyb3dUb3BCYWNrZ3JvdW5kO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBUb3ApIHtcbiAgICAudWkudG9wLnBvcHVwOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAYXJyb3dCb3R0b21CYWNrZ3JvdW5kO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBJbnZlcnRlZCkge1xuICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwQm90dG9tKSB7XG4gICAgICAgIC8qIEludmVydGVkIEFycm93IENvbG9yICovXG4gICAgICAgIC51aS5pbnZlcnRlZC5ib3R0b20ucG9wdXA6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRBcnJvd1RvcEJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBDZW50ZXIpIHtcbiAgICAgICAgLnVpLmludmVydGVkLnJpZ2h0LmNlbnRlci5wb3B1cDo6YmVmb3JlLFxuICAgICAgICAudWkuaW52ZXJ0ZWQubGVmdC5jZW50ZXIucG9wdXA6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRBcnJvd0NlbnRlckJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBUb3ApIHtcbiAgICAgICAgLnVpLmludmVydGVkLnRvcC5wb3B1cDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEFycm93Qm90dG9tQmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBJbW1lZGlhdGUgTmVzdGVkIEdyaWQgKi9cbi51aS51aS51aS5wb3B1cCA+IC51aS5ncmlkQHtub3RQYWRkZWR9IHtcbiAgICB3aWR0aDogQG5lc3RlZEdyaWRXaWR0aDtcbiAgICBtYXJnaW46IEBuZXN0ZWRHcmlkTWFyZ2luO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBMb2FkaW5nKSB7XG4gICAgLnVpLmxvYWRpbmcucG9wdXAge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBAbG9hZGluZ1BvaW50ZXJFdmVudHM7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAmICoge1xuICAgICAgICAgICAgb3BhY2l0eTogQGxvYWRpbmdPcGFjaXR5O1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbjogQGxvYWRlck1hcmdpbjtcbiAgICAgICAgICAgIHdpZHRoOiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogQGxvYWRlclNpemU7XG4gICAgICAgICAgICBhbmltYXRpb246IGxvYWRlciBAbG9hZGVyU3BlZWQgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICAgICAgYm9yZGVyOiBAbG9hZGVyTGluZVdpZHRoIHNvbGlkIEBsb2FkZXJMaW5lQ29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgei1pbmRleDogQGxvYWRlckxpbmVaSW5kZXg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi51aS5pbnZpc2libGUucG9wdXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IEBpbnZpc2libGVaSW5kZXg7XG59XG5cbi51aS5hbmltYXRpbmcucG9wdXAsXG4udWkudmlzaWJsZS5wb3B1cCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi51aS52aXNpYmxlLnBvcHVwIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBCYXNpYykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBCYXNpY1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmJhc2ljLnBvcHVwOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBGaXhlZCkge1xuICAgIC51aS5maXhlZC5wb3B1cCB7XG4gICAgICAgIHdpZHRoOiBAbWF4V2lkdGg7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Qb3B1cFdpZGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgV2lkZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLndpZGUucG9wdXAge1xuICAgICAgICBtYXgtd2lkdGg6IEB3aWRlV2lkdGg7XG4gICAgICAgICYuZml4ZWQgd2hlbiAoQHZhcmlhdGlvblBvcHVwRml4ZWQpIHtcbiAgICAgICAgICAgIHdpZHRoOiBAd2lkZVdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51aVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ucG9wdXAge1xuICAgICAgICBtYXgtd2lkdGg6IEB2ZXJ5V2lkZVdpZHRoO1xuICAgICAgICAmLmZpeGVkIHdoZW4gKEB2YXJpYXRpb25Qb3B1cEZpeGVkKSB7XG4gICAgICAgICAgICB3aWR0aDogQHZlcnlXaWRlV2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgICAgIC51aS53aWRlLnBvcHVwLFxuICAgICAgICAudWlbY2xhc3MqPVwidmVyeSB3aWRlXCJdLnBvcHVwIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogQG1heFdpZHRoO1xuICAgICAgICAgICAgJi5maXhlZCB3aGVuIChAdmFyaWF0aW9uUG9wdXBGaXhlZCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBAbWF4V2lkdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblBvcHVwRmx1aWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRmx1aWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5mbHVpZC5wb3B1cCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Qb3B1cEludmVydGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIENvbG9yc1xuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogSW52ZXJ0ZWQgY29sb3JzICovXG4gICAgLnVpLmludmVydGVkLnBvcHVwIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZENvbG9yO1xuICAgICAgICBib3JkZXI6IEBpbnZlcnRlZEJvcmRlcjtcbiAgICAgICAgYm94LXNoYWRvdzogQGludmVydGVkQm94U2hhZG93O1xuICAgIH1cbiAgICAudWkuaW52ZXJ0ZWQucG9wdXAgLmhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEhlYWRlckJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRIZWFkZXJDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLnBvcHVwOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRBcnJvd0NvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbn1cblxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvblBvcHVwQ29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25Qb3B1cENvbG9ycywge1xuICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICBAbDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodF07XG4gICAgICAgIEBjbDogaWYoaXNjb2xvcihAYyksIGxpZ2h0ZW4oQGMsIEBsb2FkaW5nQ29sb3JlZFBlcmNlbnQpLCBAYyk7XG4gICAgICAgIEBsbDogaWYoaXNjb2xvcihAbCksIGRhcmtlbihAbCwgQGxvYWRpbmdDb2xvcmVkUGVyY2VudCksIEBsKTtcblxuICAgICAgICAmIHdoZW4gbm90IChAdmFyaWF0aW9uUG9wdXBUb29sdGlwKSB7XG4gICAgICAgICAgICAudWkudWkudWkuQHtjb2xvcn0ucG9wdXA6OmJlZm9yZSxcbiAgICAgICAgICAgIC51aS5Ae2NvbG9yfS5wb3B1cCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGM7XG4gICAgICAgICAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgLmxvYWRpbmcmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cExvYWRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGNsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS51aS51aS5Ae2NvbG9yfS5wb3B1cDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBJbnZlcnRlZCkge1xuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5wb3B1cDo6YmVmb3JlLFxuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5wb3B1cCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBsO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAubG9hZGluZyYgd2hlbiAoQHZhcmlhdGlvblBvcHVwTG9hZGluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwVG9vbHRpcCkge1xuICAgICAgICAgICAgLnVpLnVpLnVpLkB7Y29sb3J9LnBvcHVwOjpiZWZvcmUsXG4gICAgICAgICAgICAudWkuQHtjb2xvcn0ucG9wdXAsXG4gICAgICAgICAgICBbZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJAe2NvbG9yfVwiXTo6YWZ0ZXIsXG4gICAgICAgICAgICBbZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJAe2NvbG9yfVwiXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAYztcbiAgICAgICAgICAgICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblBvcHVwTG9hZGluZykge1xuICAgICAgICAgICAgICAgIC51aS51aS51aS5Ae2NvbG9yfS5sb2FkaW5nLnBvcHVwOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgLnVpLkB7Y29sb3J9LmxvYWRpbmcucG9wdXAge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY2w7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLnVpLnVpLkB7Y29sb3J9LnBvcHVwOjpiZWZvcmUsXG4gICAgICAgICAgICBbZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJAe2NvbG9yfVwiXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBJbnZlcnRlZCkge1xuICAgICAgICAgICAgICAgIC51aS51aS51aS5pbnZlcnRlZC5Ae2NvbG9yfS5wb3B1cDo6YmVmb3JlLFxuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5Ae2NvbG9yfS5wb3B1cCxcbiAgICAgICAgICAgICAgICBbZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXVtkYXRhLXZhcmlhdGlvbn49XCJAe2NvbG9yfVwiXTo6YWZ0ZXIsXG4gICAgICAgICAgICAgICAgW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF1bZGF0YS12YXJpYXRpb25+PVwiQHtjb2xvcn1cIl06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBsO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGJsYWNrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qb3B1cExvYWRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgLnVpLnVpLnVpLmludmVydGVkLkB7Y29sb3J9LmxvYWRpbmcucG9wdXA6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgLnVpLmludmVydGVkLkB7Y29sb3J9LmxvYWRpbmcucG9wdXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblBvcHVwRmxvd2luZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBGbG93aW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZmxvd2luZy5wb3B1cCB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnBvcHVwIHtcbiAgICBmb250LXNpemU6IEBtZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uUG9wdXBTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uUG9wdXBTaXplcywge1xuICAgICAgICBAczogQEB2YWx1ZTtcbiAgICAgICAgLnVpLkB7dmFsdWV9LnBvcHVwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUG9wdXBUb29sdGlwKSB7XG4gICAgICAgICAgICBbZGF0YS10b29sdGlwXVtkYXRhLXZhcmlhdGlvbn49XCJAe3ZhbHVlfVwiXTo6YmVmb3JlLFxuICAgICAgICAgICAgW2RhdGEtdG9vbHRpcF1bZGF0YS12YXJpYXRpb25+PVwiQHt2YWx1ZX1cIl06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IEBzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gUHJvZ3Jlc3NcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcIm1vZHVsZVwiO1xuQGVsZW1lbnQ6IFwicHJvZ3Jlc3NcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbkBub3RJbmRldGVybWluYXRlOiBpZihAdmFyaWF0aW9uUHJvZ3Jlc3NJbmRldGVybWluYXRlLCBlKFwiOm5vdCguaW5kZXRlcm1pbmF0ZSlcIikpO1xuQG5vdFNsaWRpbmc6IGlmKEB2YXJpYXRpb25Qcm9ncmVzc1NsaWRpbmcsIGUoXCI6bm90KC5zbGlkaW5nKVwiKSk7XG5Abm90RmlsbGluZzogaWYoQHZhcmlhdGlvblByb2dyZXNzRmlsbGluZywgZShcIjpub3QoLmZpbGxpbmcpXCIpKTtcbkBub3RTd2luZ2luZzogaWYoQHZhcmlhdGlvblByb2dyZXNzU3dpbmdpbmcsIGUoXCI6bm90KC5zd2luZ2luZylcIikpO1xuQG5vdEJhc2ljOiBpZihAdmFyaWF0aW9uUHJvZ3Jlc3NCYXNpYywgZShcIjpub3QoLmJhc2ljKVwiKSk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBQcm9ncmVzc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnByb2dyZXNzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiBAYm9yZGVyO1xuICAgIG1hcmdpbjogQG1hcmdpbjtcbiAgICBib3gtc2hhZG93OiBAYm94U2hhZG93O1xuICAgIGJhY2tncm91bmQ6IEBiYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6IEBwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzQmFzaWMpIHtcbiAgICAudWkuYmFzaWMucHJvZ3Jlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbn1cblxuLnVpLnByb2dyZXNzOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW46IEBmaXJzdE1hcmdpbjtcbn1cbi51aS5wcm9ncmVzczpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW46IEBsYXN0TWFyZ2luO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ29udGVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogQWN0aXZpdHkgQmFyICovXG4udWkucHJvZ3Jlc3MgLmJhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcG9zaXRpb246IEBiYXJQb3NpdGlvbjtcbiAgICB3aWR0aDogQGJhckluaXRpYWxXaWR0aDtcbiAgICBiYWNrZ3JvdW5kOiBAYmFyQmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiBAYmFyQm9yZGVyUmFkaXVzO1xuICAgIHRyYW5zaXRpb246IEBiYXJUcmFuc2l0aW9uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgJjpub3QoOmVtcHR5KSB7XG4gICAgICAgIG1pbi13aWR0aDogQGJhck1pbldpZHRoO1xuICAgIH1cbn1cbi51aS51aS51aS5wcm9ncmVzczpub3QoW2RhdGEtcGVyY2VudF0pQHtub3RJbmRldGVybWluYXRlfSAuYmFyOm5vdCg6ZW1wdHkpLFxuLnVpLnVpLnVpLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjBcIl1Ae25vdEluZGV0ZXJtaW5hdGV9IC5iYXI6bm90KDplbXB0eSkge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnVpLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjBcIl0gLmJhciAucHJvZ3Jlc3Mge1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xufVxuJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NJbnZlcnRlZCkge1xuICAgIC51aS5pbnZlcnRlZC5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIwXCJdIC5iYXIgLnByb2dyZXNzIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgICB9XG59XG5cbi8qIFBlcmNlbnQgQ29tcGxldGUgKi9cbi51aS5wcm9ncmVzcyAuYmFyID4gLnByb2dyZXNzIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBvc2l0aW9uOiBAcHJvZ3Jlc3NQb3NpdGlvbjtcbiAgICB3aWR0aDogQHByb2dyZXNzV2lkdGg7XG4gICAgZm9udC1zaXplOiBAcHJvZ3Jlc3NTaXplO1xuICAgIHRvcDogQHByb2dyZXNzVG9wO1xuICAgIHJpZ2h0OiBAcHJvZ3Jlc3NSaWdodDtcbiAgICBsZWZ0OiBAcHJvZ3Jlc3NMZWZ0O1xuICAgIGJvdHRvbTogQHByb2dyZXNzQm90dG9tO1xuICAgIGNvbG9yOiBAcHJvZ3Jlc3NDb2xvcjtcbiAgICB0ZXh0LXNoYWRvdzogQHByb2dyZXNzVGV4dFNoYWRvdztcbiAgICBtYXJnaW4tdG9wOiBAcHJvZ3Jlc3NPZmZzZXQ7XG4gICAgZm9udC13ZWlnaHQ6IEBwcm9ncmVzc0ZvbnRXZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogQHByb2dyZXNzVGV4dEFsaWduO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc1JpZ2h0QWxpZ25lZCkge1xuICAgIC51aS5yaWdodC5hbGlnbmVkLnByb2dyZXNzIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgJiAuYmFyID4gLnByb2dyZXNzIHtcbiAgICAgICAgICAgIGxlZnQ6IEBwcm9ncmVzc1JpZ2h0QWxpZ25lZExlZnQ7XG4gICAgICAgICAgICByaWdodDogQHByb2dyZXNzUmlnaHRBbGlnbmVkUmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIExhYmVsICovXG4udWkucHJvZ3Jlc3MgPiAubGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogQGxhYmVsV2lkdGg7XG4gICAgZm9udC1zaXplOiBAbGFiZWxTaXplO1xuICAgIHRvcDogQGxhYmVsVG9wO1xuICAgIHJpZ2h0OiBAbGFiZWxSaWdodDtcbiAgICBsZWZ0OiBAbGFiZWxMZWZ0O1xuICAgIGJvdHRvbTogQGxhYmVsQm90dG9tO1xuICAgIGNvbG9yOiBAbGFiZWxDb2xvcjtcbiAgICBmb250LXdlaWdodDogQGxhYmVsRm9udFdlaWdodDtcbiAgICB0ZXh0LXNoYWRvdzogQGxhYmVsVGV4dFNoYWRvdztcbiAgICBtYXJnaW4tdG9wOiBAbGFiZWxPZmZzZXQ7XG4gICAgdGV4dC1hbGlnbjogQGxhYmVsVGV4dEFsaWduO1xuICAgIHRyYW5zaXRpb246IEBsYWJlbFRyYW5zaXRpb247XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NJbmRpY2F0aW5nKSB7XG4gICAgLyogSW5kaWNhdGluZyAqL1xuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIxXCJdIC5iYXIsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjJcIl0gLmJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbmRpY2F0aW5nRmlyc3RDb2xvcjtcbiAgICB9XG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjNcIl0gLmJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbmRpY2F0aW5nU2Vjb25kQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI0XCJdIC5iYXIsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjVcIl0gLmJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbmRpY2F0aW5nVGhpcmRDb2xvcjtcbiAgICB9XG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjZcIl0gLmJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbmRpY2F0aW5nRm91cnRoQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI3XCJdIC5iYXIsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjhcIl0gLmJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbmRpY2F0aW5nRmlmdGhDb2xvcjtcbiAgICB9XG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjlcIl0gLmJhcixcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMTAwXCJdIC5iYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5kaWNhdGluZ1NpeHRoQ29sb3I7XG4gICAgfVxuXG4gICAgLyogSW5kaWNhdGluZyBMYWJlbCAqL1xuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIxXCJdIC5sYWJlbCxcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMlwiXSAubGFiZWwge1xuICAgICAgICBjb2xvcjogQGluZGljYXRpbmdGaXJzdExhYmVsQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIzXCJdIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiBAaW5kaWNhdGluZ1NlY29uZExhYmVsQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI0XCJdIC5sYWJlbCxcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNVwiXSAubGFiZWwge1xuICAgICAgICBjb2xvcjogQGluZGljYXRpbmdUaGlyZExhYmVsQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI2XCJdIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiBAaW5kaWNhdGluZ0ZvdXJ0aExhYmVsQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI3XCJdIC5sYWJlbCxcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOFwiXSAubGFiZWwge1xuICAgICAgICBjb2xvcjogQGluZGljYXRpbmdGaWZ0aExhYmVsQ29sb3I7XG4gICAgfVxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI5XCJdIC5sYWJlbCxcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMTAwXCJdIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiBAaW5kaWNhdGluZ1NpeHRoTGFiZWxDb2xvcjtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc0ludmVydGVkKSB7XG4gICAgICAgIC8qIEludmVydGVkIEluZGljYXRpbmcgTGFiZWwgKi9cbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjFcIl0gLmxhYmVsLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMlwiXSAubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEluZGljYXRpbmdGaXJzdExhYmVsQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjNcIl0gLmxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRJbmRpY2F0aW5nU2Vjb25kTGFiZWxDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNFwiXSAubGFiZWwsXG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI1XCJdIC5sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogQGludmVydGVkSW5kaWNhdGluZ1RoaXJkTGFiZWxDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNlwiXSAubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEluZGljYXRpbmdGb3VydGhMYWJlbENvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI3XCJdIC5sYWJlbCxcbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjhcIl0gLmxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRJbmRpY2F0aW5nRmlmdGhMYWJlbENvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI5XCJdIC5sYWJlbCxcbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjEwMFwiXSAubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEluZGljYXRpbmdTaXh0aExhYmVsQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBTaW5nbGUgRGlnaXRzICovXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiMVwiXSAuYmFyLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIxLlwiXSAuYmFyLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjJcIl0gLmJhcixcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMi5cIl0gLmJhcixcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIzXCJdIC5iYXIsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjMuXCJdIC5iYXIsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiNFwiXSAuYmFyLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI0LlwiXSAuYmFyLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjVcIl0gLmJhcixcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNS5cIl0gLmJhcixcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI2XCJdIC5iYXIsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjYuXCJdIC5iYXIsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiN1wiXSAuYmFyLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI3LlwiXSAuYmFyLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjhcIl0gLmJhcixcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOC5cIl0gLmJhcixcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI5XCJdIC5iYXIsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjkuXCJdIC5iYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5kaWNhdGluZ0ZpcnN0Q29sb3I7XG4gICAgfVxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjBcIl0gLmxhYmVsLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIwLlwiXSAubGFiZWwsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiMVwiXSAubGFiZWwsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjEuXCJdIC5sYWJlbCxcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIyXCJdIC5sYWJlbCxcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMi5cIl0gLmxhYmVsLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjNcIl0gLmxhYmVsLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIzLlwiXSAubGFiZWwsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiNFwiXSAubGFiZWwsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjQuXCJdIC5sYWJlbCxcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI1XCJdIC5sYWJlbCxcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNS5cIl0gLmxhYmVsLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjZcIl0gLmxhYmVsLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI2LlwiXSAubGFiZWwsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiN1wiXSAubGFiZWwsXG4gICAgLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjcuXCJdIC5sYWJlbCxcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI4XCJdIC5sYWJlbCxcbiAgICAudWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOC5cIl0gLmxhYmVsLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjlcIl0gLmxhYmVsLFxuICAgIC51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI5LlwiXSAubGFiZWwge1xuICAgICAgICBjb2xvcjogQGluZGljYXRpbmdGaXJzdExhYmVsQ29sb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzSW52ZXJ0ZWQpIHtcbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiMFwiXSAubGFiZWwsXG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIwLlwiXSAubGFiZWwsXG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjFcIl0gLmxhYmVsLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMS5cIl0gLmxhYmVsLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIyXCJdIC5sYWJlbCxcbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjIuXCJdIC5sYWJlbCxcbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiM1wiXSAubGFiZWwsXG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIzLlwiXSAubGFiZWwsXG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjRcIl0gLmxhYmVsLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNC5cIl0gLmxhYmVsLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI1XCJdIC5sYWJlbCxcbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjUuXCJdIC5sYWJlbCxcbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiNlwiXSAubGFiZWwsXG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI2LlwiXSAubGFiZWwsXG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjdcIl0gLmxhYmVsLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNy5cIl0gLmxhYmVsLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI4XCJdIC5sYWJlbCxcbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjguXCJdIC5sYWJlbCxcbiAgICAgICAgLnVpLmludmVydGVkLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiOVwiXSAubGFiZWwsXG4gICAgICAgIC51aS5pbnZlcnRlZC5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI5LlwiXSAubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IEBpbnZlcnRlZEluZGljYXRpbmdGaXJzdExhYmVsQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBJbmRpY2F0aW5nIFN1Y2Nlc3MgKi9cbiAgICAudWkudWkuaW5kaWNhdGluZy5wcm9ncmVzcy5zdWNjZXNzIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiBAc3VjY2Vzc0hlYWRlckNvbG9yO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzU3VjY2Vzcykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBTdWNjZXNzXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudWkucHJvZ3Jlc3Muc3VjY2VzcyAuYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHN1Y2Nlc3NDb2xvcjtcbiAgICB9XG4gICAgLnVpLnVpLnByb2dyZXNzLnN1Y2Nlc3MgLmJhcixcbiAgICAudWkudWkucHJvZ3Jlc3Muc3VjY2VzcyAuYmFyOjphZnRlciB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG4gICAgLnVpLnByb2dyZXNzLnN1Y2Nlc3MgPiAubGFiZWwge1xuICAgICAgICBjb2xvcjogQHN1Y2Nlc3NIZWFkZXJDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzV2FybmluZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBXYXJuaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudWkucHJvZ3Jlc3Mud2FybmluZyAuYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHdhcm5pbmdDb2xvcjtcbiAgICB9XG4gICAgLnVpLnVpLnByb2dyZXNzLndhcm5pbmcgLmJhcixcbiAgICAudWkudWkucHJvZ3Jlc3Mud2FybmluZyAuYmFyOjphZnRlciB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG4gICAgLnVpLnByb2dyZXNzLndhcm5pbmcgPiAubGFiZWwge1xuICAgICAgICBjb2xvcjogQHdhcm5pbmdIZWFkZXJDb2xvcjtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzRXJyb3IpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgRXJyb3JcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS51aS5wcm9ncmVzcy5lcnJvciAuYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGVycm9yQ29sb3I7XG4gICAgfVxuICAgIC51aS51aS5wcm9ncmVzcy5lcnJvciAuYmFyLFxuICAgIC51aS51aS5wcm9ncmVzcy5lcnJvciAuYmFyOjphZnRlciB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG4gICAgLnVpLnByb2dyZXNzLmVycm9yID4gLmxhYmVsIHtcbiAgICAgICAgY29sb3I6IEBlcnJvckhlYWRlckNvbG9yO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NBY3RpdmUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQWN0aXZlXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuYWN0aXZlLnByb2dyZXNzIC5iYXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6bm90KDplbXB0eSkge1xuICAgICAgICAgICAgbWluLXdpZHRoOiBAYWN0aXZlTWluV2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLmFjdGl2ZS5wcm9ncmVzcyAuYmFyOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAYWN0aXZlUHVsc2VDb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJhckJvcmRlclJhZGl1cztcbiAgICAgICAgYW5pbWF0aW9uOiBwcm9ncmVzcy1hY3RpdmUgQGFjdGl2ZVB1bHNlRHVyYXRpb24gQGRlZmF1bHRFYXNpbmcgaW5maW5pdGU7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzUmlnaHRBbGlnbmVkKSB7XG4gICAgICAgIC51aS5hY3RpdmUucmlnaHQuYWxpZ25lZC5wcm9ncmVzcyAuYmFyOjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYWN0aXZlIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogQGFjdGl2ZVB1bHNlTWF4T3BhY2l0eTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NEaXNhYmxlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZGlzYWJsZWQucHJvZ3Jlc3Mge1xuICAgICAgICBvcGFjaXR5OiAwLjM1O1xuICAgIH1cbiAgICAudWkudWkuZGlzYWJsZWQucHJvZ3Jlc3MgLmJhcixcbiAgICAudWkudWkuZGlzYWJsZWQucHJvZ3Jlc3MgLmJhcjo6YWZ0ZXIge1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc0ludmVydGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW52ZXJ0ZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5pbnZlcnRlZC5wcm9ncmVzc0B7bm90QmFzaWN9IHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyOiBAaW52ZXJ0ZWRCb3JkZXI7XG4gICAgfVxuICAgIC51aS5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkQmFyQmFja2dyb3VuZDtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLnByb2dyZXNzIC5iYXIgPiAucHJvZ3Jlc3Mge1xuICAgICAgICBjb2xvcjogQGludmVydGVkUHJvZ3Jlc3NDb2xvcjtcbiAgICB9XG4gICAgLnVpLmludmVydGVkLnByb2dyZXNzID4gLmxhYmVsIHtcbiAgICAgICAgY29sb3I6IEBpbnZlcnRlZExhYmVsQ29sb3I7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzU3VjY2Vzcykge1xuICAgICAgICAudWkuaW52ZXJ0ZWQucHJvZ3Jlc3Muc3VjY2VzcyA+IC5sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogQHN1Y2Nlc3NDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc1dhcm5pbmcpIHtcbiAgICAgICAgLnVpLmludmVydGVkLnByb2dyZXNzLndhcm5pbmcgPiAubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IEB3YXJuaW5nQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NFcnJvcikge1xuICAgICAgICAudWkuaW52ZXJ0ZWQucHJvZ3Jlc3MuZXJyb3IgPiAubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IEBlcnJvckNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc0F0dGFjaGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQXR0YWNoZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIGJvdHRvbSBhdHRhY2hlZCAqL1xuICAgIC51aS5wcm9ncmVzcy5hdHRhY2hlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBhdHRhY2hlZEJhY2tncm91bmQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC51aS5wcm9ncmVzcy5hdHRhY2hlZCxcbiAgICAudWkucHJvZ3Jlc3MuYXR0YWNoZWQgLmJhciB7XG4gICAgICAgIGhlaWdodDogQGF0dGFjaGVkSGVpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgQGF0dGFjaGVkQm9yZGVyUmFkaXVzIEBhdHRhY2hlZEJvcmRlclJhZGl1cztcbiAgICB9XG4gICAgLnVpLnByb2dyZXNzLmF0dGFjaGVkIC5iYXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC8qIHRvcCBhdHRhY2hlZCAqL1xuICAgIC51aS5wcm9ncmVzcy50b3AuYXR0YWNoZWQsXG4gICAgLnVpLnByb2dyZXNzLnRvcC5hdHRhY2hlZCAuYmFyIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAYXR0YWNoZWRCb3JkZXJSYWRpdXMgQGF0dGFjaGVkQm9yZGVyUmFkaXVzIDAgMDtcbiAgICB9XG4gICAgLnVpLnByb2dyZXNzLnRvcC5hdHRhY2hlZCAuYmFyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAvKiBDb3VwbGluZyAqL1xuXG4gICAgLnVpLnNlZ21lbnQgPiAudWkuYXR0YWNoZWQucHJvZ3Jlc3MsXG4gICAgLnVpLmNhcmQgPiAudWkuYXR0YWNoZWQucHJvZ3Jlc3Mge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAudWkuc2VnbWVudCA+IC51aS5ib3R0b20uYXR0YWNoZWQucHJvZ3Jlc3MsXG4gICAgLnVpLmNhcmQgPiAudWkuYm90dG9tLmF0dGFjaGVkLnByb2dyZXNzIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIG5vdCAoQHZhcmlhdGlvblByb2dyZXNzQ29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25Qcm9ncmVzc0NvbG9ycywge1xuICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICBAbDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodF07XG5cbiAgICAgICAgLnVpLmluZGV0ZXJtaW5hdGUuQHtjb2xvcn0ucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuICAgICAgICAudWkuQHtjb2xvcn0ucHJvZ3Jlc3MgLmJhcixcbiAgICAgICAgLnVpLnByb2dyZXNzIC5Ae2NvbG9yfS5iYXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGM7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NJbnZlcnRlZCkge1xuICAgICAgICAgICAgLnVpLmludmVydGVkLmluZGV0ZXJtaW5hdGUuQHtjb2xvcn0ucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlLFxuICAgICAgICAgICAgLnVpLkB7Y29sb3J9LmludmVydGVkLnByb2dyZXNzIC5iYXIsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQucHJvZ3Jlc3MgLkB7Y29sb3J9LmJhciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkucHJvZ3Jlc3Mge1xuICAgIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbi51aS5wcm9ncmVzcyAuYmFyIHtcbiAgICBoZWlnaHQ6IEBiYXJIZWlnaHQ7XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uUHJvZ3Jlc3NTaXplcyA9IGZhbHNlKSB7XG4gICAgZWFjaChAdmFyaWF0aW9uUHJvZ3Jlc3NTaXplcywge1xuICAgICAgICBAaDogQHt2YWx1ZX1CYXJIZWlnaHQ7XG4gICAgICAgIEBzOiBAQHZhbHVlO1xuICAgICAgICAudWkuQHt2YWx1ZX0ucHJvZ3Jlc3Mge1xuICAgICAgICAgICAgZm9udC1zaXplOiBAcztcbiAgICAgICAgfVxuICAgICAgICAudWkuQHt2YWx1ZX0ucHJvZ3Jlc3MgLmJhciB7XG4gICAgICAgICAgICBoZWlnaHQ6IEBAaDtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc0luZGV0ZXJtaW5hdGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS1cbiAgICAgIEluZGV0ZXJtaW5hdGVcbiAgICAtLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC51aS5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXIgLnByb2dyZXNzLFxuICAgIC51aS5wcm9ncmVzcyAuYmFyIC5jZW50ZXJlZC5wcm9ncmVzcyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG4gICAgLnVpLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJhckJvcmRlclJhZGl1cztcbiAgICAgICAgYW5pbWF0aW9uOiBwcm9ncmVzcy1wdWxzYXRpbmcgQGluZGV0ZXJtaW5hdGVQdWxzZUR1cmF0aW9uIEBkZWZhdWx0RWFzaW5nIGluZmluaXRlO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc1NwZWVkcykge1xuICAgICAgICAudWkuc2xvdy5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXI6OmJlZm9yZSB7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IEBpbmRldGVybWluYXRlUHVsc2VEdXJhdGlvblNsb3c7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmZhc3QuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBAaW5kZXRlcm1pbmF0ZVB1bHNlRHVyYXRpb25GYXN0O1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzU3dpbmdpbmcpIHtcbiAgICAgICAgLnVpLnN3aW5naW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogcHJvZ3Jlc3Mtc3dpbmdpbmc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NTbGlkaW5nKSB7XG4gICAgICAgIC51aS5zbGlkaW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogcHJvZ3Jlc3Mtc2xpZGluZztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc0ZpbGxpbmcpIHtcbiAgICAgICAgLnVpLmZpbGxpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyOjpiZWZvcmUge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHByb2dyZXNzLWZpbGxpbmc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3NAe25vdFNsaWRpbmd9QHtub3RGaWxsaW5nfUB7bm90U3dpbmdpbmd9IC5iYXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBpbmRldGVybWluYXRlUHVsc2VDb2xvcjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uUHJvZ3Jlc3NTbGlkaW5nKSBvciAoQHZhcmlhdGlvblByb2dyZXNzU3dpbmdpbmcpIG9yIChAdmFyaWF0aW9uUHJvZ3Jlc3NGaWxsaW5nKSB7XG4gICAgICAgIC51aS5zbGlkaW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhcixcbiAgICAgICAgLnVpLnN3aW5naW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhcixcbiAgICAgICAgLnVpLmZpbGxpbmcuaW5kZXRlcm1pbmF0ZS5wcm9ncmVzcyAuYmFyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IEBiYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzU2xpZGluZykgb3IgKEB2YXJpYXRpb25Qcm9ncmVzc1N3aW5naW5nKSB7XG4gICAgICAgICAgICAudWkuc2xpZGluZy5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXIgLnByb2dyZXNzLFxuICAgICAgICAgICAgLnVpLnN3aW5naW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhciAucHJvZ3Jlc3Mge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAaW52ZXJ0ZWRQcm9ncmVzc0NvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzSW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5zbGlkaW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhcixcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5zd2luZ2luZy5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXIsXG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuZmlsbGluZy5pbmRldGVybWluYXRlLnByb2dyZXNzIC5iYXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZEJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc1NsaWRpbmcpIG9yIChAdmFyaWF0aW9uUHJvZ3Jlc3NTd2luZ2luZykge1xuICAgICAgICAgICAgICAgIC51aS5pbnZlcnRlZC5zbGlkaW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhciAucHJvZ3Jlc3MsXG4gICAgICAgICAgICAgICAgLnVpLmludmVydGVkLnN3aW5naW5nLmluZGV0ZXJtaW5hdGUucHJvZ3Jlc3MgLmJhciAucHJvZ3Jlc3Mge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQHByb2dyZXNzQ29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblByb2dyZXNzU3dpbmdpbmcpIHtcbiAgICAgICAgICAgIEBrZXlmcmFtZXMgcHJvZ3Jlc3Mtc3dpbmdpbmcge1xuICAgICAgICAgICAgICAgIDAlLFxuICAgICAgICAgICAgICAgIDEwMCUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMjUlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAyNSUsXG4gICAgICAgICAgICAgICAgNjUlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgNTAlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc1NsaWRpbmcpIHtcbiAgICAgICAgICAgIEBrZXlmcmFtZXMgcHJvZ3Jlc3Mtc2xpZGluZyB7XG4gICAgICAgICAgICAgICAgMCUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMjUlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA1MCUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Qcm9ncmVzc0ZpbGxpbmcpIHtcbiAgICAgICAgICAgIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtZmlsbGluZyB7XG4gICAgICAgICAgICAgICAgMCUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA4MCUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBwcm9ncmVzcy1wdWxzYXRpbmcge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDEpO1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gU2xpZGVyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUaGVtZVxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcIm1vZHVsZVwiO1xuQGVsZW1lbnQ6IFwic2xpZGVyXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90VmVydGljYWw6IGlmKEB2YXJpYXRpb25TbGlkZXJWZXJ0aWNhbCwgZShcIjpub3QoLnZlcnRpY2FsKVwiKSk7XG5Abm90RGlzYWJsZWQ6IGlmKEB2YXJpYXRpb25TbGlkZXJEaXNhYmxlZCwgZShcIjpub3QoLmRpc2FibGVkKVwiKSk7XG5Abm90Qm90dG9tOiBpZihAdmFyaWF0aW9uU2xpZGVyQm90dG9tQWxpZ25lZCwgZShcIjpub3QoLmJvdHRvbSlcIikpO1xuQG5vdFJpZ2h0OiBpZihAdmFyaWF0aW9uU2xpZGVyUmlnaHRBbGlnbmVkLCBlKFwiOm5vdCgucmlnaHQpXCIpKTtcblxuQG5vdENoZWNrYm94OiBpZihAdmFyaWF0aW9uQ2hlY2tib3hTbGlkZXIsIGUoXCI6bm90KC5jaGVja2JveClcIikpO1xuXG4udWkuc2xpZGVyQHtub3RWZXJ0aWNhbH1Ae25vdENoZWNrYm94fSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogQHBhZGRpbmc7XG59XG5cbi51aS5zbGlkZXJAe25vdENoZWNrYm94fSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udWkuc2xpZGVyQHtub3RDaGVja2JveH06Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi51aS5zbGlkZXIgLmlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbn1cblxuLnVpLnNsaWRlckB7bm90VmVydGljYWx9IC5pbm5lciB7XG4gICAgaGVpZ2h0OiBAaGVpZ2h0O1xufVxuXG4udWkuc2xpZGVyIC5pbm5lcjpob3ZlciB7XG4gICAgY3Vyc29yOiBAaG92ZXJQb2ludGVyO1xufVxuXG4udWkuc2xpZGVyIC5pbm5lciAudHJhY2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiBAdHJhY2tCb3JkZXJSYWRpdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHRyYWNrQ29sb3I7XG59XG5cbi51aS5zbGlkZXJAe25vdFZlcnRpY2FsfSAuaW5uZXIgLnRyYWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IEB0cmFja0hlaWdodDtcbiAgICB0b3A6IEB0cmFja1Bvc2l0aW9uVG9wO1xuICAgIGxlZnQ6IDA7XG59XG5cbi51aS5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXJhZGl1czogQHRyYWNrRmlsbEJvcmRlclJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdHJhY2tGaWxsQ29sb3I7XG59XG5cbi51aS5zbGlkZXJAe25vdFZlcnRpY2FsfSAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICAgIGhlaWdodDogQHRyYWNrRmlsbEhlaWdodDtcbiAgICB0b3A6IEB0cmFja1Bvc2l0aW9uVG9wO1xuICAgIGxlZnQ6IDA7XG59XG5cbi51aS5zbGlkZXIgLmlubmVyIC50aHVtYiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogQHRodW1iSGVpZ2h0O1xuICAgIHdpZHRoOiBAdGh1bWJIZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogQHRodW1iQmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiBAdGh1bWJCb3JkZXJSYWRpdXM7XG4gICAgYm94LXNoYWRvdzogQHRodW1iU2hhZG93O1xuICAgIHRyYW5zaXRpb246IEB0aHVtYlRyYW5zaXRpb247XG59XG5cbi51aS5zbGlkZXJAe25vdERpc2FibGVkfSAuaW5uZXIgLnRodW1iOmhvdmVyIHtcbiAgICBjdXJzb3I6IEB0aHVtYkhvdmVyUG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiBAdGh1bWJIb3ZlckJhY2tncm91bmQ7XG59XG5cbi51aS5zbGlkZXJAe25vdERpc2FibGVkfTpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiBAdGh1bWJIb3ZlckJhY2tncm91bmQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblNsaWRlckRpc2FibGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuZGlzYWJsZWQuc2xpZGVyQHtub3RDaGVja2JveH0ge1xuICAgICAgICBvcGFjaXR5OiBAZGlzYWJsZWRPcGFjdGl5O1xuICAgIH1cblxuICAgIC51aS5kaXNhYmxlZC5zbGlkZXIgLmlubmVyOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgIH1cblxuICAgIC51aS5kaXNhYmxlZC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGRpc2FibGVkVHJhY2tGaWxsQ29sb3I7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJSZXZlcnNlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFJldmVyc2VkXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkucmV2ZXJzZWQuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC51aS5yZXZlcnNlZC5zbGlkZXJAe25vdFZlcnRpY2FsfSAuaW5uZXIgLnRodW1iIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLnVpLnJldmVyc2VkLnZlcnRpY2FsLnNsaWRlciAuaW5uZXIgLnRodW1iIHtcbiAgICAgICAgbGVmdDogQHRodW1iVmVydGljYWxTbGlkZXJPZmZzZXQ7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVyTGFiZWxlZCkge1xuICAgICAgICAudWkubGFiZWxlZC5yZXZlcnNlZC5zbGlkZXIgPiAubGFiZWxzIC5sYWJlbCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgLTEwMCUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJWZXJ0aWNhbCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFZlcnRpY2FsXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudmVydGljYWwuc2xpZGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogQGhlaWdodDtcbiAgICAgICAgcGFkZGluZzogQHZlcnRpY2FsUGFkZGluZztcbiAgICB9XG5cbiAgICAudWkudmVydGljYWwuc2xpZGVyIC5pbm5lciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAudWkudmVydGljYWwuc2xpZGVyIC5pbm5lciAudHJhY2sge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBAdHJhY2tIZWlnaHQ7XG4gICAgICAgIGxlZnQ6IEB0cmFja1Bvc2l0aW9uVG9wO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgLnVpLnZlcnRpY2FsLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICAgICAgICB3aWR0aDogQHRyYWNrRmlsbEhlaWdodDtcbiAgICAgICAgbGVmdDogQHRyYWNrUG9zaXRpb25Ub3A7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVyUmV2ZXJzZWQpIHtcbiAgICAgICAgLyogVmVydGljYWwgUmV2ZXJzZWQgKi9cbiAgICAgICAgLnVpLnZlcnRpY2FsLnJldmVyc2VkLnNsaWRlciAuaW5uZXIgLnRodW1iIHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS52ZXJ0aWNhbC5yZXZlcnNlZC5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVyTGFiZWxlZCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExhYmVsZWRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5sYWJlbGVkLnNsaWRlciA+IC5sYWJlbHMge1xuICAgICAgICBoZWlnaHQ6IEBsYWJlbEhlaWdodDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLnVpLmxhYmVsZWQuc2xpZGVyQHtub3RWZXJ0aWNhbH0gPiAubGFiZWxzIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICAgIC51aS5sYWJlbGVkLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAmOm5vdCgudWkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IEBsYWJlbFBhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVyQm90dG9tQWxpZ25lZCkge1xuICAgICAgICAudWkuYm90dG9tLmFsaWduZWQubGFiZWxlZC5zbGlkZXIgPiAubGFiZWxzIC5sYWJlbCB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAxMDAlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJUaWNrZWQpIHtcbiAgICAgICAgLnVpLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIGhlaWdodDogQGxhYmVsSGVpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IEBsYWJlbFdpZHRoO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGxhYmVsQ29sb3I7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVyQm90dG9tQWxpZ25lZCkge1xuICAgICAgICAgICAgLnVpLmJvdHRvbS5hbGlnbmVkLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNsaWRlclVpTGFiZWwpIHtcbiAgICAgICAgICAgICAgICAudWkubGFiZWxlZC5zbGlkZXIuYm90dG9tLmFsaWduZWQgLmxhYmVscyAudWkubGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtQHVpTGFiZWxNYXJnaW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC51aS5sYWJlbGVkLnRpY2tlZC5zbGlkZXIuYm90dG9tLmFsaWduZWQgLmxhYmVscyAudWkubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogQHVpTGFiZWxNYXJnaW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51aS5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAubGFiZWxzIC5oYWxmdGljay5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAoQGxhYmVsSGVpZ2h0IC8gMik7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVySW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAubGFiZWxzIC5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBpbnZlcnRlZExhYmVsQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVyVWlMYWJlbCkge1xuICAgICAgICAudWkubGFiZWxlZC5zbGlkZXJAe25vdFZlcnRpY2FsfUB7bm90Qm90dG9tfSAubGFiZWxzIC51aS5sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtQHVpTGFiZWxNYXJnaW47XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmxhYmVsZWQudGlja2VkLnNsaWRlckB7bm90VmVydGljYWx9QHtub3RCb3R0b219IC5sYWJlbHMgLnVpLmxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBAdWlMYWJlbE1hcmdpbjtcbiAgICAgICAgfVxuICAgICAgICAudWkubGFiZWxlZC50aWNrZWQuc2xpZGVyQHtub3RWZXJ0aWNhbH0gPiAubGFiZWxzIC51aS5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiBAdWlMYWJlbFRpY2tIZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJWZXJ0aWNhbCkge1xuICAgICAgICAvKiBWZXJ0aWNhbCBMYWJlbHMgKi9cblxuICAgICAgICAudWkubGFiZWxlZC52ZXJ0aWNhbC5zbGlkZXIgPiAubGFiZWxzIHtcbiAgICAgICAgICAgIHdpZHRoOiBAbGFiZWxIZWlnaHQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAudWkubGFiZWxlZC52ZXJ0aWNhbC5zbGlkZXIgPiAubGFiZWxzIC5sYWJlbCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAudWkubGFiZWxlZC52ZXJ0aWNhbC5zbGlkZXIgPiAubGFiZWxzIC5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IEBsYWJlbEhlaWdodDtcbiAgICAgICAgICAgIGhlaWdodDogQGxhYmVsV2lkdGg7XG4gICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmxhYmVsZWQudmVydGljYWwuc2xpZGVyID4gLmxhYmVscyAuaGFsZnRpY2subGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAoQGxhYmVsSGVpZ2h0IC8gMik7XG4gICAgICAgICAgICBoZWlnaHQ6IEBsYWJlbFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIC51aS5sYWJlbGVkLnZlcnRpY2FsLnNsaWRlckB7bm90UmlnaHR9ID4gLmxhYmVscyAuaGFsZnRpY2subGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdmVydGljYWxUaWNrRGlzdGFuY2U7XG4gICAgICAgIH1cblxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJSZXZlcnNlZCkge1xuICAgICAgICAgICAgLyogVmVydGljYWwgUmV2ZXJzZWQgTGFiZWxzICovXG4gICAgICAgICAgICAudWkubGFiZWxlZC52ZXJ0aWNhbC5yZXZlcnNlZC5zbGlkZXIgPiAubGFiZWxzIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVyVWlMYWJlbCkge1xuICAgICAgICAgICAgLnVpLmxhYmVsZWQudGlja2VkLnZlcnRpY2FsLnNsaWRlckB7bm90UmlnaHR9ID4gLmxhYmVscyAudWkubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogQHZlcnRpY2FsVWlMYWJlbE1hcmdpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJSaWdodEFsaWduZWQpIHtcbiAgICAgICAgICAgIC51aS5sYWJlbGVkLnZlcnRpY2FsLnJpZ2h0LmFsaWduZWQuc2xpZGVyID4gLmxhYmVscyB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgICAgICAgbGVmdDogZSglKFwiY2FsYygxMDAlJSArICVkKVwiLCBAdmVydGljYWxUaWNrRGlzdGFuY2UpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5sYWJlbGVkLnZlcnRpY2FsLnJpZ2h0LmFsaWduZWQuc2xpZGVyID4gLmxhYmVscyAubGFiZWwge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudWkubGFiZWxlZC52ZXJ0aWNhbC5yaWdodC5hbGlnbmVkLnNsaWRlciA+IC5sYWJlbHMgLmxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51aS5sYWJlbGVkLnZlcnRpY2FsLnJpZ2h0LmFsaWduZWQuc2xpZGVyID4gLmxhYmVscyAuaGFsZnRpY2subGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB2ZXJ0aWNhbFRpY2tEaXN0YW5jZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNsaWRlclJldmVyc2VkKSB7XG4gICAgICAgICAgICAgICAgLnVpLmxhYmVsZWQudmVydGljYWwucmV2ZXJzZWQucmlnaHQuYWxpZ25lZC5zbGlkZXIgPiAubGFiZWxzIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDUwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVyVWlMYWJlbCkge1xuICAgICAgICAgICAgICAgIC51aS5sYWJlbGVkLnRpY2tlZC52ZXJ0aWNhbC5yaWdodC5hbGlnbmVkLnNsaWRlciA+IC5sYWJlbHMgLnVpLmxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHZlcnRpY2FsVWlMYWJlbE1hcmdpbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuaG92ZXIuc2xpZGVyIC5pbm5lciAudGh1bWIge1xuICAgIG9wYWNpdHk6IEBob3ZlclZhck9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbjogQGhvdmVyT3BhY2l0eVRyYW5zaXRpb247XG59XG5cbi51aS5ob3Zlci5zbGlkZXJAe25vdERpc2FibGVkfTpob3ZlciAuaW5uZXIgLnRodW1iLFxuLnVpLmhvdmVyLnNsaWRlckB7bm90RGlzYWJsZWR9OmZvY3VzIC5pbm5lciAudGh1bWIge1xuICAgIG9wYWNpdHk6IEBob3ZlclZhckhvdmVyT3BhY2l0eTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVySW52ZXJ0ZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBJbnZlcnRlZFxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmludmVydGVkLnNsaWRlciAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRUcmFja0ZpbGxDb2xvcjtcbiAgICB9XG5cbiAgICAudWkuaW52ZXJ0ZWQuc2xpZGVyIC5pbm5lciAudHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdHJhbnNwYXJlbnRXaGl0ZTtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJIaWdobGlnaHQpIHtcbiAgICAudWkubGFiZWxlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAubGFiZWwge1xuICAgICAgICB0cmFuc2l0aW9uOiBAaGlnaGxpZ2h0VHJhbnNpdGlvbjtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVyVGlja2VkKSB7XG4gICAgICAgIC51aS5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdHJhY2tGaWxsQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVySW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgIC51aS5pbnZlcnRlZC5sYWJlbGVkLnRpY2tlZC5zbGlkZXIgPiAuYWN0aXZlLmxhYmVscyAuYWN0aXZlLmxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGludmVydGVkVHJhY2tGaWxsQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWkubGFiZWxlZC50aWNrZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmFjdGl2ZS5sYWJlbDo6YWZ0ZXIsXG4gICAgLnVpLmxhYmVsZWQuc2xpZGVyID4gLmFjdGl2ZS5sYWJlbHMgLmxhYmVsOm5vdCguYWN0aXZlKSB7XG4gICAgICAgIG9wYWNpdHk6IEBoaWdobGlnaHRPcGFjaXR5O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25TbGlkZXJDb2xvcnMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvblNsaWRlckNvbG9ycywge1xuICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICBAbDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodF07XG4gICAgICAgIEBoOiBAY29sb3JzW0BAY29sb3JdW2hvdmVyXTtcbiAgICAgICAgQGxoOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0SG92ZXJdO1xuXG4gICAgICAgIC8qIFN0YW5kYXJkICovXG4gICAgICAgIC51aS5Ae2NvbG9yfS5zbGlkZXIgLmlubmVyIC50cmFjay1maWxsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNsaWRlckludmVydGVkKSB7XG4gICAgICAgICAgICAudWkuQHtjb2xvcn0uaW52ZXJ0ZWQuc2xpZGVyIC5pbm5lciAudHJhY2stZmlsbCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJCYXNpYykge1xuICAgICAgICAgICAgLyogQmFzaWMgKi9cbiAgICAgICAgICAgIC51aS5Ae2NvbG9yfS5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudWkuQHtjb2xvcn0uc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4gICAgICAgICAgICAudWkuQHtjb2xvcn0uc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVySW52ZXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICAvKiBCYXNpYyBJbnZlcnRlZCAqL1xuICAgICAgICAgICAgICAgIC51aS5Ae2NvbG9yfS5pbnZlcnRlZC5zbGlkZXIuYmFzaWMgLmlubmVyIC50aHVtYiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudWkuQHtjb2xvcn0uaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4gICAgICAgICAgICAgICAgLnVpLkB7Y29sb3J9LmludmVydGVkLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGxoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJIaWdobGlnaHQpIGFuZCAoQHZhcmlhdGlvblNsaWRlclRpY2tlZCkge1xuICAgICAgICAgICAgLnVpLkB7Y29sb3J9LmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNsaWRlckludmVydGVkKSB7XG4gICAgICAgICAgICAgICAgLnVpLkB7Y29sb3J9LmludmVydGVkLmxhYmVsZWQudGlja2VkLnNsaWRlciA+IC5hY3RpdmUubGFiZWxzIC5hY3RpdmUubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9KTtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVyQmFzaWMpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQmFzaWNcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIFN0YW5kYXJkICovXG4gICAgLnVpLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRyYWNrRmlsbENvbG9yO1xuICAgIH1cbiAgICAudWkuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWI6aG92ZXIsXG4gICAgLnVpLnNsaWRlci5iYXNpYzpmb2N1cyAuaW5uZXIgLnRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRyYWNrRmlsbENvbG9yRm9jdXM7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2xpZGVySW52ZXJ0ZWQpIHtcbiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBCYXNpYyBJbnZlcnRlZFxuICAgICAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgICAgICAvKiBTdGFuZGFyZCAqL1xuICAgICAgICAudWkuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljIC5pbm5lciAudGh1bWIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkVHJhY2tGaWxsQ29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLmludmVydGVkLnNsaWRlci5iYXNpYyAuaW5uZXIgLnRodW1iOmhvdmVyLFxuICAgICAgICAudWkuaW52ZXJ0ZWQuc2xpZGVyLmJhc2ljOmZvY3VzIC5pbm5lciAudGh1bWIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkVHJhY2tGaWxsQ29sb3JGb2N1cztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6aW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvblNsaWRlclNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25TbGlkZXJTaXplcywge1xuICAgICAgICBAaDogQHt2YWx1ZX1IZWlnaHQ7XG4gICAgICAgIEB0aDogQHt2YWx1ZX1UcmFja0hlaWdodDtcbiAgICAgICAgQHRwOiBAe3ZhbHVlfVRyYWNrUG9zaXRpb25Ub3A7XG4gICAgICAgIEBsaDogQHt2YWx1ZX1MYWJlbEhlaWdodDtcbiAgICAgICAgLnVpLnNsaWRlci5Ae3ZhbHVlfSAuaW5uZXIgLnRodW1iIHtcbiAgICAgICAgICAgIGhlaWdodDogQEBoO1xuICAgICAgICAgICAgd2lkdGg6IEBAaDtcbiAgICAgICAgfVxuICAgICAgICAudWkuc2xpZGVyLkB7dmFsdWV9QHtub3RWZXJ0aWNhbH0gLmlubmVyIHtcbiAgICAgICAgICAgIGhlaWdodDogQEBoO1xuICAgICAgICB9XG4gICAgICAgIC51aS5zbGlkZXIuQHt2YWx1ZX1Ae25vdFZlcnRpY2FsfSAuaW5uZXIgLnRyYWNrLFxuICAgICAgICAudWkuc2xpZGVyLkB7dmFsdWV9QHtub3RWZXJ0aWNhbH0gLmlubmVyIC50cmFjay1maWxsIHtcbiAgICAgICAgICAgIGhlaWdodDogQEB0aDtcbiAgICAgICAgICAgIHRvcDogQEB0cDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJMYWJlbGVkKSB7XG4gICAgICAgICAgICAudWkuQHt2YWx1ZX0ubGFiZWxlZC5zbGlkZXJAe25vdFZlcnRpY2FsfSA+IC5sYWJlbHMsXG4gICAgICAgICAgICAudWkuQHt2YWx1ZX0ubGFiZWxlZC5zbGlkZXJAe25vdFZlcnRpY2FsfSA+IC5sYWJlbHMgLmxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBAQGxoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLkB7dmFsdWV9LmxhYmVsZWQuc2xpZGVyQHtub3RWZXJ0aWNhbH0gPiAubGFiZWxzIC5oYWxmdGljay5sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGhlaWdodDogKEBAbGggLyAyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJWZXJ0aWNhbCkge1xuICAgICAgICAgICAgLyogU21hbGwgVmVydGljYWwgKi9cbiAgICAgICAgICAgIC51aS5zbGlkZXIuQHt2YWx1ZX0udmVydGljYWwgLmlubmVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogQEBoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnVpLnNsaWRlci5Ae3ZhbHVlfS52ZXJ0aWNhbCAuaW5uZXIgLnRyYWNrLFxuICAgICAgICAgICAgLnVpLnNsaWRlci5Ae3ZhbHVlfS52ZXJ0aWNhbCAuaW5uZXIgLnRyYWNrLWZpbGwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBAQHRoO1xuICAgICAgICAgICAgICAgIGxlZnQ6IEBAdHA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TbGlkZXJMYWJlbGVkKSB7XG4gICAgICAgICAgICAgICAgLnVpLkB7dmFsdWV9LmxhYmVsZWQudmVydGljYWwuc2xpZGVyPiAubGFiZWxzLFxuICAgICAgICAgICAgICAgIC51aS5Ae3ZhbHVlfS5sYWJlbGVkLnZlcnRpY2FsLnNsaWRlcj4gLmxhYmVscyAubGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IEBAbGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC51aS5Ae3ZhbHVlfS5sYWJlbGVkLnZlcnRpY2FsLnNsaWRlcj4gLmxhYmVscyAuaGFsZnRpY2subGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IChAQGxoIC8gMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gUmF0aW5nXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJtb2R1bGVcIjtcbkBlbGVtZW50OiBcInJhdGluZ1wiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUmF0aW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkucmF0aW5nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB3aGl0ZS1zcGFjZTogQHdoaXRlU3BhY2U7XG4gICAgdmVydGljYWwtYWxpZ246IEB2ZXJ0aWNhbEFsaWduO1xufVxuLnVpLnJhdGluZzpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi8qIEljb24gKi9cbi51aS5yYXRpbmcgLmljb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogQG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgY3Vyc29yOiBAaWNvbkN1cnNvcjtcbiAgICB3aWR0aDogQGljb25XaWR0aDtcbiAgICBoZWlnaHQ6IEBpY29uSGVpZ2h0O1xuICAgIHRyYW5zaXRpb246IEBpY29uVHJhbnNpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFN0YW5kYXJkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBJbmFjdGl2ZSBJY29uICovXG4udWkucmF0aW5nIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiBAaW5hY3RpdmVCYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBAaW5hY3RpdmVDb2xvcjtcbn1cblxuLyogQWN0aXZlIEljb24gKi9cbi51aS5yYXRpbmcgLmFjdGl2ZS5pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiBAYWN0aXZlQmFja2dyb3VuZDtcbiAgICBjb2xvcjogQGFjdGl2ZUNvbG9yO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25SYXRpbmdQYXJ0aWFsKSB7XG4gICAgLyogUGFydGlhbGx5IEFjdGl2ZSBJY29uICovXG4gICAgLnVpLnJhdGluZyAuaWNvbi5wYXJ0aWFsLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgQGFjdGl2ZUNvbG9yIDAlIHZhcigtLWZ1bGwpLCBAaW5hY3RpdmVDb2xvciB2YXIoLS1mdWxsKSAxMDAlKTtcbiAgICB9XG5cbiAgICAvKiBjZW50cmFsIG92ZXJyaWRlIGZvciBjb2xvcnMgKi9cbiAgICAudWkudWkudWkucmF0aW5nIC5pY29uLnBhcnRpYWwuYWN0aXZlIHtcbiAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICB9XG59XG5cbi8qIFNlbGVjdGVkIEljb24gKi9cbi51aS5yYXRpbmcgLmljb24uc2VsZWN0ZWQsXG4udWkucmF0aW5nIC5pY29uLnNlbGVjdGVkLmFjdGl2ZSxcbi51aS5yYXRpbmcgLmljb24uc2VsZWN0ZWQucGFydGlhbC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IEBzZWxlY3RlZEJhY2tncm91bmQ7XG4gICAgY29sb3I6IEBzZWxlY3RlZENvbG9yO1xuICAgIGJhY2tncm91bmQtY2xpcDogdW5zZXQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiBub3QgKEB2YXJpYXRpb25SYXRpbmdDb2xvcnMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvblJhdGluZ0NvbG9ycywge1xuICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICBAbDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodF07XG4gICAgICAgIEBoOiBAY29sb3JzW0BAY29sb3JdW2hvdmVyXTtcbiAgICAgICAgQGxoOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0SG92ZXJdO1xuXG4gICAgICAgIC51aS5Ae2NvbG9yfS5yYXRpbmcgLmFjdGl2ZS5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbDtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OlxuICAgICAgICAgICAgICAgIDAgLUBzaGFkb3dXaWR0aCAwIEBjLFxuICAgICAgICAgICAgICAgIC1Ac2hhZG93V2lkdGggMCAwIEBjLFxuICAgICAgICAgICAgICAgIDAgQHNoYWRvd1dpZHRoIDAgQGMsXG4gICAgICAgICAgICAgICAgQHNoYWRvd1dpZHRoIDAgMCBAYztcbiAgICAgICAgfVxuICAgICAgICAudWkuQHtjb2xvcn0ucmF0aW5nIC5pY29uLnNlbGVjdGVkLFxuICAgICAgICAudWkuQHtjb2xvcn0ucmF0aW5nIC5pY29uLnNlbGVjdGVkLmFjdGl2ZSxcbiAgICAgICAgLnVpLkB7Y29sb3J9LnJhdGluZyAuaWNvbi5zZWxlY3RlZC5wYXJ0aWFsLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgICAgICAgY29sb3I6IEBsaDtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OlxuICAgICAgICAgICAgICAgIDAgLUBzaGFkb3dXaWR0aCAwIEBoLFxuICAgICAgICAgICAgICAgIC1Ac2hhZG93V2lkdGggMCAwIEBoLFxuICAgICAgICAgICAgICAgIDAgQHNoYWRvd1dpZHRoIDAgQGgsXG4gICAgICAgICAgICAgICAgQHNoYWRvd1dpZHRoIDAgMCBAaDtcblxuICAgICAgICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogdW5zZXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHVuc2V0O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblJhdGluZ1BhcnRpYWwpIHtcbiAgICAgICAgICAgIC51aS5Ae2NvbG9yfS5yYXRpbmcgLmljb24ucGFydGlhbC5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgQGwgMCUgdmFyKC0tZnVsbCksIEBpbmFjdGl2ZUNvbG9yIHZhcigtLWZ1bGwpIDEwMCUpO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdGV4dC1zdHJva2U6IEBjIDAuNzhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uUmF0aW5nRGlzYWJsZWQpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIGRpc2FibGVkIHJhdGluZyAqL1xuICAgIC51aS5kaXNhYmxlZC5yYXRpbmcgLmljb24ge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVXNlciBJbnRlcmFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogU2VsZWN0ZWQgUmF0aW5nICovXG4udWkucmF0aW5nLnNlbGVjdGVkIC5hY3RpdmUuaWNvbiB7XG4gICAgb3BhY2l0eTogQGludGVyYWN0aXZlQWN0aXZlSWNvbk9wYWNpdHk7XG59XG4udWkucmF0aW5nLnNlbGVjdGVkIC5pY29uLnNlbGVjdGVkLFxuLnVpLnJhdGluZyAuaWNvbi5zZWxlY3RlZCB7XG4gICAgb3BhY2l0eTogQGludGVyYWN0aXZlU2VsZWN0ZWRJY29uT3BhY2l0eTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkucmF0aW5nIHtcbiAgICBmb250LXNpemU6IEBtZWRpdW07XG59XG4mIHdoZW4gbm90IChAdmFyaWF0aW9uUmF0aW5nU2l6ZXMgPSBmYWxzZSkge1xuICAgIGVhY2goQHZhcmlhdGlvblJhdGluZ1NpemVzLCB7XG4gICAgICAgIEBzOiBAQHZhbHVlO1xuICAgICAgICAudWkuQHt2YWx1ZX0ucmF0aW5nIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQHM7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBTZWFyY2hcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcIm1vZHVsZVwiO1xuQGVsZW1lbnQ6IFwic2VhcmNoXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFNlYXJjaFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnNlYXJjaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udWkuc2VhcmNoID4gLnByb21wdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IEBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IEBwcm9tcHRMaW5lSGVpZ2h0O1xuICAgIHBhZGRpbmc6IEBwcm9tcHRQYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogQHByb21wdEZvbnRTaXplO1xuICAgIGJhY2tncm91bmQ6IEBwcm9tcHRCYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogQHByb21wdEJvcmRlcjtcbiAgICBjb2xvcjogQHByb21wdENvbG9yO1xuICAgIGJveC1zaGFkb3c6IEBwcm9tcHRCb3hTaGFkb3c7XG4gICAgdHJhbnNpdGlvbjogQHByb21wdFRyYW5zaXRpb247XG59XG5cbi51aS5zZWFyY2ggLnByb21wdCB7XG4gICAgYm9yZGVyLXJhZGl1czogQHByb21wdEJvcmRlclJhZGl1cztcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgSWNvblxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5zZWFyY2ggLnByb21wdCB+IC5zZWFyY2guaWNvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIFJlc3VsdHNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuc2VhcmNoID4gLnJlc3VsdHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGJhY2tncm91bmQ6IEByZXN1bHRzQmFja2dyb3VuZDtcbiAgICBtYXJnaW4tdG9wOiBAcmVzdWx0c0Rpc3RhbmNlO1xuICAgIHdpZHRoOiBAcmVzdWx0c1dpZHRoO1xuICAgIGJvcmRlci1yYWRpdXM6IEByZXN1bHRzQm9yZGVyUmFkaXVzO1xuICAgIGJveC1zaGFkb3c6IEByZXN1bHRzQm94U2hhZG93O1xuICAgIGJvcmRlcjogQHJlc3VsdHNCb3JkZXI7XG4gICAgei1pbmRleDogQHJlc3VsdHNaSW5kZXg7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IEByZXN1bHRzQm9yZGVyUmFkaXVzIEByZXN1bHRzQm9yZGVyUmFkaXVzIDAgMDtcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgQHJlc3VsdHNCb3JkZXJSYWRpdXMgQHJlc3VsdHNCb3JkZXJSYWRpdXM7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgUmVzdWx0XG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtc2l6ZTogQHJlc3VsdEZvbnRTaXplO1xuICAgIHBhZGRpbmc6IEByZXN1bHRQYWRkaW5nO1xuICAgIGNvbG9yOiBAcmVzdWx0VGV4dENvbG9yO1xuICAgIGxpbmUtaGVpZ2h0OiBAcmVzdWx0TGluZUhlaWdodDtcbiAgICBib3JkZXItYm90dG9tOiBAcmVzdWx0RGl2aWRlcjtcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IEByZXN1bHRMYXN0RGl2aWRlciAhaW1wb3J0YW50O1xufVxuXG4vKiBJbWFnZSAqL1xuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQgLmltYWdlIHtcbiAgICBmbG9hdDogQHJlc3VsdEltYWdlRmxvYXQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiBAcmVzdWx0SW1hZ2VCYWNrZ3JvdW5kO1xuICAgIHdpZHRoOiBAcmVzdWx0SW1hZ2VXaWR0aDtcbiAgICBoZWlnaHQ6IEByZXN1bHRJbWFnZUhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiBAcmVzdWx0SW1hZ2VCb3JkZXJSYWRpdXM7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCAuaW1hZ2UgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBJbmZvXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQgLmltYWdlICsgLmNvbnRlbnQge1xuICAgIG1hcmdpbjogQHJlc3VsdEltYWdlTWFyZ2luO1xufVxuXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCAudGl0bGUge1xuICAgIG1hcmdpbjogQHJlc3VsdFRpdGxlTWFyZ2luO1xuICAgIGZvbnQtZmFtaWx5OiBAcmVzdWx0VGl0bGVGb250O1xuICAgIGZvbnQtd2VpZ2h0OiBAcmVzdWx0VGl0bGVGb250V2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogQHJlc3VsdFRpdGxlRm9udFNpemU7XG4gICAgY29sb3I6IEByZXN1bHRUaXRsZUNvbG9yO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQgLmRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiBAcmVzdWx0RGVzY3JpcHRpb25EaXN0YW5jZTtcbiAgICBmb250LXNpemU6IEByZXN1bHREZXNjcmlwdGlvbkZvbnRTaXplO1xuICAgIGNvbG9yOiBAcmVzdWx0RGVzY3JpcHRpb25Db2xvcjtcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0IC5wcmljZSB7XG4gICAgZmxvYXQ6IEByZXN1bHRQcmljZUZsb2F0O1xuICAgIGNvbG9yOiBAcmVzdWx0UHJpY2VDb2xvcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBNZXNzYWdlXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzID4gLm1lc3NhZ2Uge1xuICAgIHBhZGRpbmc6IEBtZXNzYWdlVmVydGljYWxQYWRkaW5nIEBtZXNzYWdlSG9yaXpvbnRhbFBhZGRpbmc7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiAubWVzc2FnZSAuaGVhZGVyIHtcbiAgICBmb250LWZhbWlseTogQGhlYWRlckZvbnQ7XG4gICAgZm9udC1zaXplOiBAbWVzc2FnZUhlYWRlckZvbnRTaXplO1xuICAgIGZvbnQtd2VpZ2h0OiBAbWVzc2FnZUhlYWRlckZvbnRXZWlnaHQ7XG4gICAgY29sb3I6IEBtZXNzYWdlSGVhZGVyQ29sb3I7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiAubWVzc2FnZSAuZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IEBtZXNzYWdlRGVzY3JpcHRpb25EaXN0YW5jZTtcbiAgICBmb250LXNpemU6IEBtZXNzYWdlRGVzY3JpcHRpb25Gb250U2l6ZTtcbiAgICBjb2xvcjogQG1lc3NhZ2VEZXNjcmlwdGlvbkNvbG9yO1xufVxuXG4vKiBWaWV3IEFsbCBSZXN1bHRzICovXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiAuYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItdG9wOiBAYWN0aW9uQm9yZGVyO1xuICAgIGJhY2tncm91bmQ6IEBhY3Rpb25CYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6IEBhY3Rpb25QYWRkaW5nO1xuICAgIGNvbG9yOiBAYWN0aW9uQ29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IEBhY3Rpb25Gb250V2VpZ2h0O1xuICAgIHRleHQtYWxpZ246IEBhY3Rpb25BbGlnbjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5zZWFyY2ggPiAucHJvbXB0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IEBwcm9tcHRGb2N1c0JvcmRlckNvbG9yO1xuICAgIGJhY2tncm91bmQ6IEBwcm9tcHRGb2N1c0JhY2tncm91bmQ7XG4gICAgY29sb3I6IEBwcm9tcHRGb2N1c0NvbG9yO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hMb2FkaW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgTG9hZGluZ1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnVpLmxvYWRpbmcuc2VhcmNoIC5pbnB1dCA+IGkuaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW46IEBsb2FkZXJNYXJnaW47XG4gICAgICAgIHdpZHRoOiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAbG9hZGVyU2l6ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuICAgICAgICBib3JkZXI6IEBsb2FkZXJMaW5lV2lkdGggc29saWQgQGxvYWRlckZpbGxDb2xvcjtcbiAgICB9XG4gICAgLnVpLmxvYWRpbmcuc2VhcmNoIC5pbnB1dCA+IGkuaWNvbjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbjogQGxvYWRlck1hcmdpbjtcbiAgICAgICAgd2lkdGg6IEBsb2FkZXJTaXplO1xuICAgICAgICBoZWlnaHQ6IEBsb2FkZXJTaXplO1xuICAgICAgICBhbmltYXRpb246IGxvYWRlciBAbG9hZGVyU3BlZWQgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICBib3JkZXI6IEBsb2FkZXJMaW5lV2lkdGggc29saWQgQGxvYWRlckxpbmVDb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdDpob3Zlcixcbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkgLnJlc3VsdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogQHJlc3VsdEhvdmVyQmFja2dyb3VuZDtcbn1cbi51aS5zZWFyY2ggLmFjdGlvbjpob3Zlcjpub3QoZGl2KSB7XG4gICAgYmFja2dyb3VuZDogQGFjdGlvbkhvdmVyQmFja2dyb3VuZDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tICovXG4mIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hDYXRlZ29yeSkge1xuICAgIC51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogQGNhdGVnb3J5QWN0aXZlQmFja2dyb3VuZDtcbiAgICB9XG4gICAgLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeS5hY3RpdmUgPiAubmFtZSB7XG4gICAgICAgIGNvbG9yOiBAY2F0ZWdvcnlOYW1lQWN0aXZlQ29sb3I7XG4gICAgfVxufVxuXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdC5hY3RpdmUsXG4udWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5IC5yZXN1bHQuYWN0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IEByZXN1bHRBY3RpdmVCb3JkZXJMZWZ0O1xuICAgIGJhY2tncm91bmQ6IEByZXN1bHRBY3RpdmVCYWNrZ3JvdW5kO1xuICAgIGJveC1zaGFkb3c6IEByZXN1bHRBY3RpdmVCb3hTaGFkb3c7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdC5hY3RpdmUgLnRpdGxlIHtcbiAgICBjb2xvcjogQHJlc3VsdEFjdGl2ZVRpdGxlQ29sb3I7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdC5hY3RpdmUgLmRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogQHJlc3VsdEFjdGl2ZURlc2NyaXB0aW9uQ29sb3I7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaERpc2FibGVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIERpc2FibGVkXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogRGlzYWJsZWQgKi9cbiAgICAudWkuZGlzYWJsZWQuc2VhcmNoIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogQGRpc2FibGVkT3BhY2l0eTtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hDbGVhcikge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENsZWFyIEljb25cbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5zZWFyY2ggPiAuaWNvbi5pbnB1dCA+IC5yZW1vdmUuaWNvbiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgIHRyYW5zaXRpb246IEBjbGVhcmFibGVJY29uVHJhbnNpdGlvbjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvcGFjaXR5OiBAY2xlYXJhYmxlSWNvbk9wYWNpdHk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogQGNsZWFyYWJsZUljb25Ib3Zlck9wYWNpdHk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVpLnNlYXJjaCA+IC5pY29uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBpY29uXCJdKSA+IC5pY29uIH4gLnJlbW92ZS5pY29uIHtcbiAgICAgICAgcmlnaHQ6IEBjbGVhcmFibGVJY29uSW5wdXRSaWdodDtcbiAgICB9XG4gICAgLnVpLnNlYXJjaCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IEBjbGVhcmFibGVJY29uVHJhbnNpdGlvbjtcbiAgICAgICAgb3BhY2l0eTogQGNsZWFyYWJsZUljb25PcGFjaXR5O1xuICAgICAgICBiYWNrZ3JvdW5kOiBAY2xlYXJhYmxlSWNvbkJhY2tncm91bmQ7XG4gICAgICAgIGhlaWdodDogQGNsZWFyYWJsZUljb25IZWlnaHQ7XG4gICAgICAgIHdpZHRoOiBAY2xlYXJhYmxlSWNvbldpZHRoO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IEBjbGVhcmFibGVJY29uSG92ZXJPcGFjaXR5O1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaExvYWRpbmcpIHtcbiAgICAgICAgLnVpLmxvYWRpbmcuc2VhcmNoIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWkuc2VhcmNoID4gLmljb24uaW5wdXQgPiBpbnB1dDpwbGFjZWhvbGRlci1zaG93biB+IC5yZW1vdmUuaWNvbixcbiAgICAudWkuc2VhcmNoLmxvYWRpbmcgPiAuaWNvbi5pbnB1dCA+IC5yZW1vdmUuaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC51aS5zZWFyY2ggPiAuaWNvbi5pbnB1dCA+IGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB+IC5yZW1vdmUuaWNvbiB3aGVuIChAc3VwcG9ydElFKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hDYXRlZ29yeSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENhdGVnb3J5XG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkuY2F0ZWdvcnkuc2VhcmNoIC5yZXN1bHRzIHtcbiAgICAgICAgd2lkdGg6IEBjYXRlZ29yeVJlc3VsdHNXaWR0aDtcbiAgICB9XG5cbiAgICAudWkuY2F0ZWdvcnkuc2VhcmNoIC5yZXN1bHRzLmFuaW1hdGluZyxcbiAgICAudWkuY2F0ZWdvcnkuc2VhcmNoIC5yZXN1bHRzLnZpc2libGUge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAvKiBDYXRlZ29yeSAqL1xuICAgIC51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgICAgIGJhY2tncm91bmQ6IEBjYXRlZ29yeUJhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6IEBjYXRlZ29yeUJveFNoYWRvdztcbiAgICAgICAgdHJhbnNpdGlvbjogQGNhdGVnb3J5VHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICAvKiBMYXN0IENhdGVnb3J5ICovXG4gICAgLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBGaXJzdCAvIExhc3QgKi9cbiAgICAudWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5OmZpcnN0LWNoaWxkIC5uYW1lICsgLnJlc3VsdCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQHJlc3VsdHNCb3JkZXJSYWRpdXMgMCAwO1xuICAgIH1cbiAgICAudWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5Omxhc3QtY2hpbGQgLnJlc3VsdDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEByZXN1bHRzQm9yZGVyUmFkaXVzIDA7XG4gICAgfVxuXG4gICAgLyogQ2F0ZWdvcnkgUmVzdWx0IE5hbWUgKi9cbiAgICAudWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5ID4gLm5hbWUge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2lkdGg6IEBjYXRlZ29yeU5hbWVXaWR0aDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IEBjYXRlZ29yeU5hbWVXaGl0ZXNwYWNlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAY2F0ZWdvcnlOYW1lQmFja2dyb3VuZDtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBjYXRlZ29yeU5hbWVGb250O1xuICAgICAgICBmb250LXNpemU6IEBjYXRlZ29yeU5hbWVGb250U2l6ZTtcbiAgICAgICAgcGFkZGluZzogQGNhdGVnb3J5TmFtZVBhZGRpbmc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBAY2F0ZWdvcnlOYW1lRm9udFdlaWdodDtcbiAgICAgICAgY29sb3I6IEBjYXRlZ29yeU5hbWVDb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogQGNhdGVnb3J5RGl2aWRlcjtcbiAgICB9XG5cbiAgICAvKiBDYXRlZ29yeSBSZXN1bHQgKi9cbiAgICAudWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5IC5yZXN1bHRzIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgYmFja2dyb3VuZDogQGNhdGVnb3J5UmVzdWx0QmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IEBjYXRlZ29yeVJlc3VsdExlZnRCb3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IEBjYXRlZ29yeURpdmlkZXI7XG4gICAgfVxuICAgIC51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkgLnJlc3VsdCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IEBjYXRlZ29yeVJlc3VsdERpdmlkZXI7XG4gICAgICAgIHRyYW5zaXRpb246IEBjYXRlZ29yeVJlc3VsdFRyYW5zaXRpb247XG4gICAgICAgIHBhZGRpbmc6IEBjYXRlZ29yeVJlc3VsdFBhZGRpbmc7XG4gICAgfVxuXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoSG9yaXpvbnRhbENhdGVnb3J5KSB7XG4gICAgICAgIC51aS5ob3Jpem9udGFsLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSxcbiAgICAgICAgLnVpLmhvcml6b250YWwuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5ID4gLm5hbWUsXG4gICAgICAgIC51aS5ob3Jpem9udGFsLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSA+IC5yZXN1bHRzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLmhvcml6b250YWwuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5ID4gLnJlc3VsdHMge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoU2Nyb2xsaW5nKSxcbihAdmFyaWF0aW9uU2VhcmNoU2hvcnQpLFxuKEB2YXJpYXRpb25TZWFyY2hMb25nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU2Nyb2xsaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aS5zY3JvbGxpbmcuc2VhcmNoID4gLnJlc3VsdHMsXG4gICAgLnVpLnNlYXJjaC5sb25nID4gLnJlc3VsdHMsXG4gICAgLnVpLnNlYXJjaC5zaG9ydCA+IC5yZXN1bHRzIHtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBAb3ZlcnNjcm9sbEJlaGF2aW9yO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hTY3JvbGxpbmcpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gICAgICAgIC51aS5zY3JvbGxpbmcuc2VhcmNoID4gLnJlc3VsdHMge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heFJlc3VsdHNIZWlnaHQ7XG4gICAgICAgICAgICAucmVzaXphYmxlJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4UmVzdWx0c0hlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSB7XG4gICAgICAgIC51aS5zY3JvbGxpbmcuc2VhcmNoID4gLnJlc3VsdHMge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heFJlc3VsdHNIZWlnaHQ7XG4gICAgICAgICAgICAucmVzaXphYmxlJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4UmVzdWx0c0hlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBjb21wdXRlckJyZWFrcG9pbnQpIHtcbiAgICAgICAgLnVpLnNjcm9sbGluZy5zZWFyY2ggPiAucmVzdWx0cyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhSZXN1bHRzSGVpZ2h0O1xuICAgICAgICAgICAgLnJlc2l6YWJsZSYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaFJlc2l6YWJsZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4UmVzdWx0c0hlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB3aWRlc2NyZWVuTW9uaXRvckJyZWFrcG9pbnQpIHtcbiAgICAgICAgLnVpLnNjcm9sbGluZy5zZWFyY2ggPiAucmVzdWx0cyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heFJlc3VsdHNIZWlnaHQ7XG4gICAgICAgICAgICAucmVzaXphYmxlJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoUmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heFJlc3VsdHNIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoUmVzaXphYmxlKSB7XG4gICAgICAgIC51aS5zY3JvbGxpbmcucmVzaXphYmxlLnNlYXJjaCA+IC5yZXN1bHRzIHtcbiAgICAgICAgICAgIHJlc2l6ZTogQHJlc2l6YWJsZURpcmVjdGlvbjtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hTaG9ydCkge1xuICAgICAgICAudWkuc2VhcmNoLnNob3J0ID4gLnJlc3VsdHMge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heFJlc3VsdHNIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoVmVyeVNob3J0KSB7XG4gICAgICAgICAgICAudWkuc2VhcmNoW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiAucmVzdWx0cyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heFJlc3VsdHNIZWlnaHQgKiAwLjc1O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaExvbmcpIHtcbiAgICAgICAgLnVpLnNlYXJjaC5sb25nID4gLnJlc3VsdHMge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ01vYmlsZU1heFJlc3VsdHNIZWlnaHQgKiAyO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaFZlcnlMb25nKSB7XG4gICAgICAgICAgICAudWkuc2VhcmNoW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSA+IC5yZXN1bHRzIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4UmVzdWx0c0hlaWdodCAqIDM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSB7XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoU2hvcnQpIHtcbiAgICAgICAgLnVpLnNlYXJjaC5zaG9ydCA+IC5yZXN1bHRzIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhSZXN1bHRzSGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaFZlcnlTaG9ydCkge1xuICAgICAgICAgICAgLnVpLnNlYXJjaFtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdID4gLnJlc3VsdHMge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhSZXN1bHRzSGVpZ2h0ICogMC43NTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hMb25nKSB7XG4gICAgICAgIC51aS5zZWFyY2gubG9uZyA+IC5yZXN1bHRzIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdUYWJsZXRNYXhSZXN1bHRzSGVpZ2h0ICogMjtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hWZXJ5TG9uZykge1xuICAgICAgICAgICAgLnVpLnNlYXJjaFtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0gPiAucmVzdWx0cyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1RhYmxldE1heFJlc3VsdHNIZWlnaHQgKiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAY29tcHV0ZXJCcmVha3BvaW50KSB7XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoU2hvcnQpIHtcbiAgICAgICAgLnVpLnNlYXJjaC5zaG9ydCA+IC5yZXN1bHRzIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heFJlc3VsdHNIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoVmVyeVNob3J0KSB7XG4gICAgICAgICAgICAudWkuc2VhcmNoW2NsYXNzKj1cInZlcnkgc2hvcnRcIl0gPiAucmVzdWx0cyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4UmVzdWx0c0hlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoTG9uZykge1xuICAgICAgICAudWkuc2VhcmNoLmxvbmcgPiAucmVzdWx0cyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29tcHV0ZXJNYXhSZXN1bHRzSGVpZ2h0ICogMjtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hWZXJ5TG9uZykge1xuICAgICAgICAgICAgLnVpLnNlYXJjaFtjbGFzcyo9XCJ2ZXJ5IGxvbmdcIl0gPiAucmVzdWx0cyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ0NvbXB1dGVyTWF4UmVzdWx0c0hlaWdodCAqIDM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB3aWRlc2NyZWVuTW9uaXRvckJyZWFrcG9pbnQpIHtcbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hTaG9ydCkge1xuICAgICAgICAudWkuc2VhcmNoLnNob3J0ID4gLnJlc3VsdHMge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogQHNjcm9sbGluZ1dpZGVzY3JlZW5NYXhSZXN1bHRzSGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaFZlcnlTaG9ydCkge1xuICAgICAgICAgICAgLnVpLnNlYXJjaFtjbGFzcyo9XCJ2ZXJ5IHNob3J0XCJdID4gLnJlc3VsdHMge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdXaWRlc2NyZWVuTWF4UmVzdWx0c0hlaWdodCAqIDAuNzU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2VhcmNoTG9uZykge1xuICAgICAgICAudWkuc2VhcmNoLmxvbmcgPiAucmVzdWx0cyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heFJlc3VsdHNIZWlnaHQgKiAyO1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaFZlcnlMb25nKSB7XG4gICAgICAgICAgICAudWkuc2VhcmNoW2NsYXNzKj1cInZlcnkgbG9uZ1wiXSA+IC5yZXN1bHRzIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heFJlc3VsdHNIZWlnaHQgKiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hBbGlnbmVkKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgTGVmdCAvIFJpZ2h0XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC51aVtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uc2VhcmNoID4gLnJlc3VsdHMge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgLnVpW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0uc2VhcmNoID4gLnJlc3VsdHMge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgRmx1aWRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25TZWFyY2hGbHVpZCkge1xuICAgIC51aS5mbHVpZC5zZWFyY2ggLnJlc3VsdHMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5zZWFyY2gge1xuICAgIGZvbnQtc2l6ZTogQHJlbGF0aXZlTWVkaXVtO1xufVxuJiB3aGVuIG5vdCAoQHZhcmlhdGlvblNlYXJjaFNpemVzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25TZWFyY2hTaXplcywge1xuICAgICAgICBAczogQHt2YWx1ZX1TZWFyY2hTaXplO1xuICAgICAgICAudWkuQHt2YWx1ZX0uc2VhcmNoIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQEBzO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNlYXJjaEhpZ2hsaWdodE1hdGNoZXMpIHtcbiAgICAudWkuc2VhcmNoID4gLnJlc3VsdHMgbWFyayB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBoaWdobGlnaHRNYXRjaGVzQmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IEBoaWdobGlnaHRNYXRjaGVzQ29sb3I7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgTW9iaWxlXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAgIC51aS5zZWFyY2ggLnJlc3VsdHMge1xuICAgICAgICBtYXgtd2lkdGg6IEBtb2JpbGVNYXhXaWR0aDtcbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyohXG4gKiAjIEZvbWFudGljLVVJIC0gU2hhcGVcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcIm1vZHVsZVwiO1xuQGVsZW1lbnQ6IFwic2hhcGVcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgIFNoYXBlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuc2hhcGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGRpc3BsYXk6IEBkaXNwbGF5O1xuICAgIHBlcnNwZWN0aXZlOiBAcGVyc3BlY3RpdmU7XG4gICAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG59XG5cbi51aS5zaGFwZSAuc2lkZSxcbi51aS5zaGFwZSAuc2lkZXMge1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG5cbi51aS5zaGFwZSAuc2lkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogQHNpZGVNYXJnaW4gIWltcG9ydGFudDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBAYmFja2ZhY2VWaXNpYmlsaXR5O1xufVxuXG4udWkuc2hhcGUgLnNpZGUgKiB7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25TaGFwZUN1YmUpIHtcbiAgICAudWkuY3ViZS5zaGFwZSAuc2lkZSB7XG4gICAgICAgIG1pbi13aWR0aDogQGN1YmVTaXplO1xuICAgICAgICBoZWlnaHQ6IEBjdWJlU2l6ZTtcbiAgICAgICAgcGFkZGluZzogQGN1YmVQYWRkaW5nO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY3ViZUJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiBAY3ViZVRleHRDb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogQGN1YmVCb3hTaGFkb3c7XG4gICAgfVxuICAgIC51aS5jdWJlLnNoYXBlIC5zaWRlID4gLmNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgdGV4dC1hbGlnbjogQGN1YmVUZXh0QWxpZ247XG4gICAgICAgIHVzZXItc2VsZWN0OiB0ZXh0O1xuICAgIH1cbiAgICAudWkuY3ViZS5zaGFwZSAuc2lkZSA+IC5jb250ZW50ID4gZGl2IHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZm9udC1zaXplOiBAY3ViZUZvbnRTaXplO1xuICAgIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuJiB3aGVuIChAdmFyaWF0aW9uU2hhcGVUZXh0KSB7XG4gICAgLnVpLnRleHQuc2hhcGUuYW5pbWF0aW5nIC5zaWRlcyB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuICAgIC51aS50ZXh0LnNoYXBlIC5zaWRlIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gICAgLnVpLnRleHQuc2hhcGUgLnNpZGUgPiAqIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25TaGFwZUxvYWRpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBMb2FkaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkubG9hZGluZy5zaGFwZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtOTk5OXB4O1xuICAgICAgICBsZWZ0OiAtOTk5OXB4O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICBBbmltYXRpbmdcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuc2hhcGUgLmFuaW1hdGluZy5zaWRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogQGFuaW1hdGluZ1pJbmRleDtcbn1cbi51aS5zaGFwZSAuaGlkZGVuLnNpZGUge1xuICAgIG9wYWNpdHk6IEBoaWRkZW5TaWRlT3BhY2l0eTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgIENTU1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5zaGFwZS5hbmltYXRpbmcgLnNpZGVzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG59XG4udWkuc2hhcGUuYW5pbWF0aW5nIC5zaWRlIHtcbiAgICB0cmFuc2l0aW9uOiBAc2lkZVRyYW5zaXRpb247XG59XG4udWkuc2hhcGUgLmFuaW1hdGluZy5zaWRlICosXG4udWkuc2hhcGUuYW5pbWF0aW5nIC5zaWRlICoge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5zaGFwZSAuYWN0aXZlLnNpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFNpZGViYXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcIm1vZHVsZVwiO1xuQGVsZW1lbnQ6IFwic2lkZWJhclwiO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgXCIuLi8uLi90aGVtZS5jb25maWdcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFNpZGViYXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIFNpZGViYXIgTWVudSAqL1xuLnVpLnNpZGViYXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXk6IGF1dG8gIWltcG9ydGFudDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBAb3ZlcnNjcm9sbEJlaGF2aW9yO1xuICAgIHotaW5kZXg6IEB0b3BMYXllcjtcbn1cblxuLyogR1BVIExheWVycyBmb3IgQ2hpbGQgRWxlbWVudHMgKi9cbi51aS5zaWRlYmFyID4gKiB7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgRGlyZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJMZWZ0KSB7XG4gICAgLnVpLmxlZnQuc2lkZWJhciB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyUmlnaHQpIHtcbiAgICAudWkucmlnaHQuc2lkZWJhciB7XG4gICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJUb3ApIG9yIChAdmFyaWF0aW9uU2lkZWJhckJvdHRvbSkge1xuICAgIC51aS50b3Auc2lkZWJhcixcbiAgICAudWkuYm90dG9tLnNpZGViYXIge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclRvcCkge1xuICAgICAgICAudWkudG9wLnNpZGViYXIge1xuICAgICAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJCb3R0b20pIHtcbiAgICAgICAgLnVpLmJvdHRvbS5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBQdXNoYWJsZVxuLS0tLS0tLS0tLS0tLS0tICovXG5cbi5wdXNoYWJsZS5wdXNoYWJsZS5wdXNoYWJsZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgICYubG9ja2VkIHtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIH1cbn1cblxuLyogV2hvbGUgUGFnZSAqL1xuYm9keS5wdXNoYWJsZSB7XG4gICAgYmFja2dyb3VuZDogQGNhbnZhc0JhY2tncm91bmQ7XG4gICAgJi5kaW1tZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIH1cbn1cblxuLyogUGFnZSBDb250ZXh0ICovXG4ucHVzaGFibGU6bm90KGJvZHkpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cbi5wdXNoYWJsZTpub3QoYm9keSkgPiAudWkuc2lkZWJhcixcbi5wdXNoYWJsZTpub3QoYm9keSkgPiAuZml4ZWQsXG4ucHVzaGFibGU6bm90KGJvZHkpID4gLnB1c2hlcjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgRml4ZWRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucHVzaGFibGUgPiAuZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEBkdXJhdGlvbiBAZWFzaW5nO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgei1pbmRleDogQGZpeGVkTGF5ZXI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucHVzaGFibGUgPiAucHVzaGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEBkdXJhdGlvbiBAZWFzaW5nO1xuICAgIHotaW5kZXg6IEBtaWRkbGVMYXllcjtcblxuICAgIC8qIFB1c2hlciBzaG91bGQgaW5oZXJpdCBiYWNrZ3JvdW5kIGZyb20gY29udGV4dCAqL1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgJjpub3QoLm92ZXJmbG93aW5nKSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuXG5ib2R5LnB1c2hhYmxlID4gLnB1c2hlciB7XG4gICAgYmFja2dyb3VuZDogQHBhZ2VCYWNrZ3JvdW5kO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBEaW1tZXJcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucHVzaGFibGUgPiAucHVzaGVyOjphZnRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IEBkaW1tZXJDb2xvcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogQGRpbW1lclRyYW5zaXRpb247XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgei1pbmRleDogQGRpbW1lckxheWVyO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnNpZGViYXIubWVudSAuaXRlbSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBEaW1tZWRcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucHVzaGFibGUgPiAucHVzaGVyLmRpbW1lZDo6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhckJsdXJyaW5nKSB7XG4gICAgLnB1c2hhYmxlID4gLnB1c2hlci5kaW1tZWQuYmx1cnJpbmc6bm90KC5jbG9zaW5nKTo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAYmx1cnJlZEJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IEBibHVycmVkRW5kRmlsdGVyO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IEBibHVycmVkRW5kRmlsdGVyO1xuICAgIH1cbn1cbi5wdXNoYWJsZSA+IC5wdXNoZXIuY2xvc2luZy5kaW1tZWQ6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgQW5pbWF0aW5nXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmFuaW1hdGluZy5zaWRlYmFyIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICBWaXNpYmxlXG4tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnZpc2libGUuc2lkZWJhciB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4vKiBTaGFkb3cgRGlyZWN0aW9uICovXG4mIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyTGVmdCkgb3IgKEB2YXJpYXRpb25TaWRlYmFyUmlnaHQpIHtcbiAgICAudWkubGVmdC52aXNpYmxlLnNpZGViYXIsXG4gICAgLnVpLnJpZ2h0LnZpc2libGUuc2lkZWJhciB7XG4gICAgICAgIGJveC1zaGFkb3c6IEBob3Jpem9udGFsQm94U2hhZG93O1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJUb3ApIG9yIChAdmFyaWF0aW9uU2lkZWJhckJvdHRvbSkge1xuICAgIC51aS50b3AudmlzaWJsZS5zaWRlYmFyLFxuICAgIC51aS5ib3R0b20udmlzaWJsZS5zaWRlYmFyIHtcbiAgICAgICAgYm94LXNoYWRvdzogQHZlcnRpY2FsQm94U2hhZG93O1xuICAgIH1cbn1cblxuLyogVmlzaWJsZSBPbiBMb2FkICovXG4mIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyTGVmdCkge1xuICAgIC51aS52aXNpYmxlLmxlZnQuc2lkZWJhciB+IC5maXhlZCxcbiAgICAudWkudmlzaWJsZS5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAd2lkdGgsIDAsIDApO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJSaWdodCkge1xuICAgIC51aS52aXNpYmxlLnJpZ2h0LnNpZGViYXIgfiAuZml4ZWQsXG4gICAgLnVpLnZpc2libGUucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC1Ad2lkdGgsIDAsIDApO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJUb3ApIHtcbiAgICAudWkudmlzaWJsZS50b3Auc2lkZWJhciB+IC5maXhlZCxcbiAgICAudWkudmlzaWJsZS50b3Auc2lkZWJhciB+IC5wdXNoZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIEBoZWlnaHQsIDApO1xuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJCb3R0b20pIHtcbiAgICAudWkudmlzaWJsZS5ib3R0b20uc2lkZWJhciB+IC5maXhlZCxcbiAgICAudWkudmlzaWJsZS5ib3R0b20uc2lkZWJhciB+IC5wdXNoZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC1AaGVpZ2h0LCAwKTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJMZWZ0KSBvciAoQHZhcmlhdGlvblNpZGViYXJSaWdodCkge1xuICAgIC8qIG9wcG9zaXRlIHNpZGVzIHZpc2libGUgZm9yY2VzIGNvbnRlbnQgb3ZlcmxheSAqL1xuICAgIC51aS52aXNpYmxlLmxlZnQuc2lkZWJhciB+IC51aS52aXNpYmxlLnJpZ2h0LnNpZGViYXIgfiAuZml4ZWQsXG4gICAgLnVpLnZpc2libGUubGVmdC5zaWRlYmFyIH4gLnVpLnZpc2libGUucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIsXG4gICAgLnVpLnZpc2libGUucmlnaHQuc2lkZWJhciB+IC51aS52aXNpYmxlLmxlZnQuc2lkZWJhciB+IC5maXhlZCxcbiAgICAudWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLnVpLnZpc2libGUubGVmdC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgIGlPU1xuLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgV2lkdGhcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBMZWZ0IC8gUmlnaHQgKi9cbiYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJMZWZ0KSBvciAoQHZhcmlhdGlvblNpZGViYXJSaWdodCkge1xuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJUaGluKSB7XG4gICAgICAgIC51aS50aGluLmxlZnQuc2lkZWJhcixcbiAgICAgICAgLnVpLnRoaW4ucmlnaHQuc2lkZWJhciB7XG4gICAgICAgICAgICB3aWR0aDogQHRoaW5XaWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJWZXJ5VGhpbikge1xuICAgICAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgdGhpblwiXS5sZWZ0LnNpZGViYXIsXG4gICAgICAgICAgICAudWlbY2xhc3MqPVwidmVyeSB0aGluXCJdLnJpZ2h0LnNpZGViYXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBAdmVyeVRoaW5XaWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS5sZWZ0LnNpZGViYXIsXG4gICAgLnVpLnJpZ2h0LnNpZGViYXIge1xuICAgICAgICB3aWR0aDogQHdpZHRoO1xuICAgIH1cblxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJXaWRlKSB7XG4gICAgICAgIC51aS53aWRlLmxlZnQuc2lkZWJhcixcbiAgICAgICAgLnVpLndpZGUucmlnaHQuc2lkZWJhciB7XG4gICAgICAgICAgICB3aWR0aDogQHdpZGVXaWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJWZXJ5V2lkZSkge1xuICAgICAgICAgICAgLnVpW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5sZWZ0LnNpZGViYXIsXG4gICAgICAgICAgICAudWlbY2xhc3MqPVwidmVyeSB3aWRlXCJdLnJpZ2h0LnNpZGViYXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBAdmVyeVdpZGVXaWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIExlZnQgVmlzaWJsZSAqL1xuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJMZWZ0KSB7XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJUaGluKSB7XG4gICAgICAgICAgICAudWkudmlzaWJsZS50aGluLmxlZnQuc2lkZWJhciB+IC5maXhlZCxcbiAgICAgICAgICAgIC51aS52aXNpYmxlLnRoaW4ubGVmdC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAdGhpbldpZHRoLCAwLCAwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclZlcnlUaGluKSB7XG4gICAgICAgICAgICAgICAgLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB0aGluXCJdLmxlZnQuc2lkZWJhciB+IC5maXhlZCxcbiAgICAgICAgICAgICAgICAudWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ubGVmdC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHZlcnlUaGluV2lkdGgsIDAsIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJXaWRlKSB7XG4gICAgICAgICAgICAudWkudmlzaWJsZS53aWRlLmxlZnQuc2lkZWJhciB+IC5maXhlZCxcbiAgICAgICAgICAgIC51aS52aXNpYmxlLndpZGUubGVmdC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAd2lkZVdpZHRoLCAwLCAwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclZlcnlXaWRlKSB7XG4gICAgICAgICAgICAgICAgLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB3aWRlXCJdLmxlZnQuc2lkZWJhciB+IC5maXhlZCxcbiAgICAgICAgICAgICAgICAudWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ubGVmdC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHZlcnlXaWRlV2lkdGgsIDAsIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFJpZ2h0IFZpc2libGUgKi9cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyUmlnaHQpIHtcbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclRoaW4pIHtcbiAgICAgICAgICAgIC51aS52aXNpYmxlLnRoaW4ucmlnaHQuc2lkZWJhciB+IC5maXhlZCxcbiAgICAgICAgICAgIC51aS52aXNpYmxlLnRoaW4ucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLUB0aGluV2lkdGgsIDAsIDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyVmVyeVRoaW4pIHtcbiAgICAgICAgICAgICAgICAudWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ucmlnaHQuc2lkZWJhciB+IC5maXhlZCxcbiAgICAgICAgICAgICAgICAudWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC1AdmVyeVRoaW5XaWR0aCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhcldpZGUpIHtcbiAgICAgICAgICAgIC51aS52aXNpYmxlLndpZGUucmlnaHQuc2lkZWJhciB+IC5maXhlZCxcbiAgICAgICAgICAgIC51aS52aXNpYmxlLndpZGUucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLUB3aWRlV2lkdGgsIDAsIDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyVmVyeVdpZGUpIHtcbiAgICAgICAgICAgICAgICAudWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ucmlnaHQuc2lkZWJhciB+IC5maXhlZCxcbiAgICAgICAgICAgICAgICAudWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC1AdmVyeVdpZGVXaWR0aCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIEFuaW1hdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJPdmVybGF5KSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgT3ZlcmxheVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogU2V0LXVwICovXG4gICAgLnVpLm92ZXJsYXkuc2lkZWJhciB7XG4gICAgICAgIHotaW5kZXg6IEB0b3BMYXllcjtcbiAgICB9XG5cbiAgICAvKiBJbml0aWFsICovXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhckxlZnQpIHtcbiAgICAgICAgLnVpLmxlZnQub3ZlcmxheS5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJSaWdodCkge1xuICAgICAgICAudWkucmlnaHQub3ZlcmxheS5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclRvcCkge1xuICAgICAgICAudWkudG9wLm92ZXJsYXkuc2lkZWJhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyQm90dG9tKSB7XG4gICAgICAgIC51aS5ib3R0b20ub3ZlcmxheS5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBBbmltYXRpb24gKi9cbiAgICAuYW5pbWF0aW5nLnVpLm92ZXJsYXkuc2lkZWJhcixcbiAgICAudWkudmlzaWJsZS5vdmVybGF5LnNpZGViYXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gQGR1cmF0aW9uIEBlYXNpbmc7XG4gICAgfVxuXG4gICAgLyogRW5kIC0gU2lkZWJhciAqL1xuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJMZWZ0KSB7XG4gICAgICAgIC51aS52aXNpYmxlLmxlZnQub3ZlcmxheS5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclJpZ2h0KSB7XG4gICAgICAgIC51aS52aXNpYmxlLnJpZ2h0Lm92ZXJsYXkuc2lkZWJhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJUb3ApIHtcbiAgICAgICAgLnVpLnZpc2libGUudG9wLm92ZXJsYXkuc2lkZWJhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJCb3R0b20pIHtcbiAgICAgICAgLnVpLnZpc2libGUuYm90dG9tLm92ZXJsYXkuc2lkZWJhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogRW5kIC0gUHVzaGVyICovXG4gICAgLnVpLnZpc2libGUub3ZlcmxheS5zaWRlYmFyIH4gLmZpeGVkLFxuICAgIC51aS52aXNpYmxlLm92ZXJsYXkuc2lkZWJhciB+IC5wdXNoZXIge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJQdXNoKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBQdXNoXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBJbml0aWFsICovXG4gICAgLnVpLnB1c2guc2lkZWJhciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBAZHVyYXRpb24gQGVhc2luZztcbiAgICAgICAgei1pbmRleDogQHRvcExheWVyO1xuICAgIH1cblxuICAgIC8qIFNpZGViYXIgLSBJbml0aWFsICovXG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhckxlZnQpIHtcbiAgICAgICAgLnVpLmxlZnQucHVzaC5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJSaWdodCkge1xuICAgICAgICAudWkucmlnaHQucHVzaC5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclRvcCkge1xuICAgICAgICAudWkudG9wLnB1c2guc2lkZWJhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyQm90dG9tKSB7XG4gICAgICAgIC51aS5ib3R0b20ucHVzaC5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBFbmQgKi9cbiAgICAudWkudmlzaWJsZS5wdXNoLnNpZGViYXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclVuY292ZXIpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICBVbmNvdmVyXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAvKiBJbml0aWFsICovXG4gICAgLnVpLnVuY292ZXIuc2lkZWJhciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHotaW5kZXg6IEBib3R0b21MYXllcjtcbiAgICB9XG5cbiAgICAvKiBFbmQgKi9cbiAgICAudWkudmlzaWJsZS51bmNvdmVyLnNpZGViYXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gQGR1cmF0aW9uIEBlYXNpbmc7XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyU2xpZGVBbG9uZykge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgU2xpZGUgQWxvbmdcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIEluaXRpYWwgKi9cbiAgICAudWkuc2xpZGUuYWxvbmcuc2lkZWJhciB7XG4gICAgICAgIHotaW5kZXg6IEBib3R0b21MYXllcjtcbiAgICB9XG5cbiAgICAvKiBTaWRlYmFyIC0gSW5pdGlhbCAqL1xuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJMZWZ0KSB7XG4gICAgICAgIC51aS5sZWZ0LnNsaWRlLmFsb25nLnNpZGViYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyUmlnaHQpIHtcbiAgICAgICAgLnVpLnJpZ2h0LnNsaWRlLmFsb25nLnNpZGViYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJUb3ApIHtcbiAgICAgICAgLnVpLnRvcC5zbGlkZS5hbG9uZy5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhckJvdHRvbSkge1xuICAgICAgICAudWkuYm90dG9tLnNsaWRlLmFsb25nLnNpZGViYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1MCUsIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogQW5pbWF0aW9uICovXG4gICAgLnVpLmFuaW1hdGluZy5zbGlkZS5hbG9uZy5zaWRlYmFyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEBkdXJhdGlvbiBAZWFzaW5nO1xuICAgIH1cblxuICAgIC8qIEVuZCAqL1xuICAgIC51aS52aXNpYmxlLnNsaWRlLmFsb25nLnNpZGViYXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclNsaWRlT3V0KSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTbGlkZSBPdXRcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIEluaXRpYWwgKi9cbiAgICAudWkuc2xpZGUub3V0LnNpZGViYXIge1xuICAgICAgICB6LWluZGV4OiBAYm90dG9tTGF5ZXI7XG4gICAgfVxuXG4gICAgLyogU2lkZWJhciAtIEluaXRpYWwgKi9cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyTGVmdCkge1xuICAgICAgICAudWkubGVmdC5zbGlkZS5vdXQuc2lkZWJhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclJpZ2h0KSB7XG4gICAgICAgIC51aS5yaWdodC5zbGlkZS5vdXQuc2lkZWJhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJUb3ApIHtcbiAgICAgICAgLnVpLnRvcC5zbGlkZS5vdXQuc2lkZWJhciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUwJSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhckJvdHRvbSkge1xuICAgICAgICAudWkuYm90dG9tLnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBBbmltYXRpb24gKi9cbiAgICAudWkuYW5pbWF0aW5nLnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEBkdXJhdGlvbiBAZWFzaW5nO1xuICAgIH1cblxuICAgIC8qIEVuZCAqL1xuICAgIC51aS52aXNpYmxlLnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJTY2FsZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgU2NhbGUgRG93blxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLyogSW5pdGlhbCAqL1xuICAgIC51aS5zY2FsZS5kb3duLnNpZGViYXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gQGR1cmF0aW9uIEBlYXNpbmc7XG4gICAgICAgIHotaW5kZXg6IEB0b3BMYXllcjtcbiAgICB9XG5cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyTGVmdCkge1xuICAgICAgICAudWkubGVmdC5zY2FsZS5kb3duLnNpZGViYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclJpZ2h0KSB7XG4gICAgICAgIC51aS5yaWdodC5zY2FsZS5kb3duLnNpZGViYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyVG9wKSB7XG4gICAgICAgIC51aS50b3Auc2NhbGUuZG93bi5zaWRlYmFyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblNpZGViYXJCb3R0b20pIHtcbiAgICAgICAgLnVpLmJvdHRvbS5zY2FsZS5kb3duLnNpZGViYXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFB1c2hlciAtIEluaXRpYWwgKi9cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyTGVmdCkge1xuICAgICAgICAudWkuc2NhbGUuZG93bi5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDc1JSA1MCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclJpZ2h0KSB7XG4gICAgICAgIC51aS5zY2FsZS5kb3duLnJpZ2h0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDI1JSA1MCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIChAdmFyaWF0aW9uU2lkZWJhclRvcCkge1xuICAgICAgICAudWkuc2NhbGUuZG93bi50b3Auc2lkZWJhciB+IC5wdXNoZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDc1JTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIHdoZW4gKEB2YXJpYXRpb25TaWRlYmFyQm90dG9tKSB7XG4gICAgICAgIC51aS5zY2FsZS5kb3duLmJvdHRvbS5zaWRlYmFyIH4gLnB1c2hlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMjUlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogQW5pbWF0aW9uICovXG4gICAgLnVpLmFuaW1hdGluZy5zY2FsZS5kb3duID4gLnZpc2libGUudWkuc2lkZWJhciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBAZHVyYXRpb24gQGVhc2luZztcbiAgICB9XG4gICAgLnVpLnZpc2libGUuc2NhbGUuZG93bi5zaWRlYmFyIH4gLnB1c2hlcixcbiAgICAudWkuYW5pbWF0aW5nLnNjYWxlLmRvd24uc2lkZWJhciB+IC5wdXNoZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogRW5kICovXG4gICAgLnVpLnZpc2libGUuc2NhbGUuZG93bi5zaWRlYmFyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG4gICAgLnVpLnZpc2libGUuc2NhbGUuZG93bi5zaWRlYmFyIH4gLnB1c2hlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFN0aWNreVxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZvbWFudGljL0ZvbWFudGljLVVJL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGU6IFwibW9kdWxlXCI7XG5AZWxlbWVudDogXCJzdGlja3lcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGlja3lcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5zdGlja3kge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgei1pbmRleDogQHpJbmRleDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogQm91bmQgKi9cbi51aS5zdGlja3kuYm91bmQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xufVxuXG4vKiBGaXhlZCAqL1xuLnVpLnN0aWNreS5maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG59XG5cbi8qIEJvdW5kL0ZpeGVkIFBvc2l0aW9uICovXG4udWkuc3RpY2t5LmJvdW5kLnRvcCxcbi51aS5zdGlja3kuZml4ZWQudG9wIHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiBhdXRvO1xufVxuLnVpLnN0aWNreS5ib3VuZC5ib3R0b20sXG4udWkuc3RpY2t5LmZpeGVkLmJvdHRvbSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkubmF0aXZlLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBUYWJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mb21hbnRpYy9Gb21hbnRpYy1VSS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcIm1vZHVsZVwiO1xuQGVsZW1lbnQ6IFwidGFiXCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBVSSBUYWJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkudGFiIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkudGFiLmFjdGl2ZSxcbi51aS50YWIub3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRhYkxvYWRpbmcpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICBMb2FkaW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudWkudGFiLmxvYWRpbmcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4taGVpZ2h0OiBAbG9hZGluZ01pbkhlaWdodDtcbiAgICB9XG4gICAgLnVpLnRhYi5sb2FkaW5nICoge1xuICAgICAgICBwb3NpdGlvbjogQGxvYWRpbmdDb250ZW50UG9zaXRpb24gIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogQGxvYWRpbmdDb250ZW50T2Zmc2V0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVpLnRhYi5sb2FkaW5nOjpiZWZvcmUsXG4gICAgLnVpLnRhYi5sb2FkaW5nLnNlZ21lbnQ6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiBAbG9hZGVyRGlzdGFuY2VGcm9tVG9wO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbjogQGxvYWRlck1hcmdpbjtcbiAgICAgICAgd2lkdGg6IEBsb2FkZXJTaXplO1xuICAgICAgICBoZWlnaHQ6IEBsb2FkZXJTaXplO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gICAgICAgIGJvcmRlcjogQGxvYWRlckxpbmVXaWR0aCBzb2xpZCBAbG9hZGVyRmlsbENvbG9yO1xuICAgIH1cbiAgICAudWkudGFiLmxvYWRpbmc6OmFmdGVyLFxuICAgIC51aS50YWIubG9hZGluZy5zZWdtZW50OjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiBAbG9hZGVyRGlzdGFuY2VGcm9tVG9wO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbjogQGxvYWRlck1hcmdpbjtcbiAgICAgICAgd2lkdGg6IEBsb2FkZXJTaXplO1xuICAgICAgICBoZWlnaHQ6IEBsb2FkZXJTaXplO1xuICAgICAgICBhbmltYXRpb246IGxvYWRlciBAbG9hZGVyU3BlZWQgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICBib3JkZXI6IEBsb2FkZXJMaW5lV2lkdGggc29saWQgQGxvYWRlckxpbmVDb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1pbnZhbGlkLXBvc2l0aW9uLWF0LWltcG9ydC1ydWxlXG5AaW1wb3J0IChtdWx0aXBsZSwgb3B0aW9uYWwpIFwiLi4vLi4vb3ZlcnJpZGVzLmxlc3NcIjtcbiIsIi8qIVxuICogIyBGb21hbnRpYy1VSSAtIFRvYXN0XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJtb2R1bGVcIjtcbkBlbGVtZW50OiBcInRvYXN0XCI7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSBcIi4uLy4uL3RoZW1lLmNvbmZpZ1wiO1xuXG5Abm90QWN0aW9uczogaWYoQHZhcmlhdGlvblRvYXN0QWN0aW9ucywgZShcIjpub3QoLmFjdGlvbnMpXCIpKTtcbkBub3RBdHRhY2hlZDogaWYoQHZhcmlhdGlvblRvYXN0QXR0YWNoZWQsIGUoXCI6bm90KC5hdHRhY2hlZClcIikpO1xuQG5vdFZlcnRpY2FsOiBpZihAdmFyaWF0aW9uVG9hc3RWZXJ0aWNhbCwgZShcIjpub3QoLnZlcnRpY2FsKVwiKSk7XG5Abm90Q2VudGVyOiBpZihAdmFyaWF0aW9uVG9hc3RDZW50ZXIsIGUoXCI6bm90KC5jZW50ZXIpXCIpKTtcbkBub3RDZW50ZXJlZDogaWYoQHZhcmlhdGlvblRvYXN0Q2VudGVyZWQsIGUoXCI6bm90KC5jZW50ZXJlZClcIikpO1xuQG5vdEJhc2ljOiBpZihAdmFyaWF0aW9uVG9hc3RCYXNpYywgZShcIjpub3QoLmJhc2ljKVwiKSk7XG5Abm90Q2xvc2U6IGlmKEB2YXJpYXRpb25Ub2FzdENsb3NlLCBlKFwiOm5vdCguY2xvc2UpXCIpKTtcbkBub3RVbmNsaWNrYWJsZTogaWYoQHZhcmlhdGlvblRvYXN0VW5jbGlja2FibGUsIGUoXCI6bm90KC51bmNsaWNrYWJsZSlcIikpO1xuXG5Abm90Rmx1aWQ6IGlmKEB2YXJpYXRpb25CdXR0b25GbHVpZCwgZShcIjpub3QoLmZsdWlkKVwiKSk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRvYXN0IGNvbnRhaW5lclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnRvYXN0LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgJi5hYnNvbHV0ZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgJi51aS5hdHRhY2hlZCB3aGVuIChAdmFyaWF0aW9uVG9hc3RBdHRhY2hlZCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgJiAudmVydGljYWwuYXR0YWNoZWQgd2hlbiAoQHZhcmlhdGlvblRvYXN0VmVydGljYWwpIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJi51aS51aSAuYXR0YWNoZWQuYWN0aW9ucyAuYnV0dG9uIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEFjdGlvbnMpIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJiAudG9hc3QtYm94IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICYgPiAudWkudG9hc3QsXG4gICAgICAgICAgICA+IC51aS5tZXNzYWdlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRvYXN0RmxvYXRpbmcpIHtcbiAgICAgICAgICAgICAgICAmLmZsb2F0aW5nLFxuICAgICAgICAgICAgICAgICYuaG92ZXJmbG9hdGluZzpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmID4gLnZlcnRpY2FsID4gLmNvbnRlbnQgd2hlbiAoQHZhcmlhdGlvblRvYXN0VmVydGljYWwpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiA+ICoge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgJiA+IC52ZXJ0aWNhbEB7bm90QWN0aW9uc30gd2hlbiAoQHZhcmlhdGlvblRvYXN0VmVydGljYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmID4gLmF0dGFjaGVkLmFjdGlvbnMgd2hlbiAoQHZhcmlhdGlvblRvYXN0QWN0aW9ucykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHRvYXN0TGVmdFJpZ2h0TWFyZ2luO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYudG9wIHdoZW4gKEB2YXJpYXRpb25Ub2FzdFRvcCkge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgICYuYm90dG9tIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEJvdHRvbSkge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICYudG9wIHdoZW4gKEB2YXJpYXRpb25Ub2FzdFRvcCkge1xuICAgICAgICAmLnJpZ2h0IHdoZW4gKEB2YXJpYXRpb25Ub2FzdFJpZ2h0KSB7XG4gICAgICAgICAgICB0b3A6IEB0b2FzdENvbnRhaW5lckRpc3RhbmNlO1xuICAgICAgICAgICAgcmlnaHQ6IEB0b2FzdENvbnRhaW5lckRpc3RhbmNlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0b2FzdENvbnRhaW5lckRpc3RhbmNlO1xuICAgICAgICB9XG4gICAgICAgICYubGVmdCB3aGVuIChAdmFyaWF0aW9uVG9hc3RMZWZ0KSB7XG4gICAgICAgICAgICB0b3A6IEB0b2FzdENvbnRhaW5lckRpc3RhbmNlO1xuICAgICAgICAgICAgbGVmdDogQHRvYXN0Q29udGFpbmVyRGlzdGFuY2U7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0b2FzdENvbnRhaW5lckRpc3RhbmNlO1xuICAgICAgICB9XG4gICAgICAgICYuY2VudGVyIHdoZW4gKEB2YXJpYXRpb25Ub2FzdENlbnRlcikge1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gICAgICAgICAgICB0b3A6IEB0b2FzdENvbnRhaW5lckRpc3RhbmNlO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuYm90dG9tIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEJvdHRvbSkge1xuICAgICAgICAmLnJpZ2h0IHdoZW4gKEB2YXJpYXRpb25Ub2FzdFJpZ2h0KSB7XG4gICAgICAgICAgICBib3R0b206IEB0b2FzdENvbnRhaW5lckRpc3RhbmNlO1xuICAgICAgICAgICAgcmlnaHQ6IEB0b2FzdENvbnRhaW5lckRpc3RhbmNlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0b2FzdENvbnRhaW5lckRpc3RhbmNlO1xuICAgICAgICB9XG4gICAgICAgICYubGVmdCB3aGVuIChAdmFyaWF0aW9uVG9hc3RMZWZ0KSB7XG4gICAgICAgICAgICBib3R0b206IEB0b2FzdENvbnRhaW5lckRpc3RhbmNlO1xuICAgICAgICAgICAgbGVmdDogQHRvYXN0Q29udGFpbmVyRGlzdGFuY2U7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0b2FzdENvbnRhaW5lckRpc3RhbmNlO1xuICAgICAgICB9XG4gICAgICAgICYuY2VudGVyIHdoZW4gKEB2YXJpYXRpb25Ub2FzdENlbnRlcikge1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gICAgICAgICAgICBib3R0b206IEB0b2FzdENvbnRhaW5lckRpc3RhbmNlO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuY2VudGVyZWQgd2hlbiAoQHZhcmlhdGlvblRvYXN0Q2VudGVyZWQpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgfVxuICAgICYgLnZpc2libGUudG9hc3QtYm94LFxuICAgIC5hbmltYXRpbmcudG9hc3QtYm94LFxuICAgIC50b2FzdC1ib3gge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLmhvcml6b250YWwgd2hlbiAoQHZhcmlhdGlvblRvYXN0SG9yaXpvbnRhbCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAmIC50b2FzdC1ib3gge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdG9hc3RCb3hNYXJnaW5SaWdodDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIC50b2FzdC1ib3gge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBAdG9hc3RCb3hNYXJnaW5Cb3R0b207XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IEBkZWZhdWx0Qm9yZGVyUmFkaXVzO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogQHRvYXN0T3BhY2l0eU9uSG92ZXI7XG4gICAgICAgIH1cbiAgICAgICAgJkB7bm90VW5jbGlja2FibGV9OmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogQHRvYXN0Q3Vyc29yT25Ib3ZlcjtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEZsb2F0aW5nKSB7XG4gICAgICAgICAgICAmLmZsb2F0aW5nLFxuICAgICAgICAgICAgJi5ob3ZlcmZsb2F0aW5nOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAZmxvYXRpbmdTaGFkb3c7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBAdG9hc3RCb3hCb3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEludmVydGVkKSB7XG4gICAgICAgICAgICAgICAgJi5pbnZlcnRlZC5mbG9hdGluZyxcbiAgICAgICAgICAgICAgICAmLmludmVydGVkLmhvdmVyZmxvYXRpbmc6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBAaW52ZXJ0ZWRGbG9hdGluZ1NoYWRvdztcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBAaW52ZXJ0ZWRUb2FzdEJveEJvcmRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVG9hc3RDb21wYWN0KSB7XG4gICAgICAgICAgICAmLmNvbXBhY3QsXG4gICAgICAgICAgICA+IC5jb21wYWN0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogQHRvYXN0V2lkdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiA+IC51aS50b2FzdCxcbiAgICAgICAgPiAudWkubWVzc2FnZSB7XG4gICAgICAgICAgICBtYXJnaW46IEB0b2FzdE1hcmdpbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAmID4gLmF0dGFjaGVkLnByb2dyZXNzIHdoZW4gKEB2YXJpYXRpb25Ub2FzdFByb2dyZXNzKSB7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgJi5ib3R0b20ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogQHRvYXN0TWFyZ2luUHJvZ3Jlc3MgLUB0b2FzdExlZnRSaWdodE1hcmdpbiBAdG9hc3RNYXJnaW5Cb3R0b207XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnRvcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBAdG9hc3RNYXJnaW5Cb3R0b20gLUB0b2FzdExlZnRSaWdodE1hcmdpbiBAdG9hc3RNYXJnaW5Qcm9ncmVzcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgLmJhciB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5pbmZvIC5iYXIuYmFyLmJhciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQHRvYXN0SW5mb1Byb2dyZXNzQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLndhcm5pbmcgLmJhci5iYXIuYmFyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdG9hc3RXYXJuaW5nUHJvZ3Jlc3NDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuc3VjY2VzcyAuYmFyLmJhci5iYXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEB0b2FzdFN1Y2Nlc3NQcm9ncmVzc0NvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5lcnJvciAuYmFyLmJhci5iYXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEB0b2FzdEVycm9yUHJvZ3Jlc3NDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYubmV1dHJhbCAuYmFyLmJhci5iYXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEB0b2FzdE5ldXRyYWxQcm9ncmVzc0NvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgPiAudWkubWVzc2FnZSB3aGVuIChAdmFyaWF0aW9uVG9hc3RNZXNzYWdlKSB7XG4gICAgICAgICAgICAmID4gLmNsb3NlLmljb24gd2hlbiAoQHZhcmlhdGlvblRvYXN0Q2xvc2UpIHtcbiAgICAgICAgICAgICAgICB0b3A6IEB0b2FzdENsb3NlVG9wRGlzdGFuY2U7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IEB0b2FzdENsb3NlUmlnaHREaXN0YW5jZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgPiAuYWN0aW9uczpsYXN0LWNoaWxkIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEFjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBAdG9hc3RBY3Rpb25NYXJnaW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmljb24gd2hlbiAoQHZhcmlhdGlvblRvYXN0SWNvbikge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICYgPiA6bm90KC5pY29uKUB7bm90QWN0aW9uc30ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEB0b2FzdEljb25NZXNzYWdlQ29udGVudFBhZGRpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgPiBpLmljb25Ae25vdENsb3NlfSB3aGVuIChAdmFyaWF0aW9uVG9hc3RJY29uKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogQHRvYXN0SWNvbk1lc3NhZ2VXaWR0aDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJkB7bm90VmVydGljYWx9IHtcbiAgICAgICAgICAgICAgICAgICAgJi5hY3Rpb25zID4gaS5pY29uQHtub3RDbG9zZX0gd2hlbiAoQHZhcmlhdGlvblRvYXN0QWN0aW9ucykgYW5kIChAdmFyaWF0aW9uVG9hc3RJY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGUoJShcImNhbGMoNTAlJSAtICVkKVwiLCBAdG9hc3RJY29uQ2VudGVyZWRBZGp1c3RtZW50KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5pY29uLmljb24uaWNvbiB3aGVuIChAdmFyaWF0aW9uVG9hc3RJY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmIC51aS50b2FzdCB7XG4gICAgICAgICAgICAmID4gLmNsb3NlLmljb24gd2hlbiAoQHZhcmlhdGlvblRvYXN0Q2xvc2UpIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IEB0b2FzdENsb3NlT3BhY2l0eTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBAdG9hc3RDbG9zZVRyYW5zaXRpb247XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi52ZXJ0aWNhbCA+IC5jbG9zZS5pY29uIHdoZW4gKEB2YXJpYXRpb25Ub2FzdFZlcnRpY2FsKSBhbmQgKEB2YXJpYXRpb25Ub2FzdENsb3NlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLUB0b2FzdENsb3NlVG9wRGlzdGFuY2U7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtQHRvYXN0Q2xvc2VUb3BEaXN0YW5jZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZAe25vdFZlcnRpY2FsfSA+IC5jbG9zZS5pY29uIHdoZW4gKEB2YXJpYXRpb25Ub2FzdENsb3NlKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogQHRvYXN0Q2xvc2VUb3BEaXN0YW5jZTtcbiAgICAgICAgICAgICAgICAmOm5vdCgubGVmdCkge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogQHRvYXN0Q2xvc2VSaWdodERpc3RhbmNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLUB0b2FzdENsb3NlUmlnaHREaXN0YW5jZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiAudWkuY2FyZCB3aGVuIChAdmFyaWF0aW9uVG9hc3RDYXJkKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAmLmF0dGFjaGVkQHtub3RWZXJ0aWNhbH0gd2hlbiAoQHZhcmlhdGlvblRvYXN0QXR0YWNoZWQpIHtcbiAgICAgICAgICAgICAgICAmLmJvdHRvbSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICAmLmhvcml6b250YWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IC5pbWFnZSA+IGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiAuaW1hZ2U6bGFzdC1jaGlsZCA+IGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi50b3Age1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgJi5ob3Jpem9udGFsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiAuaW1hZ2UgPiBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gLmltYWdlOmxhc3QtY2hpbGQgPiBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5ob3Jpem9udGFsLmFjdGlvbnMgd2hlbiAoQHZhcmlhdGlvblRvYXN0QWN0aW9ucykge1xuICAgICAgICAgICAgICAgICYgPiAuaW1hZ2UgPiBpbWcge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmID4gLmltYWdlOmxhc3QtY2hpbGQgPiBpbWcge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiAucHJvZ3Jlc3Npbmcge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRvYXN0UHJvZ3Jlc3MpIHtcbiAgICAgICAgICAgICAgICAmLnVwIHtcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHByb2dyZXNzVXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuZG93biB7XG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBwcm9ncmVzc0Rvd247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi53YWl0IHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogcHJvZ3Jlc3NXYWl0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIgLnBhdXNhYmxlLnByb2dyZXNzaW5nIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gICAgICAgIH1cbiAgICAgICAgJiAudWkudG9hc3RAe25vdFZlcnRpY2FsfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICAmIDpub3QoLmNvbW1lbnQpIHtcbiAgICAgICAgICAgICY6bm90KC5jYXJkKSAuYWN0aW9ucyB3aGVuIChAdmFyaWF0aW9uVG9hc3RBY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBAdG9hc3RBY3Rpb25NYXJnaW5Ub3AgQHRvYXN0QWN0aW9uTWFyZ2luIEB0b2FzdEFjdGlvbk1hcmdpbiBAdG9hc3RBY3Rpb25NYXJnaW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIC5hY3Rpb25zIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEFjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBAdG9hc3RBY3Rpb25QYWRkaW5nIEB0b2FzdEFjdGlvblBhZGRpbmcgQHRvYXN0QWN0aW9uUGFkZGluZ0JvdHRvbSBAdG9hc3RBY3Rpb25QYWRkaW5nO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICYuYXR0YWNoZWRAe25vdFZlcnRpY2FsfSB3aGVuIChAdmFyaWF0aW9uVG9hc3RBdHRhY2hlZCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEB0b2FzdExlZnRSaWdodE1hcmdpbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJkB7bm90QmFzaWN9QHtub3RBdHRhY2hlZH0ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdG9hc3RBY3Rpb25CYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBAdG9hc3RBY3Rpb25Cb3JkZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYubGVmdCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRvYXN0VmVydGljYWwpIHtcbiAgICAgICAgICAgICYgLnZlcnRpY2FsLmFjdGlvbnMgPiAuYnV0dG9uLFxuICAgICAgICAgICAgJiA+IC52ZXJ0aWNhbCA+IC52ZXJ0aWNhbC52ZXJ0aWNhbCxcbiAgICAgICAgICAgICYgPiAudmVydGljYWwudmVydGljYWwudmVydGljYWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiA6bm90KC5jb21tZW50KSAudmVydGljYWwuYWN0aW9ucyB3aGVuIChAdmFyaWF0aW9uVG9hc3RWZXJ0aWNhbCkgYW5kIChAdmFyaWF0aW9uVG9hc3RBY3Rpb25zKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgJiA+IC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5hdHRhY2hlZCA+IC5idXR0b24gd2hlbiAoQHZhcmlhdGlvblRvYXN0QXR0YWNoZWQpIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJkB7bm90QXR0YWNoZWR9IHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC1AdG9hc3RBY3Rpb25QYWRkaW5nQm90dG9tO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC1AdG9hc3RBY3Rpb25QYWRkaW5nQm90dG9tO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAdG9hc3RBY3Rpb25NYXJnaW5MZWZ0O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAgICAgICAgICZAe25vdEJhc2ljfSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBAdG9hc3RBY3Rpb25Cb3JkZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgPiAuYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBAdG9hc3RBY3Rpb25NYXJnaW5Cb3R0b207XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYudG9wIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmJvdHRvbSB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udWkudmVydGljYWwuYXR0YWNoZWQgd2hlbiAoQHZhcmlhdGlvblRvYXN0VmVydGljYWwpIGFuZCAoQHZhcmlhdGlvblRvYXN0QXR0YWNoZWQpIHtcbiAgICAmOm5vdCgubGVmdCkge1xuICAgICAgICAmLmNhcmQgd2hlbiAoQHZhcmlhdGlvblRvYXN0Q2FyZCkge1xuICAgICAgICAgICAgJiA+IC5pbWFnZSA+IGltZyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmhvcml6b250YWwgPiAuaW1hZ2U6bGFzdC1jaGlsZCA+IGltZyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5jYXJkLFxuICAgICAgICAmLnRvYXN0IHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJi5hY3Rpb25zIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEFjdGlvbnMpIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAdG9hc3RCb3JkZXJSYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQHRvYXN0Qm9yZGVyUmFkaXVzO1xuICAgICAgICAgICAgJiAuYnV0dG9uOmZpcnN0LWNoaWxkLFxuICAgICAgICAgICAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5tZXNzYWdlIHdoZW4gKEB2YXJpYXRpb25Ub2FzdE1lc3NhZ2UpIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQHRvYXN0Qm9yZGVyUmFkaXVzO1xuICAgICAgICB9XG4gICAgfVxuICAgICYubGVmdCB7XG4gICAgICAgICYuY2FyZCB3aGVuIChAdmFyaWF0aW9uVG9hc3RDYXJkKSB7XG4gICAgICAgICAgICAmID4gLmltYWdlID4gaW1nIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5ob3Jpem9udGFsID4gLmltYWdlID4gaW1nIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5jYXJkLFxuICAgICAgICAmLnRvYXN0IHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgICAgICYuYWN0aW9ucyB3aGVuIChAdmFyaWF0aW9uVG9hc3RBY3Rpb25zKSB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAdG9hc3RCb3JkZXJSYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAdG9hc3RCb3JkZXJSYWRpdXM7XG4gICAgICAgICAgICAmIC5idXR0b246Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgICAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYubWVzc2FnZS5tZXNzYWdlLm1lc3NhZ2Ugd2hlbiAoQHZhcmlhdGlvblRvYXN0TWVzc2FnZSkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEB0b2FzdEJvcmRlclJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAdG9hc3RCb3JkZXJSYWRpdXM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi51aS5hdHRhY2hlZEB7bm90VmVydGljYWx9IHdoZW4gKEB2YXJpYXRpb25Ub2FzdEF0dGFjaGVkKSB7XG4gICAgJjpub3QoLnRvcCkge1xuICAgICAgICAmLmFjdGlvbnMgd2hlbiAoQHZhcmlhdGlvblRvYXN0QWN0aW9ucykge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQHRvYXN0Qm9yZGVyUmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEB0b2FzdEJvcmRlclJhZGl1cztcbiAgICAgICAgICAgICYgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQHRvYXN0Qm9yZGVyUmFkaXVzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAdG9hc3RCb3JkZXJSYWRpdXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi50b3Age1xuICAgICAgICAmLmFjdGlvbnMgd2hlbiAoQHZhcmlhdGlvblRvYXN0QWN0aW9ucykge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHRvYXN0Qm9yZGVyUmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEB0b2FzdEJvcmRlclJhZGl1cztcbiAgICAgICAgICAgICYgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHRvYXN0Qm9yZGVyUmFkaXVzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAdG9hc3RCb3JkZXJSYWRpdXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUb2FzdFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnRvYXN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IEBkZWZhdWx0Qm9yZGVyUmFkaXVzO1xuICAgIHBhZGRpbmc6IEB0b2FzdFBhZGRpbmc7XG4gICAgbWFyZ2luOiBAdG9hc3RNYXJnaW47XG4gICAgY29sb3I6IEB0b2FzdEludmVydGVkVGV4dENvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEB0b2FzdE5ldXRyYWxDb2xvcjtcbiAgICAmID4gLmNvbnRlbnQgPiAuaGVhZGVyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgICYuaW5mbyB3aGVuIChAdmFyaWF0aW9uVG9hc3RJbmZvKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0b2FzdEluZm9Db2xvcjtcbiAgICAgICAgY29sb3I6IEB0b2FzdFRleHRDb2xvcjtcbiAgICB9XG4gICAgJi53YXJuaW5nIHdoZW4gKEB2YXJpYXRpb25Ub2FzdFdhcm5pbmcpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRvYXN0V2FybmluZ0NvbG9yO1xuICAgICAgICBjb2xvcjogQHRvYXN0VGV4dENvbG9yO1xuICAgIH1cbiAgICAmLnN1Y2Nlc3Mgd2hlbiAoQHZhcmlhdGlvblRvYXN0U3VjY2Vzcykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9hc3RTdWNjZXNzQ29sb3I7XG4gICAgICAgIGNvbG9yOiBAdG9hc3RUZXh0Q29sb3I7XG4gICAgfVxuICAgICYuZXJyb3Igd2hlbiAoQHZhcmlhdGlvblRvYXN0RXJyb3IpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRvYXN0RXJyb3JDb2xvcjtcbiAgICAgICAgY29sb3I6IEB0b2FzdFRleHRDb2xvcjtcbiAgICB9XG4gICAgJi5uZXV0cmFsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRvYXN0TmV1dHJhbENvbG9yO1xuICAgICAgICBjb2xvcjogQHRvYXN0TmV1dHJhbFRleHRDb2xvcjtcbiAgICB9XG4gICAgJiA+IGkuaWNvbkB7bm90Q2xvc2V9IHdoZW4gKEB2YXJpYXRpb25Ub2FzdEljb24pIHtcbiAgICAgICAgZm9udC1zaXplOiBAdG9hc3RJY29uRm9udFNpemU7XG4gICAgfVxuICAgICZAe25vdFZlcnRpY2FsfSB7XG4gICAgICAgICZAe25vdENlbnRlcmVkfUB7bm90Q2VudGVyfSB7XG4gICAgICAgICAgICAmID4gaS5pY29uQHtub3RDbG9zZX0gd2hlbiAoQHZhcmlhdGlvblRvYXN0SWNvbikge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgPiAudWkuaW1hZ2Ugd2hlbiAoQHZhcmlhdGlvblRvYXN0SW1hZ2UpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiA+IGkuaWNvbkB7bm90Q2xvc2V9IHdoZW4gKEB2YXJpYXRpb25Ub2FzdEljb24pIHtcbiAgICAgICAgICAgICYgKyAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAdG9hc3RJY29uQ29udGVudFBhZGRpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiA+IC5jbG9zZS5pY29uICsgLmNvbnRlbnQgd2hlbiAoQHZhcmlhdGlvblRvYXN0Q2xvc2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQHRvYXN0Q2xvc2VEaXN0YW5jZTtcbiAgICAgICAgfVxuICAgICAgICAmID4gLnVpLmltYWdlIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEltYWdlKSB7XG4gICAgICAgICAgICAmLmF2YXRhciArIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEB0b2FzdEF2YXRhckltYWdlQ29udGVudFBhZGRpbmc7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogQHRvYXN0QXZhdGFySW1hZ2VIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLm1pbmkgKyAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAdG9hc3RNaW5pSW1hZ2VDb250ZW50UGFkZGluZztcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBAdG9hc3RNaW5pSW1hZ2VIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnRpbnkgKyAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBAdG9hc3RUaW55SW1hZ2VDb250ZW50UGFkZGluZztcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBAdG9hc3RUaW55SW1hZ2VIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnNtYWxsICsgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQHRvYXN0U21hbGxJbWFnZUNvbnRlbnRQYWRkaW5nO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IEB0b2FzdFNtYWxsSW1hZ2VIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJkB7bm90Q2VudGVyZWR9QHtub3RDZW50ZXJ9IHdoZW4gKEB2YXJpYXRpb25Ub2FzdEltYWdlKSBvciAoQHZhcmlhdGlvblRvYXN0SWNvbikge1xuICAgICAgICAgICAgJiA+IC5jZW50ZXJlZC5pbWFnZSxcbiAgICAgICAgICAgID4gLmNlbnRlcmVkLmljb24ge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmFjdGlvbnMgPiAuY2VudGVyZWQuaW1hZ2Ugd2hlbiAoQHZhcmlhdGlvblRvYXN0QWN0aW9ucykgYW5kIChAdmFyaWF0aW9uVG9hc3RJbWFnZSkge1xuICAgICAgICAgICAgdG9wOiBlKCUoXCJjYWxjKDUwJSUgLSAlZClcIiwgQHRvYXN0SW1hZ2VDZW50ZXJlZEFkanVzdG1lbnQpKTtcbiAgICAgICAgfVxuICAgICAgICAmLmFjdGlvbnMgPiAuY2VudGVyZWQuaWNvbiB3aGVuIChAdmFyaWF0aW9uVG9hc3RBY3Rpb25zKSBhbmQgKEB2YXJpYXRpb25Ub2FzdEljb24pIHtcbiAgICAgICAgICAgIHRvcDogZSglKFwiY2FsYyg1MCUlIC0gJWQpXCIsIEB0b2FzdEljb25DZW50ZXJlZEFkanVzdG1lbnQpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnZlcnRpY2FsIHdoZW4gKEB2YXJpYXRpb25Ub2FzdFZlcnRpY2FsKSB7XG4gICAgICAgICYgPiAuY29udGVudCB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIH1cbiAgICAgICAgJi5hdHRhY2hlZCB3aGVuIChAdmFyaWF0aW9uVG9hc3RBdHRhY2hlZCkge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB9XG4gICAgICAgICYgPiAuY2xvc2UuaWNvbiArIC5jb250ZW50IHdoZW4gKEB2YXJpYXRpb25Ub2FzdENsb3NlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEB0b2FzdENsb3NlRGlzdGFuY2VWZXJ0aWNhbDtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEltYWdlKSBvciAoQHZhcmlhdGlvblRvYXN0SWNvbikge1xuICAgICAgICAgICAgJiA+IC51aS5pbWFnZSArIC5jb250ZW50LFxuICAgICAgICAgICAgPiBpLmljb25Ae25vdENsb3NlfSArIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEB0b2FzdEltYWdlQ29udGVudFBhZGRpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiA+IC51aS5pbWFnZSB3aGVuIChAdmFyaWF0aW9uVG9hc3RJbWFnZSkge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOyAvKiBJRTExIGZpeCAqL1xuICAgICAgICB9XG4gICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRvYXN0SW1hZ2UpIG9yIChAdmFyaWF0aW9uVG9hc3RJY29uKSB7XG4gICAgICAgICAgICAmID4gLmNlbnRlcmVkLmltYWdlLFxuICAgICAgICAgICAgPiAuY2VudGVyZWQuaWNvbiB7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5hdHRhY2hlZCB3aGVuIChAdmFyaWF0aW9uVG9hc3RBdHRhY2hlZCkge1xuICAgICAgICAmLmJvdHRvbSB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJi50b3Age1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi51aS51aS51aS5pbWFnZSB3aGVuIChAdmFyaWF0aW9uVG9hc3RJbWFnZSkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAmID4gLmNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IEBpbnB1dFZlcnRpY2FsUGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBAaW5wdXRWZXJ0aWNhbFBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBAaW5wdXRIb3Jpem9udGFsUGFkZGluZztcbiAgICAgICAgfVxuICAgICAgICAmID4gLmFjdGlvbnMgd2hlbiAoQHZhcmlhdGlvblRvYXN0QWN0aW9ucykge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgICYgPiAudWkuaW1hZ2Uge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQGRlZmF1bHRCb3JkZXJSYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAZGVmYXVsdEJvcmRlclJhZGl1cztcbiAgICAgICAgICAgICYubWluaSB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiBAdG9hc3RJbWFnZU1pbmlJbWFnZUFkanVzdG1lbnQ7XG4gICAgICAgICAgICAgICAgJiArIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogQHRvYXN0SW1hZ2VNaW5pSW1hZ2VBZGp1c3RtZW50O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IEB0b2FzdEltYWdlTWluaUltYWdlUGFkZGluZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi51aS5ob3ZlcmZsb2F0aW5nLm1lc3NhZ2U6aG92ZXIgd2hlbiAoQHZhcmlhdGlvblRvYXN0TWVzc2FnZSkgYW5kIChAdmFyaWF0aW9uVG9hc3RGbG9hdGluZykge1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgMCAwIDFweCBpbnNldCxcbiAgICAgICAgQGZsb2F0aW5nU2hhZG93O1xufVxuXG4udWkuY2VudGVyLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94LFxuLnVpLnJpZ2h0LnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLnVpLmNlbnRlci50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25Ub2FzdENlbnRlcmVkKSB7XG4gICAgLnVpLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC5jZW50ZXJlZC50b2FzdCxcbiAgICAudWkudWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLmNlbnRlci5hbGlnbmVkLnRvYXN0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAmID4gLmNvbnRlbnQsXG4gICAgICAgICYgPiAudWkuaW1hZ2UsXG4gICAgICAgICYgPiBpLmljb25Ae25vdENsb3NlfSB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggLnRvYXN0IC5jZW50ZXJlZC5jb250ZW50LFxuICAgIC51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAudG9hc3QgLmNlbnRlci5hbGlnbmVkLmNvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IC5jZW50ZXJlZC5hY3Rpb25zLFxuICAgIC51aS50b2FzdC1jb250YWluZXIgLnRvYXN0LWJveCAuY2VudGVyLmFsaWduZWQuYWN0aW9ucyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAmQHtub3RBdHRhY2hlZH0gPiAuYnV0dG9uQHtub3RGbHVpZH0ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IEB0b2FzdEFjdGlvbkNlbnRlcmVkTWFyZ2luO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAdG9hc3RBY3Rpb25DZW50ZXJlZE1hcmdpbjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLSAqL1xuJiB3aGVuIG5vdCAoQHZhcmlhdGlvblRvYXN0Q29sb3JzID0gZmFsc2UpIHtcbiAgICBlYWNoKEB2YXJpYXRpb25Ub2FzdENvbG9ycywge1xuICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgQGM6IEBjb2xvcnNbQEBjb2xvcl1bY29sb3JdO1xuICAgICAgICBAbDogQGNvbG9yc1tAQGNvbG9yXVtsaWdodF07XG5cbiAgICAgICAgLnVpLkB7Y29sb3J9LnRvYXN0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjO1xuICAgICAgICAgICAgY29sb3I6IEB0b2FzdFRleHRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gKEB2YXJpYXRpb25Ub2FzdEludmVydGVkKSB7XG4gICAgICAgICAgICAudWkuaW52ZXJ0ZWQuQHtjb2xvcn0udG9hc3QsXG4gICAgICAgICAgICAudWkudG9hc3QtY29udGFpbmVyIC50b2FzdC1ib3ggPiAuaW52ZXJ0ZWQuQHtjb2xvcn0uYXR0YWNoZWQucHJvZ3Jlc3MgLmJhciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGw7XG4gICAgICAgICAgICAgICAgY29sb3I6IEB0b2FzdEludmVydGVkVGV4dENvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRvYXN0SW52ZXJ0ZWQpIHtcbiAgICAudWkuaW52ZXJ0ZWQudG9hc3Qge1xuICAgICAgICBjb2xvcjogQHRvYXN0VGV4dENvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9hc3RJbnZlcnRlZENvbG9yO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbW9iaWxlVG9hc3RCcmVha3BvaW50KSB7XG4gICAgLnVpLnRvYXN0LWNvbnRhaW5lciAudG9hc3QtYm94IHtcbiAgICAgICAgJi50b2FzdC1ib3gsXG4gICAgICAgICYgPiAuY29tcGFjdCxcbiAgICAgICAgJiA+IC52ZXJ0aWNhbCA+ICosXG4gICAgICAgICYgPiAqIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgICYgPiAqQHtub3RWZXJ0aWNhbH0ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiBAbW9iaWxlV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgJiB3aGVuIChAdmFyaWF0aW9uVG9hc3RDYXJkKSB7XG4gICAgICAgICAgICAmID4gLnVpLmNhcmQuaG9yaXpvbnRhbCxcbiAgICAgICAgICAgID4gLnZlcnRpY2FsID4gLnVpLmhvcml6b250YWwuY2FyZCB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS1cbiAgIFByb2dyZXNzIEJhclxuIC0tLS0tLS0tLS0tLS0tLS0gKi9cbiYgd2hlbiAoQHZhcmlhdGlvblRvYXN0UHJvZ3Jlc3MpIHtcbiAgICBAa2V5ZnJhbWVzIHByb2dyZXNzRG93biB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBwcm9ncmVzc1VwIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbkBrZXlmcmFtZXMgcHJvZ3Jlc3NXYWl0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8taW52YWxpZC1wb3NpdGlvbi1hdC1pbXBvcnQtcnVsZVxuQGltcG9ydCAobXVsdGlwbGUsIG9wdGlvbmFsKSBcIi4uLy4uL292ZXJyaWRlcy5sZXNzXCI7XG4iLCIvKiFcbiAqICMgRm9tYW50aWMtVUkgLSBUcmFuc2l0aW9uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZm9tYW50aWMvRm9tYW50aWMtVUkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZTogXCJtb2R1bGVcIjtcbkBlbGVtZW50OiBcInRyYW5zaXRpb25cIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVHJhbnNpdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi50cmFuc2l0aW9uIHtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogQHRyYW5zaXRpb25EZWZhdWx0RHVyYXRpb247XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogQHRyYW5zaXRpb25EZWZhdWx0RWFzaW5nO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IEB0cmFuc2l0aW9uRGVmYXVsdEZpbGw7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIEFuaW1hdGluZyAqL1xuLmFuaW1hdGluZy50cmFuc2l0aW9uIHtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBAYmFja2ZhY2VWaXNpYmlsaXR5O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVHJhbnNpdGlvbkxvYWRpbmcpIHtcbiAgICAvKiBMb2FkaW5nICovXG4gICAgLmxvYWRpbmcudHJhbnNpdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtOTk5OTlweDtcbiAgICAgICAgbGVmdDogLTk5OTk5cHg7XG4gICAgfVxufVxuXG4vKiBIaWRkZW4gKi9cbi5oaWRkZW4udHJhbnNpdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qIFZpc2libGUgKi9cbi52aXNpYmxlLnRyYW5zaXRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuXG4gICAgLyogYmFja2ZhY2UtdmlzaWJpbGl0eTogQGJhY2tmYWNlVmlzaWJpbGl0eTtcbiAgICAgIHRyYW5zZm9ybTogQHVzZTNEQWNjZWxlcmF0aW9uOyAqL1xufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uRGlzYWJsZWQpIHtcbiAgICAvKiBEaXNhYmxlZCAqL1xuICAgIC5kaXNhYmxlZC50cmFuc2l0aW9uIHtcbiAgICAgICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25Mb29waW5nKSB7XG4gICAgLmxvb3BpbmcudHJhbnNpdGlvbiB7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVHJhbnNpdGlvblB1bHNhdGluZykge1xuICAgIC8qIFB1bHNhdGluZyAqL1xuICAgIC5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBwdWxzYXRpbmc7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogQHB1bHNhdGluZ0R1cmF0aW9uO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwIGZhZGUoQHB1bHNhdGluZ0NvbG9yLCBAcHVsc2F0aW5nT3BhY2l0eSk7XG4gICAgfVxuICAgICYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25JbnZlcnRlZCkge1xuICAgICAgICAuaW52ZXJ0ZWQucHVsc2F0aW5nLnRyYW5zaXRpb24ge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCBmYWRlKEBwdWxzYXRpbmdJbnZlcnRlZENvbG9yLCBAcHVsc2F0aW5nSW52ZXJ0ZWRPcGFjaXR5KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHB1bHNhdGluZyB7XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgQHB1bHNhdGluZ0Rpc3RhbmNlIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIG5vdCAoQHZhcmlhdGlvblRyYW5zaXRpb25Db2xvcnMgPSBmYWxzZSkge1xuICAgICAgICBlYWNoKEB2YXJpYXRpb25UcmFuc2l0aW9uQ29sb3JzLCB7XG4gICAgICAgICAgICBAY29sb3I6IEB2YWx1ZTtcbiAgICAgICAgICAgIEBjOiBAY29sb3JzW0BAY29sb3JdW2NvbG9yXTtcbiAgICAgICAgICAgIEBsOiBAY29sb3JzW0BAY29sb3JdW2xpZ2h0XTtcblxuICAgICAgICAgICAgLkB7Y29sb3J9LnB1bHNhdGluZy50cmFuc2l0aW9uIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwIGZhZGUoQGMsIEBwdWxzYXRpbmdPcGFjaXR5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25JbnZlcnRlZCkge1xuICAgICAgICAgICAgICAgIC5Ae2NvbG9yfS5pbnZlcnRlZC5wdWxzYXRpbmcudHJhbnNpdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgZmFkZShAbCwgQHB1bHNhdGluZ0ludmVydGVkT3BhY2l0eSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWludmFsaWQtcG9zaXRpb24tYXQtaW1wb3J0LXJ1bGVcbkBpbXBvcnQgKG11bHRpcGxlLCBvcHRpb25hbCkgXCIuLi8uLi9vdmVycmlkZXMubGVzc1wiO1xuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBUcmFuc2l0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLypcbiAgU29tZSB0cmFuc2l0aW9ucyBhZGFwdGVkIGZyb20gQW5pbWF0ZSBDU1NcbiAgaHR0cHM6Ly9naXRodWIuY29tL2RhbmVkZW4vYW5pbWF0ZS5jc3NcblxuICBBZGRpdGlvbmFsIHRyYW5zaXRpb25zIGFkYXB0ZWQgZnJvbSBHbGlkZVxuICBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlXG4qL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uQnJvd3NlKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEJyb3dzZVxuICAgIC0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgLnRyYW5zaXRpb24uYnJvd3NlIHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgICB9XG4gICAgLnRyYW5zaXRpb24uYnJvd3NlLmluIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGJyb3dzZUluO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbi5icm93c2Uub3V0LFxuICAgIC50cmFuc2l0aW9uLmJyb3dzZS5sZWZ0Lm91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBicm93c2VPdXRMZWZ0O1xuICAgIH1cbiAgICAudHJhbnNpdGlvbi5icm93c2UucmlnaHQub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGJyb3dzZU91dFJpZ2h0O1xuICAgIH1cblxuICAgIC8qIEluICovXG4gICAgQGtleWZyYW1lcyBicm93c2VJbiB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKDApO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cbiAgICAgICAgMTAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKDApO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cbiAgICAgICAgODAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSkgdHJhbnNsYXRlWigwKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMCk7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBPdXQgKi9cbiAgICBAa2V5ZnJhbWVzIGJyb3dzZU91dExlZnQge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgcm90YXRlWSgwKSByb3RhdGVYKDApO1xuICAgICAgICB9XG4gICAgICAgIDUwJSB7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTA1JSkgcm90YXRlWSgzNWRlZykgcm90YXRlWCgxMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XG4gICAgICAgIH1cbiAgICAgICAgODAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSByb3RhdGVZKDApIHJvdGF0ZVgoMCkgdHJhbnNsYXRlWigtMTBweCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgYnJvd3NlT3V0UmlnaHQge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgcm90YXRlWSgwKSByb3RhdGVYKDApO1xuICAgICAgICB9XG4gICAgICAgIDUwJSB7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwNSUpIHJvdGF0ZVkoMzVkZWcpIHJvdGF0ZVgoMTBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xuICAgICAgICB9XG4gICAgICAgIDgwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSByb3RhdGVZKDApIHJvdGF0ZVgoMCkgdHJhbnNsYXRlWigtMTBweCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uRHJvcCkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBEcm9wXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAuZHJvcC50cmFuc2l0aW9uIHtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA0MDBtcztcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzQsIDEuNjEsIDAuNywgMSk7XG4gICAgfVxuICAgIC5kcm9wLnRyYW5zaXRpb24uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZHJvcEluO1xuICAgIH1cbiAgICAuZHJvcC50cmFuc2l0aW9uLm91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBkcm9wT3V0O1xuICAgIH1cblxuICAgIC8qIERyb3AgKi9cbiAgICBAa2V5ZnJhbWVzIGRyb3BJbiB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBkcm9wT3V0IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVHJhbnNpdGlvbkZhZGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgIEZhZGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC50cmFuc2l0aW9uLmZhZGUuaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIHVwXCJdLmluIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGRvd25cIl0uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgICB9XG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSBsZWZ0XCJdLmluIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgcmlnaHRcIl0uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG4gICAgfVxuXG4gICAgLnRyYW5zaXRpb24uZmFkZS5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgICB9XG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSB1cFwiXS5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGRvd25cIl0ub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGxlZnRcIl0ub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIHJpZ2h0XCJdLm91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG4gICAgfVxuXG4gICAgLyogSW4gKi9cbiAgICBAa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwJSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwJSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwJSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogT3V0ICovXG4gICAgQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1JSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01JSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25GbGlwKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIEZsaXBzXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAuZmxpcC50cmFuc2l0aW9uLmluLFxuICAgIC5mbGlwLnRyYW5zaXRpb24ub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA2MDBtcztcbiAgICB9XG4gICAgLmhvcml6b250YWwuZmxpcC50cmFuc2l0aW9uLmluIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGhvcml6b250YWxGbGlwSW47XG4gICAgfVxuICAgIC5ob3Jpem9udGFsLmZsaXAudHJhbnNpdGlvbi5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogaG9yaXpvbnRhbEZsaXBPdXQ7XG4gICAgfVxuICAgIC52ZXJ0aWNhbC5mbGlwLnRyYW5zaXRpb24uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogdmVydGljYWxGbGlwSW47XG4gICAgfVxuICAgIC52ZXJ0aWNhbC5mbGlwLnRyYW5zaXRpb24ub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHZlcnRpY2FsRmxpcE91dDtcbiAgICB9XG5cbiAgICAvKiBJbiAqL1xuICAgIEBrZXlmcmFtZXMgaG9yaXpvbnRhbEZsaXBJbiB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoMCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgdmVydGljYWxGbGlwSW4ge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDApO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIE91dCAqL1xuICAgIEBrZXlmcmFtZXMgaG9yaXpvbnRhbEZsaXBPdXQge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgwKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgdmVydGljYWxGbGlwT3V0IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoMCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25TY2FsZSkge1xuICAgIC8qIC0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgU2NhbGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC5zY2FsZS50cmFuc2l0aW9uLmluIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNjYWxlSW47XG4gICAgfVxuICAgIC5zY2FsZS50cmFuc2l0aW9uLm91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzY2FsZU91dDtcbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIHNjYWxlSW4ge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBPdXQgKi9cbiAgICBAa2V5ZnJhbWVzIHNjYWxlT3V0IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uRmx5KSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBGbHlcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC8qIElud2FyZCAqL1xuICAgIC50cmFuc2l0aW9uLmZseSB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC42cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbi5mbHkuaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmx5SW47XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cImZseSB1cFwiXS5pbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbHlJblVwO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgZG93blwiXS5pbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbHlJbkRvd247XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cImZseSBsZWZ0XCJdLmluIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZseUluTGVmdDtcbiAgICB9XG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHJpZ2h0XCJdLmluIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZseUluUmlnaHQ7XG4gICAgfVxuXG4gICAgLyogT3V0d2FyZCAqL1xuICAgIC50cmFuc2l0aW9uLmZseS5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmx5T3V0O1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgdXBcIl0ub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZseU91dFVwO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgZG93blwiXS5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmx5T3V0RG93bjtcbiAgICB9XG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IGxlZnRcIl0ub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZseU91dExlZnQ7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cImZseSByaWdodFwiXS5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmx5T3V0UmlnaHQ7XG4gICAgfVxuXG4gICAgLyogSW4gKi9cbiAgICBAa2V5ZnJhbWVzIGZseUluIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICAgICAgfVxuICAgICAgICAyMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgICAgICB9XG4gICAgICAgIDQwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgICAgIH1cbiAgICAgICAgNjAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgICAgIH1cbiAgICAgICAgODAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBmbHlJblVwIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTUwMHB4LCAwKTtcbiAgICAgICAgfVxuICAgICAgICA2MCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgICAgICB9XG4gICAgICAgIDc1JSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgICAgICB9XG4gICAgICAgIDkwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGZseUluRG93biB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNTAwcHgsIDApO1xuICAgICAgICB9XG4gICAgICAgIDYwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgICAgICAgfVxuICAgICAgICA3NSUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgOTAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGZseUluTGVmdCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE1MDBweCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgNjAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICA3NSUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICA5MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGZseUluUmlnaHQge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUwMHB4LCAwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICA2MCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgNzUlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgICAgICB9XG4gICAgICAgIDkwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBPdXQgKi9cbiAgICBAa2V5ZnJhbWVzIGZseU91dCB7XG4gICAgICAgIDIwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgICAgIH1cbiAgICAgICAgNTAlLFxuICAgICAgICA1NSUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBmbHlPdXRVcCB7XG4gICAgICAgIDIwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgICAgICB9XG4gICAgICAgIDQwJSxcbiAgICAgICAgNDUlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBmbHlPdXREb3duIHtcbiAgICAgICAgMjAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgICAgICB9XG4gICAgICAgIDQwJSxcbiAgICAgICAgNDUlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGtleWZyYW1lcyBmbHlPdXRSaWdodCB7XG4gICAgICAgIDIwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgZmx5T3V0TGVmdCB7XG4gICAgICAgIDIwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uU2xpZGUpIHtcbiAgICAvKiAtLS0tLS0tLS0tLS0tLVxuICAgICAgICAgU2xpZGVcbiAgICAtLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIC50cmFuc2l0aW9uLnNsaWRlLmluLFxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIGRvd25cIl0uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJblk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIHVwXCJdLmluIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5ZO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSBsZWZ0XCJdLmluIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5YO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIHJpZ2h0XCJdLmluIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5YO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudHJhbnNpdGlvbi5zbGlkZS5vdXQsXG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgZG93blwiXS5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRZO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSB1cFwiXS5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRZO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSBsZWZ0XCJdLm91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFg7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgICB9XG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgcmlnaHRcIl0ub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0WDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgfVxuXG4gICAgLyogSW4gKi9cbiAgICBAa2V5ZnJhbWVzIHNsaWRlSW5ZIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc2xpZGVJblgge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBPdXQgKi9cbiAgICBAa2V5ZnJhbWVzIHNsaWRlT3V0WSB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHNsaWRlT3V0WCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJiB3aGVuIChAdmFyaWF0aW9uVHJhbnNpdGlvblN3aW5nKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFN3aW5nXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudHJhbnNpdGlvbi5zd2luZyB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogODAwbXM7XG4gICAgfVxuXG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgZG93blwiXS5pbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgICB9XG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgdXBcIl0uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc3dpbmdJblg7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIGxlZnRcIl0uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc3dpbmdJblk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgICB9XG4gICAgLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgcmlnaHRcIl0uaW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc3dpbmdJblk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgIH1cblxuICAgIC50cmFuc2l0aW9uLnN3aW5nLm91dCxcbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyBkb3duXCJdLm91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFg7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIHVwXCJdLm91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFg7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG4gICAgfVxuICAgIC50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIGxlZnRcIl0ub3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIH1cbiAgICAudHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyByaWdodFwiXS5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc3dpbmdPdXRZO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBJbiAqL1xuICAgIEBrZXlmcmFtZXMgc3dpbmdJblgge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgIDQwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtMzBkZWcpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICA2MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMTVkZWcpO1xuICAgICAgICB9XG4gICAgICAgIDgwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtNy41ZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc3dpbmdJblkge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICA0MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMzBkZWcpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICA2MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTE3LjVkZWcpO1xuICAgICAgICB9XG4gICAgICAgIDgwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSg3LjVkZWcpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBPdXQgKi9cbiAgICBAa2V5ZnJhbWVzIHN3aW5nT3V0WCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDApO1xuICAgICAgICB9XG4gICAgICAgIDQwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtNy41ZGVnKTtcbiAgICAgICAgfVxuICAgICAgICA2MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMTcuNWRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgODAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC0zMGRlZyk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHN3aW5nT3V0WSB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDApO1xuICAgICAgICB9XG4gICAgICAgIDQwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSg3LjVkZWcpO1xuICAgICAgICB9XG4gICAgICAgIDYwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtMTBkZWcpO1xuICAgICAgICB9XG4gICAgICAgIDgwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgzMGRlZyk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25ab29tKSB7XG4gICAgLyogLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICBab29tXG4gICAgLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAudHJhbnNpdGlvbi56b29tLmluIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgICB9XG4gICAgLnRyYW5zaXRpb24uem9vbS5vdXQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogem9vbU91dDtcbiAgICB9XG4gICAgQGtleWZyYW1lcyB6b29tSW4ge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgem9vbU91dCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgU3RhdGljIEFuaW1hdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIC0tLS0tLS0tLS0tLS0tXG4gICAgRW1waGFzaXNcbi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uRmxhc2gpIHtcbiAgICAuZmxhc2gudHJhbnNpdGlvbiB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uU2hha2UpIHtcbiAgICAuc2hha2UudHJhbnNpdGlvbiB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uQm91bmNlKSB7XG4gICAgLmJvdW5jZS50cmFuc2l0aW9uIHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uVGFkYSkge1xuICAgIC50YWRhLnRyYW5zaXRpb24ge1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogdGFkYTtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uUHVsc2UpIHtcbiAgICAucHVsc2UudHJhbnNpdGlvbiB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uSmlnZ2xlKSB7XG4gICAgLmppZ2dsZS50cmFuc2l0aW9uIHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGppZ2dsZTtcbiAgICB9XG59XG4mIHdoZW4gKEB2YXJpYXRpb25UcmFuc2l0aW9uR2xvdykge1xuICAgIC50cmFuc2l0aW9uLmdsb3cge1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDIwMDBtcztcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICAgIH1cblxuICAgIC50cmFuc2l0aW9uLmdsb3cge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZ2xvdztcbiAgICB9XG59XG5cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25GbGFzaCkge1xuICAgIC8qIEZsYXNoICovXG4gICAgQGtleWZyYW1lcyBmbGFzaCB7XG4gICAgICAgIDAlLFxuICAgICAgICA1MCUsXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICAyNSUsXG4gICAgICAgIDc1JSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uVHJhbnNpdGlvblNoYWtlKSB7XG4gICAgLyogU2hha2UgKi9cbiAgICBAa2V5ZnJhbWVzIHNoYWtlIHtcbiAgICAgICAgMCUsXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB9XG4gICAgICAgIDEwJSxcbiAgICAgICAgMzAlLFxuICAgICAgICA1MCUsXG4gICAgICAgIDcwJSxcbiAgICAgICAgOTAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gICAgICAgIH1cbiAgICAgICAgMjAlLFxuICAgICAgICA0MCUsXG4gICAgICAgIDYwJSxcbiAgICAgICAgODAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25Cb3VuY2UpIHtcbiAgICAvKiBCb3VuY2UgKi9cbiAgICBAa2V5ZnJhbWVzIGJvdW5jZSB7XG4gICAgICAgIDAlLFxuICAgICAgICAyMCUsXG4gICAgICAgIDUwJSxcbiAgICAgICAgODAlLFxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuICAgICAgICA0MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgICAgICAgfVxuICAgICAgICA2MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25UYWRhKSB7XG4gICAgLyogVGFkYSAqL1xuICAgIEBrZXlmcmFtZXMgdGFkYSB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAlLFxuICAgICAgICAyMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7XG4gICAgICAgIH1cbiAgICAgICAgMzAlLFxuICAgICAgICA1MCUsXG4gICAgICAgIDcwJSxcbiAgICAgICAgOTAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gICAgICAgIH1cbiAgICAgICAgNDAlLFxuICAgICAgICA2MCUsXG4gICAgICAgIDgwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApO1xuICAgICAgICB9XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uVHJhbnNpdGlvblB1bHNlKSB7XG4gICAgLyogUHVsc2UgKi9cbiAgICBAa2V5ZnJhbWVzIHB1bHNlIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgNTAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxufVxuJiB3aGVuIChAdmFyaWF0aW9uVHJhbnNpdGlvbkppZ2dsZSkge1xuICAgIC8qIEppZ2dsZSAqL1xuICAgIEBrZXlmcmFtZXMgamlnZ2xlIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgICAgICB9XG4gICAgICAgIDMwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgNDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICAgICAgfVxuICAgICAgICA1MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgICAgICB9XG4gICAgICAgIDY1JSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgNzUlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiYgd2hlbiAoQHZhcmlhdGlvblRyYW5zaXRpb25HbG93KSB7XG4gICAgLyogR2xvdyAqL1xuICAgIEBrZXlmcmFtZXMgZ2xvdyB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmQ7XG4gICAgICAgIH1cbiAgICAgICAgMzAlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY2Y2Q7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZkO1xuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/