/*! TACHYONS v5.0.0.beta | http://tachyons.io */

/*
 *
 *      ________            ______
 *      ___  __/_____ _________  /______  ______________________
 *      __  /  _  __ `/  ___/_  __ \_  / / /  __ \_  __ \_  ___/
 *      _  /   / /_/ // /__ _  / / /  /_/ // /_/ /  / / /(__  )
 *      /_/    \__,_/ \___/ /_/ /_/_\__, / \____//_/ /_//____/
 *                                 /____/
 *
 *    TABLE OF CONTENTS
 *
 *    1. External Library Includes
 *       - Normalize.css | http://normalize.css.github.io
 *    2. Tachyons Modules
 *    3. Variables
 *       - Media Queries
 *       - Colors
 *    4. Debugging
 *       - Debug all
 *       - Debug children
 *
 */

/* External Library Includes */

/*! 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 {
  container-type: inline-size; /* GREG: Added this so container queries will be responsive like media queries */
  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 */
  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 { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * 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;
}

/* Variables */

/* Importing here will allow you to override any variables in the modules */

/*

  CUSTOM MEDIA QUERIES

  Media query values can be changed to fit your own content.
  There are no magic bullets when it comes to media query width values.
  They should be declared in em units - and they should be set to meet
  the needs of your content. You can also add additional media queries,
  or remove some of the existing ones.

  These media queries can be referenced like so:

  @container (min-width:30em) {
    .example-s {
      background-color: red;
    }
  }

  @container (min-width:48em) {
    .example-m {
      background-color: red;
    }
  }

  @container (min-width:64em) {
    .example-l {
      background-color: red;
    }
  }

*/

/* Media Queries */

@custom-media min-width:30em screen and (min-width: 30em);

@custom-media min-width:48em screen and (min-width: 48em);

@custom-media min-width:64em screen and (min-width: 60em);

/*

   VARIABLES


*/

:root {

  /* 
   * COLORS
   * A balanced color system optimized for accessibility
   * Theme generated with https://components.ai/theme
   * The first six steps in each scale are accessible with white 
   *
   */



  --tint-0: hsla(0, 0%, 100%, 0.035);
  --tint-1: hsla(0, 0%, 100%, 0.1);
  --tint-2: hsla(0, 0%, 100%, 0.19);
  --tint-3: hsla(0, 0%, 100%, 0.28);
  --tint-4: hsla(0, 0%, 100%, 0.36);
  --tint-5: hsla(0, 0%, 100%, 0.45);
  --tint-6: hsla(0, 0%, 100%, 0.55);
  --tint-7: hsla(0, 0%, 100%, 0.64);
  --tint-8: hsla(0, 0%, 100%, 0.73);
  --tint-9: hsla(0, 0%, 100%, 0.815);
  --tint-10: hsla(0, 0%, 100%, 0.895);
  --tint-11: hsla(0, 0%, 100%, 0.94);
  --shadow-11: hsla(0, 0%, 0%, 0.94);
  --shadow-10: hsla(0, 0%, 0%, 0.895);
  --shadow-9: hsla(0, 0%, 0%, 0.815);
  --shadow-8: hsla(0, 0%, 0%, 0.73);
  --shadow-7: hsla(0, 0%, 0%, 0.64);
  --shadow-6: hsla(0, 0%, 0%, 0.55);
  --shadow-5: hsla(0, 0%, 0%, 0.45);
  --shadow-4: hsla(0, 0%, 0%, 0.36);
  --shadow-3: hsla(0, 0%, 0%, 0.28);
  --shadow-2: hsla(0, 0%, 0%, 0.19);
  --shadow-1: hsla(0, 0%, 0%, 0.1);
  --shadow-0: hsla(0, 0%, 0%, 0.035);

  --black: #000000;
  --white: #ffffff;

  /* Original Gray in Tachyons v5 */
  /*
  --gray-0: #000000;
  --gray-1: #171717;
  --gray-2: #2f2f2f;
  --gray-3: #464646;
  --gray-4: #5e5e5e;
  --gray-5: #757575;
  --gray-6: #8c8c8c;
  --gray-7: #a3a3a3;
  --gray-8: #bababa;
  --gray-9: #d1d1d1;
  --gray-10: #e8e8e8;
  --gray-11: #ffffff;
  */

  /* My preferred Gray, which is Zinc from Tailwind */
  --gray-0: #000000;
  --gray-1: #18181b;
  --gray-2: #27272a;
  --gray-3: #3f3f46;
  --gray-4: #52525b;
  --gray-5: #71717a;
  --gray-6: #a1a1aa;
  --gray-7: #b8b8c2;  /* extra tone inserted here */
  --gray-8: #d4d4d8;
  --gray-9: #e4e4e7;
  --gray-10: #f4f4f5;
  --gray-11: #ffffff;

  --slate-gray-0: #09090b;
  --slate-gray-1: #1d1d22;
  --slate-gray-2: #313138;
  --slate-gray-3: #45444f;
  --slate-gray-4: #595866;
  --slate-gray-5: #6d6c7d;
  --slate-gray-6: #838292;
  --slate-gray-7: #9a9aa7;
  --slate-gray-8: #b2b1bb;
  --slate-gray-9: #c9c9d0;
  --slate-gray-10: #e1e0e4;
  --slate-gray-11: #f8f8f9;

  --blue-1: #071e3f;
  --blue-2: #0c3166;
  --blue-3: #10448d;
  --blue-4: #1556b4;
  --blue-5: #1969db;
  --blue-6: #317fed;
  --blue-7: #5797f0;
  --blue-8: #7daef4;
  --blue-9: #a3c6f7;
  --blue-10: #c9ddfa;
  --blue-11: #eff5fe;

  --indigo-0: #080614;
  --indigo-1: #19143f;
  --indigo-2: #2a216a;
  --indigo-3: #3a2e95;
  --indigo-4: #4b3bc0;
  --indigo-5: #5c49eb;
  --indigo-6: #725fff;
  --indigo-7: #8c7cff;
  --indigo-8: #a69aff;
  --indigo-9: #c0b7ff;
  --indigo-10: #dad5ff;
  --indigo-11: #f4f3ff;

  --violet-0: #110517;
  --violet-1: #2e0d3e;
  --violet-2: #4b1465;
  --violet-3: #681c8c;
  --violet-4: #8424b3;
  --violet-5: #a12cda;
  --violet-6: #b543ec;
  --violet-7: #c366f0;
  --violet-8: #d089f3;
  --violet-9: #deabf7;
  --violet-10: #eccefa;
  --violet-11: #f9f0fe;

  --magenta-0: #13040f;
  --magenta-1: #350a2c;
  --magenta-2: #581148;
  --magenta-3: #7b1765;
  --magenta-4: #9e1e82;
  --magenta-5: #c1249e;
  --magenta-6: #d43cb2;
  --magenta-7: #dc61c1;
  --magenta-8: #e485cf;
  --magenta-9: #eca9dd;
  --magenta-10: #f4ceec;
  --magenta-11: #fcf2fa;

  --red-0: #120205;
  --red-1: #39050f;
  --red-2: #5f0819;
  --red-3: #860b24;
  --red-4: #ac0e2e;
  --red-5: #d31138;
  --red-6: #e7284e;
  --red-7: #ec506f;
  --red-8: #f07790;
  --red-9: #f49fb0;
  --red-10: #f9c7d1;
  --red-11: #fdeef1;

  --red-orange-0: #190b05;
  --red-orange-1: #3d1307;
  --red-orange-2: #601b0a;
  --red-orange-3: #84240c;
  --red-orange-4: #a72c0e;
  --red-orange-5: #cb3411;
  --red-orange-6: #ee3c13;
  --red-orange-7: #fe562f;
  --red-orange-8: #fe7d5e;
  --red-orange-9: #ffa48e;
  --red-orange-10: #ffccbe;
  --red-orange-11: #fff3ee;

  --orange-0: #150d04;
  --orange-1: #2e1c08;
  --orange-2: #472a0c;
  --orange-3: #603910;
  --orange-4: #794714;
  --orange-5: #a65d13;
  --orange-6: #d37413;
  --orange-7: #ff8a14;
  --orange-8: #ffa54a;
  --orange-9: #ffc081;
  --orange-10: #ffdab7;
  --orange-11: #fff5ed;

  --gold-0: #140e05;
  --gold-1: #2c1f0a;
  --gold-2: #432f0e;
  --gold-3: #5b4013;
  --gold-4: #725118;
  --gold-5: #946818;
  --gold-6: #d4950d;
  --gold-7: #eeb028;
  --gold-8: #f2c259;
  --gold-9: #f7d38a;
  --gold-10: #fbe5bc;
  --gold-11: #fff5e9;

  --yellow-0: #111006;
  --yellow-1: #252405;
  --yellow-2: #3a3804;
  --yellow-3: #4e4d03;
  --yellow-4: #636101;
  --yellow-5: #777500;
  --yellow-6: #ccc500;
  --yellow-7: #fcf433;
  --yellow-8: #fdf67a;
  --yellow-9: #fdf89b;
  --yellow-10: #fef9bb;
  --yellow-11: #fefadb;

  --green-0: #091108;
  --green-1: #0f2611;
  --green-2: #153c1a;
  --green-3: #1b5122;
  --green-4: #21662b;
  --green-5: #25833a;
  --green-6: #26b056;
  --green-7: #35d272;
  --green-8: #63dd90;
  --green-9: #90e8ae;
  --green-10: #bdf3cc;
  --green-11: #eafeea;

  /* Added these myself, not part of default Tachyons v5 colors */
  --lime-0:  #1a2006;
  --lime-1:  #365314;
  --lime-2:  #3f6212;
  --lime-3:  #4d7c0f;
  --lime-4:  #65a30d;
  --lime-5:  #84cc16;
  --lime-6:  #a3e635;
  --lime-7:  #a8eb47;  /* interpolated tone */
  --lime-8:  #bef264;
  --lime-9:  #d9f99d;
  --lime-10: #ecfccb;
  --lime-11: #f7fee7;

  --teal-0: #07100c;
  --teal-1: #0c231a;
  --teal-2: #113628;
  --teal-3: #164936;
  --teal-4: #1b5b45;
  --teal-5: #177f63;
  --teal-6: #12a282;
  --teal-7: #2abb9b;
  --teal-8: #5acab1;
  --teal-9: #8bdac7;
  --teal-10: #bbe9dc;
  --teal-11: #ecf8f2;

  --cyan-0: #0a1211;
  --cyan-1: #102425;
  --cyan-2: #153639;
  --cyan-3: #1b484c;
  --cyan-4: #215a60;
  --cyan-5: #247981;
  --cyan-6: #24a9b6;
  --cyan-7: #28d6e6;
  --cyan-8: #57e0ec;
  --cyan-9: #85eaf2;
  --cyan-10: #b4f5f9;
  --cyan-11: #e2ffff;
  --transparent: hsla(0,0,0,0);

  @supports (color: color(display-p3 1 1 1)) {
    :root {
      --blue-0: color(display-p3 0 0.07 0.25);
      --blue-1: color(display-p3 0 0.09 0.32); 
      --blue-2: color(display-p3 0 0.11 0.42);
      --blue-3: color(display-p3 0 0.15 0.53);
      --blue-4: color(display-p3 0 0.16 0.7);
      --blue-5: color(display-p3 0 0.22 0.88);
      --blue-6: color(display-p3 0.06 0.37 1);
      --blue-7: color(display-p3 0.38 0.59 1 );
      --blue-8: color(display-p3 0.66 0.79 1);
      --blue-9: color(display-p3 0.79 0.86 0.99);
      --blue-10: color(display-p3 0.87 0.92 0.99);
      --blue-11: color(display-p3 0.92 0.95 1);
      --indigo-0: color(display-p3 0.06 0.03 0.21);
      --indigo-1: color(display-p3 0.09 0.07 0.26);
      --indigo-2: color(display-p3 0.15 0.11 0.42);
      --indigo-3: color(display-p3 0.18 0.14 0.57);
      --indigo-4: color(display-p3 0.2 0.18 0.75);
      --indigo-5: color(display-p3 0.26 0.22 1);
      --indigo-6: color(display-p3 0.28 0.28 1);
      --indigo-7: color(display-p3 0.47 0.49 1);  
      --indigo-8: color(display-p3 0.67 0.68 1);
      --indigo-9: color(display-p3 0.81 0.81 0.98);
      --indigo-10: color(display-p3 0.87 0.92 0.99);
      --indigo-11: color(display-p3 0.92 0.95 1);
    }
  }

  --degrees-1: 0;
  --degrees-2: 45deg;
  --degrees-3: 90deg;
  --degrees-4: 135deg;
  --degrees-5: 180deg;
  --degrees-6: 225deg;
  --degrees-7: 270deg;
  --degrees-8: 315deg;

  --gradient-degree-0: var(--degrees-1, 0);
  --gradient-degree: var(--degrees-2, 45deg);
  --gradient-degree-2: var(--degrees-4, 135deg);

  --gradient-stripe-width: 12px;
  --gradient-stripe-width-2: var(--border-width-1);

  --gradient-color-1: var(--blue-2);
  --gradient-color-2: var(--magenta-6);
  --gradient-color-3: var(--red-5);
  --gradient-color-4: var(--indigo-5);
  --gradient-color-5: var(--violet-0);
  --gradient-color-6: var(--violet-5);
  --gradient-color-7: var(--magenta-0);
  --gradient-color-8: var(--magenta-5);
  --gradient-color-9: var(--red-0);
  --gradient-color-10: var(--red-5);
  --gradient-color-11: var(--red-orange-0);
  --gradient-color-12: var(--red-orange-5);
  --gradient-color-13: var(--orange-0);
  --gradient-color-14: var(--orange-5);
  --gradient-color-15: var(--gold-0);
  --gradient-color-16: var(--gold-5);
  --gradient-color-17: var(--yellow-0);
  --gradient-color-18: var(--yellow-5);
  --gradient-color-19: var(--green-0);
  --gradient-color-20: var(--green-5);
  --gradient-color-21: var(--teal-0);
  --gradient-color-22: var(--teal-5);
  --gradient-color-23: var(--cyan-0);
  --gradient-color-24: var(--cyan-5);

  --gradient-stop: 50%;

  --font-size-1: 12px;
  --font-size-2: 14px;
  --font-size-3: 16px;
  --font-size-4: 20px;
  --font-size-5: 24px;
  --font-size-6: 32px;
  --font-size-7: 48px;
  --font-size-8: 64px;
  --font-size-9: 96px;
  --font-size-10: 128px;
  --font-size-11: 192px;
  --font-size-12: 256px;

  --measure-narrow: 45ch;
  --measure: 66ch;
  --measure-wide: 80ch;

  --border-radius-0: 0;
  --border-radius-1: 4px;
  --border-radius-2: 6px;
  --border-radius-3: 8px;
  --border-radius-4: 12px;
  --border-radius-5: 16px;
  --border-radius-6: 20px;
  --border-radius-7: 24px;
  --border-radius-8: 32px;
  --border-radius-9: 48px;
  --border-radius-10: 64px;
  --border-radius-11: 9999px;
  --border-radius: var(--border-radius-2);

  --border-width-0: 0;
  --border-width-1: 1px;
  --border-width-2: 2px;
  --border-width-3: 4px;
  --border-width-4: 8px;
  --border-width-5: 16px;

  --border-width: var(--border-width-1,1px);
  --border-color: var(--gray-5, gray);

  --line-height-solid: 1;
  --line-height-heading: 1.25;
  --line-height-body: 1.5;

  --letter-spacing-tracked: 0.1em;
  --letter-spacing-tight: -0.05em;
  --letter-spacing-large: 0.25em;

  --font-family-heading: Inter, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif; 
  --font-family-body: Inter, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif; 
  --font-family-mono: monospace, Inconsolata, Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace;

  --spacing-0: 0;
  --spacing-1: 2px;
  --spacing-2: 4px;
  --spacing-3: 8px;
  --spacing-4: 16px;
  --spacing-5: 32px;
  --spacing-6: 64px;
  --spacing-7: 128px;
  --spacing-8: 256px;
  --spacing-9: 512px;

  --size-0: 0;
  --size-1: 1rem;
  --size-2: 2rem;
  --size-3: 3rem;
  --size-4: 4rem;
  --size-5: 8rem;
  --size-6: 16rem;
  --size-7: 32rem;
  --size-8: 64rem;

  --shadow-color: 0 0 0;
  --shadow-color-invert: 255 255 255;
  --shadow-border-width: 1px;
  --shadow-opacity: .25;

  /* Opacity scale */

  --opacity-0: 0;
  --opacity-1: .025;
  --opacity-2: .05;
  --opacity-3: .1;
  --opacity-4: .2;
  --opacity-5: .3;
  --opacity-6: .4;
  --opacity-7: .5;
  --opacity-8: .6;
  --opacity-9: .7;
  --opacity-10: .8;
  --opacity-11: .9;
  --opacity-12: 1;

  --duration-0: 125ms;
  --duration-1: 250ms;
  --duration-2: 500ms;

  --easing-function-0: cubic-bezier(0.543, 1.086, 0.5, -0.383);
  --easing-function-1: ease;
  --easing-function-2: ease-out;
  --easing-function-3: ease-in-out;
  --easing-function-4: linear;

}

@media (prefers-color-scheme: dark) {
  --shadow-color: 255 255 255;
}

/*

  GRADIENTS


*/

.gradient-1 { 
  background: linear-gradient(
                var(--gradient-degree), 
                var(--gradient-color-1), 
                var(--gradient-color-2)
              ); 
}

.gradient-2 { 
  background: linear-gradient(
                var(--gradient-degree), 
                var(--gradient-color-1) var(--gradient-stop), 
                var(--gradient-color-2) var(--gradient-stop)
              ); 
}

.gradient-3 { 
  background: repeating-linear-gradient(
                var(--gradient-degree),
                transparent 0px,
                transparent var(--gradient-stripe-width),
                var(--gradient-color-1) var(--gradient-stripe-width),
                var(--gradient-color-1) calc(var(--gradient-stripe-width) + var(--gradient-stripe-width-2))
              ); 
}

.gradient-4 { 
  background: repeating-radial-gradient(
                circle,
                transparent 0px,
                transparent var(--gradient-stripe-width),
                var(--gradient-color-1) var(--gradient-stripe-width),
                var(--gradient-color-1) calc(var(--gradient-stripe-width) + var(--gradient-stripe-width-2))
              ); 
}

@container (min-width:30em) {

}

@container (min-width:48em) {

}

@container (min-width:64em) {

}

/* Modules */

/*
 
  BOX SIZING

*/

*, 
*::before, 
*::after,
.border-box,
.border-box::before,
.border-box::after { box-sizing: border-box; }

.content-box { box-sizing: content-box; }

/*

  CONTAINER-TYPE

  Media Query Extensions:
   -s = small
   -m  = medium
   -l  = large

  MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/container-type

*/

.container-size { container-type: size; }

.root,
.container-inline { container-type: inline-size; }

.container-normal { container-type: normal; }

@container (min-width:30em) {
  .container-size-s { container-type: size; }
  .container-inline-s { container-type: inline-size; }
  .container-normal-s { container-type: normal; }
}

@container (min-width:48em) {
  .container-size-m { container-type: size; }
  .container-inline-m { container-type: inline-size; }
  .container-normal-m { container-type: normal; }
}

@container (min-width:64em) {
  .container-size-l { container-type: size; }
  .container-inline-l { container-type: inline-size; }
  .container-normal-l { container-type: normal; }
}

/*

  ALL

  MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/all

*/

.unset { all: unset; }

.initial { all: initial; }

.inherit { all: inherit; }

.revert { all: revert; }

/*

   ASPECT RATIOS
   MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio

*/

.aspect-ratio-16x9 { aspect-ratio: 16 / 9; }

.aspect-ratio-9x16 { aspect-ratio: 9 / 16; }

.aspect-ratio-4x3 {  aspect-ratio: 4 / 3; }

.aspect-ratio-3x4 {  aspect-ratio: 3 / 4; }

.aspect-ratio-6x4 {  aspect-ratio: 6 / 4; }

.aspect-ratio-4x6 {  aspect-ratio: 4 / 6; }

.aspect-ratio-8x5 {  aspect-ratio: 8 / 5; }

.aspect-ratio-5x8 {  aspect-ratio: 5 / 8; }

.aspect-ratio-7x5 {  aspect-ratio: 7 / 5; }

.aspect-ratio-5x7 {  aspect-ratio: 5 / 7; }

.aspect-ratio-square, 
.aspect-ratio-1x1 {  aspect-ratio: 1 / 1; }

@container (min-width:30em){
  .aspect-ratio-16x9-s { aspect-ratio: 16 / 9; }
  .aspect-ratio-9x16-s { aspect-ratio: 9 / 16; }

  .aspect-ratio-4x3-s {  aspect-ratio: 4 / 3; }
  .aspect-ratio-3x4-s {  aspect-ratio: 3 / 4; }

  .aspect-ratio-6x4-s {  aspect-ratio: 6 / 4; }
  .aspect-ratio-4x6-s {  aspect-ratio: 4 / 6; }

  .aspect-ratio-8x5-s {  aspect-ratio: 8 / 5; }
  .aspect-ratio-5x8-s {  aspect-ratio: 5 / 8; }

  .aspect-ratio-7x5-s {  aspect-ratio: 7 / 5; }
  .aspect-ratio-5x7-s {  aspect-ratio: 5 / 7; }

  .aspect-ratio-square-s, 
  .aspect-ratio-1x1-s { aspect-ratio: 1 / 1; }
}

@container (min-width:48em){
  .aspect-ratio-16x9-m { aspect-ratio: 16 / 9; }
  .aspect-ratio-9x16-m { aspect-ratio: 9 / 16; }

  .aspect-ratio-4x3-m {  aspect-ratio: 4 / 3; }
  .aspect-ratio-3x4-m {  aspect-ratio: 3 / 4; }

  .aspect-ratio-6x4-m {  aspect-ratio: 6 / 4; }
  .aspect-ratio-4x6-m {  aspect-ratio: 4 / 6; }

  .aspect-ratio-8x5-m {  aspect-ratio: 8 / 5; }
  .aspect-ratio-5x8-m {  aspect-ratio: 5 / 8; }

  .aspect-ratio-7x5-m {  aspect-ratio: 7 / 5; }
  .aspect-ratio-5x7-m {  aspect-ratio: 5 / 7; }

  .aspect-ratio-square-m, 
  .aspect-ratio-1x1-m { aspect-ratio: 1 / 1; }
}

@container (min-width:64em){
  .aspect-ratio-16x9-l { aspect-ratio: 16 / 9; }
  .aspect-ratio-9x16-l { aspect-ratio: 9 / 16; }

  .aspect-ratio-4x3-l {  aspect-ratio: 4 / 3; }
  .aspect-ratio-3x4-l {  aspect-ratio: 3 / 4; }

  .aspect-ratio-6x4-l {  aspect-ratio: 6 / 4; }
  .aspect-ratio-4x6-l {  aspect-ratio: 4 / 6; }

  .aspect-ratio-8x5-l {  aspect-ratio: 8 / 5; }
  .aspect-ratio-5x8-l {  aspect-ratio: 5 / 8; }

  .aspect-ratio-7x5-l {  aspect-ratio: 7 / 5; }
  .aspect-ratio-5x7-l {  aspect-ratio: 5 / 7; }

  .aspect-ratio-square-l, 
  .aspect-ratio-1x1-l { aspect-ratio: 1 / 1; }
}

/*

   IMAGES
   Docs: http://tachyons.io/docs/elements/images/

*/

img { display: block; max-width: 100%; }

.random-image { 
  background-image: url(https://source.unsplash.com/random/);
  background-size: cover;
}

.random-image-landscape { 
  background-image: url(https://source.unsplash.com/random/1920x1080);
  background-size: cover;
}

.random-image-portrait { 
  background-image: url(https://source.unsplash.com/random/1080x1920);
  background-size: cover;
}

/*

   BACKGROUND SIZE
   Docs: http://tachyons.io/docs/themes/background-size/

   Media Query Extensions:
     -s  = small
     -m  = medium
     -l  = large

*/

/*
  Often used in combination with background image set as an inline style
  on an html element.
*/

.cover   { background-size: cover!important; }

.contain { background-size: contain!important; }

.bg1     { background-size: 4px; }

.bg2     { background-size: 8px; }

.bg3     { background-size: 16px; }

.bg4     { background-size: 32px; }

.bg5     { background-size: 64px; }

.bg6  { background-size: 100%; }

.bg7  { background-size: 150%; }

.bg8  { background-size: 200%; }

@container (min-width:30em) {
  .cover-s { background-size: cover!important; }
  .contain-s { background-size: contain!important; }
  .bg1-s     { background-size: 4px; }
  .bg2-s     { background-size: 8px; }
  .bg3-s     { background-size: 16px; }
  .bg4-s     { background-size: 32px; }
  .bg5-s     { background-size: 64px; }
  .bg6-s { background-size: 100%; }
  .bg7-s { background-size: 150%; }
  .bg8-s { background-size: 200%; }
}

@container (min-width:48em) {
  .cover-m { background-size: cover!important; }
  .contain-m { background-size: contain!important; }
  .bg1-m     { background-size: 4px; }
  .bg2-m     { background-size: 8px; }
  .bg3-m     { background-size: 16px; }
  .bg4-m     { background-size: 32px; }
  .bg5-m     { background-size: 64px; }
  .bg6-m { background-size: 100%; }
  .bg7-m { background-size: 150%; }
  .bg8-m { background-size: 200%; }
}

@container (min-width:64em) {
  .cover-l { background-size: cover!important; }
  .contain-l { background-size: contain!important; }
  .bg1-l     { background-size: 4px; }
  .bg2-l     { background-size: 8px; }
  .bg3-l     { background-size: 16px; }
  .bg4-l     { background-size: 32px; }
  .bg5-l     { background-size: 64px; }
  .bg6-l { background-size: 100%; }
  .bg7-l { background-size: 150%; }
  .bg8-l { background-size: 200%; }
}

/*

    BACKGROUND POSITION

    Base:
    bg = background

    Modifiers:
    -center = center center
    -top = top center
    -right = center right
    -bottom = bottom center
    -left = center left

    Media Query Extensions:
      -s  = small
      -m  = medium
      -l  = large

 */

.bg-center { 
  background-repeat: no-repeat;
  background-position: center center; 
}

.bg-top {    
  background-repeat: no-repeat; 
  background-position: top center;    
}

.bg-right {  
  background-repeat: no-repeat; 
  background-position: center right;  
}

.bg-bottom { 
  background-repeat: no-repeat; 
  background-position: bottom center; 
}

.bg-left {   
  background-repeat: no-repeat; 
  background-position: center left;   
}

@container (min-width:30em) {
  .bg-center-s { 
    background-repeat: no-repeat;
    background-position: center center; 
  }

  .bg-top-s {    
    background-repeat: no-repeat; 
    background-position: top center;    
  }

  .bg-right-s {  
    background-repeat: no-repeat; 
    background-position: center right;  
  }

  .bg-bottom-s { 
    background-repeat: no-repeat; 
    background-position: bottom center; 
  }

  .bg-left-s {   
    background-repeat: no-repeat; 
    background-position: center left;   
  }
}

@container (min-width:48em) {
  .bg-center-m { 
    background-repeat: no-repeat;
    background-position: center center; 
  }

  .bg-top-m {    
    background-repeat: no-repeat; 
    background-position: top center;    
  }

  .bg-right-m {  
    background-repeat: no-repeat; 
    background-position: center right;  
  }

  .bg-bottom-m { 
    background-repeat: no-repeat; 
    background-position: bottom center; 
  }

  .bg-left-m {   
    background-repeat: no-repeat; 
    background-position: center left;   
  }
}

@container (min-width:64em) {
  .bg-center-l { 
    background-repeat: no-repeat;
    background-position: center center; 
  }

  .bg-top-l {    
    background-repeat: no-repeat; 
    background-position: top center;    
  }

  .bg-right-l {  
    background-repeat: no-repeat; 
    background-position: center right;  
  }

  .bg-bottom-l { 
    background-repeat: no-repeat; 
    background-position: bottom center; 
  }

  .bg-left-l {   
    background-repeat: no-repeat; 
    background-position: center left;   
  }
}

/*

   OUTLINES

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.outline { outline: var(--border-width, 1px) solid currentColor; }

.outline-color { outline: var(--border-width, 1px) solid var(--border-color, gray); }

.outline-transparent { outline: var(--border-width, 1px) solid transparent; }

.outline-0 { outline: 0; }

@container (min-width:30em) {
  .outline-s { outline: var(--border-width, 1px) solid currentColor; }
  .outline-color-s { outline: var(--border-width, 1px) solid var(--border-color, gray); }
  .outline-transparent-s { outline: var(--border-width, 1px) solid transparent; }
  .outline-0-s { outline: 0; }
}

@container (min-width:48em) {
  .outline-m { outline: var(--border-width, 1px) solid currentColor; }
  .outline-color-m { outline: var(--border-width, 1px) solid var(--border-color, gray); }
  .outline-transparent-m { outline: var(--border-width, 1px) solid transparent; }
  .outline-0-m { outline: 0; }
}

@container (min-width:64em) {
  .outline-l { outline: var(--border-width, 1px) solid currentColor; }
  .outline-color-l { outline: var(--border-width, 1px) solid var(--border-color, gray); }
  .outline-transparent-l { outline: var(--border-width, 1px) solid transparent; }
  .outline-0-l { outline: 0; }
}

/*

    BORDERS
    Docs: http://tachyons.io/docs/themes/borders/

    Base:
      b = border

    Modifiers:
      a = all
      t = top
      r = right
      b = bottom
      l = left
      n = none

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.ba { border-style: solid; border-width: var(--border-width, 1px); }

.bt { border-top-style: solid; border-top-width: var(--border-width, 1px); }

.br { border-right-style: solid; border-right-width: var(--border-width, 1px); }

.bb { border-bottom-style: solid; border-bottom-width: var(--border-width, 1px); }

.bl { border-left-style: solid; border-left-width: var(--border-width, 1px); }

.bn { border-style: none; border-width: 0; }

@container (min-width:30em) {
  .ba-s { border-style: solid; border-width: var(--border-width, 1px); }
  .bt-s { border-top-style: solid; border-top-width: var(--border-width, 1px); }
  .br-s { border-right-style: solid; border-right-width: var(--border-width, 1px); }
  .bb-s { border-bottom-style: solid; border-bottom-width: var(--border-width, 1px); }
  .bl-s { border-left-style: solid; border-left-width: var(--border-width, 1px); }
  .bn-s { border-style: none; border-width: 0; }
}

@container (min-width:48em) {
  .ba-m { border-style: solid; border-width: var(--border-width, 1px); }
  .bt-m { border-top-style: solid; border-top-width: var(--border-width, 1px); }
  .br-m { border-right-style: solid; border-right-width: var(--border-width, 1px); }
  .bb-m { border-bottom-style: solid; border-bottom-width: var(--border-width, 1px); }
  .bl-m { border-left-style: solid; border-left-width: var(--border-width, 1px); }
  .bn-m { border-style: none; border-width: 0; }
}

@container (min-width:64em) {
  .ba-l { border-style: solid; border-width: var(--border-width, 1px); }
  .bt-l { border-top-style: solid; border-top-width: var(--border-width, 1px); }
  .br-l { border-right-style: solid; border-right-width: var(--border-width, 1px); }
  .bb-l { border-bottom-style: solid; border-bottom-width: var(--border-width, 1px); }
  .bl-l { border-left-style: solid; border-left-width: var(--border-width, 1px); }
  .bn-l { border-style: none; border-width: 0; }
}

/*

   BORDER COLORS
   Docs: http://tachyons.io/docs/themes/borders/

   Border colors can be used to extend the base
   border classes ba,bt,bb,br,bl found in the _borders.css file.

   The base border class by default will set the color of the border
   to that of the current text color. These classes are for the cases
   where you desire for the text and border colors to be different.

   Base:
     b = border

   Modifiers:
   --color-name = each color variable name is also a border color name

*/

.b--color { border-color: var(--border-color, gray); }

.b--light { border-color: var(--overlay-tint-2, gray); }

.b--dark { border-color: var(--overlay-shadow-9, gray); }

.b--transparent { border-color: transparent; }

.b--current { border-color: currentColor; }

.b--inherit { border-color: inherit; }

.b--initial { border-color: initial; }

.b--unset { border-color: unset; }

.b--black {        border-color: var(--black); }

.b--white {        border-color: var(--white); }

/* Tailwind Color Palette */

.b--gray-0 { border-color: var(--gray-0); }

.b--gray-1 { border-color: var(--gray-1); }

.b--gray-2 { border-color: var(--gray-2); }

.b--gray-3 { border-color: var(--gray-3); }

.b--gray-4 { border-color: var(--gray-4); }

.b--gray-5 { border-color: var(--gray-5); }

.b--gray-6 { border-color: var(--gray-6); }

.b--gray-7 { border-color: var(--gray-7); }

.b--gray-8 { border-color: var(--gray-8); }

.b--gray-9 { border-color: var(--gray-9); }

.b--gray-10 { border-color: var(--gray-10); }

.b--gray-11 { border-color: var(--gray-11); }

.b--slate-gray-0 { border-color: var(--slate-gray-0); }

.b--slate-gray-1 { border-color: var(--slate-gray-1); }

.b--slate-gray-2 { border-color: var(--slate-gray-2); }

.b--slate-gray-3 { border-color: var(--slate-gray-3); }

.b--slate-gray-4 { border-color: var(--slate-gray-4); }

.b--slate-gray-5 { border-color: var(--slate-gray-5); }

.b--slate-gray-6 { border-color: var(--slate-gray-6); }

.b--slate-gray-7 { border-color: var(--slate-gray-7); }

.b--slate-gray-8 { border-color: var(--slate-gray-8); }

.b--slate-gray-9 { border-color: var(--slate-gray-9); }

.b--slate-gray-10 { border-color: var(--slate-gray-10); }

.b--slate-gray-11 { border-color: var(--slate-gray-11); }

.b--blue-0 { border-color: var(--blue-0); }

.b--blue-1 { border-color: var(--blue-1); }

.b--blue-2 { border-color: var(--blue-2); }

.b--blue-3 { border-color: var(--blue-3); }

.b--blue-4 { border-color: var(--blue-4); }

.b--blue-5 { border-color: var(--blue-5); }

.b--blue-6 { border-color: var(--blue-6); }

.b--blue-7 { border-color: var(--blue-7); }

.b--blue-8 { border-color: var(--blue-8); }

.b--blue-9 { border-color: var(--blue-9); }

.b--blue-10 { border-color: var(--blue-10); }

.b--blue-11 { border-color: var(--blue-11); }

.b--indigo-0 { border-color: var(--indigo-0); }

.b--indigo-1 { border-color: var(--indigo-1); }

.b--indigo-2 { border-color: var(--indigo-2); }

.b--indigo-3 { border-color: var(--indigo-3); }

.b--indigo-4 { border-color: var(--indigo-4); }

.b--indigo-5 { border-color: var(--indigo-5); }

.b--indigo-6 { border-color: var(--indigo-6); }

.b--indigo-7 { border-color: var(--indigo-7); }

.b--indigo-8 { border-color: var(--indigo-8); }

.b--indigo-9 { border-color: var(--indigo-9); }

.b--indigo-10 { border-color: var(--indigo-10); }

.b--indigo-11 { border-color: var(--indigo-11); }

.b--violet-0 { border-color: var(--violet-0); }

.b--violet-1 { border-color: var(--violet-1); }

.b--violet-2 { border-color: var(--violet-2); }

.b--violet-3 { border-color: var(--violet-3); }

.b--violet-4 { border-color: var(--violet-4); }

.b--violet-5 { border-color: var(--violet-5); }

.b--violet-6 { border-color: var(--violet-6); }

.b--violet-7 { border-color: var(--violet-7); }

.b--violet-8 { border-color: var(--violet-8); }

.b--violet-9 { border-color: var(--violet-9); }

.b--violet-10 { border-color: var(--violet-10); }

.b--violet-11 { border-color: var(--violet-11); }

.b--magenta-0 { border-color: var(--magenta-0); }

.b--magenta-1 { border-color: var(--magenta-1); }

.b--magenta-2 { border-color: var(--magenta-2); }

.b--magenta-3 { border-color: var(--magenta-3); }

.b--magenta-4 { border-color: var(--magenta-4); }

.b--magenta-5 { border-color: var(--magenta-5); }

.b--magenta-6 { border-color: var(--magenta-6); }

.b--magenta-7 { border-color: var(--magenta-7); }

.b--magenta-8 { border-color: var(--magenta-8); }

.b--magenta-9 { border-color: var(--magenta-9); }

.b--magenta-10 { border-color: var(--magenta-10); }

.b--magenta-11 { border-color: var(--magenta-11); }

.b--red-0 { border-color: var(--red-0); }

.b--red-1 { border-color: var(--red-1); }

.b--red-2 { border-color: var(--red-2); }

.b--red-3 { border-color: var(--red-3); }

.b--red-4 { border-color: var(--red-4); }

.b--red-5 { border-color: var(--red-5); }

.b--red-6 { border-color: var(--red-6); }

.b--red-7 { border-color: var(--red-7); }

.b--red-8 { border-color: var(--red-8); }

.b--red-9 { border-color: var(--red-9); }

.b--red-10 { border-color: var(--red-10); }

.b--red-11 { border-color: var(--red-11); }

.b--red-orange-0 { border-color: var(--red-orange-0); }

.b--red-orange-1 { border-color: var(--red-orange-1); }

.b--red-orange-2 { border-color: var(--red-orange-2); }

.b--red-orange-3 { border-color: var(--red-orange-3); }

.b--red-orange-4 { border-color: var(--red-orange-4); }

.b--red-orange-5 { border-color: var(--red-orange-5); }

.b--red-orange-6 { border-color: var(--red-orange-6); }

.b--red-orange-7 { border-color: var(--red-orange-7); }

.b--red-orange-8 { border-color: var(--red-orange-8); }

.b--red-orange-9 { border-color: var(--red-orange-9); }

.b--red-orange-10 { border-color: var(--red-orange-10); }

.b--red-orange-11 { border-color: var(--red-orange-11); }

.b--orange-0 { border-color: var(--orange-0); }

.b--orange-1 { border-color: var(--orange-1); }

.b--orange-2 { border-color: var(--orange-2); }

.b--orange-3 { border-color: var(--orange-3); }

.b--orange-4 { border-color: var(--orange-4); }

.b--orange-5 { border-color: var(--orange-5); }

.b--orange-6 { border-color: var(--orange-6); }

.b--orange-7 { border-color: var(--orange-7); }

.b--orange-8 { border-color: var(--orange-8); }

.b--orange-9 { border-color: var(--orange-9); }

.b--orange-10 { border-color: var(--orange-10); }

.b--orange-11 { border-color: var(--orange-11); }

.b--gold-0 { border-color: var(--gold-0); }

.b--gold-1 { border-color: var(--gold-1); }

.b--gold-2 { border-color: var(--gold-2); }

.b--gold-3 { border-color: var(--gold-3); }

.b--gold-4 { border-color: var(--gold-4); }

.b--gold-5 { border-color: var(--gold-5); }

.b--gold-6 { border-color: var(--gold-6); }

.b--gold-7 { border-color: var(--gold-7); }

.b--gold-8 { border-color: var(--gold-8); }

.b--gold-9 { border-color: var(--gold-9); }

.b--gold-10 { border-color: var(--gold-10); }

.b--gold-11 { border-color: var(--gold-11); }

.b--yellow-0 { border-color: var(--yellow-0); }

.b--yellow-1 { border-color: var(--yellow-1); }

.b--yellow-2 { border-color: var(--yellow-2); }

.b--yellow-3 { border-color: var(--yellow-3); }

.b--yellow-4 { border-color: var(--yellow-4); }

.b--yellow-5 { border-color: var(--yellow-5); }

.b--yellow-6 { border-color: var(--yellow-6); }

.b--yellow-7 { border-color: var(--yellow-7); }

.b--yellow-8 { border-color: var(--yellow-8); }

.b--yellow-9 { border-color: var(--yellow-9); }

.b--yellow-10 { border-color: var(--yellow-10); }

.b--yellow-11 { border-color: var(--yellow-11); }

.b--green-0 { border-color: var(--green-0); }

.b--green-1 { border-color: var(--green-1); }

.b--green-2 { border-color: var(--green-2); }

.b--green-3 { border-color: var(--green-3); }

.b--green-4 { border-color: var(--green-4); }

.b--green-5 { border-color: var(--green-5); }

.b--green-6 { border-color: var(--green-6); }

.b--green-7 { border-color: var(--green-7); }

.b--green-8 { border-color: var(--green-8); }

.b--green-9 { border-color: var(--green-9); }

.b--green-10 { border-color: var(--green-10); }

.b--green-11 { border-color: var(--green-11); }

.b--lime-0 { border-color: var(--lime-0); }

.b--lime-1 { border-color: var(--lime-1); }

.b--lime-2 { border-color: var(--lime-2); }

.b--lime-3 { border-color: var(--lime-3); }

.b--lime-4 { border-color: var(--lime-4); }

.b--lime-5 { border-color: var(--lime-5); }

.b--lime-6 { border-color: var(--lime-6); }

.b--lime-7 { border-color: var(--lime-7); }

.b--lime-8 { border-color: var(--lime-8); }

.b--lime-9 { border-color: var(--lime-9); }

.b--lime-10 { border-color: var(--lime-10); }

.b--lime-11 { border-color: var(--lime-11); }

.b--teal-0 { border-color: var(--teal-0); }

.b--teal-1 { border-color: var(--teal-1); }

.b--teal-2 { border-color: var(--teal-2); }

.b--teal-3 { border-color: var(--teal-3); }

.b--teal-4 { border-color: var(--teal-4); }

.b--teal-5 { border-color: var(--teal-5); }

.b--teal-6 { border-color: var(--teal-6); }

.b--teal-7 { border-color: var(--teal-7); }

.b--teal-8 { border-color: var(--teal-8); }

.b--teal-9 { border-color: var(--teal-9); }

.b--teal-10 { border-color: var(--teal-10); }

.b--teal-11 { border-color: var(--teal-11); }

.b--cyan-0 { border-color: var(--cyan-0); }

.b--cyan-1 { border-color: var(--cyan-1); }

.b--cyan-2 { border-color: var(--cyan-2); }

.b--cyan-3 { border-color: var(--cyan-3); }

.b--cyan-4 { border-color: var(--cyan-4); }

.b--cyan-5 { border-color: var(--cyan-5); }

.b--cyan-6 { border-color: var(--cyan-6); }

.b--cyan-7 { border-color: var(--cyan-7); }

.b--cyan-8 { border-color: var(--cyan-8); }

.b--cyan-9 { border-color: var(--cyan-9); }

.b--cyan-10 { border-color: var(--cyan-10); }

.b--cyan-11 { border-color: var(--cyan-11); }

/*

   BORDER RADIUS
   Docs: http://tachyons.io/docs/themes/border-radius/
   Interactive examples: https://components.ai/u/system/cl7crcjia022509masfvq73ny/cl7ztbozs1650909l6rllmvpko

   Base:
     br   = border-radius

   Modifiers:
     0    = 0/none
     1    = 1st step in scale
     2    = 2nd step in scale
     3    = 3rd step in scale
     4    = 4th step in scale
     5    = 5th step in scale
     6    = 6th step in scale

   Literal values:
     -100 = 100%
     -pill = 9999px

   Media Query Extensions:
     -n = small
     -m  = medium
     -l  = large

*/

.br-primary  {        border-radius: var(--border-radius, 6px); }

.br0 {        border-radius: var(--border-radius-0, 0); }

.br1 {        border-radius: var(--border-radius-1, 4px); }

.br2 {        border-radius: var(--border-radius-2, 6px); }

.br3 {        border-radius: var(--border-radius-3, 8px); }

.br4 {        border-radius: var(--border-radius-4, 12px); }

.br5 {        border-radius: var(--border-radius-5, 16px); }

.br6 {        border-radius: var(--border-radius-6, 20px); }

.br7 {        border-radius: var(--border-radius-7, 24px); }

.br8 {        border-radius: var(--border-radius-8, 32px); }

.br9 {        border-radius: var(--border-radius-9, 48px); }

.br10 {        border-radius: var(--border-radius-10, 64px); }

.br11 {        border-radius: var(--border-radius-11, 9999px); }

.br--bottom {
      border-top-left-radius: 0;
      border-top-right-radius: 0;
  }

.br--top {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
  }

.br--right {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
  }

.br--left {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
  }

.br-inherit { border-radius: inherit; }

.br-initial { border-radius: initial; }

.br-unset { border-radius: unset; }

@container (min-width:30em) {
  .br-primary-s  {          border-radius: var(--border-radius, 6px); }
  .br0-s {        border-radius: var(--border-radius-0, 0); }
  .br1-s {        border-radius: var(--border-radius-1, 4px); }
  .br2-s {        border-radius: var(--border-radius-2, 6px); }
  .br3-s {        border-radius: var(--border-radius-3, 8px); }
  .br4-s {        border-radius: var(--border-radius-4, 12px); }
  .br5-s {        border-radius: var(--border-radius-5, 16px); }
  .br6-s {        border-radius: var(--border-radius-6, 20px); }
  .br7-s {        border-radius: var(--border-radius-7, 24px); }
  .br8-s {        border-radius: var(--border-radius-8, 32px); }
  .br9-s {        border-radius: var(--border-radius-9, 48px); }
  .br10-s {       border-radius: var(--border-radius-10, 64px); }
  .br11-s {    border-radius: var(--border-radius-11, 9999px); }
  .br--bottom-s {
      border-top-left-radius: 0;
      border-top-right-radius: 0;
  }
  .br--top-s {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
  }
  .br--right-s {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
  }
  .br--left-s {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
  }
  .br-inherit-s { border-radius: inherit; }
  .br-initial-s { border-radius: initial; }
  .br-unset-s { border-radius: unset; }
}

@container (min-width:48em) {
  .br-primary-m  {        border-radius: var(--border-radius, 6px); }
  .br0-m {        border-radius: var(--border-radius-0, 0); }
  .br1-m {        border-radius: var(--border-radius-1, 4px); }
  .br2-m {        border-radius: var(--border-radius-2, 6px); }
  .br3-m {        border-radius: var(--border-radius-3, 8px); }
  .br4-m {        border-radius: var(--border-radius-4, 12px); }
  .br5-m {        border-radius: var(--border-radius-5, 16px); }
  .br6-m {        border-radius: var(--border-radius-6, 20px); }
  .br7-m {        border-radius: var(--border-radius-7, 24px); }
  .br8-m {        border-radius: var(--border-radius-8, 32px); }
  .br9-m {        border-radius: var(--border-radius-9, 48px); }
  .br10-m {       border-radius: var(--border-radius-10, 64px); }
  .br11-m {    border-radius: var(--border-radius-11, 9999px); }
  .br--bottom-m {
      border-top-left-radius: 0;
      border-top-right-radius: 0;
  }
  .br--top-m {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
  }
  .br--right-m {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
  }
  .br--left-m {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
  }
  .br-inherit-m { border-radius: inherit; }
  .br-initial-m { border-radius: initial; }
  .br-unset-m { border-radius: unset; }
}

@container (min-width:64em) {
  .br-primary-l { border-radius: var(--border-radius, 6px); }
  .br0-l {        border-radius: var(--border-radius-0, 0); }
  .br1-l {        border-radius: var(--border-radius-1, 4px); }
  .br2-l {        border-radius: var(--border-radius-2, 6px); }
  .br3-l {        border-radius: var(--border-radius-3, 8px); }
  .br4-l {        border-radius: var(--border-radius-4, 12px); }
  .br5-l {        border-radius: var(--border-radius-5, 16px); }
  .br6-l {        border-radius: var(--border-radius-6, 20px); }
  .br7-l {        border-radius: var(--border-radius-7, 24px); }
  .br8-l {        border-radius: var(--border-radius-8, 32px); }
  .br9-l {        border-radius: var(--border-radius-9, 48px); }
  .br10-l {       border-radius: var(--border-radius-10, 64px); }
  .br11-l {       border-radius: var(--border-radius-11, 9999px); }
  .br--bottom-l {
      border-top-left-radius: 0;
      border-top-right-radius: 0;
  }
  .br--top-l {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
  }
  .br--right-l {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
  }
  .br--left-l {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
  }
  .br-inherit-l { border-radius: inherit; }
  .br-initial-l { border-radius: initial; }
  .br-unset-l { border-radius: unset; }
}

/*

   BORDER STYLES
   Docs: http://tachyons.io/docs/themes/borders/

   Depends on base border module in _borders.css

   Base:
     b = border-style

   Modifiers:
     --none   = none
     --dotted = dotted
     --dashed = dashed
     --solid  = solid

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

 */

.b--dotted { border-style: dotted; }

.b--dashed { border-style: dashed; }

.b--solid {  border-style: solid; }

.b--none {   border-style: none; }

@container (min-width:30em) {
  .b--dotted-s { border-style: dotted; }
  .b--dashed-s { border-style: dashed; }
  .b--solid-s {  border-style: solid; }
  .b--none-s {   border-style: none; }
}

@container (min-width:48em) {
  .b--dotted-m { border-style: dotted; }
  .b--dashed-m { border-style: dashed; }
  .b--solid-m {  border-style: solid; }
  .b--none-m {   border-style: none; }
}

@container (min-width:64em) {
  .b--dotted-l { border-style: dotted; }
  .b--dashed-l { border-style: dashed; }
  .b--solid-l {  border-style: solid; }
  .b--none-l {   border-style: none; }
}

/*

   BORDER WIDTHS
   Docs: http://tachyons.io/docs/themes/borders/

   Base:
     bw = border-width

   Modifiers:
     0 = 0 width border
     1 = 1st step in border-width scale
     2 = 2nd step in border-width scale
     3 = 3rd step in border-width scale
     4 = 4th step in border-width scale
     5 = 5th step in border-width scale

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.bw  { border-width: var(--border-width,1px); }

.bw0 { border-width: var(--border-width-0,0); }

.bw1 { border-width: var(--border-width-1,1px); }

.bw2 { border-width: var(--border-width-2,2px); }

.bw3 { border-width: var(--border-width-3,4px); }

.bw4 { border-width: var(--border-width-4,8px); }

.bw5 { border-width: var(--border-width-5,16px); }

/* Resets */

.bt-0 { border-top-width: 0; }

.br-0 { border-right-width: 0; }

.bb-0 { border-bottom-width: 0; }

.bl-0 { border-left-width: 0; }

@container (min-width:30em) {
  .bw-s  { border-width: var(--border-width,1px); }
  .bw0-s { border-width: var(--border-width-0,0); }
  .bw1-s { border-width: var(--border-width-1,1px); }
  .bw2-s { border-width: var(--border-width-2,2px); }
  .bw3-s { border-width: var(--border-width-3,4px); }
  .bw4-s { border-width: var(--border-width-4,8px); }
  .bw5-s { border-width: var(--border-width-5,16px); }
  .bt-0-s { border-top-width: 0; }
  .br-0-s { border-right-width: 0; }
  .bb-0-s { border-bottom-width: 0; }
  .bl-0-s { border-left-width: 0; }
}

@container (min-width:48em) {
  .bw-m  { border-width: var(--border-width,1px); }
  .bw0-m { border-width: var(--border-width-0,0); }
  .bw1-m { border-width: var(--border-width-1,1px); }
  .bw2-m { border-width: var(--border-width-2,2px); }
  .bw3-m { border-width: var(--border-width-3,4px); }
  .bw4-m { border-width: var(--border-width-4,8px); }
  .bw5-m { border-width: var(--border-width-5,16px); }
  .bt-0-m { border-top-width: 0; }
  .br-0-m { border-right-width: 0; }
  .bb-0-m { border-bottom-width: 0; }
  .bl-0-m { border-left-width: 0; }
}

@container (min-width:64em) {
  .bw-l  { border-width: var(--border-width,1px); }
  .bw0-l { border-width: var(--border-width-0,0); }
  .bw1-l { border-width: var(--border-width-1,1px); }
  .bw2-l { border-width: var(--border-width-2,2px); }
  .bw3-l { border-width: var(--border-width-3,4px); }
  .bw4-l { border-width: var(--border-width-4,8px); }
  .bw5-l { border-width: var(--border-width-5,16px); }
  .bt-0-l { border-top-width: 0; }
  .br-0-l { border-right-width: 0; }
  .bb-0-l { border-bottom-width: 0; }
  .bl-0-l { border-left-width: 0; }
}

/*

  BOX-SHADOW
  Docs: http://tachyons.io/docs/themes/box-shadow/

  REF
  Layered shadows: https://tobiasahlin.com/blog/layered-smooth-box-shadows/

  Media Query Extensions:
   -s = small
   -m  = medium
   -l  = large

 */

.shadow { 
  box-shadow: var(--shadow, inset 0 0 1px 0 rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .5))); 
}

.shadow-hover:hover,
.shadow-hover:focus { 
  --shadow-opacity: .6;
}

/* 
 * TODO: potential pattern 
  .shadow-hover:hover {
    --shadow-opacity: .09;
    --shadow-x: 1px;
    --shadow-y: 1px;
    --shadow-blur: 1px;
    --shadow-spread: 1px;
    --shadow-multiplier: 2;
  }
*/

/* Box shadow based borders */

.shadow-border-1 { box-shadow: inset 0 0 var(--shadow-border-width, 1px) 0 rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .125)); }

.shadow-border-2 { box-shadow: inset 0 0 var(--shadow-border-width, 1px) 0 rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .25)); }

.shadow-border-3 { box-shadow: inset 0 0 var(--shadow-border-width) 0 currentColor; }

.shadow-border-4 { box-shadow: inset 0 0 2px 0 rgb(var(--shadow-color-light, 255 255 255) / var(--shadow-opacity, .125)); }

.shadow-border-5 { box-shadow: inset 0 0 2px 0 rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .125))}

.shadow-border-6 { box-shadow: inset 0 0 2px 0 currentColor; }

.shadow-1 { 
  box-shadow: 
    0 1px 1px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .125)), 
    0 2px 2px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .125)), 
    0 4px 4px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .125)), 
    0 8px 8px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .125)), 
    0 16px 16px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .125)); 
}

.shadow-2 {  
  box-shadow: 
    0 1px 1px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .125)), 
    0 2px 2px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .125)), 
    0 4px 4px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .125)), 
    0 8px 8px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .125)); 
}

.shadow-3 {  
  --shadow-opacity: .11;
  box-shadow: 
    0 1px 1px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .11)),
    0 2px 2px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .11)),
    0 4px 4px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .11)),
    0 8px 8px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .11)),
    0 16px 16px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .11)), 
    0 32px 32px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, .11)); 
}

.shadow-4 {  
  --shadow-opacity: .05;
  box-shadow: 
    0 1px 1px rgb(var(--shadow-color, 0 0 0) / calc(var(--shadow-opacity, 0.25) * 5)), 
    0 2px 2px rgb(var(--shadow-color, 0 0 0) / calc(var(--shadow-opacity, 0.20) * 4)),
    0 4px 4px rgb(var(--shadow-color, 0 0 0) / calc(var(--shadow-opacity, 0.15) * 3)), 
    0 8px 8px rgb(var(--shadow-color, 0 0 0) / calc(var(--shadow-opacity, 0.10) * 2)), 
    0 16px 16px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, 0.05)); 
}

.shadow-5 {  
  --shadow-opacity: .08;
  box-shadow: 
    0 var(--shadow-y) 1px rgb(var(--shadow-color, 0 0 0) / calc(var(--shadow-opacity, 0.08) * 1)), 
    0 calc(var(--shadow-y) * 2) 2px rgb(var(--shadow-color, 0 0 0) / calc(var(--shadow-opacity, 0.12) * 1.5)), 
    0 calc(var(--shadow-y) * 4) 4px rgb(var(--shadow-color, 0 0 0) / calc(var(--shadow-opacity, 0.16) * 2)), 
    0 calc(var(--shadow-y) * 8) 8px rgb(var(--shadow-color, 0 0 0) / calc(var(--shadow-opacity, 0.20) * 2.5)); 
}

.shadow-6 {  
  --shadow-opacity: .07;
  box-shadow: 
    0 1px 2px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, 0.7)), 
    0 2px 4px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, 0.7)), 
    0 4px 8px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, 0.7)), 
    0 8px 16px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, 0.7)), 
    0 16px 32px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, 0.7)), 
    0 32px 64px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, 0.7)); 
}

.shadow-7 {  
  --shadow-opacity: .11;
  box-shadow: 
    0 1px 1px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, 0.11)), 
    0 2px 2px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, 0.11)), 
    0 4px 4px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, 0.11)), 
    0 6px 8px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, 0.11)), 
    0 8px 16px rgb(var(--shadow-color, 0 0 0) / var(--shadow-opacity, 0.11)); 
}

.shadow-8 {  
  --shadow-opacity: .09;
  box-shadow: 
    0 2px 1px rgb(var(--shadow-color, 0 0 0) / 0.09), 
    0 4px 2px rgb(var(--shadow-color, 0 0 0) / 0.09), 
    0 8px 4px rgb(var(--shadow-color, 0 0 0) / 0.09), 
    0 16px 8px rgb(var(--shadow-color, 0 0 0) / 0.09), 
    0 32px 16px rgb(var(--shadow-color, 0 0 0) / 0.09); 
}

/*

  TEXT-SHADOW
  Docs: http://tachyons.io/docs/themes/text-shadow/

  Media Query Extensions:
   -s = small
   -m  = medium
   -l  = large

 */

.text-shadow-1 { text-shadow: rgb(var(--shadow-color)) -4px 4px 0px; }

.text-shadow-2 { text-shadow: rgb(var(--shadow-color)) -8px 8px 0px; }

.text-shadow-3 { text-shadow: rgb(var(--shadow-color) / var(--shadow-opacity ,.5)) -8px 8px 0px; }

.text-shadow-4 { text-shadow: rgba(var(--shadow-color) / var(--shadow-opacity, .5)) -4px 4px 8px; }

.text-shadow-5 { text-shadow: rgb(var(--shadow-color)) 2px 0px 0px, rgb(var(--shadow-color)) 0px 2px 0px, rgb(var(--shadow-color)) -2px 0px 0px, rgb(var(--shadow-color)) 0px -2px 0px, rgb(var(--shadow-color)) -2px -2px 0px, rgb(var(--shadow-color)) 2px -2px 0px, rgb(var(--shadow-color)) 2px 2px 0px, rgb(var(--shadow-color)) -2px 2px 0px; }

.text-shadow-6 { text-shadow: rgb(var(--shadow-color-invert)) 2px 0px 0px, rgb(var(--shadow-color-invert)) 0px 2px 0px, rgb(var(--shadow-color-invert)) -2px 0px 0px, rgb(var(--shadow-color-invert)) 0px -2px 0px, rgb(var(--shadow-color-invert)) -2px -2px 0px, rgb(var(--shadow-color-invert)) 2px -2px 0px, rgb(var(--shadow-color-invert)) 2px 2px 0px, rgb(var(--shadow-color-invert)) -2px 2px 0px; }

@container (min-width:30em) {

}

@container (min-width:48em) {

}

@container (min-width:64em) {

}

/*

   CODE

*/

.pre {
  max-width: 100%; 
  overflow:   auto;
}

/*

   COORDINATES
   Docs: http://tachyons.io/docs/layout/position/

   Use in combination with the position module.

   Base:
     top
     bottom
     right
     left

   Modifiers:
     -0  = literal value 0
     -1  = literal value 1
     -2  = literal value 2
     --1 = literal value -1
     --2 = literal value -2

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.top-0    { top:    0; }

.right-0  { right:  0; }

.bottom-0 { bottom: 0; }

.left-0   { left:   0; }

.top-1    { top:    var(--size, 1rem); }

.right-1  { right:  var(--size, 1rem); }

.bottom-1 { bottom: var(--size, 1rem); }

.left-1   { left:   var(--size, 1rem); }

.top-2    { top:    calc(var(--size, 1rem) * 2); }

.right-2  { right:  calc(var(--size, 1rem) * 2); }

.bottom-2 { bottom: calc(var(--size, 1rem) * 2); }

.left-2   { left:   calc(var(--size, 1rem) * 2); }

.top--1    { top:    calc(var(--size, 1rem) * -1); }

.right--1  { right:  calc(var(--size, 1rem) * -1); }

.bottom--1 { bottom: calc(var(--size, 1rem) * -1); }

.left--1   { left:   calc(var(--size, 1rem) * -1); }

.top--2    { top:    calc(var(--size, 1rem) * -2); }

.right--2  { right:  calc(var(--size, 1rem) * -2); }

.bottom--2 { bottom: calc(var(--size, 1rem) * -2); }

.left--2   { left:   calc(var(--size, 1rem) * -2); }

.inset-0 { inset: 0; }

@container (min-width:30em) {
  .top-0-s     { top:   0; }
  .left-0-s    { left:  0; }
  .right-0-s   { right: 0; }
  .bottom-0-s  { bottom: 0; }
  .top-1-s     { top:    var(--size, 1rem); }
  .left-1-s    { left:   var(--size, 1rem); }
  .right-1-s   { right:  var(--size, 1rem); }
  .bottom-1-s  { bottom: var(--size, 1rem); }
  .top-2-s     { top:    calc(var(--size, 1rem) * 2); }
  .left-2-s    { left:   calc(var(--size, 1rem) * 2); }
  .right-2-s   { right:  calc(var(--size, 1rem) * 2); }
  .bottom-2-s  { bottom: calc(var(--size, 1rem) * 2); }
  .top--1-s    { top:    calc(var(--size, 1rem) * -1); }
  .right--1-s  { right:  calc(var(--size, 1rem) * -1); }
  .bottom--1-s { bottom: calc(var(--size, 1rem) * -1); }
  .left--1-s   { left:   calc(var(--size, 1rem) * -1); }
  .top--2-s    { top:    calc(var(--size, 1rem) * -2); }
  .right--2-s  { right:  calc(var(--size, 1rem) * -2); }
  .bottom--2-s { bottom: calc(var(--size, 1rem) * -2); }
  .left--2-s   { left:   calc(var(--size, 1rem) * -2); }
  .inset-0-s { inset: 0; }
}

@container (min-width:48em) {
  .top-0-m     { top:   0; }
  .left-0-m    { left:  0; }
  .right-0-m   { right: 0; }
  .bottom-0-m  { bottom: 0; }
  .top-1-m     { top:    var(--size, 1rem); }
  .left-1-m    { left:   var(--size, 1rem); }
  .right-1-m   { right:  var(--size, 1rem); }
  .bottom-1-m  { bottom: var(--size, 1rem); }
  .top-2-m     { top:    calc(var(--size, 1rem) * 2); }
  .left-2-m    { left:   calc(var(--size, 1rem) * 2); }
  .right-2-m   { right:  calc(var(--size, 1rem) * 2); }
  .bottom-2-m  { bottom: calc(var(--size, 1rem) * 2); }
  .top--1-m    { top:    calc(var(--size, 1rem) * -1); }
  .right--1-m  { right:  calc(var(--size, 1rem) * -1); }
  .bottom--1-m { bottom: calc(var(--size, 1rem) * -1); }
  .left--1-m   { left:   calc(var(--size, 1rem) * -1); }
  .top--2-m    { top:    calc(var(--size, 1rem) * -2); }
  .right--2-m  { right:  calc(var(--size, 1rem) * -2); }
  .bottom--2-m { bottom: calc(var(--size, 1rem) * -2); }
  .left--2-m   { left:   calc(var(--size, 1rem) * -2); }
  .inset-0-m { inset: 0; }
}

@container (min-width:64em) {
  .top-0-l     { top:   0; }
  .left-0-l    { left:  0; }
  .right-0-l   { right: 0; }
  .bottom-0-l  { bottom: 0; }
  .top-1-l     { top:    var(--size, 1rem); }
  .left-1-l    { left:   var(--size, 1rem); }
  .right-1-l   { right:  var(--size, 1rem); }
  .bottom-1-l  { bottom: var(--size, 1rem); }
  .top-2-l     { top:    calc(var(--size, 1rem) * 2); }
  .left-2-l    { left:   calc(var(--size, 1rem) * 2); }
  .right-2-l   { right:  calc(var(--size, 1rem) * 2); }
  .bottom-2-l  { bottom: calc(var(--size, 1rem) * 2); }
  .top--1-l    { top:    calc(var(--size, 1rem) * -1); }
  .right--1-l  { right:  calc(var(--size, 1rem) * -1); }
  .bottom--1-l { bottom: calc(var(--size, 1rem) * -1); }
  .left--1-l   { left:   calc(var(--size, 1rem) * -1); }
  .top--2-l    { top:    calc(var(--size, 1rem) * -2); }
  .right--2-l  { right:  calc(var(--size, 1rem) * -2); }
  .bottom--2-l { bottom: calc(var(--size, 1rem) * -2); }
  .left--2-l   { left:   calc(var(--size, 1rem) * -2); }
  .inset-0-l { inset: 0; }
}

/*

   CLEARFIX
   http://tachyons.io/docs/layout/clearfix/

*/

/* Nicolas Gallaghers Clearfix solution
   Ref: http://nicolasgallagher.com/micro-clearfix-hack/ */

.cf:before,
.cf:after { content: " "; display: table; }

.cf:after { clear: both; }

.cl { clear: left; }

.cr { clear: right; }

.cb { clear: both; }

.cn { clear: none; }

/*

   DISPLAY
   Docs: http://tachyons.io/docs/layout/display

   Base:
    d = display

   Modifiers:
    n     = none
    b     = block
    ib    = inline-block
    if    = inline-flex
    ig    = inline-grid
    f    = flex
    g    = grid

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.dn {                display: none; }

.di {                display: inline; }

.db {                display: block; }

.dib {               display: inline-block; }

.df, .flex {         display: flex; }

.dif, .inline-flex { display: inline-flex; }

.dg,
.grid {
  display: grid;
}

.dig,
.inline-grid {
  display: inline-grid;
}

@container (min-width:30em) {
  .dn-s {                display: none; }
  .di-s {                display: inline; }
  .db-s {                display: block; }
  .dib-s {               display: inline-block; }
  .df-s, .flex-s {         display: flex; }
  .dif-s, .inline-flex-s { display: inline-flex; }
  .dg-s,
  .grid-s {
    display: grid;
  }

  .dig-s,
  .inline-grid-s {
    display: inline-grid;
  }
}

@container (min-width:48em) {

  .dn-m {                display: none; }
  .di-m {                display: inline; }
  .db-m {                display: block; }
  .dib-m {               display: inline-block; }
  .df-m, .flex-m {         display: flex; }
  .dif-m, .inline-flex-m { display: inline-flex; }
  .dg-m,
  .grid-m {
    display: grid;
  }

  .dig-m,
  .inline-grid-m {
    display: inline-grid;
  }
}

@container (min-width:64em) {
  .dn-l {                display: none; }
  .di-l {                display: inline; }
  .db-l {                display: block; }
  .dib-l {               display: inline-block; }
  .df-l, .flex-l {         display: flex; }
  .dif-l, .inline-flex-l { display: inline-flex; }
  .dg-l,
  .grid-l {
    display: grid;
  }

  .dig-l,
  .inline-grid-l {
    display: inline-grid;
  }
}

.glass1 {
  background: rgba(255, 255, 255, 0);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass2 {
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass3 {
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass4 {
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass5 {
  background: rgba(255, 255, 255, 0);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass6 {
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass7 {
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass8 {
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass9 {
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass10 {
  background: rgba(255, 255, 255, 0);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass1-hover:hover {
  background: rgba(255, 255, 255, 0);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass2-hover:hover {
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass3-hover:hover {
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass4-hover:hover {
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass5-hover:hover {
  background: rgba(255, 255, 255, 0);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass6-hover:hover {
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass7-hover:hover {
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass8-hover:hover {
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass9-hover:hover {
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass10-hover:hover {
  background: rgba(255, 255, 255, 0);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass1-focus:focus {
  background: rgba(255, 255, 255, 0);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass2-focus:focus {
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass3-focus:focus {
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass4-focus:focus {
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass5-focus:focus {
  background: rgba(255, 255, 255, 0);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass6-focus:focus {
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass7-focus:focus {
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass8-focus:focus {
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass9-focus:focus {
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.glass10-focus:focus {
  background: rgba(255, 255, 255, 0);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

/*
   GAP: GRID AND FLEX SPACING
   Docs: http://tachyons.io/docs/layout/gap/

   Base:
     g = gap


   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.g0 { gap: var(--spacing-0, 0); }

.g1 { gap: var(--spacing-1, 4px); }

.g2 { gap: var(--spacing-2, 8px); }

.g3 { gap: var(--spacing-3, 16px); }

.g4 { gap: var(--spacing-4, 32px); }

.g5 { gap: var(--spacing-5, 64px); }

.g6 { gap: var(--spacing-6, 128px); }

.g7 { gap: var(--spacing-7, 256px); }

@container (min-width:30em) {
  .g0-s { gap: var(--spacing-0, 0); }
  .g1-s { gap: var(--spacing-1, 4px); }
  .g2-s { gap: var(--spacing-2, 8px); }
  .g3-s { gap: var(--spacing-3, 16px); }
  .g4-s { gap: var(--spacing-4, 32px); }
  .g5-s { gap: var(--spacing-5, 64px); }
  .g6-s { gap: var(--spacing-6, 128px); }
  .g7-s { gap: var(--spacing-7, 256px); }
}

@container (min-width:48em) {
  .g0-m { gap: var(--spacing-0, 0); }
  .g1-m { gap: var(--spacing-1, 4px); }
  .g2-m { gap: var(--spacing-2, 8px); }
  .g3-m { gap: var(--spacing-3, 16px); }
  .g4-m { gap: var(--spacing-4, 32px); }
  .g5-m { gap: var(--spacing-5, 64px); }
  .g6-m { gap: var(--spacing-6, 128px); }
  .g7-m { gap: var(--spacing-7, 256px); }
}

@container (min-width:64em) {
  .g0-l { gap: var(--spacing-0); }
  .g1-l { gap: var(--spacing-1); }
  .g2-l { gap: var(--spacing-2); }
  .g3-l { gap: var(--spacing-3); }
  .g4-l { gap: var(--spacing-4); }
  .g5-l { gap: var(--spacing-5); }
  .g6-l { gap: var(--spacing-6); }
  .g7-l { gap: var(--spacing-7); }
}

/*
   GAP: GRID AND FLEX SPACING
   Docs: http://tachyons.io/docs/layout/gap/

   Base:
     g = gap


   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.column-gap-0 { column-gap: var(--spacing-0, 0); }

.column-gap-1 { column-gap: var(--spacing-1, 4px); }

.column-gap-2 { column-gap: var(--spacing-2, 8px); }

.column-gap-3 { column-gap: var(--spacing-3, 16px); }

.column-gap-4 { column-gap: var(--spacing-4, 32px); }

.column-gap-5 { column-gap: var(--spacing-5, 64px); }

.column-gap-6 { column-gap: var(--spacing-6, 128px); }

.column-gap-7 { column-gap: var(--spacing-7, 256px); }

@container (min-width:30em) {
  .column-gap-0-s { column-gap: var(--spacing-0, 0); }
  .column-gap-1-s { column-gap: var(--spacing-1, 4px); }
  .column-gap-2-s { column-gap: var(--spacing-2, 8px); }
  .column-gap-3-s { column-gap: var(--spacing-3, 16px); }
  .column-gap-4-s { column-gap: var(--spacing-4, 32px); }
  .column-gap-5-s { column-gap: var(--spacing-5, 64px); }
  .column-gap-6-s { column-gap: var(--spacing-6, 128px); }
  .column-gap-7-s { column-gap: var(--spacing-7, 256px); }
}

@container (min-width:48em) {
  .column-gap-0-m { column-gap: var(--spacing-0, 0); }
  .column-gap-1-m { column-gap: var(--spacing-1, 4px); }
  .column-gap-2-m { column-gap: var(--spacing-2, 8px); }
  .column-gap-3-m { column-gap: var(--spacing-3, 16px); }
  .column-gap-4-m { column-gap: var(--spacing-4, 32px); }
  .column-gap-5-m { column-gap: var(--spacing-5, 64px); }
  .column-gap-6-m { column-gap: var(--spacing-6, 128px); }
  .column-gap-7-m { column-gap: var(--spacing-7, 256px); }
}

@container (min-width:64em) {
  .column-gap-0-l { column-gap: var(--spacing-0); }
  .column-gap-1-l { column-gap: var(--spacing-1); }
  .column-gap-2-l { column-gap: var(--spacing-2); }
  .column-gap-3-l { column-gap: var(--spacing-3); }
  .column-gap-4-l { column-gap: var(--spacing-4); }
  .column-gap-5-l { column-gap: var(--spacing-5); }
  .column-gap-6-l { column-gap: var(--spacing-6); }
  .column-gap-7-l { column-gap: var(--spacing-7); }
}

/*
   GAP: GRID AND FLEX SPACING
   Docs: http://tachyons.io/docs/layout/gap/

   Base:
     g = gap


   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.row-gap-0 { row-gap: var(--spacing-0, 0); }

.row-gap-1 { row-gap: var(--spacing-1, 4px); }

.row-gap-2 { row-gap: var(--spacing-2, 8px); }

.row-gap-3 { row-gap: var(--spacing-3, 16px); }

.row-gap-4 { row-gap: var(--spacing-4, 32px); }

.row-gap-5 { row-gap: var(--spacing-5, 64px); }

.row-gap-6 { row-gap: var(--spacing-6, 128px); }

.row-gap-7 { row-gap: var(--spacing-7, 256px); }

@container (min-width:30em) {
  .row-gap-0-s { row-gap: var(--spacing-0, 0); }
  .row-gap-1-s { row-gap: var(--spacing-1, 4px); }
  .row-gap-2-s { row-gap: var(--spacing-2, 8px); }
  .row-gap-3-s { row-gap: var(--spacing-3, 16px); }
  .row-gap-4-s { row-gap: var(--spacing-4, 32px); }
  .row-gap-5-s { row-gap: var(--spacing-5, 64px); }
  .row-gap-6-s { row-gap: var(--spacing-6, 128px); }
  .row-gap-7-s { row-gap: var(--spacing-7, 256px); }
}

@container (min-width:48em) {
  .row-gap-0-m { row-gap: var(--spacing-0, 0); }
  .row-gap-1-m { row-gap: var(--spacing-1, 4px); }
  .row-gap-2-m { row-gap: var(--spacing-2, 8px); }
  .row-gap-3-m { row-gap: var(--spacing-3, 16px); }
  .row-gap-4-m { row-gap: var(--spacing-4, 32px); }
  .row-gap-5-m { row-gap: var(--spacing-5, 64px); }
  .row-gap-6-m { row-gap: var(--spacing-6, 128px); }
  .row-gap-7-m { row-gap: var(--spacing-7, 256px); }
}

@container (min-width:64em) {
  .row-gap-0-l { row-gap: var(--spacing-0); }
  .row-gap-1-l { row-gap: var(--spacing-1); }
  .row-gap-2-l { row-gap: var(--spacing-2); }
  .row-gap-3-l { row-gap: var(--spacing-3); }
  .row-gap-4-l { row-gap: var(--spacing-4); }
  .row-gap-5-l { row-gap: var(--spacing-5); }
  .row-gap-6-l { row-gap: var(--spacing-6); }
  .row-gap-7-l { row-gap: var(--spacing-7); }
}

/*

  Grid Template Columns
  Docs: http://tachyons.io/docs/layout/grid-template-columns/

  Base: 
  cols = columns

*/

.cols-1  { grid-template-columns: repeat(1, 1fr) }

.cols-2  { grid-template-columns: repeat(2, 1fr) }

.cols-3  { grid-template-columns: repeat(3, 1fr) }

.cols-4  { grid-template-columns: repeat(4, 1fr) }

.cols-5  { grid-template-columns: repeat(5, 1fr) }

.cols-6  { grid-template-columns: repeat(6, 1fr) }

.cols-7  { grid-template-columns: repeat(7, 1fr) }

.cols-8  { grid-template-columns: repeat(8, 1fr) }

.cols-9  { grid-template-columns: repeat(9, 1fr) }

.cols-10 { grid-template-columns: repeat(10, 1fr) }

.cols-11 { grid-template-columns: repeat(11, 1fr) }

.cols-12 { grid-template-columns: repeat(12, 1fr) }

.cols-13 { grid-template-columns: repeat(13, 1fr) }

.cols-14 { grid-template-columns: repeat(14, 1fr) }

.cols-15 { grid-template-columns: repeat(15, 1fr) }

.cols-16 { grid-template-columns: repeat(16, 1fr) }

.cols-min-32 { grid-template-columns: repeat(auto-fill, minmax( 32px, 1fr )); }

.cols-min-64 { grid-template-columns: repeat(auto-fill, minmax( 64px, 1fr )); }

.cols-min-128 { grid-template-columns: repeat(auto-fill, minmax( 128px, 1fr )); }

.cols-min-192 { grid-template-columns: repeat(auto-fill, minmax( 192px, 1fr )); }

.cols-min-240 { grid-template-columns: repeat(auto-fill, minmax( 240px, 1fr )); }

.cols-min-256 { grid-template-columns: repeat(auto-fill, minmax( 256px, 1fr )); }

.cols-min-320 { grid-template-columns: repeat(auto-fill, minmax( 320px, 1fr )); }

.cols-min-480 { grid-template-columns: repeat(auto-fill, minmax( 480px, 1fr )); }

.masonry { grid-template-columns: masonry }

.subgrid { grid-template-columns: subgrid }

.cols-none { grid-template-columns: none }

@container (min-width:30em) {
  .cols-1-s  { grid-template-columns: repeat(1, 1fr) }
  .cols-2-s  { grid-template-columns: repeat(2, 1fr) }
  .cols-3-s  { grid-template-columns: repeat(3, 1fr) }
  .cols-4-s  { grid-template-columns: repeat(4, 1fr) }
  .cols-5-s  { grid-template-columns: repeat(5, 1fr) }
  .cols-6-s  { grid-template-columns: repeat(6, 1fr) }
  .cols-7-s  { grid-template-columns: repeat(7, 1fr) }
  .cols-8-s  { grid-template-columns: repeat(8, 1fr) }
  .cols-9-s  { grid-template-columns: repeat(9, 1fr) }
  .cols-10-s { grid-template-columns: repeat(10, 1fr) }
  .cols-11-s { grid-template-columns: repeat(11, 1fr) }
  .cols-12-s { grid-template-columns: repeat(12, 1fr) }
  .cols-13-s { grid-template-columns: repeat(13, 1fr) }
  .cols-14-s { grid-template-columns: repeat(14, 1fr) }
  .cols-15-s { grid-template-columns: repeat(15, 1fr) }
  .cols-16-s { grid-template-columns: repeat(16, 1fr) }

  .cols-min-32-s { grid-template-columns: repeat(auto-fill, minmax( 64px, 1fr )); }
  .cols-min-64-s { grid-template-columns: repeat(auto-fill, minmax( 64px, 1fr )); }
  .cols-min-128-s { grid-template-columns: repeat(auto-fill, minmax( 128px, 1fr )); }
  .cols-min-192-s { grid-template-columns: repeat(auto-fill, minmax( 192px, 1fr )); }
  .cols-min-240-s { grid-template-columns: repeat(auto-fill, minmax( 240px, 1fr )); }
  .cols-min-256-s { grid-template-columns: repeat(auto-fill, minmax( 256px, 1fr )); }
  .cols-min-320-s { grid-template-columns: repeat(auto-fill, minmax( 320px, 1fr )); }
  .cols-min-480-s { grid-template-columns: repeat(auto-fill, minmax( 480px, 1fr )); }

  .masonry-s { grid-template-columns: masonry }
  .subgrid-s { grid-template-columns: subgrid }
  .cols-none-s { grid-template-columns: none }
}

@container (min-width:48em) {
  .cols-1-m  { grid-template-columns: repeat(1, 1fr) }
  .cols-2-m  { grid-template-columns: repeat(2, 1fr) }
  .cols-3-m  { grid-template-columns: repeat(3, 1fr) }
  .cols-4-m  { grid-template-columns: repeat(4, 1fr) }
  .cols-5-m  { grid-template-columns: repeat(5, 1fr) }
  .cols-6-m  { grid-template-columns: repeat(6, 1fr) }
  .cols-7-m  { grid-template-columns: repeat(7, 1fr) }
  .cols-8-m  { grid-template-columns: repeat(8, 1fr) }
  .cols-9-m  { grid-template-columns: repeat(9, 1fr) }
  .cols-10-m { grid-template-columns: repeat(10, 1fr) }
  .cols-11-m { grid-template-columns: repeat(11, 1fr) }
  .cols-12-m { grid-template-columns: repeat(12, 1fr) }
  .cols-13-m { grid-template-columns: repeat(13, 1fr) }
  .cols-14-m { grid-template-columns: repeat(14, 1fr) }
  .cols-15-m { grid-template-columns: repeat(15, 1fr) }
  .cols-16-m { grid-template-columns: repeat(16, 1fr) }

  .cols-min-64-m { grid-template-columns: repeat(auto-fill, minmax( 64px, 1fr )); }
  .cols-min-128-m { grid-template-columns: repeat(auto-fill, minmax( 128px, 1fr )); }
  .cols-min-192-m { grid-template-columns: repeat(auto-fill, minmax( 192px, 1fr )); }
  .cols-min-240-m { grid-template-columns: repeat(auto-fill, minmax( 240px, 1fr )); }
  .cols-min-256-m { grid-template-columns: repeat(auto-fill, minmax( 256px, 1fr )); }
  .cols-min-320-m { grid-template-columns: repeat(auto-fill, minmax( 320px, 1fr )); }
  .cols-min-480-m { grid-template-columns: repeat(auto-fill, minmax( 480px, 1fr )); }

  .masonry-m { grid-template-columns: masonry }
  .subgrid-m { grid-template-columns: subgrid }
  .cols-none-m { grid-template-columns: none }
}

@container (min-width:64em) {
  .cols-1-l  { grid-template-columns: repeat(1, 1fr) }
  .cols-2-l  { grid-template-columns: repeat(2, 1fr) }
  .cols-3-l  { grid-template-columns: repeat(3, 1fr) }
  .cols-4-l  { grid-template-columns: repeat(4, 1fr) }
  .cols-5-l  { grid-template-columns: repeat(5, 1fr) }
  .cols-6-l  { grid-template-columns: repeat(6, 1fr) }
  .cols-7-l  { grid-template-columns: repeat(7, 1fr) }
  .cols-8-l  { grid-template-columns: repeat(8, 1fr) }
  .cols-9-l  { grid-template-columns: repeat(9, 1fr) }
  .cols-10-l { grid-template-columns: repeat(10, 1fr) }
  .cols-11-l { grid-template-columns: repeat(11, 1fr) }
  .cols-12-l { grid-template-columns: repeat(12, 1fr) }
  .cols-13-l { grid-template-columns: repeat(13, 1fr) }
  .cols-14-l { grid-template-columns: repeat(14, 1fr) }
  .cols-15-l { grid-template-columns: repeat(15, 1fr) }
  .cols-16-l { grid-template-columns: repeat(16, 1fr) }

  .cols-min-64-l { grid-template-columns: repeat(auto-fill, minmax( 64px, 1fr )); }
  .cols-min-128-l { grid-template-columns: repeat(auto-fill, minmax( 128px, 1fr )); }
  .cols-min-192-l { grid-template-columns: repeat(auto-fill, minmax( 192px, 1fr )); }
  .cols-min-240-l { grid-template-columns: repeat(auto-fill, minmax( 240px, 1fr )); }
  .cols-min-256-l { grid-template-columns: repeat(auto-fill, minmax( 256px, 1fr )); }
  .cols-min-320-l { grid-template-columns: repeat(auto-fill, minmax( 320px, 1fr )); }
  .cols-min-480-l { grid-template-columns: repeat(auto-fill, minmax( 480px, 1fr )); }

  .masonry-l { grid-template-columns: masonry }
  .subgrid-l { grid-template-columns: subgrid }
  .cols-none-l { grid-template-columns: none }
}

/*

  Grid Column
  Docs: http://tachyons.io/docs/grid-column

  This sets the width of the element via declaring how many columns wide it should be

  Base: 
  cols = columns

*/

.col-1  { grid-column: span 1 / span 1; }

.col-2  { grid-column: span 2 / span 2; }

.col-3  { grid-column: span 3 / span 3; }

.col-4  { grid-column: span 4 / span 4; }

.col-5  { grid-column: span 5 / span 5; }

.col-6  { grid-column: span 6 / span 6; }

.col-7  { grid-column: span 7 / span 7; }

.col-8  { grid-column: span 8 / span 8; }

.col-9  { grid-column: span 9 / span 9; }

.col-10  { grid-column: span 10 / span 10; }

.col-11  { grid-column: span 11 / span 11; }

.col-12  { grid-column: span 12 / span 12; }

.col-13  { grid-column: span 13 / span 13; }

.col-14  { grid-column: span 14 / span 14; }

.col-15  { grid-column: span 15 / span 15; }

.col-16  { grid-column: span 16 / span 16; }

.col-full  { grid-column: 1 / -1; }

.col-center1  { grid-column: 2 / -2; }

.col-center2  { grid-column: 3 / -3; }

.col-center3  { grid-column: 4 / -4; }

.col-center4  { grid-column: 6 / -6; }

.col-auto  { grid-column: auto; }

.start-1 { grid-column-start: 1; }

.start-2 { grid-column-start: 2; }

.start-3 { grid-column-start: 3; }

.start-4 { grid-column-start: 4; }

.start-5 { grid-column-start: 5; }

.start-6 { grid-column-start: 6; }

.start-7 { grid-column-start: 7; }

.start-8 { grid-column-start: 8; }

.start-9 { grid-column-start: 9; }

.start-10 { grid-column-start: 10; }

.start-11 { grid-column-start: 11; }

.start-12 { grid-column-start: 12; }

.start-13 { grid-column-start: 13; }

.start-14 { grid-column-start: 14; }

.start-15 { grid-column-start: 15; }

.end-1 { grid-column-end: 1; }

.end-2 { grid-column-end: 2; }

.end-3 { grid-column-end: 3; }

.end-4 { grid-column-end: 4; }

.end-5 { grid-column-end: 5; }

.end-6 { grid-column-end: 6; }

.end-7 { grid-column-end: 7; }

.end-8 { grid-column-end: 8; }

.end-9 { grid-column-end: 9; }

.end-10 { grid-column-end: 10; }

.end-11 { grid-column-end: 11; }

.end-12 { grid-column-end: 12; }

.end-13 { grid-column-end: 13; }

.end-14 { grid-column-end: 14; }

.end-15 { grid-column-end: 15; }

.end-16 { grid-column-end: 16; }

@container (min-width:30em) {
  .col-1-s  { grid-column: span 1 / span 1; }
  .col-2-s  { grid-column: span 2 / span 2; }
  .col-3-s  { grid-column: span 3 / span 3; }
  .col-4-s  { grid-column: span 4 / span 4; }
  .col-5-s  { grid-column: span 5 / span 5; }
  .col-6-s  { grid-column: span 6 / span 6; }
  .col-7-s  { grid-column: span 7 / span 7; }
  .col-8-s  { grid-column: span 8 / span 8; }
  .col-9-s  { grid-column: span 9 / span 9; }
  .col-10-s  { grid-column: span 10 / span 10; }
  .col-11-s  { grid-column: span 11 / span 11; }
  .col-12-s  { grid-column: span 12 / span 12; }
  .col-13-s  { grid-column: span 13 / span 13; }
  .col-14-s  { grid-column: span 14 / span 14; }
  .col-15-s  { grid-column: span 15 / span 15; }
  .col-16-s  { grid-column: span 16 / span 16; }
  .col-full-s  { grid-column: 1 / -1; }
  .col-center1-s  { grid-column: 2 / -2; }
  .col-center2-s  { grid-column: 3 / -3; }
  .col-center3-s  { grid-column: 4 / -4; }
  .col-center4-s  { grid-column: 6 / -6; }
  .col-auto-s  { grid-column: auto; }

  .start-1-s { grid-column-start: 1; }
  .start-2-s { grid-column-start: 2; }
  .start-3-s { grid-column-start: 3; }
  .start-4-s { grid-column-start: 4; }
  .start-5-s { grid-column-start: 5; }
  .start-6-s { grid-column-start: 6; }
  .start-7-s { grid-column-start: 7; }
  .start-8-s { grid-column-start: 8; }
  .start-9-s { grid-column-start: 9; }
  .start-10-s { grid-column-start: 10; }
  .start-11-s { grid-column-start: 11; }
  .start-12-s { grid-column-start: 12; }
  .start-13-s { grid-column-start: 13; }
  .start-14-s { grid-column-start: 14; }
  .start-15-s { grid-column-start: 15; }

  .end-1-s { grid-column-end: 1; }
  .end-2-s { grid-column-end: 2; }
  .end-3-s { grid-column-end: 3; }
  .end-4-s { grid-column-end: 4; }
  .end-5-s { grid-column-end: 5; }
  .end-6-s { grid-column-end: 6; }
  .end-7-s { grid-column-end: 7; }
  .end-8-s { grid-column-end: 8; }
  .end-9-s { grid-column-end: 9; }
  .end-10-s { grid-column-end: 10; }
  .end-11-s { grid-column-end: 11; }
  .end-12-s { grid-column-end: 12; }
  .end-13-s { grid-column-end: 13; }
  .end-14-s { grid-column-end: 14; }
  .end-15-s { grid-column-end: 15; }
  .end-16-s { grid-column-end: 16; }

}

@container (min-width:48em) {
  .col-1-m  { grid-column: span 1 / span 1; }
  .col-2-m  { grid-column: span 2 / span 2; }
  .col-3-m  { grid-column: span 3 / span 3; }
  .col-4-m  { grid-column: span 4 / span 4; }
  .col-5-m  { grid-column: span 5 / span 5; }
  .col-6-m  { grid-column: span 6 / span 6; }
  .col-7-m  { grid-column: span 7 / span 7; }
  .col-8-m  { grid-column: span 8 / span 8; }
  .col-9-m  { grid-column: span 9 / span 9; }
  .col-10-m  { grid-column: span 10 / span 10; }
  .col-11-m  { grid-column: span 11 / span 11; }
  .col-12-m  { grid-column: span 12 / span 12; }
  .col-13-m  { grid-column: span 13 / span 13; }
  .col-14-m  { grid-column: span 14 / span 14; }
  .col-15-m  { grid-column: span 15 / span 15; }
  .col-16-m  { grid-column: span 16 / span 16; }
  .col-full-m  { grid-column: 1 / -1; }
  .col-center1-m  { grid-column: 2 / -2; }
  .col-center2-m  { grid-column: 3 / -3; }
  .col-center3-m  { grid-column: 4 / -4; }
  .col-center4-m  { grid-column: 6 / -6; }
  .col-auto-m  { grid-column: auto; }

  .start-1-m { grid-column-start: 1; }
  .start-2-m { grid-column-start: 2; }
  .start-3-m { grid-column-start: 3; }
  .start-4-m { grid-column-start: 4; }
  .start-5-m { grid-column-start: 5; }
  .start-6-m { grid-column-start: 6; }
  .start-7-m { grid-column-start: 7; }
  .start-8-m { grid-column-start: 8; }
  .start-9-m { grid-column-start: 9; }
  .start-10-m { grid-column-start: 10; }
  .start-11-m { grid-column-start: 11; }
  .start-12-m { grid-column-start: 12; }
  .start-13-m { grid-column-start: 13; }
  .start-14-m { grid-column-start: 14; }
  .start-15-m { grid-column-start: 15; }

  .end-1-m { grid-column-end: 1; }
  .end-2-m { grid-column-end: 2; }
  .end-3-m { grid-column-end: 3; }
  .end-4-m { grid-column-end: 4; }
  .end-5-m { grid-column-end: 5; }
  .end-6-m { grid-column-end: 6; }
  .end-7-m { grid-column-end: 7; }
  .end-8-m { grid-column-end: 8; }
  .end-9-m { grid-column-end: 9; }
  .end-10-m { grid-column-end: 10; }
  .end-11-m { grid-column-end: 11; }
  .end-12-m { grid-column-end: 12; }
  .end-13-m { grid-column-end: 13; }
  .end-14-m { grid-column-end: 14; }
  .end-15-m { grid-column-end: 15; }
  .end-16-m { grid-column-end: 16; }
}

@container (min-width:64em) {
  .col-1-l  { grid-column: span 1 / span 1; }
  .col-2-l  { grid-column: span 2 / span 2; }
  .col-3-l  { grid-column: span 3 / span 3; }
  .col-4-l  { grid-column: span 4 / span 4; }
  .col-5-l  { grid-column: span 5 / span 5; }
  .col-6-l  { grid-column: span 6 / span 6; }
  .col-7-l  { grid-column: span 7 / span 7; }
  .col-8-l  { grid-column: span 8 / span 8; }
  .col-9-l  { grid-column: span 9 / span 9; }
  .col-10-l  { grid-column: span 10 / span 10; }
  .col-11-l  { grid-column: span 11 / span 11; }
  .col-12-l  { grid-column: span 12 / span 12; }
  .col-13-l  { grid-column: span 13 / span 13; }
  .col-14-l  { grid-column: span 14 / span 14; }
  .col-15-l  { grid-column: span 15 / span 15; }
  .col-16-l  { grid-column: span 16 / span 16; }
  .col-full-l  { grid-column: 1 / -1; }
  .col-center1-l  { grid-column: 2 / -2; }
  .col-center2-l  { grid-column: 3 / -3; }
  .col-center3-l  { grid-column: 4 / -4; }
  .col-center4-l  { grid-column: 6 / -6; }
  .col-auto-l  { grid-column: auto; }

  .start-1-l { grid-column-start: 1; }
  .start-2-l { grid-column-start: 2; }
  .start-3-l { grid-column-start: 3; }
  .start-4-l { grid-column-start: 4; }
  .start-5-l { grid-column-start: 5; }
  .start-6-l { grid-column-start: 6; }
  .start-7-l { grid-column-start: 7; }
  .start-8-l { grid-column-start: 8; }
  .start-9-l { grid-column-start: 9; }
  .start-10-l { grid-column-start: 10; }
  .start-11-l { grid-column-start: 11; }
  .start-12-l { grid-column-start: 12; }
  .start-13-l { grid-column-start: 13; }
  .start-14-l { grid-column-start: 14; }
  .start-15-l { grid-column-start: 15; }

  .end-1-l { grid-column-end: 1; }
  .end-2-l { grid-column-end: 2; }
  .end-3-l { grid-column-end: 3; }
  .end-4-l { grid-column-end: 4; }
  .end-5-l { grid-column-end: 5; }
  .end-6-l { grid-column-end: 6; }
  .end-7-l { grid-column-end: 7; }
  .end-8-l { grid-column-end: 8; }
  .end-9-l { grid-column-end: 9; }
  .end-10-l { grid-column-end: 10; }
  .end-11-l { grid-column-end: 11; }
  .end-12-l { grid-column-end: 12; }
  .end-13-l { grid-column-end: 13; }
  .end-14-l { grid-column-end: 14; }
  .end-15-l { grid-column-end: 15; }
  .end-16-l { grid-column-end: 16; }
}

/*

  Grid Row
  Docs: http://tachyons.io/docs/layout/grid-column-row

  This sets the width of the element via declaring how many columns wide it should be

  Base: 
  cols = columns

*/

.row-auto  { grid-row: auto; }

.row-start-1 { grid-row-start: 1; }

.row-start-2 { grid-row-start: 2; }

.row-start-3 { grid-row-start: 3; }

.row-start-4 { grid-row-start: 4; }

.row-start-5 { grid-row-start: 5; }

.row-start-6 { grid-row-start: 6; }

.row-start-7 { grid-row-start: 7; }

.row-start-8 { grid-row-start: 8; }

.row-start-9 { grid-row-start: 9; }

.row-start-10 { grid-row-start: 10; }

.row-start-11 { grid-row-start: 11; }

.row-start-12 { grid-row-start: 12; }

.row-start-13 { grid-row-start: 13; }

.row-start-14 { grid-row-start: 14; }

.row-start-15 { grid-row-start: 15; }

.row-start-16 { grid-row-start: 16; }

.row-end-1 { grid-row-end: 1; }

.row-end-2 { grid-row-end: 2; }

.row-end-3 { grid-row-end: 3; }

.row-end-4 { grid-row-end: 4; }

.row-end-5 { grid-row-end: 5; }

.row-end-6 { grid-row-end: 6; }

.row-end-7 { grid-row-end: 7; }

.row-end-8 { grid-row-end: 8; }

.row-end-9 { grid-row-end: 9; }

.row-end-10 { grid-row-end: 10; }

.row-end-11 { grid-row-end: 11; }

.row-end-12 { grid-row-end: 12; }

.row-end-13 { grid-row-end: 13; }

.row-end-14 { grid-row-end: 14; }

.row-end-15 { grid-row-end: 15; }

.row-end-16 { grid-row-end: 16; }

@container (min-width:30em) {
  .row-auto-s  { grid-row: auto; }

  .row-start-1-s { grid-row-start: 1; }
  .row-start-2-s { grid-row-start: 2; }
  .row-start-3-s { grid-row-start: 3; }
  .row-start-4-s { grid-row-start: 4; }
  .row-start-5-s { grid-row-start: 5; }
  .row-start-6-s { grid-row-start: 6; }
  .row-start-7-s { grid-row-start: 7; }
  .row-start-8-s { grid-row-start: 8; }
  .row-start-9-s { grid-row-start: 9; }
  .row-start-10-s { grid-row-start: 10; }
  .row-start-11-s { grid-row-start: 11; }
  .row-start-12-s { grid-row-start: 12; }
  .row-start-13-s { grid-row-start: 13; }
  .row-start-14-s { grid-row-start: 14; }
  .row-start-15-s { grid-row-start: 15; }
  .row-start-16-s { grid-row-start: 16; }

  .row-end-1-s { grid-row-end: 1; }
  .row-end-2-s { grid-row-end: 2; }
  .row-end-3-s { grid-row-end: 3; }
  .row-end-4-s { grid-row-end: 4; }
  .row-end-5-s { grid-row-end: 5; }
  .row-end-6-s { grid-row-end: 6; }
  .row-end-7-s { grid-row-end: 7; }
  .row-end-8-s { grid-row-end: 8; }
  .row-end-9-s { grid-row-end: 9; }
  .row-end-10-s { grid-row-end: 10; }
  .row-end-11-s { grid-row-end: 11; }
  .row-end-12-s { grid-row-end: 12; }
  .row-end-13-s { grid-row-end: 13; }
  .row-end-14-s { grid-row-end: 14; }
  .row-end-15-s { grid-row-end: 15; }
  .row-end-16-s { grid-row-end: 16; }
}

@container (min-width:48em) {
  .row-auto-m  { grid-row: auto; }

  .row-start-1-m { grid-row-start: 1; }
  .row-start-2-m { grid-row-start: 2; }
  .row-start-3-m { grid-row-start: 3; }
  .row-start-4-m { grid-row-start: 4; }
  .row-start-5-m { grid-row-start: 5; }
  .row-start-6-m { grid-row-start: 6; }
  .row-start-7-m { grid-row-start: 7; }
  .row-start-8-m { grid-row-start: 8; }
  .row-start-9-m { grid-row-start: 9; }
  .row-start-10-m { grid-row-start: 10; }
  .row-start-11-m { grid-row-start: 11; }
  .row-start-12-m { grid-row-start: 12; }
  .row-start-13-m { grid-row-start: 13; }
  .row-start-14-m { grid-row-start: 14; }
  .row-start-15-m { grid-row-start: 15; }
  .row-start-16-m { grid-row-start: 16; }

  .row-end-1-m { grid-row-end: 1; }
  .row-end-2-m { grid-row-end: 2; }
  .row-end-3-m { grid-row-end: 3; }
  .row-end-4-m { grid-row-end: 4; }
  .row-end-5-m { grid-row-end: 5; }
  .row-end-6-m { grid-row-end: 6; }
  .row-end-7-m { grid-row-end: 7; }
  .row-end-8-m { grid-row-end: 8; }
  .row-end-9-m { grid-row-end: 9; }
  .row-end-10-m { grid-row-end: 10; }
  .row-end-11-m { grid-row-end: 11; }
  .row-end-12-m { grid-row-end: 12; }
  .row-end-13-m { grid-row-end: 13; }
  .row-end-14-m { grid-row-end: 14; }
  .row-end-15-m { grid-row-end: 15; }
  .row-end-16-m { grid-row-end: 16; }
}

@container (min-width:64em) {
  .row-auto-l  { grid-row: auto; }

  .row-start-1-l { grid-row-start: 1; }
  .row-start-2-l { grid-row-start: 2; }
  .row-start-3-l { grid-row-start: 3; }
  .row-start-4-l { grid-row-start: 4; }
  .row-start-5-l { grid-row-start: 5; }
  .row-start-6-l { grid-row-start: 6; }
  .row-start-7-l { grid-row-start: 7; }
  .row-start-8-l { grid-row-start: 8; }
  .row-start-9-l { grid-row-start: 9; }
  .row-start-10-l { grid-row-start: 10; }
  .row-start-11-l { grid-row-start: 11; }
  .row-start-12-l { grid-row-start: 12; }
  .row-start-13-l { grid-row-start: 13; }
  .row-start-14-l { grid-row-start: 14; }
  .row-start-15-l { grid-row-start: 15; }
  .row-start-16-l { grid-row-start: 16; }

  .row-end-1-l { grid-row-end: 1; }
  .row-end-2-l { grid-row-end: 2; }
  .row-end-3-l { grid-row-end: 3; }
  .row-end-4-l { grid-row-end: 4; }
  .row-end-5-l { grid-row-end: 5; }
  .row-end-6-l { grid-row-end: 6; }
  .row-end-7-l { grid-row-end: 7; }
  .row-end-8-l { grid-row-end: 8; }
  .row-end-9-l { grid-row-end: 9; }
  .row-end-10-l { grid-row-end: 10; }
  .row-end-11-l { grid-row-end: 11; }
  .row-end-12-l { grid-row-end: 12; }
  .row-end-13-l { grid-row-end: 13; }
  .row-end-14-l { grid-row-end: 14; }
  .row-end-15-l { grid-row-end: 15; }
  .row-end-16-l { grid-row-end: 16; }
}

/*

  BACKDROP-FILTER EFFECTS

    - Blur
    - Grayscale
    - Hue Rotate
    - Invert
    - INTERACTIONS
      - Hover
      - Focus

*/

.filter-none { filter: none; }

.blur1 { filter: blur(4px); }

.blur2 { filter: blur(16px); }

.blur3 { filter: blur(96px); }

.grayscale1 { filter: grayscale(0); }

.grayscale2 { filter: grayscale(50%); }

.grayscale3 { filter: grayscale(100%); }

.hue-rotate0 { filter: hue-rotate(0deg);}

.hue-rotate1 { filter: hue-rotate(45deg);}

.hue-rotate2 { filter: hue-rotate(90deg);}

.hue-rotate3 { filter: hue-rotate(135deg);}

.hue-rotate4 { filter: hue-rotate(180deg);}

.hue-rotate5 { filter: hue-rotate(225deg);}

.hue-rotate6 { filter: hue-rotate(270deg);}

.hue-rotate7 { filter: hue-rotate(315deg);}

.invert { filter: invert(100%); }

/* TODO: Add drop-shadow */

.filter-none-hover:hover { filter: none; }

.blur1-hover:hover { filter: blur(4px); }

.blur2-hover:hover { filter: blur(16px); }

.blur3-hover:hover { filter: blur(96px); }

.grayscale1-hover:hover { filter: grayscale(0); }

.grayscale2-hover:hover { filter: grayscale(50%); }

.grayscale3-hover:hover { filter: grayscale(100%); }

.hue-rotate0-hover:hover { filter: hue-rotate(0deg);}

.hue-rotate1-hover:hover { filter: hue-rotate(45deg);}

.hue-rotate2-hover:hover { filter: hue-rotate(90deg);}

.hue-rotate3-hover:hover { filter: hue-rotate(135deg);}

.hue-rotate4-hover:hover { filter: hue-rotate(180deg);}

.hue-rotate5-hover:hover { filter: hue-rotate(225deg);}

.hue-rotate6-hover:hover { filter: hue-rotate(270deg);}

.hue-rotate7-hover:hover { filter: hue-rotate(315deg);}

.invert-hover:hover { filter: invert(100%); }

.blur1-focus:focus { filter: blur(4px); }

.blur2-focus:focus { filter: blur(16px); }

.blur3-focus:focus { filter: blur(96px); }

.grayscale1-focus:focus { filter: grayscale(0); }

.grayscale2-focus:focus { filter: grayscale(50%); }

.grayscale3-focus:focus { filter: grayscale(100%); }

.hue-rotate0-focus:focus { filter: hue-rotate(0deg);}

.hue-rotate1-focus:focus { filter: hue-rotate(45deg);}

.hue-rotate2-focus:focus { filter: hue-rotate(90deg);}

.hue-rotate3-focus:focus { filter: hue-rotate(135deg);}

.hue-rotate4-focus:focus { filter: hue-rotate(180deg);}

.hue-rotate5-focus:focus { filter: hue-rotate(225deg);}

.hue-rotate6-focus:focus { filter: hue-rotate(270deg);}

.hue-rotate7-focus:focus { filter: hue-rotate(315deg);}

.invert-focus:focus { filter: invert(100%); }

/*

  FILTER EFFECTS

    - Blur
    - Grayscale
    - Hue Rotate
    - Invert

*/

.filter-none { filter: none; }

.blur1 { filter: blur(4px); }

.blur2 { filter: blur(16px); }

.blur3 { filter: blur(96px); }

.grayscale1 { filter: grayscale(0); }

.grayscale2 { filter: grayscale(50%); }

.grayscale3 { filter: grayscale(100%); }

.hue-rotate0 { filter: hue-rotate(0deg);}

.hue-rotate1 { filter: hue-rotate(45deg);}

.hue-rotate2 { filter: hue-rotate(90deg);}

.hue-rotate3 { filter: hue-rotate(135deg);}

.hue-rotate4 { filter: hue-rotate(180deg);}

.hue-rotate5 { filter: hue-rotate(225deg);}

.hue-rotate6 { filter: hue-rotate(270deg);}

.hue-rotate7 { filter: hue-rotate(315deg);}

.invert { filter: invert(100%); }

/* TODO: Add drop-shadow */

.filter-none-hover:hover { filter: none; }

.blur1-hover:hover { filter: blur(4px); }

.blur2-hover:hover { filter: blur(16px); }

.blur3-hover:hover { filter: blur(96px); }

.grayscale1-hover:hover { filter: grayscale(0); }

.grayscale2-hover:hover { filter: grayscale(50%); }

.grayscale3-hover:hover { filter: grayscale(100%); }

.hue-rotate0-hover:hover { filter: hue-rotate(0deg);}

.hue-rotate1-hover:hover { filter: hue-rotate(45deg);}

.hue-rotate2-hover:hover { filter: hue-rotate(90deg);}

.hue-rotate3-hover:hover { filter: hue-rotate(135deg);}

.hue-rotate4-hover:hover { filter: hue-rotate(180deg);}

.hue-rotate5-hover:hover { filter: hue-rotate(225deg);}

.hue-rotate6-hover:hover { filter: hue-rotate(270deg);}

.hue-rotate7-hover:hover { filter: hue-rotate(315deg);}

.invert-hover:hover { filter: invert(100%); }

.blur1-focus:focus { filter: blur(4px); }

.blur2-focus:focus { filter: blur(16px); }

.blur3-focus:focus { filter: blur(96px); }

.grayscale1-focus:focus { filter: grayscale(0); }

.grayscale2-focus:focus { filter: grayscale(50%); }

.grayscale3-focus:focus { filter: grayscale(100%); }

.hue-rotate0-focus:focus { filter: hue-rotate(0deg);}

.hue-rotate1-focus:focus { filter: hue-rotate(45deg);}

.hue-rotate2-focus:focus { filter: hue-rotate(90deg);}

.hue-rotate3-focus:focus { filter: hue-rotate(135deg);}

.hue-rotate4-focus:focus { filter: hue-rotate(180deg);}

.hue-rotate5-focus:focus { filter: hue-rotate(225deg);}

.hue-rotate6-focus:focus { filter: hue-rotate(270deg);}

.hue-rotate7-focus:focus { filter: hue-rotate(315deg);}

.invert-focus:focus { filter: invert(100%); }

/*

  FLEXBOX

  Media Query Extensions:
   -s = small
   -m  = medium
   -l  = large

*/

/* 1. Fix for Chrome 44 bug.
 * https://code.google.com/p/chromium/issues/detail?id=506893 */

.flex-auto {
  flex: 1 1 auto;
  min-width: 0; /* 1 */
  min-height: 0; /* 1 */
}

.flex-none { flex: none; }

.flex-grow-0 { flex-grow: 0; }

.flex-grow-1 { flex-grow: 1; }

.flex-shrink-0 { flex-shrink: 0; }

.flex-shrink-1 { flex-shrink: 1; }

@container (min-width:30em) {
  .flex-s { display: flex; }
  .inline-flex-s { display: inline-flex; }
  .flex-auto-s {
    flex: 1 1 auto;
    min-width: 0; /* 1 */
    min-height: 0; /* 1 */
  }
  .flex-none-s { flex: none; }

  .flex-grow-0-s { flex-grow: 0; }
  .flex-grow-1-s { flex-grow: 1; }

  .flex-shrink-0-s { flex-shrink: 0; }
  .flex-shrink-1-s { flex-shrink: 1; }
}

@container (min-width:48em) {
  .flex-m { display: flex; }
  .inline-flex-m { display: inline-flex; }
  .flex-auto-m {
    flex: 1 1 auto;
    min-width: 0; /* 1 */
    min-height: 0; /* 1 */
  }
  .flex-none-m { flex: none; }

  .flex-grow-0-m { flex-grow: 0; }
  .flex-grow-1-m { flex-grow: 1; }

  .flex-shrink-0-m { flex-shrink: 0; }
  .flex-shrink-1-m { flex-shrink: 1; }
}

@container (min-width:64em) {
  .flex-l { display: flex; }
  .inline-flex-l { display: inline-flex; }
  .flex-auto-l {
    flex: 1 1 auto;
    min-width: 0; /* 1 */
    min-height: 0; /* 1 */
  }
  .flex-none-l { flex: none; }

  .flex-grow-0-l { flex-grow: 0; }
  .flex-grow-1-l { flex-grow: 1; }

  .flex-shrink-0-l { flex-shrink: 0; }
  .flex-shrink-1-l { flex-shrink: 1; }
}

/*

  FLEX-DIRECTION

  Media Query Extensions:
   -s = small
   -m  = medium
   -l  = large

*/

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

.flex-row     { flex-direction: row; }

.flex-column-reverse  { flex-direction: column-reverse; }

.flex-row-reverse     { flex-direction: row-reverse; }

@container (min-width:30em) {
  .flex-column-s { flex-direction: column; }
  .flex-row-s { flex-direction: row; }
  .flex-column-reverse-s { flex-direction: column-reverse; }
  .flex-row-reverse-s { flex-direction: row-reverse; }
}

@container (min-width:48em) {
  .flex-column-m { flex-direction: column; }
  .flex-row-m     { flex-direction: row; }
  .flex-column-reverse-m { flex-direction: column-reverse; }
  .flex-row-reverse-m { flex-direction: row-reverse; }
}

@container (min-width:64em) {
  .flex-column-l { flex-direction: column; }
  .flex-row-l { flex-direction: row; }
  .flex-column-reverse-l { flex-direction: column-reverse; }
  .flex-row-reverse-l { flex-direction: row-reverse; }
}

/*

  FLEX-WRAP

  Media Query Extensions:
   -s = small
   -m  = medium
   -l  = large

*/

.flex-wrap    { flex-wrap: wrap; }

.flex-nowrap    { flex-wrap: nowrap; }

.flex-wrap-reverse    { flex-wrap: wrap-reverse; }

@container (min-width:30em) {
  .flex-wrap-s { flex-wrap: wrap; }
  .flex-nowrap-s { flex-wrap: nowrap; }
  .flex-wrap-reverse-s { flex-wrap: wrap-reverse; }
}

@container (min-width:48em) {
  .flex-wrap-m { flex-wrap: wrap; }
  .flex-nowrap-m { flex-wrap: nowrap; }
  .flex-wrap-reverse-m { flex-wrap: wrap-reverse; }
}

@container (min-width:64em) {
  .flex-wrap-l { flex-wrap: wrap; }
  .flex-nowrap-l { flex-wrap: nowrap; }
  .flex-wrap-reverse-l { flex-wrap: wrap-reverse; }
}

/*

  ALIGN-ITEMS

  Media Query Extensions:
   -s = small
   -m  = medium
   -l  = large

*/

.items-start    { align-items: flex-start; }

.items-end      { align-items: flex-end; }

.items-center   { align-items: center; }

.items-baseline { align-items: baseline; }

.items-stretch  { align-items: stretch; }

@container (min-width:30em) {
  .items-start-s    { align-items: flex-start; }
  .items-end-s   { align-items: flex-end; }
  .items-center-s   { align-items: center; }
  .items-baseline-s { align-items: baseline; }
  .items-stretch-s  { align-items: stretch; }
}

@container (min-width:48em) {
  .items-start-m    { align-items: flex-start; }
  .items-end-m   { align-items: flex-end; }
  .items-center-m   { align-items: center; }
  .items-baseline-m { align-items: baseline; }
  .items-stretch-m  { align-items: stretch; }
}

@container (min-width:64em) {
  .items-start-l    { align-items: flex-start; }
  .items-end-l   { align-items: flex-end; }
  .items-center-l   { align-items: center; }
  .items-baseline-l { align-items: baseline; }
  .items-stretch-l  { align-items: stretch; }
}

/*

  ALIGN-CONTENT

  Media Query Extensions:
   -s = small
   -m  = medium
   -l  = large

  MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/align-content

*/

.content-start   { align-content: flex-start; }

.content-end     { align-content: flex-end; }

.content-center  { align-content: center; }

.content-between { align-content: space-between; }

.content-around  { align-content: space-around; }

.content-stretch { align-content: stretch; }

@container (min-width:30em) {
  .content-start-s { align-content: flex-start; }
  .content-end-s { align-content: flex-end; }
  .content-center-s { align-content: center; }
  .content-between-s { align-content: space-between; }
  .content-around-s { align-content: space-around; }
  .content-stretch-s { align-content: stretch; }
}

@container (min-width:48em) {
  .content-start-m { align-content: flex-start; }
  .content-end-m { align-content: flex-end; }
  .content-center-m { align-content: center; }
  .content-between-m { align-content: space-between; }
  .content-around-m { align-content: space-around; }
  .content-stretch-m { align-content: stretch; }
}

@container (min-width:64em) {
  .content-start-l { align-content: flex-start; }
  .content-end-l { align-content: flex-end; }
  .content-center-l { align-content: center; }
  .content-between-l { align-content: space-between; }
  .content-around-l { align-content: space-around; }
  .content-stretch-l { align-content: stretch; }
}

/*

  ALIGN-SELF

  Media Query Extensions:
   -s = small
   -m  = medium
   -l  = large

*/

.self-start    { align-self: flex-start; }

.self-end      { align-self: flex-end; }

.self-center   { align-self: center; }

.self-baseline { align-self: baseline; }

.self-stretch  { align-self: stretch; }

@container (min-width:30em) {
  .self-start-s { align-self: flex-start; }
  .self-end-s { align-self: flex-end; }
  .self-center-s { align-self: center; }
  .self-baseline-s { align-self: baseline; }
  .self-stretch-s { align-self: stretch; }
}

@container (min-width:48em) {
  .self-start-m { align-self: flex-start; }
  .self-end-m { align-self: flex-end; }
  .self-center-m { align-self: center; }
  .self-baseline-m { align-self: baseline; }
  .self-stretch-m { align-self: stretch; }

}

@container (min-width:64em) {
  .self-start-l { align-self: flex-start; }
  .self-end-l { align-self: flex-end; }
  .self-center-l { align-self: center; }
  .self-baseline-l { align-self: baseline; }
  .self-stretch-l { align-self: stretch; }
}

/*

  JUSTIFY-SELF

  Media Query Extensions:
   -s = small
   -m  = medium
   -l  = large

  MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/justify-self

*/

.justify-self-start { justify-self: start; }

.justify-self-end { justify-self: end; }

.justify-self-center { justify-self: center; }

.justify-self-stretch{ justify-self: stretch; }

@container (min-width:30em) {
  .justify-self-start-s { justify-self: start; }
  .justify-self-end-s { justify-self: end; }
  .justify-self-center-s { justify-self: center; }
  .justify-self-stretch-s { justify-self: stretch; }
}

@container (min-width:48em) {
  .justify-self-start-m { justify-self: start; }
  .justify-self-end-m { justify-self: end; }
  .justify-self-center-m { justify-self: center; }
  .justify-self-stretch-m { justify-self: stretch; }
}

@container (min-width:64em) {
  .justify-self-start-l { justify-self: start; }
  .justify-self-end-l { justify-self: end; }
  .justify-self-center-l { justify-self: center; }
  .justify-self-stretch-l { justify-self: stretch; }
}

/*

  JUSTIFY-CONTENT

  Media Query Extensions:
   -s = small
   -m  = medium
   -l  = large

  MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content

*/

.justify-start   { justify-content: flex-start; }

.justify-end     { justify-content: flex-end; }

.justify-center  { justify-content: center; }

.justify-between { justify-content: space-between; }

.justify-around  { justify-content: space-around; }

@container (min-width:30em) {
  .justify-start-s { justify-content: flex-start; }
  .justify-end-s { justify-content: flex-end; }
  .justify-center-s { justify-content: center; }
  .justify-between-s { justify-content: space-between; }
  .justify-around-s { justify-content: space-around; }
}

@container (min-width:48em) {
  .justify-start-m { justify-content: flex-start; }
  .justify-end-m { justify-content: flex-end; }
  .justify-center-m { justify-content: center; }
  .justify-between-m { justify-content: space-between; }
  .justify-around-m { justify-content: space-around; }

}

@container (min-width:64em) {
  .justify-start-l { justify-content: flex-start; }
  .justify-end-l { justify-content: flex-end; }
  .justify-center-l { justify-content: center; }
  .justify-between-l { justify-content: space-between; }
  .justify-around-l { justify-content: space-around; }
}

/*

  ORDER

  Media Query Extensions:
   -s = small
   -m  = medium
   -l  = large

*/

.order-0 { order: 0; }

.order-1 { order: 1; }

.order-2 { order: 2; }

.order-3 { order: 3; }

.order-4 { order: 4; }

.order-5 { order: 5; }

.order-6 { order: 6; }

.order-7 { order: 7; }

.order-8 { order: 8; }

.order-last { order: 99999; }

@container (min-width:30em) {
  .order-0-s { order: 0; }
  .order-1-s { order: 1; }
  .order-2-s { order: 2; }
  .order-3-s { order: 3; }
  .order-4-s { order: 4; }
  .order-5-s { order: 5; }
  .order-6-s { order: 6; }
  .order-7-s { order: 7; }
  .order-8-s { order: 8; }
  .order-last-s { order: 99999; }
}

@container (min-width:48em) {
  .order-0-m { order: 0; }
  .order-1-m { order: 1; }
  .order-2-m { order: 2; }
  .order-3-m { order: 3; }
  .order-4-m { order: 4; }
  .order-5-m { order: 5; }
  .order-6-m { order: 6; }
  .order-7-m { order: 7; }
  .order-8-m { order: 8; }
  .order-last-m { order: 99999; }

}

@container (min-width:64em) {
  .order-0-l { order: 0; }
  .order-1-l { order: 1; }
  .order-2-l { order: 2; }
  .order-3-l { order: 3; }
  .order-4-l { order: 4; }
  .order-5-l { order: 5; }
  .order-6-l { order: 6; }
  .order-7-l { order: 7; }
  .order-8-l { order: 8; }
  .order-last-l { order: 99999; }
}

/*

   FLOATS
   http://tachyons.io/docs/layout/floats/

   1. Floated elements are automatically rendered as block level elements.
      Setting floats to display inline will fix the double margin bug in
      ie6. You know... just in case.

   2. Don't forget to clearfix your floats with .cf

   Base:
     f = float

   Modifiers:
     l = left
     r = right
     n = none

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.fl { float: left; }

.fr { float: right; }

.fn { float: none; }

@container (min-width:30em) {
  .fl-s { float: left; }
  .fr-s { float: right;  }
  .fn-s { float: none; }
}

@container (min-width:48em) {
  .fl-m { float: left;  }
  .fr-m { float: right;  }
  .fn-m { float: none; }
}

@container (min-width:64em) {
  .fl-l { float: left; }
  .fr-l { float: right; }
  .fn-l { float: none; }
}

/* 

   FONT FAMILY GROUPS
   Docs: http://tachyons.io/docs/typography/font-family/

*/

.f-heading { font-family: var(--font-family-heading, sans-serif); }

.f-body { font-family: var(--font-family-body, sans-serif); }

.f-mono { font-family: var(--font-family-mono, monospace); }

.jack-input { font-family: 'Jack Input'; }

/*

   FONT STYLE
   Docs: http://tachyons.io/docs/typography/font-style/

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.i         { font-style: italic; }

.fs-normal { font-style: normal; }

/*

   FONT WEIGHT
   Docs: http://tachyons.io/docs/typography/font-weight/

   Base
     fw = font-weight

   Modifiers:
     1 = literal value 100
     2 = literal value 200
     3 = literal value 300
     4 = literal value 400
     5 = literal value 500
     6 = literal value 600
     7 = literal value 700
     8 = literal value 800
     9 = literal value 900

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.normal { font-weight: normal; }

.b      { font-weight: bold; }

.fw1    { font-weight: 100; }

.fw2    { font-weight: 200; }

.fw3    { font-weight: 300; }

.fw4    { font-weight: 400; }

.fw5    { font-weight: 500; }

.fw6    { font-weight: 600; }

.fw7    { font-weight: 700; }

.fw8    { font-weight: 800; }

.fw9    { font-weight: 900; }

@container (min-width:30em) {
  .normal-s { font-weight: normal; }
  .b-s      { font-weight: bold; }
  .fw1-s    { font-weight: 100; }
  .fw2-s    { font-weight: 200; }
  .fw3-s    { font-weight: 300; }
  .fw4-s    { font-weight: 400; }
  .fw5-s    { font-weight: 500; }
  .fw6-s    { font-weight: 600; }
  .fw7-s    { font-weight: 700; }
  .fw8-s    { font-weight: 800; }
  .fw9-s    { font-weight: 900; }
}

@container (min-width:48em) {
  .normal-m { font-weight: normal; }
  .b-m      { font-weight: bold; }
  .fw1-m    { font-weight: 100; }
  .fw2-m    { font-weight: 200; }
  .fw3-m    { font-weight: 300; }
  .fw4-m    { font-weight: 400; }
  .fw5-m    { font-weight: 500; }
  .fw6-m    { font-weight: 600; }
  .fw7-m    { font-weight: 700; }
  .fw8-m    { font-weight: 800; }
  .fw9-m    { font-weight: 900; }
}

@container (min-width:64em) {
  .normal-l { font-weight: normal; }
  .b-l      { font-weight: bold; }
  .fw1-l    { font-weight: 100; }
  .fw2-l    { font-weight: 200; }
  .fw3-l    { font-weight: 300; }
  .fw4-l    { font-weight: 400; }
  .fw5-l    { font-weight: 500; }
  .fw6-l    { font-weight: 600; }
  .fw7-l    { font-weight: 700; }
  .fw8-l    { font-weight: 800; }
  .fw9-l    { font-weight: 900; }
}

/*

   FORMS
   
*/

.input-reset {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.button-reset::-moz-focus-inner,
.input-reset::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/* TODO: Variables review

   HEIGHTS
   Docs: http://tachyons.io/docs/layout/heights/

   Base:
     h = height
     min-h = min-height
     min-vh = min-height vertical screen height
     vh = vertical screen height

   Modifiers
     1 = 1st step in height scale
     2 = 2nd step in height scale
     3 = 3rd step in height scale
     4 = 4th step in height scale
     5 = 5th step in height scale

     -50   = literal value 50%
     -75   = literal value 75%
     -100  = literal value 100%

     -auto = string value of auto
     -inherit = string value of inherit

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

/* Height Scale */

.h0 {    height: var(--size-0, 0); }

.h1 {    height: var(--size-1, 1rem); }

.h2 {    height: var(--size-2, 2rem); }

.h3 {    height: var(--size-3, 3rem); }

.h4 {    height: var(--size-4, 4rem); }

.h5 {    height: var(--size-5, 8rem); }

.h6 {    height: var(--size-6, 16rem); }

.h7 {    height: var(--size-7, 32rem); }

.h8 {    height: var(--size-8, 64rem); }

/* Height Percentages - Based off of height of parent */

.h-50 {  height:  50%; }

.h-75 {  height:  75%; }

.h-100 { height: 100%; }

.min-h-100 { min-height: 100%; }

/* Screen Height Percentage */

.vh-25 {  height:  25vh; }

.vh-50 {  height:  50vh; }

.vh-75 {  height:  75vh; }

.vh-100 { height: 100vh; }

.min-vh-100 { min-height: 100vh; }

/* String Properties */

.h-auto {     height: auto; }

.h-inherit {  height: inherit; }

@container (min-width:30em) {
  .h0-s {    height: var(--size-0, 0); }
  .h1-s {    height: var(--size-1, 1rem); }
  .h2-s {    height: var(--size-2, 2rem); }
  .h3-s {    height: var(--size-3, 3rem); }
  .h4-s {    height: var(--size-4, 4rem); }
  .h5-s {    height: var(--size-5, 8rem); }
  .h6-s {    height: var(--size-6, 16rem); }
  .h7-s {    height: var(--size-7, 32rem); }
  .h8-s {    height: var(--size-8, 64rem); }
  .h-50-s { height: 50%; }
  .h-75-s { height: 75%; }
  .h-100-s { height: 100%; }
  .min-h-100-s { min-height: 100%; }
  .vh-25-s {  height:  25vh; }
  .vh-50-s {  height:  50vh; }
  .vh-75-s {  height:  75vh; }
  .vh-100-s { height: 100vh; }
  .min-vh-100-s { min-height: 100vh; }
  .h-auto-s { height: auto; }
  .h-inherit-s { height: inherit; }
}

@container (min-width:48em) {
  .h1-m { height: 1rem; }
  .h2-m { height: 2rem; }
  .h3-m { height: 4rem; }
  .h4-m { height: 8rem; }
  .h5-m { height: 16rem; }
  .h-50-m { height: 50%; }
  .h-75-m { height: 75%; }
  .h-100-m { height: 100%; }
  .min-h-100-m { min-height: 100%; }
  .vh-25-m {  height:  25vh; }
  .vh-50-m {  height:  50vh; }
  .vh-75-m {  height:  75vh; }
  .vh-100-m { height: 100vh; }
  .min-vh-100-m { min-height: 100vh; }
  .h-auto-m { height: auto; }
  .h-inherit-m { height: inherit; }
}

@container (min-width:64em) {
  .h1-l { height: 1rem; }
  .h2-l { height: 2rem; }
  .h3-l { height: 4rem; }
  .h4-l { height: 8rem; }
  .h5-l { height: 16rem; }
  .h-50-l { height: 50%; }
  .h-75-l { height: 75%; }
  .h-100-l { height: 100%; }
  .min-h-100-l { min-height: 100%; }
  .vh-25-l {  height:  25vh; }
  .vh-50-l {  height:  50vh; }
  .vh-75-l {  height:  75vh; }
  .vh-100-l { height: 100vh; }
  .min-vh-100-l { min-height: 100vh; }
  .h-auto-l { height: auto; }
  .h-inherit-l { height: inherit; }
}

/*

   LETTER SPACING
   Docs: http://tachyons.io/docs/typography/tracking/

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.tracked       { letter-spacing:  var(--letter-spacing-tracked, .1em); }

.tracked-tight { letter-spacing: var(--letter-spacing-tight, -0.05em); }

.tracked-mega  { letter-spacing:  var(--letter-spacing-large, .25em); }

@container (min-width:30em) {
  .tracked-s       { letter-spacing:  var(--letter-spacing-tracked, .1em); }
  .tracked-tight-s { letter-spacing: var(--letter-spacing-tight, -0.05em); }
  .tracked-mega-s  { letter-spacing:  var(--letter-spacing-large, .25em); }
}

@container (min-width:48em) {
  .tracked-m       { letter-spacing:  var(--letter-spacing-tracked, .1em); }
  .tracked-tight-m { letter-spacing: var(--letter-spacing-tight, -0.05em); }
  .tracked-mega-m  { letter-spacing:  var(--letter-spacing-large, .25em); }
}

@container (min-width:64em) {
  .tracked-l       { letter-spacing:  var(--letter-spacing-tracked, .1em); }
  .tracked-tight-l { letter-spacing: var(--letter-spacing-tight, -0.05em); }
  .tracked-mega-l  { letter-spacing:  var(--letter-spacing-large, .25em); }
}

/*

   LINE HEIGHT / LEADING
   Docs: http://tachyons.io/docs/typography/line-height

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.lh-solid { line-height: var(--line-height-solid, 1); }

.lh-title { line-height: var(--line-height-title, 1.25); }

.lh-body  { line-height: var(--line-height-body, 1.5); }

@container (min-width:30em) {
  .lh-solid-s { line-height: var(--line-height-solid, 1); }
  .lh-title-s { line-height: var(--line-height-title, 1.25); }
  .lh-body-s  { line-height: var(--line-height-body, 1.5); }
}

@container (min-width:48em) {
  .lh-solid-m { line-height: var(--line-height-solid, 1); }
  .lh-title-m { line-height: var(--line-height-title, 1.25); }
  .lh-body-m  { line-height: var(--line-height-body, 1.5); }
}

@container (min-width:64em) {
  .lh-solid-l { line-height: var(--line-height-solid, 1); }
  .lh-title-l { line-height: var(--line-height-title, 1.25); }
  .lh-body-l  { line-height: var(--line-height-body, 1.5); }
}

/*

   LINKS
   Docs: http://tachyons.io/docs/elements/links/

*/

.link {
  text-decoration: none;
  transition: all .15s ease-in;
}

.link:link,
.link:visited {
  transition: all .15s ease-in;
}

.link:hover   {
  transition: all .15s ease-in;
}

.link:active  {
  transition: all .15s ease-in;
}

.link:focus   {
  transition: all .15s ease-in;
  outline: 1px dotted currentColor;
}

/*

   LISTS
   http://tachyons.io/docs/elements/lists/

*/

.list {         list-style-type: none; }

/*

   MAX WIDTHS
   Docs: http://tachyons.io/docs/layout/max-widths/

   Base:
     mw = max-width

   Modifiers
     1 = 1st step in width scale
     2 = 2nd step in width scale
     3 = 3rd step in width scale
     4 = 4th step in width scale
     5 = 5th step in width scale
     6 = 6st step in width scale
     7 = 7nd step in width scale
     8 = 8rd step in width scale
     9 = 9th step in width scale

     -100 = literal value 100%

     -none  = string value none


   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

/* Max Width Percentages */

.mw-100  { max-width: 100%; }

/* Max Width Scale */

.mw1  {  max-width: 1rem; }

.mw2  {  max-width: 2rem; }

.mw3  {  max-width: 4rem; }

.mw4  {  max-width: 8rem; }

.mw5  {  max-width: 16rem; }

.mw6  {  max-width: 32rem; }

.mw7  {  max-width: 48rem; }

.mw8  {  max-width: 64rem; }

.mw9  {  max-width: 96rem; }

/* Max Width String Properties */

.mw-none { max-width: none; }

@container (min-width:30em) {
  .mw-100-s  { max-width: 100%; }

  .mw1-s  {  max-width: 1rem; }
  .mw2-s  {  max-width: 2rem; }
  .mw3-s  {  max-width: 4rem; }
  .mw4-s  {  max-width: 8rem; }
  .mw5-s  {  max-width: 16rem; }
  .mw6-s  {  max-width: 32rem; }
  .mw7-s  {  max-width: 48rem; }
  .mw8-s  {  max-width: 64rem; }
  .mw9-s  {  max-width: 96rem; }

  .mw-none-s { max-width: none; }
}

@container (min-width:48em) {
  .mw-100-m  { max-width: 100%; }

  .mw1-m  {  max-width: 1rem; }
  .mw2-m  {  max-width: 2rem; }
  .mw3-m  {  max-width: 4rem; }
  .mw4-m  {  max-width: 8rem; }
  .mw5-m  {  max-width: 16rem; }
  .mw6-m  {  max-width: 32rem; }
  .mw7-m  {  max-width: 48rem; }
  .mw8-m  {  max-width: 64rem; }
  .mw9-m  {  max-width: 96rem; }

  .mw-none-m { max-width: none; }
}

@container (min-width:64em) {
  .mw-100-l  { max-width: 100%; }

  .mw1-l  {  max-width: 1rem; }
  .mw2-l  {  max-width: 2rem; }
  .mw3-l  {  max-width: 4rem; }
  .mw4-l  {  max-width: 8rem; }
  .mw5-l  {  max-width: 16rem; }
  .mw6-l  {  max-width: 32rem; }
  .mw7-l  {  max-width: 48rem; }
  .mw8-l  {  max-width: 64rem; }
  .mw9-l  {  max-width: 96rem; }

  .mw-none-l { max-width: none; }
}

/*

   WIDTHS
   Docs: http://tachyons.io/docs/layout/widths/

   Base:
     w = width

   Modifiers
     1 = 1st step in width scale
     2 = 2nd step in width scale
     3 = 3rd step in width scale
     4 = 4th step in width scale
     5 = 5th step in width scale
     6 = 6th step in width scale
     7 = 7th step in width scale
     8 = 8th step in width scale

     -10  = literal value 10%
     -20  = literal value 20%
     -25  = literal value 25%
     -30  = literal value 30%
     -33  = literal value 33%
     -34  = literal value 34%
     -40  = literal value 40%
     -50  = literal value 50%
     -60  = literal value 60%
     -70  = literal value 70%
     -75  = literal value 75%
     -80  = literal value 80%
     -90  = literal value 90%
     -100 = literal value 100%

     -third      = 100% / 3 (Not supported in opera mini or IE8)
     -two-thirds = 100% / 1.5 (Not supported in opera mini or IE8)
     -auto       = string value auto


   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

/* Width Scale */

.w0 {    width: var(--size-0, 0); }

.w1 {    width: var(--size-1, 1rem); }

.w2 {    width: var(--size-2, 2rem); }

.w3 {    width: var(--size-3, 3rem); }

.w4 {    width: var(--size-4, 4rem); }

.w5 {    width: var(--size-5, 8rem); }

.w6 {    width: var(--size-6, 16rem); }

.w7 {    width: var(--size-7, 32rem); }

.w8 {    width: var(--size-8, 64rem); }

.w-10 {  width:  10%; }

.w-20 {  width:  20%; }

.w-25 {  width:  25%; }

.w-50 {  width:  50%; }

.w-75 {  width:  75%; }

.w-100 { width: 100%; }

.w-third { width: calc(100% / 3); }

.w-two-thirds { width: calc(100% / 1.5); }

.w-auto { width: auto; }

@container (min-width:30em) {
  .w0-s {    width: var(--size-0, 0); }
  .w1-s {    width: var(--size-1, 1rem); }
  .w2-s {    width: var(--size-2, 2rem); }
  .w3-s {    width: var(--size-3, 3rem); }
  .w4-s {    width: var(--size-4, 4rem); }
  .w5-s {    width: var(--size-5, 8rem); }
  .w6-s {    width: var(--size-6, 16rem); }
  .w7-s {    width: var(--size-7, 32rem); }
  .w8-s {    width: var(--size-8, 64rem); }
  .w-10-s { width:  10%; }
  .w-20-s { width:  20%; }
  .w-25-s { width:  25%; }
  .w-50-s { width:  50%; }
  .w-75-s { width:  75%; }
  .w-100-s { width: 100%; }
  .w-third-s { width: calc(100% / 3); }
  .w-two-thirds-s { width: calc(100% / 1.5); }
  .w-auto-s { width: auto; }
}

@container (min-width:48em) {
  .w0-m {    width: var(--size-0, 0); }
  .w1-m {    width: var(--size-1, 1rem); }
  .w2-m {    width: var(--size-2, 2rem); }
  .w3-m {    width: var(--size-3, 3rem); }
  .w4-m {    width: var(--size-4, 4rem); }
  .w5-m {    width: var(--size-5, 8rem); }
  .w6-m {    width: var(--size-6, 16rem); }
  .w7-m {    width: var(--size-7, 32rem); }
  .w8-m {    width: var(--size-8, 64rem); }
  .w-10-m { width:  10%; }
  .w-20-m { width:  20%; }
  .w-25-m { width:  25%; }
  .w-50-m { width:  50%; }
  .w-75-m { width:  75%; }
  .w-100-m { width: 100%; }
  .w-third-m { width: calc(100% / 3); }
  .w-two-thirds-m { width: calc(100% / 1.5); }
  .w-auto-m {    width: auto; }
}

@container (min-width:64em) {
  .w0-l {    width: var(--size-0, 0); }
  .w1-l {    width: var(--size-1, 1rem); }
  .w2-l {    width: var(--size-2, 2rem); }
  .w3-l {    width: var(--size-3, 3rem); }
  .w4-l {    width: var(--size-4, 4rem); }
  .w5-l {    width: var(--size-5, 8rem); }
  .w6-l {    width: var(--size-6, 16rem); }
  .w7-l {    width: var(--size-7, 32rem); }
  .w8-l {    width: var(--size-8, 64rem); }
  .w-10-l {    width:  10%; }
  .w-20-l {    width:  20%; }
  .w-25-l {    width:  25%; }
  .w-50-l {    width:  50%; }
  .w-75-l {    width:  75%; }
  .w-100-l {   width: 100%; }
  .w-third-l { width: calc(100% / 3); }
  .w-two-thirds-l { width: calc(100% / 1.5); }
  .w-auto-l {    width: auto; }
}

/*

    OVERFLOW

    Media Query Extensions:
      -s = small
      -m  = medium
      -l  = large

 */

.overflow-visible { overflow: visible; }

.overflow-hidden { overflow: hidden; }

.overflow-scroll { overflow: scroll; }

.overflow-auto { overflow: auto; }

.overflow-x-visible { overflow-x: visible; }

.overflow-x-hidden { overflow-x: hidden; }

.overflow-x-scroll { overflow-x: scroll; }

.overflow-x-auto { overflow-x: auto; }

.overflow-y-visible { overflow-y: visible; }

.overflow-y-hidden { overflow-y: hidden; }

.overflow-y-scroll { overflow-y: scroll; }

.overflow-y-auto { overflow-y: auto; }

@container (min-width:30em) {
  .overflow-visible-s { overflow: visible; }
  .overflow-hidden-s { overflow: hidden; }
  .overflow-scroll-s { overflow: scroll; }
  .overflow-auto-s { overflow: auto; }
  .overflow-x-visible-s { overflow-x: visible; }
  .overflow-x-hidden-s { overflow-x: hidden; }
  .overflow-x-scroll-s { overflow-x: scroll; }
  .overflow-x-auto-s { overflow-x: auto; }

  .overflow-y-visible-s { overflow-y: visible; }
  .overflow-y-hidden-s { overflow-y: hidden; }
  .overflow-y-scroll-s { overflow-y: scroll; }
  .overflow-y-auto-s { overflow-y: auto; }
}

@container (min-width:48em) {
  .overflow-visible-m { overflow: visible; }
  .overflow-hidden-m { overflow: hidden; }
  .overflow-scroll-m { overflow: scroll; }
  .overflow-auto-m { overflow: auto; }

  .overflow-x-visible-m { overflow-x: visible; }
  .overflow-x-hidden-m { overflow-x: hidden; }
  .overflow-x-scroll-m { overflow-x: scroll; }
  .overflow-x-auto-m { overflow-x: auto; }

  .overflow-y-visible-m { overflow-y: visible; }
  .overflow-y-hidden-m { overflow-y: hidden; }
  .overflow-y-scroll-m { overflow-y: scroll; }
  .overflow-y-auto-m { overflow-y: auto; }
}

@container (min-width:64em) {
  .overflow-visible-l { overflow: visible; }
  .overflow-hidden-l { overflow: hidden; }
  .overflow-scroll-l { overflow: scroll; }
  .overflow-auto-l { overflow: auto; }

  .overflow-x-visible-l { overflow-x: visible; }
  .overflow-x-hidden-l { overflow-x: hidden; }
  .overflow-x-scroll-l { overflow-x: scroll; }
  .overflow-x-auto-l { overflow-x: auto; }

  .overflow-y-visible-l { overflow-y: visible; }
  .overflow-y-hidden-l { overflow-y: hidden; }
  .overflow-y-scroll-l { overflow-y: scroll; }
  .overflow-y-auto-l { overflow-y: auto; }
}

/*

   POSITIONING
   Docs: http://tachyons.io/docs/layout/position/

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.static { position: static; }

.relative  { position: relative; }

.absolute  { position: absolute; }

.fixed  { position: fixed; }

.sticky  { position: sticky; }

@container (min-width:30em) {
  .static-s { position: static; }
  .relative-s  { position: relative; }
  .absolute-s  { position: absolute; }
  .fixed-s  { position: fixed; }
  .sticky-s  { position: sticky; }
}

@container (min-width:48em) {
  .static-m { position: static; }
  .relative-m  { position: relative; }
  .absolute-m  { position: absolute; }
  .fixed-m  { position: fixed; }
  .sticky-m  { position: sticky; }
}

@container (min-width:64em) {
  .static-l { position: static; }
  .relative-l  { position: relative; }
  .absolute-l  { position: absolute; }
  .fixed-l  { position: fixed; }
  .sticky-l  { position: sticky; }
}

/*

    OPACITY
    Docs: http://tachyons.io/docs/themes/opacity/

*/

.o12  { opacity: var(--opacity-12, 1); }

.o11  { opacity: var(--opacity-11,.9); }

.o10  { opacity: var(--opacity-10,.8); }

.o9   { opacity: var(--opacity-9,.7);  }

.o8   { opacity: var(--opacity-8,.6);  }

.o7   { opacity: var(--opacity-7,.5);  }

.o6   { opacity: var(--opacity-6,.4);  }

.o5   { opacity: var(--opacity-5,.3);  }

.o4   { opacity: var(--opacity-4,.2);  }

.o3   { opacity: var(--opacity-3,.1);  }

.o2   { opacity: var(--opacity-2,.05); }

.o1   { opacity: var(--opacity-1,.025);}

.o0   { opacity: var(--opacity-0,0);   }

.h-o12:hover  { opacity: var(--opacity-12, 1); }

.h-o11:hover  { opacity: var(--opacity-11,.9); }

.h-o10:hover  { opacity: var(--opacity-10,.8); }

.h-o9:hover   { opacity: var(--opacity-9,.7);  }

.h-o8:hover   { opacity: var(--opacity-8,.6);  }

.h-o7:hover   { opacity: var(--opacity-7,.5);  }

.h-o6:hover   { opacity: var(--opacity-6,.4);  }

.h-o5:hover   { opacity: var(--opacity-5,.3);  }

.h-o4:hover   { opacity: var(--opacity-4,.2);  }

.h-o3:hover   { opacity: var(--opacity-3,.1);  }

.h-o2:hover   { opacity: var(--opacity-2,.05); }

.h-o1:hover   { opacity: var(--opacity-1,.025);}

.h-o0:hover   { opacity: var(--opacity-0,0);   }

.f-o12:focus  { opacity: var(--opacity-12, 1); }

.f-o11:focus  { opacity: var(--opacity-11,.9); }

.f-o10:focus  { opacity: var(--opacity-10,.8); }

.f-o9:focus   { opacity: var(--opacity-9,.7);  }

.f-o8:focus   { opacity: var(--opacity-8,.6);  }

.f-o7:focus   { opacity: var(--opacity-7,.5);  }

.f-o6:focus   { opacity: var(--opacity-6,.4);  }

.f-o5:focus   { opacity: var(--opacity-5,.3);  }

.f-o4:focus   { opacity: var(--opacity-4,.2);  }

.f-o3:focus   { opacity: var(--opacity-3,.1);  }

.f-o2:focus   { opacity: var(--opacity-2,.05); }

.f-o1:focus   { opacity: var(--opacity-1,.025);}

.f-o0:focus   { opacity: var(--opacity-0,0);   }

/*

   ROTATIONS

*/

.rotate-45 { transform: rotate(45deg); }

.rotate-90 { transform: rotate(90deg); }

.rotate-135 { transform: rotate(135deg); }

.rotate-180 { transform: rotate(180deg); }

.rotate-225 { transform: rotate(225deg); }

.rotate-270 { transform: rotate(270deg); }

.rotate-315 { transform: rotate(315deg); }

@container (min-width:30em){
  .rotate-45-s { transform: rotate(45deg); }
  .rotate-90-s { transform: rotate(90deg); }
  .rotate-135-s { transform: rotate(135deg); }
  .rotate-180-s { transform: rotate(180deg); }
  .rotate-225-s { transform: rotate(225deg); }
  .rotate-270-s { transform: rotate(270deg); }
  .rotate-315-s { transform: rotate(315deg); }
}

@container (min-width:48em){
  .rotate-45-m { transform: rotate(45deg); }
  .rotate-90-m { transform: rotate(90deg); }
  .rotate-135-m { transform: rotate(135deg); }
  .rotate-180-m { transform: rotate(180deg); }
  .rotate-225-m { transform: rotate(225deg); }
  .rotate-270-m { transform: rotate(270deg); }
  .rotate-315-m { transform: rotate(315deg); }
}

@container (min-width:64em){
  .rotate-45-l { transform: rotate(45deg); }
  .rotate-90-l { transform: rotate(90deg); }
  .rotate-135-l { transform: rotate(135deg); }
  .rotate-180-l { transform: rotate(180deg); }
  .rotate-225-l { transform: rotate(225deg); }
  .rotate-270-l { transform: rotate(270deg); }
  .rotate-315-l { transform: rotate(315deg); }
}

/*
   SKINS
   Docs: http://tachyons.io/docs/themes/skins/

   Classes for setting foreground and background colors on elements.
   If you haven't declared a border color, but set border on an element, it will 
   be set to the current text color. 

*/

/* Text colors */

.tint-0 { color: var(--tint-0); }

.tint-1 { color: var(--tint-1); }

.tint-2 { color: var(--tint-2); }

.tint-3 { color: var(--tint-3); }

.tint-4 { color: var(--tint-4); }

.tint-5 { color: var(--tint-5); }

.tint-6 { color: var(--tint-6); }

.tint-7 { color: var(--tint-7); }

.tint-8 { color: var(--tint-8); }

.tint-9 { color: var(--tint-9); }

.tint-10 { color: var(--tint-10); }

.tint-11 { color: var(--tint-11); }

.shadow-0 { color: var(--shadow-0); }

.shadow-1 { color: var(--shadow-1); }

.shadow-2 { color: var(--shadow-2); }

.shadow-3 { color: var(--shadow-3); }

.shadow-4 { color: var(--shadow-4); }

.shadow-5 { color: var(--shadow-5); }

.shadow-6 { color: var(--shadow-6); }

.shadow-7 { color: var(--shadow-7); }

.shadow-8 { color: var(--shadow-8); }

.shadow-9 { color: var(--shadow-9); }

.shadow-10 { color: var(--shadow-10); }

.shadow-11 { color: var(--shadow-11); }

.black, 
.gray-0 { color: var(--gray-0); }

.gray-1 { color: var(--gray-1); }

.gray-2 { color: var(--gray-2); }

.gray-3 { color: var(--gray-3); }

.gray-4 { color: var(--gray-4); }

.gray-5 { color: var(--gray-5); }

.gray-6 { color: var(--gray-6); }

.gray-7 { color: var(--gray-7); }

.gray-8 { color: var(--gray-8); }

.gray-9 { color: var(--gray-9); }

.gray-10 { color: var(--gray-10); }

.white, .gray-11 { color: var(--gray-11); }

.slate-gray-0 { color: var(--slate-gray-0); }

.slate-gray-1 { color: var(--slate-gray-1); }

.slate-gray-2 { color: var(--slate-gray-2); }

.slate-gray-3 { color: var(--slate-gray-3); }

.slate-gray-4 { color: var(--slate-gray-4); }

.slate-gray-5 { color: var(--slate-gray-5); }

.slate-gray-6 { color: var(--slate-gray-6); }

.slate-gray-7 { color: var(--slate-gray-7); }

.slate-gray-8 { color: var(--slate-gray-8); }

.slate-gray-9 { color: var(--slate-gray-9); }

.slate-gray-10 { color: var(--slate-gray-10); }

.slate-gray-11 { color: var(--slate-gray-11); }

.blue-0 { color: var(--blue-0); }

.blue-1 { color: var(--blue-1); }

.blue-2 { color: var(--blue-2); }

.blue-3 { color: var(--blue-3); }

.blue-4 { color: var(--blue-4); }

.blue-5 { color: var(--blue-5); }

.blue-6 { color: var(--blue-6); }

.blue-7 { color: var(--blue-7); }

.blue-8 { color: var(--blue-8); }

.blue-9 { color: var(--blue-9); }

.blue-10 { color: var(--blue-10); }

.blue-11 { color: var(--blue-11); }

.indigo-0 { color: var(--indigo-0); }

.indigo-1 { color: var(--indigo-1); }

.indigo-2 { color: var(--indigo-2); }

.indigo-3 { color: var(--indigo-3); }

.indigo-4 { color: var(--indigo-4); }

.indigo-5 { color: var(--indigo-5); }

.indigo-6 { color: var(--indigo-6); }

.indigo-7 { color: var(--indigo-7); }

.indigo-8 { color: var(--indigo-8); }

.indigo-9 { color: var(--indigo-9); }

.indigo-10 { color: var(--indigo-10); }

.indigo-11 { color: var(--indigo-11); }

.violet-0 { color: var(--violet-0); }

.violet-1 { color: var(--violet-1); }

.violet-2 { color: var(--violet-2); }

.violet-3 { color: var(--violet-3); }

.violet-4 { color: var(--violet-4); }

.violet-5 { color: var(--violet-5); }

.violet-6 { color: var(--violet-6); }

.violet-7 { color: var(--violet-7); }

.violet-8 { color: var(--violet-8); }

.violet-9 { color: var(--violet-9); }

.violet-10 { color: var(--violet-10); }

.violet-11 { color: var(--violet-11); }

.magenta-0 { color: var(--magenta-0); }

.magenta-1 { color: var(--magenta-1); }

.magenta-2 { color: var(--magenta-2); }

.magenta-3 { color: var(--magenta-3); }

.magenta-4 { color: var(--magenta-4); }

.magenta-5 { color: var(--magenta-5); }

.magenta-6 { color: var(--magenta-6); }

.magenta-7 { color: var(--magenta-7); }

.magenta-8 { color: var(--magenta-8); }

.magenta-9 { color: var(--magenta-9); }

.magenta-10 { color: var(--magenta-10); }

.magenta-11 { color: var(--magenta-11); }

.red-0 { color: var(--red-0); }

.red-1 { color: var(--red-1); }

.red-2 { color: var(--red-2); }

.red-3 { color: var(--red-3); }

.red-4 { color: var(--red-4); }

.red-5 { color: var(--red-5); }

.red-6 { color: var(--red-6); }

.red-7 { color: var(--red-7); }

.red-8 { color: var(--red-8); }

.red-9 { color: var(--red-9); }

.red-10 { color: var(--red-10); }

.red-11 { color: var(--red-11); }

.red-orange-0 { color: var(--red-orange-0); }

.red-orange-1 { color: var(--red-orange-1); }

.red-orange-2 { color: var(--red-orange-2); }

.red-orange-3 { color: var(--red-orange-3); }

.red-orange-4 { color: var(--red-orange-4); }

.red-orange-5 { color: var(--red-orange-5); }

.red-orange-6 { color: var(--red-orange-6); }

.red-orange-7 { color: var(--red-orange-7); }

.red-orange-8 { color: var(--red-orange-8); }

.red-orange-9 { color: var(--red-orange-9); }

.red-orange-10 { color: var(--red-orange-10); }

.red-orange-11 { color: var(--red-orange-11); }

.orange-0 { color: var(--orange-0); }

.orange-1 { color: var(--orange-1); }

.orange-2 { color: var(--orange-2); }

.orange-3 { color: var(--orange-3); }

.orange-4 { color: var(--orange-4); }

.orange-5 { color: var(--orange-5); }

.orange-6 { color: var(--orange-6); }

.orange-7 { color: var(--orange-7); }

.orange-8 { color: var(--orange-8); }

.orange-9 { color: var(--orange-9); }

.orange-10 { color: var(--orange-10); }

.orange-11 { color: var(--orange-11); }

.gold-0 { color: var(--gold-0); }

.gold-1 { color: var(--gold-1); }

.gold-2 { color: var(--gold-2); }

.gold-3 { color: var(--gold-3); }

.gold-4 { color: var(--gold-4); }

.gold-5 { color: var(--gold-5); }

.gold-6 { color: var(--gold-6); }

.gold-7 { color: var(--gold-7); }

.gold-8 { color: var(--gold-8); }

.gold-9 { color: var(--gold-9); }

.gold-10 { color: var(--gold-10); }

.gold-11 { color: var(--gold-11); }

.yellow-0 { color: var(--yellow-0); }

.yellow-1 { color: var(--yellow-1); }

.yellow-2 { color: var(--yellow-2); }

.yellow-3 { color: var(--yellow-3); }

.yellow-4 { color: var(--yellow-4); }

.yellow-5 { color: var(--yellow-5); }

.yellow-6 { color: var(--yellow-6); }

.yellow-7 { color: var(--yellow-7); }

.yellow-8 { color: var(--yellow-8); }

.yellow-9 { color: var(--yellow-9); }

.yellow-10 { color: var(--yellow-10); }

.yellow-11 { color: var(--yellow-11); }

.green-0 { color: var(--green-0); }

.green-1 { color: var(--green-1); }

.green-2 { color: var(--green-2); }

.green-3 { color: var(--green-3); }

.green-4 { color: var(--green-4); }

.green-5 { color: var(--green-5); }

.green-6 { color: var(--green-6); }

.green-7 { color: var(--green-7); }

.green-8 { color: var(--green-8); }

.green-9 { color: var(--green-9); }

.green-10 { color: var(--green-10); }

.green-11 { color: var(--green-11); }

.lime-0 { color: var(--lime-0); }

.lime-1 { color: var(--lime-1); }

.lime-2 { color: var(--lime-2); }

.lime-3 { color: var(--lime-3); }

.lime-4 { color: var(--lime-4); }

.lime-5 { color: var(--lime-5); }

.lime-6 { color: var(--lime-6); }

.lime-7 { color: var(--lime-7); }

.lime-8 { color: var(--lime-8); }

.lime-9 { color: var(--lime-9); }

.lime-10 { color: var(--lime-10); }

.lime-11 { color: var(--lime-11); }

.teal-0 { color: var(--teal-0); }

.teal-1 { color: var(--teal-1); }

.teal-2 { color: var(--teal-2); }

.teal-3 { color: var(--teal-3); }

.teal-4 { color: var(--teal-4); }

.teal-5 { color: var(--teal-5); }

.teal-6 { color: var(--teal-6); }

.teal-7 { color: var(--teal-7); }

.teal-8 { color: var(--teal-8); }

.teal-9 { color: var(--teal-9); }

.teal-10 { color: var(--teal-10); }

.teal-11 { color: var(--teal-11); }

.cyan-0 { color: var(--cyan-0); }

.cyan-1 { color: var(--cyan-1); }

.cyan-2 { color: var(--cyan-2); }

.cyan-3 { color: var(--cyan-3); }

.cyan-4 { color: var(--cyan-4); }

.cyan-5 { color: var(--cyan-5); }

.cyan-6 { color: var(--cyan-6); }

.cyan-7 { color: var(--cyan-7); }

.cyan-8 { color: var(--cyan-8); }

.cyan-9 { color: var(--cyan-9); }

.cyan-10 { color: var(--cyan-10); }

.cyan-11 { color: var(--cyan-11); }

/* Background colors */

.bg-tint-0 { background-color: var(--tint-0); }

.bg-tint-1 { background-color: var(--tint-1); }

.bg-tint-2 { background-color: var(--tint-2); }

.bg-tint-3 { background-color: var(--tint-3); }

.bg-tint-4 { background-color: var(--tint-4); }

.bg-tint-5 { background-color: var(--tint-5); }

.bg-tint-6 { background-color: var(--tint-6); }

.bg-tint-7 { background-color: var(--tint-7); }

.bg-tint-8 { background-color: var(--tint-8); }

.bg-tint-9 { background-color: var(--tint-9); }

.bg-tint-10 { background-color: var(--tint-10); }

.bg-tint-11 { background-color: var(--tint-11); }

.bg-shadow-0 { background-color: var(--shadow-0); }

.bg-shadow-1 { background-color: var(--shadow-1); }

.bg-shadow-2 { background-color: var(--shadow-2); }

.bg-shadow-3 { background-color: var(--shadow-3); }

.bg-shadow-4 { background-color: var(--shadow-4); }

.bg-shadow-5 { background-color: var(--shadow-5); }

.bg-shadow-6 { background-color: var(--shadow-6); }

.bg-shadow-7 { background-color: var(--shadow-7); }

.bg-shadow-8 { background-color: var(--shadow-8); }

.bg-shadow-9 { background-color: var(--shadow-9); }

.bg-shadow-10 { background-color: var(--shadow-10); }

.bg-shadow-11 { background-color: var(--shadow-11); }

.bg-black,
.bg-gray-0 { background-color: var(--gray-0); }

.bg-gray-1 { background-color: var(--gray-1); }

.bg-gray-2 { background-color: var(--gray-2); }

.bg-gray-3 { background-color: var(--gray-3); }

.bg-gray-4 { background-color: var(--gray-4); }

.bg-gray-5 { background-color: var(--gray-5); }

.bg-gray-6 { background-color: var(--gray-6); }

.bg-gray-7 { background-color: var(--gray-7); }

.bg-gray-8 { background-color: var(--gray-8); }

.bg-gray-9 { background-color: var(--gray-9); }

.bg-gray-10 { background-color: var(--gray-10); }

.bg-white,
.bg-gray-11 { background-color: var(--gray-11); }

.bg-slate-gray-0 { background-color: var(--slate-gray-0); }

.bg-slate-gray-1 { background-color: var(--slate-gray-1); }

.bg-slate-gray-2 { background-color: var(--slate-gray-2); }

.bg-slate-gray-3 { background-color: var(--slate-gray-3); }

.bg-slate-gray-4 { background-color: var(--slate-gray-4); }

.bg-slate-gray-5 { background-color: var(--slate-gray-5); }

.bg-slate-gray-6 { background-color: var(--slate-gray-6); }

.bg-slate-gray-7 { background-color: var(--slate-gray-7); }

.bg-slate-gray-8 { background-color: var(--slate-gray-8); }

.bg-slate-gray-9 { background-color: var(--slate-gray-9); }

.bg-slate-gray-10 { background-color: var(--slate-gray-10); }

.bg-slate-gray-11 { background-color: var(--slate-gray-11); }

.bg-blue-0 { background-color: var(--blue-0); }

.bg-blue-1 { background-color: var(--blue-1); }

.bg-blue-2 { background-color: var(--blue-2); }

.bg-blue-3 { background-color: var(--blue-3); }

.bg-blue-4 { background-color: var(--blue-4); }

.bg-blue-5 { background-color: var(--blue-5); }

.bg-blue-6 { background-color: var(--blue-6); }

.bg-blue-7 { background-color: var(--blue-7); }

.bg-blue-8 { background-color: var(--blue-8); }

.bg-blue-9 { background-color: var(--blue-9); }

.bg-blue-10 { background-color: var(--blue-10); }

.bg-blue-11 { background-color: var(--blue-11); }

.bg-indigo-0 { background-color: var(--indigo-0); }

.bg-indigo-1 { background-color: var(--indigo-1); }

.bg-indigo-2 { background-color: var(--indigo-2); }

.bg-indigo-3 { background-color: var(--indigo-3); }

.bg-indigo-4 { background-color: var(--indigo-4); }

.bg-indigo-5 { background-color: var(--indigo-5); }

.bg-indigo-6 { background-color: var(--indigo-6); }

.bg-indigo-7 { background-color: var(--indigo-7); }

.bg-indigo-8 { background-color: var(--indigo-8); }

.bg-indigo-9 { background-color: var(--indigo-9); }

.bg-indigo-10 { background-color: var(--indigo-10); }

.bg-indigo-11 { background-color: var(--indigo-11); }

.bg-violet-0 { background-color: var(--violet-0); }

.bg-violet-1 { background-color: var(--violet-1); }

.bg-violet-2 { background-color: var(--violet-2); }

.bg-violet-3 { background-color: var(--violet-3); }

.bg-violet-4 { background-color: var(--violet-4); }

.bg-violet-5 { background-color: var(--violet-5); }

.bg-violet-6 { background-color: var(--violet-6); }

.bg-violet-7 { background-color: var(--violet-7); }

.bg-violet-8 { background-color: var(--violet-8); }

.bg-violet-9 { background-color: var(--violet-9); }

.bg-violet-10 { background-color: var(--violet-10); }

.bg-violet-11 { background-color: var(--violet-11); }

.bg-magenta-0 { background-color: var(--magenta-0); }

.bg-magenta-1 { background-color: var(--magenta-1); }

.bg-magenta-2 { background-color: var(--magenta-2); }

.bg-magenta-3 { background-color: var(--magenta-3); }

.bg-magenta-4 { background-color: var(--magenta-4); }

.bg-magenta-5 { background-color: var(--magenta-5); }

.bg-magenta-6 { background-color: var(--magenta-6); }

.bg-magenta-7 { background-color: var(--magenta-7); }

.bg-magenta-8 { background-color: var(--magenta-8); }

.bg-magenta-9 { background-color: var(--magenta-9); }

.bg-magenta-10 { background-color: var(--magenta-10); }

.bg-magenta-11 { background-color: var(--magenta-11); }

.bg-red-0 { background-color: var(--red-0); }

.bg-red-1 { background-color: var(--red-1); }

.bg-red-2 { background-color: var(--red-2); }

.bg-red-3 { background-color: var(--red-3); }

.bg-red-4 { background-color: var(--red-4); }

.bg-red-5 { background-color: var(--red-5); }

.bg-red-6 { background-color: var(--red-6); }

.bg-red-7 { background-color: var(--red-7); }

.bg-red-8 { background-color: var(--red-8); }

.bg-red-9 { background-color: var(--red-9); }

.bg-red-10 { background-color: var(--red-10); }

.bg-red-11 { background-color: var(--red-11); }

.bg-red-orange-0 { background-color: var(--red-orange-0); }

.bg-red-orange-1 { background-color: var(--red-orange-1); }

.bg-red-orange-2 { background-color: var(--red-orange-2); }

.bg-red-orange-3 { background-color: var(--red-orange-3); }

.bg-red-orange-4 { background-color: var(--red-orange-4); }

.bg-red-orange-5 { background-color: var(--red-orange-5); }

.bg-red-orange-6 { background-color: var(--red-orange-6); }

.bg-red-orange-7 { background-color: var(--red-orange-7); }

.bg-red-orange-8 { background-color: var(--red-orange-8); }

.bg-red-orange-9 { background-color: var(--red-orange-9); }

.bg-red-orange-10 { background-color: var(--red-orange-10); }

.bg-red-orange-11 { background-color: var(--red-orange-11); }

.bg-orange-0 { background-color: var(--orange-0); }

.bg-orange-1 { background-color: var(--orange-1); }

.bg-orange-2 { background-color: var(--orange-2); }

.bg-orange-3 { background-color: var(--orange-3); }

.bg-orange-4 { background-color: var(--orange-4); }

.bg-orange-5 { background-color: var(--orange-5); }

.bg-orange-6 { background-color: var(--orange-6); }

.bg-orange-7 { background-color: var(--orange-7); }

.bg-orange-8 { background-color: var(--orange-8); }

.bg-orange-9 { background-color: var(--orange-9); }

.bg-orange-10 { background-color: var(--orange-10); }

.bg-orange-11 { background-color: var(--orange-11); }

.bg-gold-0 { background-color: var(--gold-0); }

.bg-gold-1 { background-color: var(--gold-1); }

.bg-gold-2 { background-color: var(--gold-2); }

.bg-gold-3 { background-color: var(--gold-3); }

.bg-gold-4 { background-color: var(--gold-4); }

.bg-gold-5 { background-color: var(--gold-5); }

.bg-gold-6 { background-color: var(--gold-6); }

.bg-gold-7 { background-color: var(--gold-7); }

.bg-gold-8 { background-color: var(--gold-8); }

.bg-gold-9 { background-color: var(--gold-9); }

.bg-gold-10 { background-color: var(--gold-10); }

.bg-gold-11 { background-color: var(--gold-11); }

.bg-yellow-0 { background-color: var(--yellow-0); }

.bg-yellow-1 { background-color: var(--yellow-1); }

.bg-yellow-2 { background-color: var(--yellow-2); }

.bg-yellow-3 { background-color: var(--yellow-3); }

.bg-yellow-4 { background-color: var(--yellow-4); }

.bg-yellow-5 { background-color: var(--yellow-5); }

.bg-yellow-6 { background-color: var(--yellow-6); }

.bg-yellow-7 { background-color: var(--yellow-7); }

.bg-yellow-8 { background-color: var(--yellow-8); }

.bg-yellow-9 { background-color: var(--yellow-9); }

.bg-yellow-10 { background-color: var(--yellow-10); }

.bg-yellow-11 { background-color: var(--yellow-11); }

.bg-green-0 { background-color: var(--green-0); }

.bg-green-1 { background-color: var(--green-1); }

.bg-green-2 { background-color: var(--green-2); }

.bg-green-3 { background-color: var(--green-3); }

.bg-green-4 { background-color: var(--green-4); }

.bg-green-5 { background-color: var(--green-5); }

.bg-green-6 { background-color: var(--green-6); }

.bg-green-7 { background-color: var(--green-7); }

.bg-green-8 { background-color: var(--green-8); }

.bg-green-9 { background-color: var(--green-9); }

.bg-green-10 { background-color: var(--green-10); }

.bg-green-11 { background-color: var(--green-11); }

.bg-lime-0 { background-color: var(--lime-0); }

.bg-lime-1 { background-color: var(--lime-1); }

.bg-lime-2 { background-color: var(--lime-2); }

.bg-lime-3 { background-color: var(--lime-3); }

.bg-lime-4 { background-color: var(--lime-4); }

.bg-lime-5 { background-color: var(--lime-5); }

.bg-lime-6 { background-color: var(--lime-6); }

.bg-lime-7 { background-color: var(--lime-7); }

.bg-lime-8 { background-color: var(--lime-8); }

.bg-lime-9 { background-color: var(--lime-9); }

.bg-lime-10 { background-color: var(--lime-10); }

.bg-lime-11 { background-color: var(--lime-11); }

.bg-teal-0 { background-color: var(--teal-0); }

.bg-teal-1 { background-color: var(--teal-1); }

.bg-teal-2 { background-color: var(--teal-2); }

.bg-teal-3 { background-color: var(--teal-3); }

.bg-teal-4 { background-color: var(--teal-4); }

.bg-teal-5 { background-color: var(--teal-5); }

.bg-teal-6 { background-color: var(--teal-6); }

.bg-teal-7 { background-color: var(--teal-7); }

.bg-teal-8 { background-color: var(--teal-8); }

.bg-teal-9 { background-color: var(--teal-9); }

.bg-teal-10 { background-color: var(--teal-10); }

.bg-teal-11 { background-color: var(--teal-11); }

.bg-cyan-0 { background-color: var(--cyan-0); }

.bg-cyan-1 { background-color: var(--cyan-1); }

.bg-cyan-2 { background-color: var(--cyan-2); }

.bg-cyan-3 { background-color: var(--cyan-3); }

.bg-cyan-4 { background-color: var(--cyan-4); }

.bg-cyan-5 { background-color: var(--cyan-5); }

.bg-cyan-6 { background-color: var(--cyan-6); }

.bg-cyan-7 { background-color: var(--cyan-7); }

.bg-cyan-8 { background-color: var(--cyan-8); }

.bg-cyan-9 { background-color: var(--cyan-9); }

.bg-cyan-10 { background-color: var(--cyan-10); }

.bg-cyan-11 { background-color: var(--cyan-11); }

.dark {
  background-color: black;
  color: white;
}

.light {
  background-color: white;
  color: black;
}

.blue {
  background-color: var(--blue-5);
  color: var(--gray-11);
}

.blue-dark {
  background-color: var(--blue-3);
  color: var(--blue-9);
}

.blue-light {
  color: var(--blue-3);
  background-color: var(--blue-10);
}

.indigo {
  background-color: var(--indigo-5);
  color: var(--gray-11);
}

.indigo-dark {
  background-color: var(--indigo-3);
  color: var(--indigo-9);
}

.indigo-light {
  color: var(--indigo-3);
  background-color: var(--indigo-10);
}

.violet {
  background-color: var(--violet-5);
  color: var(--gray-11);
}

.violet-dark {
  background-color: var(--violet-3);
  color: var(--violet-9);
}

.violet-light {
  color: var(--violet-3);
  background-color: var(--violet-10);
}

.magenta {
  background-color: var(--magenta-5);
  color: var(--gray-11);
}

.magenta-dark {
  background-color: var(--magenta-3);
  color: var(--magenta-9);
}

.magenta-light {
  color: var(--magenta-3);
  background-color: var(--magenta-10);
}

.red {
  background-color: var(--red-5);
  color: var(--gray-11);
}

.red-dark {
  background-color: var(--red-3);
  color: var(--red-9);
}

.red-light {
  color: var(--red-3);
  background-color: var(--red-10);
}

.red-orange {
  background-color: var(--red-orange-5);
  color: var(--gray-11);
}

.red-orange-dark {
  background-color: var(--red-orange-3);
  color: var(--red-orange-9);
}

.red-orange-light {
  color: var(--red-orange-3);
  background-color: var(--red-orange-10);
}

.orange {
  background-color: var(--orange-5);
  color: var(--gray-11);
}

.orange-dark {
  background-color: var(--orange-3);
  color: var(--orange-9);
}

.orange-light {
  color: var(--orange-3);
  background-color: var(--orange-10);
}

.gold {
  background-color: var(--gold-5);
  color: var(--gray-11);
}

.gold-dark {
  background-color: var(--gold-3);
  color: var(--gold-9);
}

.gold-light {
  color: var(--gold-3);
  background-color: var(--gold-10);
}

.yellow {
  background-color: var(--yellow-5);
  color: var(--gray-11);
}

.yellow-dark {
  background-color: var(--yellow-3);
  color: var(--yellow-9);
}

.yellow-light {
  color: var(--yellow-3);
  background-color: var(--yellow-10);
}

.green {
  background-color: var(--green-5);
  color: var(--gray-11);
}

.green-dark {
  background-color: var(--green-3);
  color: var(--green-9);
}

.green-light {
  color: var(--green-3);
  background-color: var(--green-10);
}

.lime {
  background-color: var(--lime-5);
  color: var(--gray-11);
}

.lime-dark {
  background-color: var(--lime-3);
  color: var(--lime-9);
}

.lime-light {
  color: var(--lime-3);
  background-color: var(--lime-10);
}

.teal {
  background-color: var(--teal-5);
  color: var(--gray-11);
}

.teal-dark {
  background-color: var(--teal-3);
  color: var(--teal-9);
}

.teal-light {
  color: var(--teal-3);
  background-color: var(--teal-10);
}

.cyan {
  background-color: var(--cyan-5);
  color: var(--gray-11);
}

.cyan-dark {
  background-color: var(--cyan-3);
  color: var(--cyan-9);
}

.cyan-light {
  color: var(--cyan-3);
  background-color: var(--cyan-10);
}

/* 
  
   SKINS:PSEUDO

   Customize the color of an element when
   it is focused or hovered over. This is a larger file. Feel
   free to remove and edit colors that aren't needed.
 
 */

.hover-overlay-tint-0:hover { color: var( --overlay-tint-0); }

.hover-overlay-tint-1:hover { color: var( --overlay-tint-1); }

.hover-overlay-tint-2:hover { color: var( --overlay-tint-2); }

.hover-overlay-tint-3:hover { color: var( --overlay-tint-3); }

.hover-overlay-tint-4:hover { color: var( --overlay-tint-4); }

.hover-overlay-tint-5:hover { color: var( --overlay-tint-5); }

.hover-overlay-tint-6:hover { color: var( --overlay-tint-6); }

.hover-overlay-tint-7:hover { color: var( --overlay-tint-7); }

.hover-overlay-tint-8:hover { color: var( --overlay-tint-8); }

.hover-overlay-tint-9:hover { color: var( --overlay-tint-9); }

.hover-overlay-tint-10:hover { color: var( --overlay-tint-10); }

.hover-overlay-tint-11:hover { color: var( --overlay-tint-11); }

.hover-overlay-shadow-0:hover { color: var( --overlay-shadow-0); }

.hover-overlay-shadow-1:hover { color: var( --overlay-shadow-1); }

.hover-overlay-shadow-2:hover { color: var( --overlay-shadow-2); }

.hover-overlay-shadow-3:hover { color: var( --overlay-shadow-3); }

.hover-overlay-shadow-4:hover { color: var( --overlay-shadow-4); }

.hover-overlay-shadow-5:hover { color: var( --overlay-shadow-5); }

.hover-overlay-shadow-6:hover { color: var( --overlay-shadow-6); }

.hover-overlay-shadow-7:hover { color: var( --overlay-shadow-7); }

.hover-overlay-shadow-8:hover { color: var( --overlay-shadow-8); }

.hover-overlay-shadow-9:hover { color: var( --overlay-shadow-9); }

.hover-overlay-shadow-10:hover { color: var( --overlay-shadow-10); }

.hover-overlay-shadow-11:hover { color: var( --overlay-shadow-11); }

.hover-gray-0:hover { color: var( --gray-0); }

.hover-gray-1:hover { color: var( --gray-1); }

.hover-gray-2:hover { color: var( --gray-2); }

.hover-gray-3:hover { color: var( --gray-3); }

.hover-gray-4:hover { color: var( --gray-4); }

.hover-gray-5:hover { color: var( --gray-5); }

.hover-gray-6:hover { color: var( --gray-6); }

.hover-gray-7:hover { color: var( --gray-7); }

.hover-gray-8:hover { color: var( --gray-8); }

.hover-gray-9:hover { color: var( --gray-9); }

.hover-gray-10:hover { color: var( --gray-10); }

.hover-gray-11:hover { color: var( --gray-11); }

.hover-slate-gray-0:hover { color: var( --slate-gray-0); }

.hover-slate-gray-1:hover { color: var( --slate-gray-1); }

.hover-slate-gray-2:hover { color: var( --slate-gray-2); }

.hover-slate-gray-3:hover { color: var( --slate-gray-3); }

.hover-slate-gray-4:hover { color: var( --slate-gray-4); }

.hover-slate-gray-5:hover { color: var( --slate-gray-5); }

.hover-slate-gray-6:hover { color: var( --slate-gray-6); }

.hover-slate-gray-7:hover { color: var( --slate-gray-7); }

.hover-slate-gray-8:hover { color: var( --slate-gray-8); }

.hover-slate-gray-9:hover { color: var( --slate-gray-9); }

.hover-slate-gray-10:hover { color: var( --slate-gray-10); }

.hover-slate-gray-11:hover { color: var( --slate-gray-11); }

.hover-blue-0:hover { color: var( --blue-0); }

.hover-blue-1:hover { color: var( --blue-1); }

.hover-blue-2:hover { color: var( --blue-2); }

.hover-blue-3:hover { color: var( --blue-3); }

.hover-blue-4:hover { color: var( --blue-4); }

.hover-blue-5:hover { color: var( --blue-5); }

.hover-blue-6:hover { color: var( --blue-6); }

.hover-blue-7:hover { color: var( --blue-7); }

.hover-blue-8:hover { color: var( --blue-8); }

.hover-blue-9:hover { color: var( --blue-9); }

.hover-blue-10:hover { color: var( --blue-10); }

.hover-blue-11:hover { color: var( --blue-11); }

.hover-indigo-0:hover { color: var( --indigo-0); }

.hover-indigo-1:hover { color: var( --indigo-1); }

.hover-indigo-2:hover { color: var( --indigo-2); }

.hover-indigo-3:hover { color: var( --indigo-3); }

.hover-indigo-4:hover { color: var( --indigo-4); }

.hover-indigo-5:hover { color: var( --indigo-5); }

.hover-indigo-6:hover { color: var( --indigo-6); }

.hover-indigo-7:hover { color: var( --indigo-7); }

.hover-indigo-8:hover { color: var( --indigo-8); }

.hover-indigo-9:hover { color: var( --indigo-9); }

.hover-indigo-10:hover { color: var( --indigo-10); }

.hover-indigo-11:hover { color: var( --indigo-11); }

.hover-violet-0:hover { color: var( --violet-0); }

.hover-violet-1:hover { color: var( --violet-1); }

.hover-violet-2:hover { color: var( --violet-2); }

.hover-violet-3:hover { color: var( --violet-3); }

.hover-violet-4:hover { color: var( --violet-4); }

.hover-violet-5:hover { color: var( --violet-5); }

.hover-violet-6:hover { color: var( --violet-6); }

.hover-violet-7:hover { color: var( --violet-7); }

.hover-violet-8:hover { color: var( --violet-8); }

.hover-violet-9:hover { color: var( --violet-9); }

.hover-violet-10:hover { color: var( --violet-10); }

.hover-violet-11:hover { color: var( --violet-11); }

.hover-magenta-0:hover { color: var( --magenta-0); }

.hover-magenta-1:hover { color: var( --magenta-1); }

.hover-magenta-2:hover { color: var( --magenta-2); }

.hover-magenta-3:hover { color: var( --magenta-3); }

.hover-magenta-4:hover { color: var( --magenta-4); }

.hover-magenta-5:hover { color: var( --magenta-5); }

.hover-magenta-6:hover { color: var( --magenta-6); }

.hover-magenta-7:hover { color: var( --magenta-7); }

.hover-magenta-8:hover { color: var( --magenta-8); }

.hover-magenta-9:hover { color: var( --magenta-9); }

.hover-magenta-10:hover { color: var( --magenta-10); }

.hover-magenta-11:hover { color: var( --magenta-11); }

.hover-red-0:hover { color: var( --red-0); }

.hover-red-1:hover { color: var( --red-1); }

.hover-red-2:hover { color: var( --red-2); }

.hover-red-3:hover { color: var( --red-3); }

.hover-red-4:hover { color: var( --red-4); }

.hover-red-5:hover { color: var( --red-5); }

.hover-red-6:hover { color: var( --red-6); }

.hover-red-7:hover { color: var( --red-7); }

.hover-red-8:hover { color: var( --red-8); }

.hover-red-9:hover { color: var( --red-9); }

.hover-red-10:hover { color: var( --red-10); }

.hover-red-11:hover { color: var( --red-11); }

.hover-red-orange-0:hover { color: var( --red-orange-0); }

.hover-red-orange-1:hover { color: var( --red-orange-1); }

.hover-red-orange-2:hover { color: var( --red-orange-2); }

.hover-red-orange-3:hover { color: var( --red-orange-3); }

.hover-red-orange-4:hover { color: var( --red-orange-4); }

.hover-red-orange-5:hover { color: var( --red-orange-5); }

.hover-red-orange-6:hover { color: var( --red-orange-6); }

.hover-red-orange-7:hover { color: var( --red-orange-7); }

.hover-red-orange-8:hover { color: var( --red-orange-8); }

.hover-red-orange-9:hover { color: var( --red-orange-9); }

.hover-red-orange-10:hover { color: var( --red-orange-10); }

.hover-red-orange-11:hover { color: var( --red-orange-11); }

.hover-orange-0:hover { color: var( --orange-0); }

.hover-orange-1:hover { color: var( --orange-1); }

.hover-orange-2:hover { color: var( --orange-2); }

.hover-orange-3:hover { color: var( --orange-3); }

.hover-orange-4:hover { color: var( --orange-4); }

.hover-orange-5:hover { color: var( --orange-5); }

.hover-orange-6:hover { color: var( --orange-6); }

.hover-orange-7:hover { color: var( --orange-7); }

.hover-orange-8:hover { color: var( --orange-8); }

.hover-orange-9:hover { color: var( --orange-9); }

.hover-orange-10:hover { color: var( --orange-10); }

.hover-orange-11:hover { color: var( --orange-11); }

.hover-gold-0:hover { color: var( --gold-0); }

.hover-gold-1:hover { color: var( --gold-1); }

.hover-gold-2:hover { color: var( --gold-2); }

.hover-gold-3:hover { color: var( --gold-3); }

.hover-gold-4:hover { color: var( --gold-4); }

.hover-gold-5:hover { color: var( --gold-5); }

.hover-gold-6:hover { color: var( --gold-6); }

.hover-gold-7:hover { color: var( --gold-7); }

.hover-gold-8:hover { color: var( --gold-8); }

.hover-gold-9:hover { color: var( --gold-9); }

.hover-gold-10:hover { color: var( --gold-10); }

.hover-gold-11:hover { color: var( --gold-11); }

.hover-yellow-0:hover { color: var( --yellow-0); }

.hover-yellow-1:hover { color: var( --yellow-1); }

.hover-yellow-2:hover { color: var( --yellow-2); }

.hover-yellow-3:hover { color: var( --yellow-3); }

.hover-yellow-4:hover { color: var( --yellow-4); }

.hover-yellow-5:hover { color: var( --yellow-5); }

.hover-yellow-6:hover { color: var( --yellow-6); }

.hover-yellow-7:hover { color: var( --yellow-7); }

.hover-yellow-8:hover { color: var( --yellow-8); }

.hover-yellow-9:hover { color: var( --yellow-9); }

.hover-yellow-10:hover { color: var( --yellow-10); }

.hover-yellow-11:hover { color: var( --yellow-11); }

.hover-green-0:hover { color: var( --green-0); }

.hover-green-1:hover { color: var( --green-1); }

.hover-green-2:hover { color: var( --green-2); }

.hover-green-3:hover { color: var( --green-3); }

.hover-green-4:hover { color: var( --green-4); }

.hover-green-5:hover { color: var( --green-5); }

.hover-green-6:hover { color: var( --green-6); }

.hover-green-7:hover { color: var( --green-7); }

.hover-green-8:hover { color: var( --green-8); }

.hover-green-9:hover { color: var( --green-9); }

.hover-green-10:hover { color: var( --green-10); }

.hover-green-11:hover { color: var( --green-11); }

.hover-lime-0:hover { color: var( --lime-0); }

.hover-lime-1:hover { color: var( --lime-1); }

.hover-lime-2:hover { color: var( --lime-2); }

.hover-lime-3:hover { color: var( --lime-3); }

.hover-lime-4:hover { color: var( --lime-4); }

.hover-lime-5:hover { color: var( --lime-5); }

.hover-lime-6:hover { color: var( --lime-6); }

.hover-lime-7:hover { color: var( --lime-7); }

.hover-lime-8:hover { color: var( --lime-8); }

.hover-lime-9:hover { color: var( --lime-9); }

.hover-lime-10:hover { color: var( --lime-10); }

.hover-lime-11:hover { color: var( --lime-11); }

.hover-teal-0:hover { color: var( --teal-0); }

.hover-teal-1:hover { color: var( --teal-1); }

.hover-teal-2:hover { color: var( --teal-2); }

.hover-teal-3:hover { color: var( --teal-3); }

.hover-teal-4:hover { color: var( --teal-4); }

.hover-teal-5:hover { color: var( --teal-5); }

.hover-teal-6:hover { color: var( --teal-6); }

.hover-teal-7:hover { color: var( --teal-7); }

.hover-teal-8:hover { color: var( --teal-8); }

.hover-teal-9:hover { color: var( --teal-9); }

.hover-teal-10:hover { color: var( --teal-10); }

.hover-teal-11:hover { color: var( --teal-11); }

.hover-cyan-0:hover { color: var( --cyan-0); }

.hover-cyan-1:hover { color: var( --cyan-1); }

.hover-cyan-2:hover { color: var( --cyan-2); }

.hover-cyan-3:hover { color: var( --cyan-3); }

.hover-cyan-4:hover { color: var( --cyan-4); }

.hover-cyan-5:hover { color: var( --cyan-5); }

.hover-cyan-6:hover { color: var( --cyan-6); }

.hover-cyan-7:hover { color: var( --cyan-7); }

.hover-cyan-8:hover { color: var( --cyan-8); }

.hover-cyan-9:hover { color: var( --cyan-9); }

.hover-cyan-10:hover { color: var( --cyan-10); }

.hover-cyan-11:hover { color: var( --cyan-11); }

/* Background colors */

.hover-bg-overlay-tint-0:hover { background-color: var( --overlay-tint-0); }

.hover-bg-overlay-tint-1:hover { background-color: var( --overlay-tint-1); }

.hover-bg-overlay-tint-2:hover { background-color: var( --overlay-tint-2); }

.hover-bg-overlay-tint-3:hover { background-color: var( --overlay-tint-3); }

.hover-bg-overlay-tint-4:hover { background-color: var( --overlay-tint-4); }

.hover-bg-overlay-tint-5:hover { background-color: var( --overlay-tint-5); }

.hover-bg-overlay-tint-6:hover { background-color: var( --overlay-tint-6); }

.hover-bg-overlay-tint-7:hover { background-color: var( --overlay-tint-7); }

.hover-bg-overlay-tint-8:hover { background-color: var( --overlay-tint-8); }

.hover-bg-overlay-tint-9:hover { background-color: var( --overlay-tint-9); }

.hover-bg-overlay-tint-10:hover { background-color: var( --overlay-tint-10); }

.hover-bg-overlay-tint-11:hover { background-color: var( --overlay-tint-11); }

.hover-bg-overlay-shadow-0:hover { background-color: var( --overlay-shadow-0); }

.hover-bg-overlay-shadow-1:hover { background-color: var( --overlay-shadow-1); }

.hover-bg-overlay-shadow-2:hover { background-color: var( --overlay-shadow-2); }

.hover-bg-overlay-shadow-3:hover { background-color: var( --overlay-shadow-3); }

.hover-bg-overlay-shadow-4:hover { background-color: var( --overlay-shadow-4); }

.hover-bg-overlay-shadow-5:hover { background-color: var( --overlay-shadow-5); }

.hover-bg-overlay-shadow-6:hover { background-color: var( --overlay-shadow-6); }

.hover-bg-overlay-shadow-7:hover { background-color: var( --overlay-shadow-7); }

.hover-bg-overlay-shadow-8:hover { background-color: var( --overlay-shadow-8); }

.hover-bg-overlay-shadow-9:hover { background-color: var( --overlay-shadow-9); }

.hover-bg-overlay-shadow-10:hover { background-color: var( --overlay-shadow-10); }

.hover-bg-overlay-shadow-11:hover { background-color: var( --overlay-shadow-11); }

.hover-bg-gray-0:hover { background-color: var( --gray-0); }

.hover-bg-gray-1:hover { background-color: var( --gray-1); }

.hover-bg-gray-2:hover { background-color: var( --gray-2); }

.hover-bg-gray-3:hover { background-color: var( --gray-3); }

.hover-bg-gray-4:hover { background-color: var( --gray-4); }

.hover-bg-gray-5:hover { background-color: var( --gray-5); }

.hover-bg-gray-6:hover { background-color: var( --gray-6); }

.hover-bg-gray-7:hover { background-color: var( --gray-7); }

.hover-bg-gray-8:hover { background-color: var( --gray-8); }

.hover-bg-gray-9:hover { background-color: var( --gray-9); }

.hover-bg-gray-10:hover { background-color: var( --gray-10); }

.hover-bg-gray-11:hover { background-color: var( --gray-11); }

.hover-bg-slate-gray-0:hover { background-color: var( --slate-gray-0); }

.hover-bg-slate-gray-1:hover { background-color: var( --slate-gray-1); }

.hover-bg-slate-gray-2:hover { background-color: var( --slate-gray-2); }

.hover-bg-slate-gray-3:hover { background-color: var( --slate-gray-3); }

.hover-bg-slate-gray-4:hover { background-color: var( --slate-gray-4); }

.hover-bg-slate-gray-5:hover { background-color: var( --slate-gray-5); }

.hover-bg-slate-gray-6:hover { background-color: var( --slate-gray-6); }

.hover-bg-slate-gray-7:hover { background-color: var( --slate-gray-7); }

.hover-bg-slate-gray-8:hover { background-color: var( --slate-gray-8); }

.hover-bg-slate-gray-9:hover { background-color: var( --slate-gray-9); }

.hover-bg-slate-gray-10:hover { background-color: var( --slate-gray-10); }

.hover-bg-slate-gray-11:hover { background-color: var( --slate-gray-11); }

.hover-bg-blue-0:hover { background-color: var( --blue-0); }

.hover-bg-blue-1:hover { background-color: var( --blue-1); }

.hover-bg-blue-2:hover { background-color: var( --blue-2); }

.hover-bg-blue-3:hover { background-color: var( --blue-3); }

.hover-bg-blue-4:hover { background-color: var( --blue-4); }

.hover-bg-blue-5:hover { background-color: var( --blue-5); }

.hover-bg-blue-6:hover { background-color: var( --blue-6); }

.hover-bg-blue-7:hover { background-color: var( --blue-7); }

.hover-bg-blue-8:hover { background-color: var( --blue-8); }

.hover-bg-blue-9:hover { background-color: var( --blue-9); }

.hover-bg-blue-10:hover { background-color: var( --blue-10); }

.hover-bg-blue-11:hover { background-color: var( --blue-11); }

.hover-bg-indigo-0:hover { background-color: var( --indigo-0); }

.hover-bg-indigo-1:hover { background-color: var( --indigo-1); }

.hover-bg-indigo-2:hover { background-color: var( --indigo-2); }

.hover-bg-indigo-3:hover { background-color: var( --indigo-3); }

.hover-bg-indigo-4:hover { background-color: var( --indigo-4); }

.hover-bg-indigo-5:hover { background-color: var( --indigo-5); }

.hover-bg-indigo-6:hover { background-color: var( --indigo-6); }

.hover-bg-indigo-7:hover { background-color: var( --indigo-7); }

.hover-bg-indigo-8:hover { background-color: var( --indigo-8); }

.hover-bg-indigo-9:hover { background-color: var( --indigo-9); }

.hover-bg-indigo-10:hover { background-color: var( --indigo-10); }

.hover-bg-indigo-11:hover { background-color: var( --indigo-11); }

.hover-bg-violet-0:hover { background-color: var( --violet-0); }

.hover-bg-violet-1:hover { background-color: var( --violet-1); }

.hover-bg-violet-2:hover { background-color: var( --violet-2); }

.hover-bg-violet-3:hover { background-color: var( --violet-3); }

.hover-bg-violet-4:hover { background-color: var( --violet-4); }

.hover-bg-violet-5:hover { background-color: var( --violet-5); }

.hover-bg-violet-6:hover { background-color: var( --violet-6); }

.hover-bg-violet-7:hover { background-color: var( --violet-7); }

.hover-bg-violet-8:hover { background-color: var( --violet-8); }

.hover-bg-violet-9:hover { background-color: var( --violet-9); }

.hover-bg-violet-10:hover { background-color: var( --violet-10); }

.hover-bg-violet-11:hover { background-color: var( --violet-11); }

.hover-bg-magenta-0:hover { background-color: var( --magenta-0); }

.hover-bg-magenta-1:hover { background-color: var( --magenta-1); }

.hover-bg-magenta-2:hover { background-color: var( --magenta-2); }

.hover-bg-magenta-3:hover { background-color: var( --magenta-3); }

.hover-bg-magenta-4:hover { background-color: var( --magenta-4); }

.hover-bg-magenta-5:hover { background-color: var( --magenta-5); }

.hover-bg-magenta-6:hover { background-color: var( --magenta-6); }

.hover-bg-magenta-7:hover { background-color: var( --magenta-7); }

.hover-bg-magenta-8:hover { background-color: var( --magenta-8); }

.hover-bg-magenta-9:hover { background-color: var( --magenta-9); }

.hover-bg-magenta-10:hover { background-color: var( --magenta-10); }

.hover-bg-magenta-11:hover { background-color: var( --magenta-11); }

.hover-bg-red-0:hover { background-color: var( --red-0); }

.hover-bg-red-1:hover { background-color: var( --red-1); }

.hover-bg-red-2:hover { background-color: var( --red-2); }

.hover-bg-red-3:hover { background-color: var( --red-3); }

.hover-bg-red-4:hover { background-color: var( --red-4); }

.hover-bg-red-5:hover { background-color: var( --red-5); }

.hover-bg-red-6:hover { background-color: var( --red-6); }

.hover-bg-red-7:hover { background-color: var( --red-7); }

.hover-bg-red-8:hover { background-color: var( --red-8); }

.hover-bg-red-9:hover { background-color: var( --red-9); }

.hover-bg-red-10:hover { background-color: var( --red-10); }

.hover-bg-red-11:hover { background-color: var( --red-11); }

.hover-bg-red-orange-0:hover { background-color: var( --red-orange-0); }

.hover-bg-red-orange-1:hover { background-color: var( --red-orange-1); }

.hover-bg-red-orange-2:hover { background-color: var( --red-orange-2); }

.hover-bg-red-orange-3:hover { background-color: var( --red-orange-3); }

.hover-bg-red-orange-4:hover { background-color: var( --red-orange-4); }

.hover-bg-red-orange-5:hover { background-color: var( --red-orange-5); }

.hover-bg-red-orange-6:hover { background-color: var( --red-orange-6); }

.hover-bg-red-orange-7:hover { background-color: var( --red-orange-7); }

.hover-bg-red-orange-8:hover { background-color: var( --red-orange-8); }

.hover-bg-red-orange-9:hover { background-color: var( --red-orange-9); }

.hover-bg-red-orange-10:hover { background-color: var( --red-orange-10); }

.hover-bg-red-orange-11:hover { background-color: var( --red-orange-11); }

.hover-bg-orange-0:hover { background-color: var( --orange-0); }

.hover-bg-orange-1:hover { background-color: var( --orange-1); }

.hover-bg-orange-2:hover { background-color: var( --orange-2); }

.hover-bg-orange-3:hover { background-color: var( --orange-3); }

.hover-bg-orange-4:hover { background-color: var( --orange-4); }

.hover-bg-orange-5:hover { background-color: var( --orange-5); }

.hover-bg-orange-6:hover { background-color: var( --orange-6); }

.hover-bg-orange-7:hover { background-color: var( --orange-7); }

.hover-bg-orange-8:hover { background-color: var( --orange-8); }

.hover-bg-orange-9:hover { background-color: var( --orange-9); }

.hover-bg-orange-10:hover { background-color: var( --orange-10); }

.hover-bg-orange-11:hover { background-color: var( --orange-11); }

.hover-bg-gold-0:hover { background-color: var( --gold-0); }

.hover-bg-gold-1:hover { background-color: var( --gold-1); }

.hover-bg-gold-2:hover { background-color: var( --gold-2); }

.hover-bg-gold-3:hover { background-color: var( --gold-3); }

.hover-bg-gold-4:hover { background-color: var( --gold-4); }

.hover-bg-gold-5:hover { background-color: var( --gold-5); }

.hover-bg-gold-6:hover { background-color: var( --gold-6); }

.hover-bg-gold-7:hover { background-color: var( --gold-7); }

.hover-bg-gold-8:hover { background-color: var( --gold-8); }

.hover-bg-gold-9:hover { background-color: var( --gold-9); }

.hover-bg-gold-10:hover { background-color: var( --gold-10); }

.hover-bg-gold-11:hover { background-color: var( --gold-11); }

.hover-bg-yellow-0:hover { background-color: var( --yellow-0); }

.hover-bg-yellow-1:hover { background-color: var( --yellow-1); }

.hover-bg-yellow-2:hover { background-color: var( --yellow-2); }

.hover-bg-yellow-3:hover { background-color: var( --yellow-3); }

.hover-bg-yellow-4:hover { background-color: var( --yellow-4); }

.hover-bg-yellow-5:hover { background-color: var( --yellow-5); }

.hover-bg-yellow-6:hover { background-color: var( --yellow-6); }

.hover-bg-yellow-7:hover { background-color: var( --yellow-7); }

.hover-bg-yellow-8:hover { background-color: var( --yellow-8); }

.hover-bg-yellow-9:hover { background-color: var( --yellow-9); }

.hover-bg-yellow-10:hover { background-color: var( --yellow-10); }

.hover-bg-yellow-11:hover { background-color: var( --yellow-11); }

.hover-bg-green-0:hover { background-color: var( --green-0); }

.hover-bg-green-1:hover { background-color: var( --green-1); }

.hover-bg-green-2:hover { background-color: var( --green-2); }

.hover-bg-green-3:hover { background-color: var( --green-3); }

.hover-bg-green-4:hover { background-color: var( --green-4); }

.hover-bg-green-5:hover { background-color: var( --green-5); }

.hover-bg-green-6:hover { background-color: var( --green-6); }

.hover-bg-green-7:hover { background-color: var( --green-7); }

.hover-bg-green-8:hover { background-color: var( --green-8); }

.hover-bg-green-9:hover { background-color: var( --green-9); }

.hover-bg-green-10:hover { background-color: var( --green-10); }

.hover-bg-green-11:hover { background-color: var( --green-11); }

.hover-bg-lime-0:hover { background-color: var( --lime-0); }

.hover-bg-lime-1:hover { background-color: var( --lime-1); }

.hover-bg-lime-2:hover { background-color: var( --lime-2); }

.hover-bg-lime-3:hover { background-color: var( --lime-3); }

.hover-bg-lime-4:hover { background-color: var( --lime-4); }

.hover-bg-lime-5:hover { background-color: var( --lime-5); }

.hover-bg-lime-6:hover { background-color: var( --lime-6); }

.hover-bg-lime-7:hover { background-color: var( --lime-7); }

.hover-bg-lime-8:hover { background-color: var( --lime-8); }

.hover-bg-lime-9:hover { background-color: var( --lime-9); }

.hover-bg-lime-10:hover { background-color: var( --lime-10); }

.hover-bg-lime-11:hover { background-color: var( --lime-11); }

.hover-bg-teal-0:hover { background-color: var( --teal-0); }

.hover-bg-teal-1:hover { background-color: var( --teal-1); }

.hover-bg-teal-2:hover { background-color: var( --teal-2); }

.hover-bg-teal-3:hover { background-color: var( --teal-3); }

.hover-bg-teal-4:hover { background-color: var( --teal-4); }

.hover-bg-teal-5:hover { background-color: var( --teal-5); }

.hover-bg-teal-6:hover { background-color: var( --teal-6); }

.hover-bg-teal-7:hover { background-color: var( --teal-7); }

.hover-bg-teal-8:hover { background-color: var( --teal-8); }

.hover-bg-teal-9:hover { background-color: var( --teal-9); }

.hover-bg-teal-10:hover { background-color: var( --teal-10); }

.hover-bg-teal-11:hover { background-color: var( --teal-11); }

.hover-bg-cyan-0:hover { background-color: var( --cyan-0); }

.hover-bg-cyan-1:hover { background-color: var( --cyan-1); }

.hover-bg-cyan-2:hover { background-color: var( --cyan-2); }

.hover-bg-cyan-3:hover { background-color: var( --cyan-3); }

.hover-bg-cyan-4:hover { background-color: var( --cyan-4); }

.hover-bg-cyan-5:hover { background-color: var( --cyan-5); }

.hover-bg-cyan-6:hover { background-color: var( --cyan-6); }

.hover-bg-cyan-7:hover { background-color: var( --cyan-7); }

.hover-bg-cyan-8:hover { background-color: var( --cyan-8); }

.hover-bg-cyan-9:hover { background-color: var( --cyan-9); }

.hover-bg-cyan-10:hover { background-color: var( --cyan-10); }

.hover-bg-cyan-11:hover { background-color: var( --cyan-11); }

.focus-overlay-tint-0:focus { color: var( --overlay-tint-0); }

.focus-overlay-tint-1:focus { color: var( --overlay-tint-1); }

.focus-overlay-tint-2:focus { color: var( --overlay-tint-2); }

.focus-overlay-tint-3:focus { color: var( --overlay-tint-3); }

.focus-overlay-tint-4:focus { color: var( --overlay-tint-4); }

.focus-overlay-tint-5:focus { color: var( --overlay-tint-5); }

.focus-overlay-tint-6:focus { color: var( --overlay-tint-6); }

.focus-overlay-tint-7:focus { color: var( --overlay-tint-7); }

.focus-overlay-tint-8:focus { color: var( --overlay-tint-8); }

.focus-overlay-tint-9:focus { color: var( --overlay-tint-9); }

.focus-overlay-tint-10:focus { color: var( --overlay-tint-10); }

.focus-overlay-tint-11:focus { color: var( --overlay-tint-11); }

.focus-overlay-shadow-0:focus { color: var( --overlay-shadow-0); }

.focus-overlay-shadow-1:focus { color: var( --overlay-shadow-1); }

.focus-overlay-shadow-2:focus { color: var( --overlay-shadow-2); }

.focus-overlay-shadow-3:focus { color: var( --overlay-shadow-3); }

.focus-overlay-shadow-4:focus { color: var( --overlay-shadow-4); }

.focus-overlay-shadow-5:focus { color: var( --overlay-shadow-5); }

.focus-overlay-shadow-6:focus { color: var( --overlay-shadow-6); }

.focus-overlay-shadow-7:focus { color: var( --overlay-shadow-7); }

.focus-overlay-shadow-8:focus { color: var( --overlay-shadow-8); }

.focus-overlay-shadow-9:focus { color: var( --overlay-shadow-9); }

.focus-overlay-shadow-10:focus { color: var( --overlay-shadow-10); }

.focus-overlay-shadow-11:focus { color: var( --overlay-shadow-11); }

.focus-gray-0:focus { color: var( --gray-0); }

.focus-gray-1:focus { color: var( --gray-1); }

.focus-gray-2:focus { color: var( --gray-2); }

.focus-gray-3:focus { color: var( --gray-3); }

.focus-gray-4:focus { color: var( --gray-4); }

.focus-gray-5:focus { color: var( --gray-5); }

.focus-gray-6:focus { color: var( --gray-6); }

.focus-gray-7:focus { color: var( --gray-7); }

.focus-gray-8:focus { color: var( --gray-8); }

.focus-gray-9:focus { color: var( --gray-9); }

.focus-gray-10:focus { color: var( --gray-10); }

.focus-gray-11:focus { color: var( --gray-11); }

.focus-slate-gray-0:focus { color: var( --slate-gray-0); }

.focus-slate-gray-1:focus { color: var( --slate-gray-1); }

.focus-slate-gray-2:focus { color: var( --slate-gray-2); }

.focus-slate-gray-3:focus { color: var( --slate-gray-3); }

.focus-slate-gray-4:focus { color: var( --slate-gray-4); }

.focus-slate-gray-5:focus { color: var( --slate-gray-5); }

.focus-slate-gray-6:focus { color: var( --slate-gray-6); }

.focus-slate-gray-7:focus { color: var( --slate-gray-7); }

.focus-slate-gray-8:focus { color: var( --slate-gray-8); }

.focus-slate-gray-9:focus { color: var( --slate-gray-9); }

.focus-slate-gray-10:focus { color: var( --slate-gray-10); }

.focus-slate-gray-11:focus { color: var( --slate-gray-11); }

.focus-blue-0:focus { color: var( --blue-0); }

.focus-blue-1:focus { color: var( --blue-1); }

.focus-blue-2:focus { color: var( --blue-2); }

.focus-blue-3:focus { color: var( --blue-3); }

.focus-blue-4:focus { color: var( --blue-4); }

.focus-blue-5:focus { color: var( --blue-5); }

.focus-blue-6:focus { color: var( --blue-6); }

.focus-blue-7:focus { color: var( --blue-7); }

.focus-blue-8:focus { color: var( --blue-8); }

.focus-blue-9:focus { color: var( --blue-9); }

.focus-blue-10:focus { color: var( --blue-10); }

.focus-blue-11:focus { color: var( --blue-11); }

.focus-indigo-0:focus { color: var( --indigo-0); }

.focus-indigo-1:focus { color: var( --indigo-1); }

.focus-indigo-2:focus { color: var( --indigo-2); }

.focus-indigo-3:focus { color: var( --indigo-3); }

.focus-indigo-4:focus { color: var( --indigo-4); }

.focus-indigo-5:focus { color: var( --indigo-5); }

.focus-indigo-6:focus { color: var( --indigo-6); }

.focus-indigo-7:focus { color: var( --indigo-7); }

.focus-indigo-8:focus { color: var( --indigo-8); }

.focus-indigo-9:focus { color: var( --indigo-9); }

.focus-indigo-10:focus { color: var( --indigo-10); }

.focus-indigo-11:focus { color: var( --indigo-11); }

.focus-violet-0:focus { color: var( --violet-0); }

.focus-violet-1:focus { color: var( --violet-1); }

.focus-violet-2:focus { color: var( --violet-2); }

.focus-violet-3:focus { color: var( --violet-3); }

.focus-violet-4:focus { color: var( --violet-4); }

.focus-violet-5:focus { color: var( --violet-5); }

.focus-violet-6:focus { color: var( --violet-6); }

.focus-violet-7:focus { color: var( --violet-7); }

.focus-violet-8:focus { color: var( --violet-8); }

.focus-violet-9:focus { color: var( --violet-9); }

.focus-violet-10:focus { color: var( --violet-10); }

.focus-violet-11:focus { color: var( --violet-11); }

.focus-magenta-0:focus { color: var( --magenta-0); }

.focus-magenta-1:focus { color: var( --magenta-1); }

.focus-magenta-2:focus { color: var( --magenta-2); }

.focus-magenta-3:focus { color: var( --magenta-3); }

.focus-magenta-4:focus { color: var( --magenta-4); }

.focus-magenta-5:focus { color: var( --magenta-5); }

.focus-magenta-6:focus { color: var( --magenta-6); }

.focus-magenta-7:focus { color: var( --magenta-7); }

.focus-magenta-8:focus { color: var( --magenta-8); }

.focus-magenta-9:focus { color: var( --magenta-9); }

.focus-magenta-10:focus { color: var( --magenta-10); }

.focus-magenta-11:focus { color: var( --magenta-11); }

.focus-red-0:focus { color: var( --red-0); }

.focus-red-1:focus { color: var( --red-1); }

.focus-red-2:focus { color: var( --red-2); }

.focus-red-3:focus { color: var( --red-3); }

.focus-red-4:focus { color: var( --red-4); }

.focus-red-5:focus { color: var( --red-5); }

.focus-red-6:focus { color: var( --red-6); }

.focus-red-7:focus { color: var( --red-7); }

.focus-red-8:focus { color: var( --red-8); }

.focus-red-9:focus { color: var( --red-9); }

.focus-red-10:focus { color: var( --red-10); }

.focus-red-11:focus { color: var( --red-11); }

.focus-red-orange-0:focus { color: var( --red-orange-0); }

.focus-red-orange-1:focus { color: var( --red-orange-1); }

.focus-red-orange-2:focus { color: var( --red-orange-2); }

.focus-red-orange-3:focus { color: var( --red-orange-3); }

.focus-red-orange-4:focus { color: var( --red-orange-4); }

.focus-red-orange-5:focus { color: var( --red-orange-5); }

.focus-red-orange-6:focus { color: var( --red-orange-6); }

.focus-red-orange-7:focus { color: var( --red-orange-7); }

.focus-red-orange-8:focus { color: var( --red-orange-8); }

.focus-red-orange-9:focus { color: var( --red-orange-9); }

.focus-red-orange-10:focus { color: var( --red-orange-10); }

.focus-red-orange-11:focus { color: var( --red-orange-11); }

.focus-orange-0:focus { color: var( --orange-0); }

.focus-orange-1:focus { color: var( --orange-1); }

.focus-orange-2:focus { color: var( --orange-2); }

.focus-orange-3:focus { color: var( --orange-3); }

.focus-orange-4:focus { color: var( --orange-4); }

.focus-orange-5:focus { color: var( --orange-5); }

.focus-orange-6:focus { color: var( --orange-6); }

.focus-orange-7:focus { color: var( --orange-7); }

.focus-orange-8:focus { color: var( --orange-8); }

.focus-orange-9:focus { color: var( --orange-9); }

.focus-orange-10:focus { color: var( --orange-10); }

.focus-orange-11:focus { color: var( --orange-11); }

.focus-gold-0:focus { color: var( --gold-0); }

.focus-gold-1:focus { color: var( --gold-1); }

.focus-gold-2:focus { color: var( --gold-2); }

.focus-gold-3:focus { color: var( --gold-3); }

.focus-gold-4:focus { color: var( --gold-4); }

.focus-gold-5:focus { color: var( --gold-5); }

.focus-gold-6:focus { color: var( --gold-6); }

.focus-gold-7:focus { color: var( --gold-7); }

.focus-gold-8:focus { color: var( --gold-8); }

.focus-gold-9:focus { color: var( --gold-9); }

.focus-gold-10:focus { color: var( --gold-10); }

.focus-gold-11:focus { color: var( --gold-11); }

.focus-yellow-0:focus { color: var( --yellow-0); }

.focus-yellow-1:focus { color: var( --yellow-1); }

.focus-yellow-2:focus { color: var( --yellow-2); }

.focus-yellow-3:focus { color: var( --yellow-3); }

.focus-yellow-4:focus { color: var( --yellow-4); }

.focus-yellow-5:focus { color: var( --yellow-5); }

.focus-yellow-6:focus { color: var( --yellow-6); }

.focus-yellow-7:focus { color: var( --yellow-7); }

.focus-yellow-8:focus { color: var( --yellow-8); }

.focus-yellow-9:focus { color: var( --yellow-9); }

.focus-yellow-10:focus { color: var( --yellow-10); }

.focus-yellow-11:focus { color: var( --yellow-11); }

.focus-green-0:focus { color: var( --green-0); }

.focus-green-1:focus { color: var( --green-1); }

.focus-green-2:focus { color: var( --green-2); }

.focus-green-3:focus { color: var( --green-3); }

.focus-green-4:focus { color: var( --green-4); }

.focus-green-5:focus { color: var( --green-5); }

.focus-green-6:focus { color: var( --green-6); }

.focus-green-7:focus { color: var( --green-7); }

.focus-green-8:focus { color: var( --green-8); }

.focus-green-9:focus { color: var( --green-9); }

.focus-green-10:focus { color: var( --green-10); }

.focus-green-11:focus { color: var( --green-11); }

.focus-lime-0:focus { color: var( --lime-0); }

.focus-lime-1:focus { color: var( --lime-1); }

.focus-lime-2:focus { color: var( --lime-2); }

.focus-lime-3:focus { color: var( --lime-3); }

.focus-lime-4:focus { color: var( --lime-4); }

.focus-lime-5:focus { color: var( --lime-5); }

.focus-lime-6:focus { color: var( --lime-6); }

.focus-lime-7:focus { color: var( --lime-7); }

.focus-lime-8:focus { color: var( --lime-8); }

.focus-lime-9:focus { color: var( --lime-9); }

.focus-lime-10:focus { color: var( --lime-10); }

.focus-lime-11:focus { color: var( --lime-11); }

.focus-teal-0:focus { color: var( --teal-0); }

.focus-teal-1:focus { color: var( --teal-1); }

.focus-teal-2:focus { color: var( --teal-2); }

.focus-teal-3:focus { color: var( --teal-3); }

.focus-teal-4:focus { color: var( --teal-4); }

.focus-teal-5:focus { color: var( --teal-5); }

.focus-teal-6:focus { color: var( --teal-6); }

.focus-teal-7:focus { color: var( --teal-7); }

.focus-teal-8:focus { color: var( --teal-8); }

.focus-teal-9:focus { color: var( --teal-9); }

.focus-teal-10:focus { color: var( --teal-10); }

.focus-teal-11:focus { color: var( --teal-11); }

.focus-cyan-0:focus { color: var( --cyan-0); }

.focus-cyan-1:focus { color: var( --cyan-1); }

.focus-cyan-2:focus { color: var( --cyan-2); }

.focus-cyan-3:focus { color: var( --cyan-3); }

.focus-cyan-4:focus { color: var( --cyan-4); }

.focus-cyan-5:focus { color: var( --cyan-5); }

.focus-cyan-6:focus { color: var( --cyan-6); }

.focus-cyan-7:focus { color: var( --cyan-7); }

.focus-cyan-8:focus { color: var( --cyan-8); }

.focus-cyan-9:focus { color: var( --cyan-9); }

.focus-cyan-10:focus { color: var( --cyan-10); }

.focus-cyan-11:focus { color: var( --cyan-11); }

/* Background colors */

.focus-bg-overlay-tint-0:focus { background-color: var( --overlay-tint-0); }

.focus-bg-overlay-tint-1:focus { background-color: var( --overlay-tint-1); }

.focus-bg-overlay-tint-2:focus { background-color: var( --overlay-tint-2); }

.focus-bg-overlay-tint-3:focus { background-color: var( --overlay-tint-3); }

.focus-bg-overlay-tint-4:focus { background-color: var( --overlay-tint-4); }

.focus-bg-overlay-tint-5:focus { background-color: var( --overlay-tint-5); }

.focus-bg-overlay-tint-6:focus { background-color: var( --overlay-tint-6); }

.focus-bg-overlay-tint-7:focus { background-color: var( --overlay-tint-7); }

.focus-bg-overlay-tint-8:focus { background-color: var( --overlay-tint-8); }

.focus-bg-overlay-tint-9:focus { background-color: var( --overlay-tint-9); }

.focus-bg-overlay-tint-10:focus { background-color: var( --overlay-tint-10); }

.focus-bg-overlay-tint-11:focus { background-color: var( --overlay-tint-11); }

.focus-bg-overlay-shadow-0:focus { background-color: var( --overlay-shadow-0); }

.focus-bg-overlay-shadow-1:focus { background-color: var( --overlay-shadow-1); }

.focus-bg-overlay-shadow-2:focus { background-color: var( --overlay-shadow-2); }

.focus-bg-overlay-shadow-3:focus { background-color: var( --overlay-shadow-3); }

.focus-bg-overlay-shadow-4:focus { background-color: var( --overlay-shadow-4); }

.focus-bg-overlay-shadow-5:focus { background-color: var( --overlay-shadow-5); }

.focus-bg-overlay-shadow-6:focus { background-color: var( --overlay-shadow-6); }

.focus-bg-overlay-shadow-7:focus { background-color: var( --overlay-shadow-7); }

.focus-bg-overlay-shadow-8:focus { background-color: var( --overlay-shadow-8); }

.focus-bg-overlay-shadow-9:focus { background-color: var( --overlay-shadow-9); }

.focus-bg-overlay-shadow-10:focus { background-color: var( --overlay-shadow-10); }

.focus-bg-overlay-shadow-11:focus { background-color: var( --overlay-shadow-11); }

.focus-bg-gray-0:focus { background-color: var( --gray-0); }

.focus-bg-gray-1:focus { background-color: var( --gray-1); }

.focus-bg-gray-2:focus { background-color: var( --gray-2); }

.focus-bg-gray-3:focus { background-color: var( --gray-3); }

.focus-bg-gray-4:focus { background-color: var( --gray-4); }

.focus-bg-gray-5:focus { background-color: var( --gray-5); }

.focus-bg-gray-6:focus { background-color: var( --gray-6); }

.focus-bg-gray-7:focus { background-color: var( --gray-7); }

.focus-bg-gray-8:focus { background-color: var( --gray-8); }

.focus-bg-gray-9:focus { background-color: var( --gray-9); }

.focus-bg-gray-10:focus { background-color: var( --gray-10); }

.focus-bg-gray-11:focus { background-color: var( --gray-11); }

.focus-bg-slate-gray-0:focus { background-color: var( --slate-gray-0); }

.focus-bg-slate-gray-1:focus { background-color: var( --slate-gray-1); }

.focus-bg-slate-gray-2:focus { background-color: var( --slate-gray-2); }

.focus-bg-slate-gray-3:focus { background-color: var( --slate-gray-3); }

.focus-bg-slate-gray-4:focus { background-color: var( --slate-gray-4); }

.focus-bg-slate-gray-5:focus { background-color: var( --slate-gray-5); }

.focus-bg-slate-gray-6:focus { background-color: var( --slate-gray-6); }

.focus-bg-slate-gray-7:focus { background-color: var( --slate-gray-7); }

.focus-bg-slate-gray-8:focus { background-color: var( --slate-gray-8); }

.focus-bg-slate-gray-9:focus { background-color: var( --slate-gray-9); }

.focus-bg-slate-gray-10:focus { background-color: var( --slate-gray-10); }

.focus-bg-slate-gray-11:focus { background-color: var( --slate-gray-11); }

.focus-bg-blue-0:focus { background-color: var( --blue-0); }

.focus-bg-blue-1:focus { background-color: var( --blue-1); }

.focus-bg-blue-2:focus { background-color: var( --blue-2); }

.focus-bg-blue-3:focus { background-color: var( --blue-3); }

.focus-bg-blue-4:focus { background-color: var( --blue-4); }

.focus-bg-blue-5:focus { background-color: var( --blue-5); }

.focus-bg-blue-6:focus { background-color: var( --blue-6); }

.focus-bg-blue-7:focus { background-color: var( --blue-7); }

.focus-bg-blue-8:focus { background-color: var( --blue-8); }

.focus-bg-blue-9:focus { background-color: var( --blue-9); }

.focus-bg-blue-10:focus { background-color: var( --blue-10); }

.focus-bg-blue-11:focus { background-color: var( --blue-11); }

.focus-bg-indigo-0:focus { background-color: var( --indigo-0); }

.focus-bg-indigo-1:focus { background-color: var( --indigo-1); }

.focus-bg-indigo-2:focus { background-color: var( --indigo-2); }

.focus-bg-indigo-3:focus { background-color: var( --indigo-3); }

.focus-bg-indigo-4:focus { background-color: var( --indigo-4); }

.focus-bg-indigo-5:focus { background-color: var( --indigo-5); }

.focus-bg-indigo-6:focus { background-color: var( --indigo-6); }

.focus-bg-indigo-7:focus { background-color: var( --indigo-7); }

.focus-bg-indigo-8:focus { background-color: var( --indigo-8); }

.focus-bg-indigo-9:focus { background-color: var( --indigo-9); }

.focus-bg-indigo-10:focus { background-color: var( --indigo-10); }

.focus-bg-indigo-11:focus { background-color: var( --indigo-11); }

.focus-bg-violet-0:focus { background-color: var( --violet-0); }

.focus-bg-violet-1:focus { background-color: var( --violet-1); }

.focus-bg-violet-2:focus { background-color: var( --violet-2); }

.focus-bg-violet-3:focus { background-color: var( --violet-3); }

.focus-bg-violet-4:focus { background-color: var( --violet-4); }

.focus-bg-violet-5:focus { background-color: var( --violet-5); }

.focus-bg-violet-6:focus { background-color: var( --violet-6); }

.focus-bg-violet-7:focus { background-color: var( --violet-7); }

.focus-bg-violet-8:focus { background-color: var( --violet-8); }

.focus-bg-violet-9:focus { background-color: var( --violet-9); }

.focus-bg-violet-10:focus { background-color: var( --violet-10); }

.focus-bg-violet-11:focus { background-color: var( --violet-11); }

.focus-bg-magenta-0:focus { background-color: var( --magenta-0); }

.focus-bg-magenta-1:focus { background-color: var( --magenta-1); }

.focus-bg-magenta-2:focus { background-color: var( --magenta-2); }

.focus-bg-magenta-3:focus { background-color: var( --magenta-3); }

.focus-bg-magenta-4:focus { background-color: var( --magenta-4); }

.focus-bg-magenta-5:focus { background-color: var( --magenta-5); }

.focus-bg-magenta-6:focus { background-color: var( --magenta-6); }

.focus-bg-magenta-7:focus { background-color: var( --magenta-7); }

.focus-bg-magenta-8:focus { background-color: var( --magenta-8); }

.focus-bg-magenta-9:focus { background-color: var( --magenta-9); }

.focus-bg-magenta-10:focus { background-color: var( --magenta-10); }

.focus-bg-magenta-11:focus { background-color: var( --magenta-11); }

.focus-bg-red-0:focus { background-color: var( --red-0); }

.focus-bg-red-1:focus { background-color: var( --red-1); }

.focus-bg-red-2:focus { background-color: var( --red-2); }

.focus-bg-red-3:focus { background-color: var( --red-3); }

.focus-bg-red-4:focus { background-color: var( --red-4); }

.focus-bg-red-5:focus { background-color: var( --red-5); }

.focus-bg-red-6:focus { background-color: var( --red-6); }

.focus-bg-red-7:focus { background-color: var( --red-7); }

.focus-bg-red-8:focus { background-color: var( --red-8); }

.focus-bg-red-9:focus { background-color: var( --red-9); }

.focus-bg-red-10:focus { background-color: var( --red-10); }

.focus-bg-red-11:focus { background-color: var( --red-11); }

.focus-bg-red-orange-0:focus { background-color: var( --red-orange-0); }

.focus-bg-red-orange-1:focus { background-color: var( --red-orange-1); }

.focus-bg-red-orange-2:focus { background-color: var( --red-orange-2); }

.focus-bg-red-orange-3:focus { background-color: var( --red-orange-3); }

.focus-bg-red-orange-4:focus { background-color: var( --red-orange-4); }

.focus-bg-red-orange-5:focus { background-color: var( --red-orange-5); }

.focus-bg-red-orange-6:focus { background-color: var( --red-orange-6); }

.focus-bg-red-orange-7:focus { background-color: var( --red-orange-7); }

.focus-bg-red-orange-8:focus { background-color: var( --red-orange-8); }

.focus-bg-red-orange-9:focus { background-color: var( --red-orange-9); }

.focus-bg-red-orange-10:focus { background-color: var( --red-orange-10); }

.focus-bg-red-orange-11:focus { background-color: var( --red-orange-11); }

.focus-bg-orange-0:focus { background-color: var( --orange-0); }

.focus-bg-orange-1:focus { background-color: var( --orange-1); }

.focus-bg-orange-2:focus { background-color: var( --orange-2); }

.focus-bg-orange-3:focus { background-color: var( --orange-3); }

.focus-bg-orange-4:focus { background-color: var( --orange-4); }

.focus-bg-orange-5:focus { background-color: var( --orange-5); }

.focus-bg-orange-6:focus { background-color: var( --orange-6); }

.focus-bg-orange-7:focus { background-color: var( --orange-7); }

.focus-bg-orange-8:focus { background-color: var( --orange-8); }

.focus-bg-orange-9:focus { background-color: var( --orange-9); }

.focus-bg-orange-10:focus { background-color: var( --orange-10); }

.focus-bg-orange-11:focus { background-color: var( --orange-11); }

.focus-bg-gold-0:focus { background-color: var( --gold-0); }

.focus-bg-gold-1:focus { background-color: var( --gold-1); }

.focus-bg-gold-2:focus { background-color: var( --gold-2); }

.focus-bg-gold-3:focus { background-color: var( --gold-3); }

.focus-bg-gold-4:focus { background-color: var( --gold-4); }

.focus-bg-gold-5:focus { background-color: var( --gold-5); }

.focus-bg-gold-6:focus { background-color: var( --gold-6); }

.focus-bg-gold-7:focus { background-color: var( --gold-7); }

.focus-bg-gold-8:focus { background-color: var( --gold-8); }

.focus-bg-gold-9:focus { background-color: var( --gold-9); }

.focus-bg-gold-10:focus { background-color: var( --gold-10); }

.focus-bg-gold-11:focus { background-color: var( --gold-11); }

.focus-bg-yellow-0:focus { background-color: var( --yellow-0); }

.focus-bg-yellow-1:focus { background-color: var( --yellow-1); }

.focus-bg-yellow-2:focus { background-color: var( --yellow-2); }

.focus-bg-yellow-3:focus { background-color: var( --yellow-3); }

.focus-bg-yellow-4:focus { background-color: var( --yellow-4); }

.focus-bg-yellow-5:focus { background-color: var( --yellow-5); }

.focus-bg-yellow-6:focus { background-color: var( --yellow-6); }

.focus-bg-yellow-7:focus { background-color: var( --yellow-7); }

.focus-bg-yellow-8:focus { background-color: var( --yellow-8); }

.focus-bg-yellow-9:focus { background-color: var( --yellow-9); }

.focus-bg-yellow-10:focus { background-color: var( --yellow-10); }

.focus-bg-yellow-11:focus { background-color: var( --yellow-11); }

.focus-bg-green-0:focus { background-color: var( --green-0); }

.focus-bg-green-1:focus { background-color: var( --green-1); }

.focus-bg-green-2:focus { background-color: var( --green-2); }

.focus-bg-green-3:focus { background-color: var( --green-3); }

.focus-bg-green-4:focus { background-color: var( --green-4); }

.focus-bg-green-5:focus { background-color: var( --green-5); }

.focus-bg-green-6:focus { background-color: var( --green-6); }

.focus-bg-green-7:focus { background-color: var( --green-7); }

.focus-bg-green-8:focus { background-color: var( --green-8); }

.focus-bg-green-9:focus { background-color: var( --green-9); }

.focus-bg-green-10:focus { background-color: var( --green-10); }

.focus-bg-green-11:focus { background-color: var( --green-11); }

.focus-bg-lime-0:focus { background-color: var( --lime-0); }

.focus-bg-lime-1:focus { background-color: var( --lime-1); }

.focus-bg-lime-2:focus { background-color: var( --lime-2); }

.focus-bg-lime-3:focus { background-color: var( --lime-3); }

.focus-bg-lime-4:focus { background-color: var( --lime-4); }

.focus-bg-lime-5:focus { background-color: var( --lime-5); }

.focus-bg-lime-6:focus { background-color: var( --lime-6); }

.focus-bg-lime-7:focus { background-color: var( --lime-7); }

.focus-bg-lime-8:focus { background-color: var( --lime-8); }

.focus-bg-lime-9:focus { background-color: var( --lime-9); }

.focus-bg-lime-10:focus { background-color: var( --lime-10); }

.focus-bg-lime-11:focus { background-color: var( --lime-11); }

.focus-bg-teal-0:focus { background-color: var( --teal-0); }

.focus-bg-teal-1:focus { background-color: var( --teal-1); }

.focus-bg-teal-2:focus { background-color: var( --teal-2); }

.focus-bg-teal-3:focus { background-color: var( --teal-3); }

.focus-bg-teal-4:focus { background-color: var( --teal-4); }

.focus-bg-teal-5:focus { background-color: var( --teal-5); }

.focus-bg-teal-6:focus { background-color: var( --teal-6); }

.focus-bg-teal-7:focus { background-color: var( --teal-7); }

.focus-bg-teal-8:focus { background-color: var( --teal-8); }

.focus-bg-teal-9:focus { background-color: var( --teal-9); }

.focus-bg-teal-10:focus { background-color: var( --teal-10); }

.focus-bg-teal-11:focus { background-color: var( --teal-11); }

.focus-bg-cyan-0:focus { background-color: var( --cyan-0); }

.focus-bg-cyan-1:focus { background-color: var( --cyan-1); }

.focus-bg-cyan-2:focus { background-color: var( --cyan-2); }

.focus-bg-cyan-3:focus { background-color: var( --cyan-3); }

.focus-bg-cyan-4:focus { background-color: var( --cyan-4); }

.focus-bg-cyan-5:focus { background-color: var( --cyan-5); }

.focus-bg-cyan-6:focus { background-color: var( --cyan-6); }

.focus-bg-cyan-7:focus { background-color: var( --cyan-7); }

.focus-bg-cyan-8:focus { background-color: var( --cyan-8); }

.focus-bg-cyan-9:focus { background-color: var( --cyan-9); }

.focus-bg-cyan-10:focus { background-color: var( --cyan-10); }

.focus-bg-cyan-11:focus { background-color: var( --cyan-11); }

.active-overlay-tint-0:active { color: var( --overlay-tint-0); }

.active-overlay-tint-1:active { color: var( --overlay-tint-1); }

.active-overlay-tint-2:active { color: var( --overlay-tint-2); }

.active-overlay-tint-3:active { color: var( --overlay-tint-3); }

.active-overlay-tint-4:active { color: var( --overlay-tint-4); }

.active-overlay-tint-5:active { color: var( --overlay-tint-5); }

.active-overlay-tint-6:active { color: var( --overlay-tint-6); }

.active-overlay-tint-7:active { color: var( --overlay-tint-7); }

.active-overlay-tint-8:active { color: var( --overlay-tint-8); }

.active-overlay-tint-9:active { color: var( --overlay-tint-9); }

.active-overlay-tint-10:active { color: var( --overlay-tint-10); }

.active-overlay-tint-11:active { color: var( --overlay-tint-11); }

.active-overlay-shadow-0:active { color: var( --overlay-shadow-0); }

.active-overlay-shadow-1:active { color: var( --overlay-shadow-1); }

.active-overlay-shadow-2:active { color: var( --overlay-shadow-2); }

.active-overlay-shadow-3:active { color: var( --overlay-shadow-3); }

.active-overlay-shadow-4:active { color: var( --overlay-shadow-4); }

.active-overlay-shadow-5:active { color: var( --overlay-shadow-5); }

.active-overlay-shadow-6:active { color: var( --overlay-shadow-6); }

.active-overlay-shadow-7:active { color: var( --overlay-shadow-7); }

.active-overlay-shadow-8:active { color: var( --overlay-shadow-8); }

.active-overlay-shadow-9:active { color: var( --overlay-shadow-9); }

.active-overlay-shadow-10:active { color: var( --overlay-shadow-10); }

.active-overlay-shadow-11:active { color: var( --overlay-shadow-11); }

.active-gray-0:active { color: var( --gray-0); }

.active-gray-1:active { color: var( --gray-1); }

.active-gray-2:active { color: var( --gray-2); }

.active-gray-3:active { color: var( --gray-3); }

.active-gray-4:active { color: var( --gray-4); }

.active-gray-5:active { color: var( --gray-5); }

.active-gray-6:active { color: var( --gray-6); }

.active-gray-7:active { color: var( --gray-7); }

.active-gray-8:active { color: var( --gray-8); }

.active-gray-9:active { color: var( --gray-9); }

.active-gray-10:active { color: var( --gray-10); }

.active-gray-11:active { color: var( --gray-11); }

.active-slate-gray-0:active { color: var( --slate-gray-0); }

.active-slate-gray-1:active { color: var( --slate-gray-1); }

.active-slate-gray-2:active { color: var( --slate-gray-2); }

.active-slate-gray-3:active { color: var( --slate-gray-3); }

.active-slate-gray-4:active { color: var( --slate-gray-4); }

.active-slate-gray-5:active { color: var( --slate-gray-5); }

.active-slate-gray-6:active { color: var( --slate-gray-6); }

.active-slate-gray-7:active { color: var( --slate-gray-7); }

.active-slate-gray-8:active { color: var( --slate-gray-8); }

.active-slate-gray-9:active { color: var( --slate-gray-9); }

.active-slate-gray-10:active { color: var( --slate-gray-10); }

.active-slate-gray-11:active { color: var( --slate-gray-11); }

.active-blue-0:active { color: var( --blue-0); }

.active-blue-1:active { color: var( --blue-1); }

.active-blue-2:active { color: var( --blue-2); }

.active-blue-3:active { color: var( --blue-3); }

.active-blue-4:active { color: var( --blue-4); }

.active-blue-5:active { color: var( --blue-5); }

.active-blue-6:active { color: var( --blue-6); }

.active-blue-7:active { color: var( --blue-7); }

.active-blue-8:active { color: var( --blue-8); }

.active-blue-9:active { color: var( --blue-9); }

.active-blue-10:active { color: var( --blue-10); }

.active-blue-11:active { color: var( --blue-11); }

.active-indigo-0:active { color: var( --indigo-0); }

.active-indigo-1:active { color: var( --indigo-1); }

.active-indigo-2:active { color: var( --indigo-2); }

.active-indigo-3:active { color: var( --indigo-3); }

.active-indigo-4:active { color: var( --indigo-4); }

.active-indigo-5:active { color: var( --indigo-5); }

.active-indigo-6:active { color: var( --indigo-6); }

.active-indigo-7:active { color: var( --indigo-7); }

.active-indigo-8:active { color: var( --indigo-8); }

.active-indigo-9:active { color: var( --indigo-9); }

.active-indigo-10:active { color: var( --indigo-10); }

.active-indigo-11:active { color: var( --indigo-11); }

.active-violet-0:active { color: var( --violet-0); }

.active-violet-1:active { color: var( --violet-1); }

.active-violet-2:active { color: var( --violet-2); }

.active-violet-3:active { color: var( --violet-3); }

.active-violet-4:active { color: var( --violet-4); }

.active-violet-5:active { color: var( --violet-5); }

.active-violet-6:active { color: var( --violet-6); }

.active-violet-7:active { color: var( --violet-7); }

.active-violet-8:active { color: var( --violet-8); }

.active-violet-9:active { color: var( --violet-9); }

.active-violet-10:active { color: var( --violet-10); }

.active-violet-11:active { color: var( --violet-11); }

.active-magenta-0:active { color: var( --magenta-0); }

.active-magenta-1:active { color: var( --magenta-1); }

.active-magenta-2:active { color: var( --magenta-2); }

.active-magenta-3:active { color: var( --magenta-3); }

.active-magenta-4:active { color: var( --magenta-4); }

.active-magenta-5:active { color: var( --magenta-5); }

.active-magenta-6:active { color: var( --magenta-6); }

.active-magenta-7:active { color: var( --magenta-7); }

.active-magenta-8:active { color: var( --magenta-8); }

.active-magenta-9:active { color: var( --magenta-9); }

.active-magenta-10:active { color: var( --magenta-10); }

.active-magenta-11:active { color: var( --magenta-11); }

.active-red-0:active { color: var( --red-0); }

.active-red-1:active { color: var( --red-1); }

.active-red-2:active { color: var( --red-2); }

.active-red-3:active { color: var( --red-3); }

.active-red-4:active { color: var( --red-4); }

.active-red-5:active { color: var( --red-5); }

.active-red-6:active { color: var( --red-6); }

.active-red-7:active { color: var( --red-7); }

.active-red-8:active { color: var( --red-8); }

.active-red-9:active { color: var( --red-9); }

.active-red-10:active { color: var( --red-10); }

.active-red-11:active { color: var( --red-11); }

.active-red-orange-0:active { color: var( --red-orange-0); }

.active-red-orange-1:active { color: var( --red-orange-1); }

.active-red-orange-2:active { color: var( --red-orange-2); }

.active-red-orange-3:active { color: var( --red-orange-3); }

.active-red-orange-4:active { color: var( --red-orange-4); }

.active-red-orange-5:active { color: var( --red-orange-5); }

.active-red-orange-6:active { color: var( --red-orange-6); }

.active-red-orange-7:active { color: var( --red-orange-7); }

.active-red-orange-8:active { color: var( --red-orange-8); }

.active-red-orange-9:active { color: var( --red-orange-9); }

.active-red-orange-10:active { color: var( --red-orange-10); }

.active-red-orange-11:active { color: var( --red-orange-11); }

.active-orange-0:active { color: var( --orange-0); }

.active-orange-1:active { color: var( --orange-1); }

.active-orange-2:active { color: var( --orange-2); }

.active-orange-3:active { color: var( --orange-3); }

.active-orange-4:active { color: var( --orange-4); }

.active-orange-5:active { color: var( --orange-5); }

.active-orange-6:active { color: var( --orange-6); }

.active-orange-7:active { color: var( --orange-7); }

.active-orange-8:active { color: var( --orange-8); }

.active-orange-9:active { color: var( --orange-9); }

.active-orange-10:active { color: var( --orange-10); }

.active-orange-11:active { color: var( --orange-11); }

.active-gold-0:active { color: var( --gold-0); }

.active-gold-1:active { color: var( --gold-1); }

.active-gold-2:active { color: var( --gold-2); }

.active-gold-3:active { color: var( --gold-3); }

.active-gold-4:active { color: var( --gold-4); }

.active-gold-5:active { color: var( --gold-5); }

.active-gold-6:active { color: var( --gold-6); }

.active-gold-7:active { color: var( --gold-7); }

.active-gold-8:active { color: var( --gold-8); }

.active-gold-9:active { color: var( --gold-9); }

.active-gold-10:active { color: var( --gold-10); }

.active-gold-11:active { color: var( --gold-11); }

.active-yellow-0:active { color: var( --yellow-0); }

.active-yellow-1:active { color: var( --yellow-1); }

.active-yellow-2:active { color: var( --yellow-2); }

.active-yellow-3:active { color: var( --yellow-3); }

.active-yellow-4:active { color: var( --yellow-4); }

.active-yellow-5:active { color: var( --yellow-5); }

.active-yellow-6:active { color: var( --yellow-6); }

.active-yellow-7:active { color: var( --yellow-7); }

.active-yellow-8:active { color: var( --yellow-8); }

.active-yellow-9:active { color: var( --yellow-9); }

.active-yellow-10:active { color: var( --yellow-10); }

.active-yellow-11:active { color: var( --yellow-11); }

.active-green-0:active { color: var( --green-0); }

.active-green-1:active { color: var( --green-1); }

.active-green-2:active { color: var( --green-2); }

.active-green-3:active { color: var( --green-3); }

.active-green-4:active { color: var( --green-4); }

.active-green-5:active { color: var( --green-5); }

.active-green-6:active { color: var( --green-6); }

.active-green-7:active { color: var( --green-7); }

.active-green-8:active { color: var( --green-8); }

.active-green-9:active { color: var( --green-9); }

.active-green-10:active { color: var( --green-10); }

.active-green-11:active { color: var( --green-11); }

.active-lime-0:active { color: var( --lime-0); }

.active-lime-1:active { color: var( --lime-1); }

.active-lime-2:active { color: var( --lime-2); }

.active-lime-3:active { color: var( --lime-3); }

.active-lime-4:active { color: var( --lime-4); }

.active-lime-5:active { color: var( --lime-5); }

.active-lime-6:active { color: var( --lime-6); }

.active-lime-7:active { color: var( --lime-7); }

.active-lime-8:active { color: var( --lime-8); }

.active-lime-9:active { color: var( --lime-9); }

.active-lime-10:active { color: var( --lime-10); }

.active-lime-11:active { color: var( --lime-11); }

.active-teal-0:active { color: var( --teal-0); }

.active-teal-1:active { color: var( --teal-1); }

.active-teal-2:active { color: var( --teal-2); }

.active-teal-3:active { color: var( --teal-3); }

.active-teal-4:active { color: var( --teal-4); }

.active-teal-5:active { color: var( --teal-5); }

.active-teal-6:active { color: var( --teal-6); }

.active-teal-7:active { color: var( --teal-7); }

.active-teal-8:active { color: var( --teal-8); }

.active-teal-9:active { color: var( --teal-9); }

.active-teal-10:active { color: var( --teal-10); }

.active-teal-11:active { color: var( --teal-11); }

.active-cyan-0:active { color: var( --cyan-0); }

.active-cyan-1:active { color: var( --cyan-1); }

.active-cyan-2:active { color: var( --cyan-2); }

.active-cyan-3:active { color: var( --cyan-3); }

.active-cyan-4:active { color: var( --cyan-4); }

.active-cyan-5:active { color: var( --cyan-5); }

.active-cyan-6:active { color: var( --cyan-6); }

.active-cyan-7:active { color: var( --cyan-7); }

.active-cyan-8:active { color: var( --cyan-8); }

.active-cyan-9:active { color: var( --cyan-9); }

.active-cyan-10:active { color: var( --cyan-10); }

.active-cyan-11:active { color: var( --cyan-11); }

/* Background colors */

.active-bg-overlay-tint-0:active { background-color: var( --overlay-tint-0); }

.active-bg-overlay-tint-1:active { background-color: var( --overlay-tint-1); }

.active-bg-overlay-tint-2:active { background-color: var( --overlay-tint-2); }

.active-bg-overlay-tint-3:active { background-color: var( --overlay-tint-3); }

.active-bg-overlay-tint-4:active { background-color: var( --overlay-tint-4); }

.active-bg-overlay-tint-5:active { background-color: var( --overlay-tint-5); }

.active-bg-overlay-tint-6:active { background-color: var( --overlay-tint-6); }

.active-bg-overlay-tint-7:active { background-color: var( --overlay-tint-7); }

.active-bg-overlay-tint-8:active { background-color: var( --overlay-tint-8); }

.active-bg-overlay-tint-9:active { background-color: var( --overlay-tint-9); }

.active-bg-overlay-tint-10:active { background-color: var( --overlay-tint-10); }

.active-bg-overlay-tint-11:active { background-color: var( --overlay-tint-11); }

.active-bg-overlay-shadow-0:active { background-color: var( --overlay-shadow-0); }

.active-bg-overlay-shadow-1:active { background-color: var( --overlay-shadow-1); }

.active-bg-overlay-shadow-2:active { background-color: var( --overlay-shadow-2); }

.active-bg-overlay-shadow-3:active { background-color: var( --overlay-shadow-3); }

.active-bg-overlay-shadow-4:active { background-color: var( --overlay-shadow-4); }

.active-bg-overlay-shadow-5:active { background-color: var( --overlay-shadow-5); }

.active-bg-overlay-shadow-6:active { background-color: var( --overlay-shadow-6); }

.active-bg-overlay-shadow-7:active { background-color: var( --overlay-shadow-7); }

.active-bg-overlay-shadow-8:active { background-color: var( --overlay-shadow-8); }

.active-bg-overlay-shadow-9:active { background-color: var( --overlay-shadow-9); }

.active-bg-overlay-shadow-10:active { background-color: var( --overlay-shadow-10); }

.active-bg-overlay-shadow-11:active { background-color: var( --overlay-shadow-11); }

.active-bg-gray-0:active { background-color: var( --gray-0); }

.active-bg-gray-1:active { background-color: var( --gray-1); }

.active-bg-gray-2:active { background-color: var( --gray-2); }

.active-bg-gray-3:active { background-color: var( --gray-3); }

.active-bg-gray-4:active { background-color: var( --gray-4); }

.active-bg-gray-5:active { background-color: var( --gray-5); }

.active-bg-gray-6:active { background-color: var( --gray-6); }

.active-bg-gray-7:active { background-color: var( --gray-7); }

.active-bg-gray-8:active { background-color: var( --gray-8); }

.active-bg-gray-9:active { background-color: var( --gray-9); }

.active-bg-gray-10:active { background-color: var( --gray-10); }

.active-bg-gray-11:active { background-color: var( --gray-11); }

.active-bg-slate-gray-0:active { background-color: var( --slate-gray-0); }

.active-bg-slate-gray-1:active { background-color: var( --slate-gray-1); }

.active-bg-slate-gray-2:active { background-color: var( --slate-gray-2); }

.active-bg-slate-gray-3:active { background-color: var( --slate-gray-3); }

.active-bg-slate-gray-4:active { background-color: var( --slate-gray-4); }

.active-bg-slate-gray-5:active { background-color: var( --slate-gray-5); }

.active-bg-slate-gray-6:active { background-color: var( --slate-gray-6); }

.active-bg-slate-gray-7:active { background-color: var( --slate-gray-7); }

.active-bg-slate-gray-8:active { background-color: var( --slate-gray-8); }

.active-bg-slate-gray-9:active { background-color: var( --slate-gray-9); }

.active-bg-slate-gray-10:active { background-color: var( --slate-gray-10); }

.active-bg-slate-gray-11:active { background-color: var( --slate-gray-11); }

.active-bg-blue-0:active { background-color: var( --blue-0); }

.active-bg-blue-1:active { background-color: var( --blue-1); }

.active-bg-blue-2:active { background-color: var( --blue-2); }

.active-bg-blue-3:active { background-color: var( --blue-3); }

.active-bg-blue-4:active { background-color: var( --blue-4); }

.active-bg-blue-5:active { background-color: var( --blue-5); }

.active-bg-blue-6:active { background-color: var( --blue-6); }

.active-bg-blue-7:active { background-color: var( --blue-7); }

.active-bg-blue-8:active { background-color: var( --blue-8); }

.active-bg-blue-9:active { background-color: var( --blue-9); }

.active-bg-blue-10:active { background-color: var( --blue-10); }

.active-bg-blue-11:active { background-color: var( --blue-11); }

.active-bg-indigo-0:active { background-color: var( --indigo-0); }

.active-bg-indigo-1:active { background-color: var( --indigo-1); }

.active-bg-indigo-2:active { background-color: var( --indigo-2); }

.active-bg-indigo-3:active { background-color: var( --indigo-3); }

.active-bg-indigo-4:active { background-color: var( --indigo-4); }

.active-bg-indigo-5:active { background-color: var( --indigo-5); }

.active-bg-indigo-6:active { background-color: var( --indigo-6); }

.active-bg-indigo-7:active { background-color: var( --indigo-7); }

.active-bg-indigo-8:active { background-color: var( --indigo-8); }

.active-bg-indigo-9:active { background-color: var( --indigo-9); }

.active-bg-indigo-10:active { background-color: var( --indigo-10); }

.active-bg-indigo-11:active { background-color: var( --indigo-11); }

.active-bg-violet-0:active { background-color: var( --violet-0); }

.active-bg-violet-1:active { background-color: var( --violet-1); }

.active-bg-violet-2:active { background-color: var( --violet-2); }

.active-bg-violet-3:active { background-color: var( --violet-3); }

.active-bg-violet-4:active { background-color: var( --violet-4); }

.active-bg-violet-5:active { background-color: var( --violet-5); }

.active-bg-violet-6:active { background-color: var( --violet-6); }

.active-bg-violet-7:active { background-color: var( --violet-7); }

.active-bg-violet-8:active { background-color: var( --violet-8); }

.active-bg-violet-9:active { background-color: var( --violet-9); }

.active-bg-violet-10:active { background-color: var( --violet-10); }

.active-bg-violet-11:active { background-color: var( --violet-11); }

.active-bg-magenta-0:active { background-color: var( --magenta-0); }

.active-bg-magenta-1:active { background-color: var( --magenta-1); }

.active-bg-magenta-2:active { background-color: var( --magenta-2); }

.active-bg-magenta-3:active { background-color: var( --magenta-3); }

.active-bg-magenta-4:active { background-color: var( --magenta-4); }

.active-bg-magenta-5:active { background-color: var( --magenta-5); }

.active-bg-magenta-6:active { background-color: var( --magenta-6); }

.active-bg-magenta-7:active { background-color: var( --magenta-7); }

.active-bg-magenta-8:active { background-color: var( --magenta-8); }

.active-bg-magenta-9:active { background-color: var( --magenta-9); }

.active-bg-magenta-10:active { background-color: var( --magenta-10); }

.active-bg-magenta-11:active { background-color: var( --magenta-11); }

.active-bg-red-0:active { background-color: var( --red-0); }

.active-bg-red-1:active { background-color: var( --red-1); }

.active-bg-red-2:active { background-color: var( --red-2); }

.active-bg-red-3:active { background-color: var( --red-3); }

.active-bg-red-4:active { background-color: var( --red-4); }

.active-bg-red-5:active { background-color: var( --red-5); }

.active-bg-red-6:active { background-color: var( --red-6); }

.active-bg-red-7:active { background-color: var( --red-7); }

.active-bg-red-8:active { background-color: var( --red-8); }

.active-bg-red-9:active { background-color: var( --red-9); }

.active-bg-red-10:active { background-color: var( --red-10); }

.active-bg-red-11:active { background-color: var( --red-11); }

.active-bg-red-orange-0:active { background-color: var( --red-orange-0); }

.active-bg-red-orange-1:active { background-color: var( --red-orange-1); }

.active-bg-red-orange-2:active { background-color: var( --red-orange-2); }

.active-bg-red-orange-3:active { background-color: var( --red-orange-3); }

.active-bg-red-orange-4:active { background-color: var( --red-orange-4); }

.active-bg-red-orange-5:active { background-color: var( --red-orange-5); }

.active-bg-red-orange-6:active { background-color: var( --red-orange-6); }

.active-bg-red-orange-7:active { background-color: var( --red-orange-7); }

.active-bg-red-orange-8:active { background-color: var( --red-orange-8); }

.active-bg-red-orange-9:active { background-color: var( --red-orange-9); }

.active-bg-red-orange-10:active { background-color: var( --red-orange-10); }

.active-bg-red-orange-11:active { background-color: var( --red-orange-11); }

.active-bg-orange-0:active { background-color: var( --orange-0); }

.active-bg-orange-1:active { background-color: var( --orange-1); }

.active-bg-orange-2:active { background-color: var( --orange-2); }

.active-bg-orange-3:active { background-color: var( --orange-3); }

.active-bg-orange-4:active { background-color: var( --orange-4); }

.active-bg-orange-5:active { background-color: var( --orange-5); }

.active-bg-orange-6:active { background-color: var( --orange-6); }

.active-bg-orange-7:active { background-color: var( --orange-7); }

.active-bg-orange-8:active { background-color: var( --orange-8); }

.active-bg-orange-9:active { background-color: var( --orange-9); }

.active-bg-orange-10:active { background-color: var( --orange-10); }

.active-bg-orange-11:active { background-color: var( --orange-11); }

.active-bg-gold-0:active { background-color: var( --gold-0); }

.active-bg-gold-1:active { background-color: var( --gold-1); }

.active-bg-gold-2:active { background-color: var( --gold-2); }

.active-bg-gold-3:active { background-color: var( --gold-3); }

.active-bg-gold-4:active { background-color: var( --gold-4); }

.active-bg-gold-5:active { background-color: var( --gold-5); }

.active-bg-gold-6:active { background-color: var( --gold-6); }

.active-bg-gold-7:active { background-color: var( --gold-7); }

.active-bg-gold-8:active { background-color: var( --gold-8); }

.active-bg-gold-9:active { background-color: var( --gold-9); }

.active-bg-gold-10:active { background-color: var( --gold-10); }

.active-bg-gold-11:active { background-color: var( --gold-11); }

.active-bg-yellow-0:active { background-color: var( --yellow-0); }

.active-bg-yellow-1:active { background-color: var( --yellow-1); }

.active-bg-yellow-2:active { background-color: var( --yellow-2); }

.active-bg-yellow-3:active { background-color: var( --yellow-3); }

.active-bg-yellow-4:active { background-color: var( --yellow-4); }

.active-bg-yellow-5:active { background-color: var( --yellow-5); }

.active-bg-yellow-6:active { background-color: var( --yellow-6); }

.active-bg-yellow-7:active { background-color: var( --yellow-7); }

.active-bg-yellow-8:active { background-color: var( --yellow-8); }

.active-bg-yellow-9:active { background-color: var( --yellow-9); }

.active-bg-yellow-10:active { background-color: var( --yellow-10); }

.active-bg-yellow-11:active { background-color: var( --yellow-11); }

.active-bg-green-0:active { background-color: var( --green-0); }

.active-bg-green-1:active { background-color: var( --green-1); }

.active-bg-green-2:active { background-color: var( --green-2); }

.active-bg-green-3:active { background-color: var( --green-3); }

.active-bg-green-4:active { background-color: var( --green-4); }

.active-bg-green-5:active { background-color: var( --green-5); }

.active-bg-green-6:active { background-color: var( --green-6); }

.active-bg-green-7:active { background-color: var( --green-7); }

.active-bg-green-8:active { background-color: var( --green-8); }

.active-bg-green-9:active { background-color: var( --green-9); }

.active-bg-green-10:active { background-color: var( --green-10); }

.active-bg-green-11:active { background-color: var( --green-11); }

.active-bg-lime-0:active { background-color: var( --lime-0); }

.active-bg-lime-1:active { background-color: var( --lime-1); }

.active-bg-lime-2:active { background-color: var( --lime-2); }

.active-bg-lime-3:active { background-color: var( --lime-3); }

.active-bg-lime-4:active { background-color: var( --lime-4); }

.active-bg-lime-5:active { background-color: var( --lime-5); }

.active-bg-lime-6:active { background-color: var( --lime-6); }

.active-bg-lime-7:active { background-color: var( --lime-7); }

.active-bg-lime-8:active { background-color: var( --lime-8); }

.active-bg-lime-9:active { background-color: var( --lime-9); }

.active-bg-lime-10:active { background-color: var( --lime-10); }

.active-bg-lime-11:active { background-color: var( --lime-11); }

.active-bg-teal-0:active { background-color: var( --teal-0); }

.active-bg-teal-1:active { background-color: var( --teal-1); }

.active-bg-teal-2:active { background-color: var( --teal-2); }

.active-bg-teal-3:active { background-color: var( --teal-3); }

.active-bg-teal-4:active { background-color: var( --teal-4); }

.active-bg-teal-5:active { background-color: var( --teal-5); }

.active-bg-teal-6:active { background-color: var( --teal-6); }

.active-bg-teal-7:active { background-color: var( --teal-7); }

.active-bg-teal-8:active { background-color: var( --teal-8); }

.active-bg-teal-9:active { background-color: var( --teal-9); }

.active-bg-teal-10:active { background-color: var( --teal-10); }

.active-bg-teal-11:active { background-color: var( --teal-11); }

.active-bg-cyan-0:active { background-color: var( --cyan-0); }

.active-bg-cyan-1:active { background-color: var( --cyan-1); }

.active-bg-cyan-2:active { background-color: var( --cyan-2); }

.active-bg-cyan-3:active { background-color: var( --cyan-3); }

.active-bg-cyan-4:active { background-color: var( --cyan-4); }

.active-bg-cyan-5:active { background-color: var( --cyan-5); }

.active-bg-cyan-6:active { background-color: var( --cyan-6); }

.active-bg-cyan-7:active { background-color: var( --cyan-7); }

.active-bg-cyan-8:active { background-color: var( --cyan-8); }

.active-bg-cyan-9:active { background-color: var( --cyan-9); }

.active-bg-cyan-10:active { background-color: var( --cyan-10); }

.active-bg-cyan-11:active { background-color: var( --cyan-11); }

/*
   SPACING
   Docs: http://tachyons.io/docs/layout/spacing/

   An eight step powers of two scale ranging from 0 to 16rem.

   Base:
     p = padding
     m = margin

   Modifiers:
     a = all
     y = vertical
     x = horizontal
     t = top
     r = right
     b = bottom
     l = left

     0 = none
     1 = 1st step in spacing scale
     2 = 2nd step in spacing scale
     3 = 3rd step in spacing scale
     4 = 4th step in spacing scale
     5 = 5th step in spacing scale
     6 = 6th step in spacing scale
     7 = 7th step in spacing scale
     8 = 8th step in spacing scale
     9 = 9th step in spacing scale

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.p0 { padding: var(--spacing-0, 0); }

.p1 { padding: var(--spacing-1, 2px); }

.p2 { padding: var(--spacing-2, 4px); }

.p3 { padding: var(--spacing-3, 8px); }

.p4 { padding: var(--spacing-4, 16px); }

.p5 { padding: var(--spacing-5, 32px); }

.p6 { padding: var(--spacing-6, 64px); }

.p7 { padding: var(--spacing-7, 128px); }

.p8 { padding: var(--spacing-8, 256px); }

.p9 { padding: var(--spacing-9, 512px); }

.pl0 { padding-left: var(--spacing-0, 0); }

.pl1 { padding-left: var(--spacing-1, 2px); }

.pl2 { padding-left: var(--spacing-2, 4px); }

.pl3 { padding-left: var(--spacing-3, 8px); }

.pl4 { padding-left: var(--spacing-4, 16px); }

.pl5 { padding-left: var(--spacing-5, 32px); }

.pl6 { padding-left: var(--spacing-6, 64px); }

.pl7 { padding-left: var(--spacing-7, 128px); }

.pl8 { padding-left: var(--spacing-8, 256px); }

.pl9 { padding-left: var(--spacing-9, 512px); }

.pr0 { padding-right: var(--spacing-0, 0); }

.pr1 { padding-right: var(--spacing-1, 2px); }

.pr2 { padding-right: var(--spacing-2, 4px); }

.pr3 { padding-right: var(--spacing-3, 8px); }

.pr4 { padding-right: var(--spacing-4, 16px); }

.pr5 { padding-right: var(--spacing-5, 32px); }

.pr6 { padding-right: var(--spacing-6, 64px); }

.pr7 { padding-right: var(--spacing-7, 128px); }

.pr8 { padding-right: var(--spacing-8, 256px); }

.pr9 { padding-right: var(--spacing-9, 512px); }

.pb0 { padding-bottom: var(--spacing-0, 0); }

.pb1 { padding-bottom: var(--spacing-1, 2px); }

.pb2 { padding-bottom: var(--spacing-2, 4px); }

.pb3 { padding-bottom: var(--spacing-3, 8px); }

.pb4 { padding-bottom: var(--spacing-4, 16px); }

.pb5 { padding-bottom: var(--spacing-5, 32px); }

.pb6 { padding-bottom: var(--spacing-6, 64px); }

.pb7 { padding-bottom: var(--spacing-7, 128px); }

.pb8 { padding-bottom: var(--spacing-8, 256px); }

.pb9 { padding-bottom: var(--spacing-9, 512px); }

.pt0 { padding-top: var(--spacing-0, 0); }

.pt1 { padding-top: var(--spacing-1, 2px); }

.pt2 { padding-top: var(--spacing-2, 4px); }

.pt3 { padding-top: var(--spacing-3, 8px); }

.pt4 { padding-top: var(--spacing-4, 16px); }

.pt5 { padding-top: var(--spacing-5, 32px); }

.pt6 { padding-top: var(--spacing-6, 64px); }

.pt7 { padding-top: var(--spacing-7, 128px); }

.pt8 { padding-top: var(--spacing-8, 256px); }

.pt9 { padding-top: var(--spacing-9, 512px); }

.py0 {
  padding-top: var(--spacing-0, 0);
  padding-bottom: var(--spacing-0, 0);
}

.py1 {
  padding-top: var(--spacing-1, 2px);
  padding-bottom: var(--spacing-1, 2px);
}

.py2 {
  padding-top: var(--spacing-2, 4px);
  padding-bottom: var(--spacing-2, 4px);
}

.py3 {
  padding-top: var(--spacing-3, 8px);
  padding-bottom: var(--spacing-3, 8px);
}

.py4 {
  padding-top: var(--spacing-4, 16px);
  padding-bottom: var(--spacing-4, 16px);
}

.py5 {
  padding-top: var(--spacing-5, 32px);
  padding-bottom: var(--spacing-5, 32px);
}

.py6 {
  padding-top: var(--spacing-6, 64px);
  padding-bottom: var(--spacing-6, 64px);
}

.py7 {
  padding-top: var(--spacing-7, 128px);
  padding-bottom: var(--spacing-7, 128px);
}

.py8 {
  padding-top: var(--spacing-8, 256px);
  padding-bottom: var(--spacing-8, 256px);
}

.py9 {
  padding-top: var(--spacing-9, 512px);
  padding-bottom: var(--spacing-9, 512px);
}

.px0 {
  padding-left: var(--spacing-0, 0);
  padding-right: var(--spacing-0, 0);
}

.px1 {
  padding-left: var(--spacing-1, 4px);
  padding-right: var(--spacing-1, 4px);
}

.px2 {
  padding-left: var(--spacing-2, 4px);
  padding-right: var(--spacing-2, 4px);
}

.px3 {
  padding-left: var(--spacing-3, 8px);
  padding-right: var(--spacing-3, 8px);
}

.px4 {
  padding-left: var(--spacing-4, 16px);
  padding-right: var(--spacing-4, 16px);
}

.px5 {
  padding-left: var(--spacing-5, 32px);
  padding-right: var(--spacing-5, 32px);
}

.px6 {
  padding-left: var(--spacing-6, 64px);
  padding-right: var(--spacing-6, 64px);
}

.px7 {
  padding-left: var(--spacing-7, 128px);
  padding-right: var(--spacing-7, 128px);
}

.px8 {
  padding-left: var(--spacing-8, 256px);
  padding-right: var(--spacing-8, 256px);
}

.px9 {
  padding-left: var(--spacing-9, 512px);
  padding-right: var(--spacing-9, 512px);
}

.m0 { margin: var(--spacing-0, 0); }

.m1 { margin: var(--spacing-1, 2px); }

.m2 { margin: var(--spacing-2, 4px); }

.m3 { margin: var(--spacing-3, 8px); }

.m4 { margin: var(--spacing-4, 16px); }

.m5 { margin: var(--spacing-5, 32px); }

.m6 { margin: var(--spacing-6, 64px); }

.m7 { margin: var(--spacing-7, 128px); }

.m8 { margin: var(--spacing-8, 256px); }

.m9 { margin: var(--spacing-9, 512px); }

.ml0 { margin-left: var(--spacing-0, 0); }

.ml1 { margin-left: var(--spacing-1, 2px); }

.ml2 { margin-left: var(--spacing-2, 4px); }

.ml3 { margin-left: var(--spacing-3, 8px); }

.ml4 { margin-left: var(--spacing-4, 16px); }

.ml5 { margin-left: var(--spacing-5, 32px); }

.ml6 { margin-left: var(--spacing-6, 64px); }

.ml7 { margin-left: var(--spacing-7, 128px); }

.ml8 { margin-left: var(--spacing-8, 256px); }

.ml9 { margin-left: var(--spacing-9, 512px); }

.mr0 { margin-right: var(--spacing-0, 0); }

.mr1 { margin-right: var(--spacing-1, 2px); }

.mr2 { margin-right: var(--spacing-2, 4px); }

.mr3 { margin-right: var(--spacing-3, 8px); }

.mr4 { margin-right: var(--spacing-4, 16px); }

.mr5 { margin-right: var(--spacing-5, 32px); }

.mr6 { margin-right: var(--spacing-6, 64px); }

.mr7 { margin-right: var(--spacing-7, 128px); }

.mr8 { margin-right: var(--spacing-8, 256px); }

.mr9 { margin-right: var(--spacing-9, 512px); }

.mb0 { margin-bottom: var(--spacing-0, 0); }

.mb1 { margin-bottom: var(--spacing-1, 4px); }

.mb2 { margin-bottom: var(--spacing-2, 4px); }

.mb3 { margin-bottom: var(--spacing-3, 8px); }

.mb4 { margin-bottom: var(--spacing-4, 16px); }

.mb5 { margin-bottom: var(--spacing-5, 32px); }

.mb6 { margin-bottom: var(--spacing-6, 64px); }

.mb7 { margin-bottom: var(--spacing-7, 128px); }

.mb8 { margin-bottom: var(--spacing-8, 256px); }

.mb9 { margin-bottom: var(--spacing-9, 512px); }

.mt0 { margin-top: var(--spacing-0, 0); }

.mt1 { margin-top: var(--spacing-1, 2px); }

.mt2 { margin-top: var(--spacing-2, 4px); }

.mt3 { margin-top: var(--spacing-3, 8px); }

.mt4 { margin-top: var(--spacing-4, 16px); }

.mt5 { margin-top: var(--spacing-5, 32px); }

.mt6 { margin-top: var(--spacing-6, 64px); }

.mt7 { margin-top: var(--spacing-7, 128px); }

.mt8 { margin-top: var(--spacing-8, 256px); }

.mt9 { margin-top: var(--spacing-9, 512px); }

.my0   {
  margin-top: var(--spacing-0, 0);
  margin-bottom: var(--spacing-0, 0);
}

.my1  {
  margin-top: var(--spacing-1, 4px);
  margin-bottom: var(--spacing-1, 4px);
}

.my2  {
  margin-top: var(--spacing-2, 4px);
  margin-bottom: var(--spacing-2, 4px);
}

.my3   {
  margin-top: var(--spacing-3, 8px);
  margin-bottom: var(--spacing-3, 8px);
}

.my4   {
  margin-top: var(--spacing-4, 16px);
  margin-bottom: var(--spacing-4, 16px);
}

.my5   {
  margin-top: var(--spacing-5, 32px);
  margin-bottom: var(--spacing-5, 32px);
}

.my6   {
  margin-top: var(--spacing-6, 64px);
  margin-bottom: var(--spacing-6, 64px);
}

.my7  {
  margin-top: var(--spacing-7, 128px);
  margin-bottom: var(--spacing-7, 128px);
}

.my8  {
  margin-top: var(--spacing-8, 256px);
  margin-bottom: var(--spacing-8, 256px);
}

.my9  {
  margin-top: var(--spacing-9, 512px);
  margin-bottom: var(--spacing-9, 512px);
}

.mx0   {
  margin-left: var(--spacing-0, 0);
  margin-right: var(--spacing-0, 0);
}

.mx1   {
  margin-left: var(--spacing-1, 2px);
  margin-right: var(--spacing-1, 2px);
}

.mx2   {
  margin-left: var(--spacing-2, 4px);
  margin-right: var(--spacing-2, 4px);
}

.mx3   {
  margin-left: var(--spacing-3, 8px);
  margin-right: var(--spacing-3, 8px);
}

.mx4   {
  margin-left: var(--spacing-4, 16px);
  margin-right: var(--spacing-4, 16px);
}

.mx5   {
  margin-left: var(--spacing-5, 32px);
  margin-right: var(--spacing-5, 32px);
}

.mx6   {
  margin-left: var(--spacing-6, 64px);
  margin-right: var(--spacing-6, 64px);
}

.mx7  {
  margin-left: var(--spacing-7, 128px);
  margin-right: var(--spacing-7, 128px);
}

.mx8  {
  margin-left: var(--spacing-8, 256px);
  margin-right: var(--spacing-8, 256px);
}

.mx9  {
  margin-left: var(--spacing-9, 512px);
  margin-right: var(--spacing-9, 512px);
}

@container (min-width:30em) {
  .p0-s { padding: var(--spacing-0, 0); }
  .p1-s { padding: var(--spacing-1, 2px); }
  .p2-s { padding: var(--spacing-2, 4px); }
  .p3-s { padding: var(--spacing-3, 8px); }
  .p4-s { padding: var(--spacing-4, 16px); }
  .p5-s { padding: var(--spacing-5, 32px); }
  .p6-s { padding: var(--spacing-6, 64px); }
  .p7-s { padding: var(--spacing-7, 128px); }
  .p8-s { padding: var(--spacing-8, 256px); }
  .p9-s { padding: var(--spacing-9, 512px); }

  .pl0-s { padding-left: var(--spacing-0, 0); }
  .pl1-s { padding-left: var(--spacing-1, 2px); }
  .pl2-s { padding-left: var(--spacing-2, 4px); }
  .pl3-s { padding-left: var(--spacing-3, 8px); }
  .pl4-s { padding-left: var(--spacing-4, 16px); }
  .pl5-s { padding-left: var(--spacing-5, 32px); }
  .pl6-s { padding-left: var(--spacing-6, 64px); }
  .pl7-s { padding-left: var(--spacing-7, 128px); }
  .pl8-s { padding-left: var(--spacing-8, 256px); }
  .pl9-s { padding-left: var(--spacing-9, 512px); }

  .pr0-s { padding-right: var(--spacing-0, 0); }
  .pr1-s { padding-right: var(--spacing-1, 2px); }
  .pr2-s { padding-right: var(--spacing-2, 4px); }
  .pr3-s { padding-right: var(--spacing-3, 8px); }
  .pr4-s { padding-right: var(--spacing-4, 16px); }
  .pr5-s { padding-right: var(--spacing-5, 32px); }
  .pr6-s { padding-right: var(--spacing-6, 64px); }
  .pr7-s { padding-right: var(--spacing-7, 128px); }
  .pr8-s { padding-right: var(--spacing-8, 256px); }
  .pr9-s { padding-right: var(--spacing-9, 512px); }

  .pb0-s  { padding-bottom: var(--spacing-0, 0); }
  .pb1-s { padding-bottom: var(--spacing-1, 2px); }
  .pb2-s { padding-bottom: var(--spacing-2, 4px); }
  .pb3-s  {  padding-bottom: var(--spacing-3, 8px); }
  .pb4-s  {  padding-bottom: var(--spacing-4, 16px); }
  .pb5-s  {  padding-bottom: var(--spacing-5, 32px); }
  .pb6-s  {  padding-bottom: var(--spacing-6, 64px); }
  .pb7-s {  padding-bottom: var(--spacing-7, 128px); }
  .pb8-s { padding-bottom: var(--spacing-8, 256px); }
  .pb9-s { padding-bottom: var(--spacing-9, 512px); }

  .pt0-s  {  padding-top: var(--spacing-0, 0); }
  .pt1-s {  padding-top: var(--spacing-1, 2px); }
  .pt2-s {  padding-top: var(--spacing-2, 4px); }
  .pt3-s  {  padding-top: var(--spacing-3, 8px); }
  .pt4-s  {  padding-top: var(--spacing-4, 16px); }
  .pt5-s  {  padding-top: var(--spacing-5, 32px); }
  .pt6-s  {  padding-top: var(--spacing-6, 64px); }
  .pt7-s {  padding-top: var(--spacing-7, 128px); }
  .pt8-s { padding-top: var(--spacing-8, 256px); }
  .pt9-s { padding-top: var(--spacing-9, 512px); }

  .py0-s {
    padding-top: var(--spacing-0, 0);
    padding-bottom: var(--spacing-0, 0);
  }
  .py1-s {
    padding-top: var(--spacing-1, 2px);
    padding-bottom: var(--spacing-1, 2px);
  }
  .py2-s {
    padding-top: var(--spacing-2, 4px);
    padding-bottom: var(--spacing-2, 4px);
  }
  .py3-s {
    padding-top: var(--spacing-3, 8px);
    padding-bottom: var(--spacing-3, 8px);
  }
  .py4-s {
    padding-top: var(--spacing-4, 16px);
    padding-bottom: var(--spacing-4, 16px);
  }
  .py5-s {
    padding-top: var(--spacing-5, 32px);
    padding-bottom: var(--spacing-5, 32px);
  }
  .py6-s {
    padding-top: var(--spacing-6, 64px);
    padding-bottom: var(--spacing-6, 64px);
  }
  .py7-s {
    padding-top: var(--spacing-7, 128px);
    padding-bottom: var(--spacing-7, 128px);
  }
  .py8-s {
    padding-top: var(--spacing-8, 256px);
    padding-bottom: var(--spacing-8, 256px);
  }
  .py9-s {
    padding-top: var(--spacing-9, 512px);
    padding-bottom: var(--spacing-9, 512px);
  }

  .px0-s {
    padding-left: var(--spacing-0, 0);
    padding-right: var(--spacing-0, 0);
  }
  .px1-s {
    padding-left: var(--spacing-1, 2px);
    padding-right: var(--spacing-1, 2px);
  }
  .px2-s {
    padding-left: var(--spacing-2, 4px);
    padding-right: var(--spacing-2, 4px);
  }
  .px3-s {
    padding-left: var(--spacing-3, 8px);
    padding-right: var(--spacing-3, 8px);
  }
  .px4-s {
    padding-left: var(--spacing-4, 16px);
    padding-right: var(--spacing-4, 16px);
  }
  .px5-s {
    padding-left: var(--spacing-5, 32px);
    padding-right: var(--spacing-5, 32px);
  }
  .px6-s {
    padding-left: var(--spacing-6, 64px);
    padding-right: var(--spacing-6, 64px);
  }
  .px7-s {
    padding-left: var(--spacing-7, 128px);
    padding-right: var(--spacing-7, 128px);
  }
  .px8-s {
    padding-left: var(--spacing-8, 256px);
    padding-right: var(--spacing-8, 256px);
  }
  .px9-s {
    padding-left: var(--spacing-9, 512px);
    padding-right: var(--spacing-9, 512px);
  }

  .m0-s  {  margin: var(--spacing-0, 0); }
  .m1-s {  margin: var(--spacing-1, 2px); }
  .m2-s {  margin: var(--spacing-2, 4px); }
  .m3-s  {  margin: var(--spacing-3, 8px); }
  .m4-s  {  margin: var(--spacing-4, 16px); }
  .m5-s  {  margin: var(--spacing-5, 32px); }
  .m6-s  {  margin: var(--spacing-6, 64px); }
  .m7-s {  margin: var(--spacing-7, 128px); }
  .m8-s { margin: var(--spacing-8, 256px); }
  .m9-s { margin: var(--spacing-9, 512px); }

  .ml0-s  {  margin-left: var(--spacing-0, 0); }
  .ml1-s {  margin-left: var(--spacing-1, 2px); }
  .ml2-s {  margin-left: var(--spacing-2, 4px); }
  .ml3-s  {  margin-left: var(--spacing-3, 8px); }
  .ml4-s  {  margin-left: var(--spacing-4, 16px); }
  .ml5-s  {  margin-left: var(--spacing-5, 32px); }
  .ml6-s  {  margin-left: var(--spacing-6, 64px); }
  .ml7-s {  margin-left: var(--spacing-7, 128px); }
  .ml8-s { margin-left: var(--spacing-8, 256px); }
  .ml9-s { margin-left: var(--spacing-9, 512px); }

  .mr0-s  {  margin-right: var(--spacing-0, 0); }
  .mr1-s {  margin-right: var(--spacing-1, 2px); }
  .mr2-s {  margin-right: var(--spacing-2, 4px); }
  .mr3-s  {  margin-right: var(--spacing-3, 8px); }
  .mr4-s  {  margin-right: var(--spacing-4, 16px); }
  .mr5-s  {  margin-right: var(--spacing-5, 32px); }
  .mr6-s  {  margin-right: var(--spacing-6, 64px); }
  .mr7-s {  margin-right: var(--spacing-7, 128px); }
  .mr8-s { margin-right: var(--spacing-8, 256px); }
  .mr9-s { margin-right: var(--spacing-9, 512px); }

  .mb0-s  {  margin-bottom: var(--spacing-0, 0); }
  .mb1-s {  margin-bottom: var(--spacing-1, 2px); }
  .mb2-s {  margin-bottom: var(--spacing-2, 4px); }
  .mb3-s  {  margin-bottom: var(--spacing-3, 8px); }
  .mb4-s  {  margin-bottom: var(--spacing-4, 16px); }
  .mb5-s  {  margin-bottom: var(--spacing-5, 32px); }
  .mb6-s  {  margin-bottom: var(--spacing-6, 64px); }
  .mb7-s {  margin-bottom: var(--spacing-7, 128px); }
  .mb8-s {  margin-bottom: var(--spacing-8, 256px); }
  .mb9-s { margin-bottom: var(--spacing-9, 512px); }

  .mt0-s  {  margin-top: var(--spacing-0, 0); }
  .mt1-s  {  margin-top: var(--spacing-1, 2px); }
  .mt2-s {  margin-top: var(--spacing-2, 4px); }
  .mt3-s  {  margin-top: var(--spacing-3, 8px); }
  .mt4-s  {  margin-top: var(--spacing-4, 16px); }
  .mt5-s  {  margin-top: var(--spacing-5, 32px); }
  .mt6-s  {  margin-top: var(--spacing-6, 64px); }
  .mt7-s {  margin-top: var(--spacing-7, 128px); }
  .mt8-s { margin-top: var(--spacing-8, 256px); }
  .mt9-s { margin-top: var(--spacing-9, 512px); }

  .my0-s   {
    margin-top: var(--spacing-0, 0);
    margin-bottom: var(--spacing-0, 0);
  }
  .my1-s  {
    margin-top: var(--spacing-1, 2px);
    margin-bottom: var(--spacing-1, 2px);
  }
  .my2-s  {
    margin-top: var(--spacing-2, 4px);
    margin-bottom: var(--spacing-2, 4px);
  }
  .my3-s   {
    margin-top: var(--spacing-3, 8px);
    margin-bottom: var(--spacing-3, 8px);
  }
  .my4-s   {
    margin-top: var(--spacing-4, 16px);
    margin-bottom: var(--spacing-4, 16px);
  }
  .my5-s   {
    margin-top: var(--spacing-5, 32px);
    margin-bottom: var(--spacing-5, 32px);
  }
  .my6-s   {
    margin-top: var(--spacing-6, 64px);
    margin-bottom: var(--spacing-6, 64px);
  }
  .my7-s  {
    margin-top: var(--spacing-7, 128px);
    margin-bottom: var(--spacing-7, 128px);
  }
  .my8-s  {
    margin-top: var(--spacing-8, 256px);
    margin-bottom: var(--spacing-8, 256px);
  }
  .my9-s  {
    margin-top: var(--spacing-9, 512px);
    margin-bottom: var(--spacing-9, 512px);
  }

  .mx0-s   {
    margin-left: var(--spacing-0, 0);
    margin-right: var(--spacing-0, 0);
  }
  .mx1-s   {
    margin-left: var(--spacing-1, 4px);
    margin-right: var(--spacing-1, 4px);
  }
  .mx2-s   {
    margin-left: var(--spacing-2, 4px);
    margin-right: var(--spacing-2, 4px);
  }
  .mx3-s   {
    margin-left: var(--spacing-3, 8px);
    margin-right: var(--spacing-3, 8px);
  }
  .mx4-s   {
    margin-left: var(--spacing-4, 16px);
    margin-right: var(--spacing-4, 16px);
  }
  .mx5-s   {
    margin-left: var(--spacing-5, 32px);
    margin-right: var(--spacing-5, 32px);
  }
  .mx6-s   {
    margin-left: var(--spacing-6, 64px);
    margin-right: var(--spacing-6, 64px);
  }
  .mx7-s  {
    margin-left: var(--spacing-7, 128px);
    margin-right: var(--spacing-7, 128px);
  }
  .mx8-s  {
    margin-left: var(--spacing-8, 256px);
    margin-right: var(--spacing-8, 256px);
  }
  .mx9-s  {
    margin-left: var(--spacing-9, 512px);
    margin-right: var(--spacing-9, 512px);
  }

}

@container (min-width:48em) {
  .p0-m  {  padding: var(--spacing-0, 0); }
  .p1-m {  padding: var(--spacing-1, 2px); }
  .p2-m {  padding: var(--spacing-2, 4px); }
  .p3-m  {  padding: var(--spacing-3, 8px); }
  .p4-m  {  padding: var(--spacing-4, 16px); }
  .p5-m  {  padding: var(--spacing-5, 32px); }
  .p6-m  {  padding: var(--spacing-6, 64px); }
  .p7-m {  padding: var(--spacing-7, 128px); }
  .p8-m { padding: var(--spacing-8, 256px); }
  .p9-m { padding: var(--spacing-9, 512px); }

  .pl0-m  {  padding-left: var(--spacing-0, 0); }
  .pl1-m {  padding-left: var(--spacing-1, 2px); }
  .pl2-m {  padding-left: var(--spacing-2, 4px); }
  .pl3-m  {  padding-left: var(--spacing-3, 8px); }
  .pl4-m  {  padding-left: var(--spacing-4, 16px); }
  .pl5-m  {  padding-left: var(--spacing-5, 32px); }
  .pl6-m  {  padding-left: var(--spacing-6, 64px); }
  .pl7-m {  padding-left: var(--spacing-7, 128px); }
  .pl8-m { padding-left: var(--spacing-8, 256px); }
  .pl9-m { padding-left: var(--spacing-9, 512px); }

  .pr0-m  {  padding-right: var(--spacing-0, 0); }
  .pr1-m  {  padding-right: var(--spacing-1, 2px); }
  .pr2-m {  padding-right: var(--spacing-2, 4px); }
  .pr3-m  {  padding-right: var(--spacing-3, 8px); }
  .pr4-m  {  padding-right: var(--spacing-4, 16px); }
  .pr5-m  {  padding-right: var(--spacing-5, 32px); }
  .pr6-m  {  padding-right: var(--spacing-6, 64px); }
  .pr7-m {  padding-right: var(--spacing-7, 128px); }
  .pr8-m { padding-right: var(--spacing-8, 256px); }
  .pr9-m { padding-right: var(--spacing-9, 512px); }

  .pb0-m  {  padding-bottom: var(--spacing-0, 0); }
  .pb1-m {  padding-bottom: var(--spacing-1, 2px); }
  .pb2-m {  padding-bottom: var(--spacing-2, 4px); }
  .pb3-m  {  padding-bottom: var(--spacing-3, 8px); }
  .pb4-m  {  padding-bottom: var(--spacing-4, 16px); }
  .pb5-m  {  padding-bottom: var(--spacing-5, 32px); }
  .pb6-m  {  padding-bottom: var(--spacing-6, 64px); }
  .pb7-m {  padding-bottom: var(--spacing-7, 128px); }
  .pb8-m { padding-bottom: var(--spacing-8, 256px); }
  .pb9-m { padding-bottom: var(--spacing-9, 512px); }

  .pt0-m  {  padding-top: var(--spacing-0, 0); }
  .pt1-m {  padding-top: var(--spacing-1, 2px); }
  .pt2-m {  padding-top: var(--spacing-2, 4px); }
  .pt3-m  {  padding-top: var(--spacing-3, 8px); }
  .pt4-m  {  padding-top: var(--spacing-4, 16px); }
  .pt5-m  {  padding-top: var(--spacing-5, 32px); }
  .pt6-m  {  padding-top: var(--spacing-6, 64px); }
  .pt7-m {  padding-top: var(--spacing-7, 128px); }
  .pt8-m { padding-top: var(--spacing-8, 256px); }
  .pt9-m { padding-top: var(--spacing-9, 512px); }

  .py0-m {
    padding-top: var(--spacing-0, 0);
    padding-bottom: var(--spacing-0, 0);
  }
  .py1-m {
    padding-top: var(--spacing-1, 2px);
    padding-bottom: var(--spacing-1, 2px);
  }
  .py2-m {
    padding-top: var(--spacing-2, 4px);
    padding-bottom: var(--spacing-2, 4px);
  }
  .py3-m {
    padding-top: var(--spacing-3, 8px);
    padding-bottom: var(--spacing-3, 8px);
  }
  .py4-m {
    padding-top: var(--spacing-4, 16px);
    padding-bottom: var(--spacing-4, 16px);
  }
  .py5-m {
    padding-top: var(--spacing-5, 32px);
    padding-bottom: var(--spacing-5, 32px);
  }
  .py6-m {
    padding-top: var(--spacing-6, 64px);
    padding-bottom: var(--spacing-6, 64px);
  }
  .py7-m {
    padding-top: var(--spacing-7, 128px);
    padding-bottom: var(--spacing-7, 128px);
  }
  .py8-m {
    padding-top: var(--spacing-8, 256px);
    padding-bottom: var(--spacing-8, 256px);
  }
  .py9-m {
    padding-top: var(--spacing-9, 512px);
    padding-bottom: var(--spacing-9, 512px);
  }

  .px0-m {
    padding-left: var(--spacing-0, 0);
    padding-right: var(--spacing-0, 0);
  }
  .px1-m {
    padding-left: var(--spacing-1, 2px);
    padding-right: var(--spacing-1, 2px);
  }
  .px2-m {
    padding-left: var(--spacing-2, 4px);
    padding-right: var(--spacing-2, 4px);
  }
  .px3-m {
    padding-left: var(--spacing-3, 8px);
    padding-right: var(--spacing-3, 8px);
  }
  .px4-m {
    padding-left: var(--spacing-4, 16px);
    padding-right: var(--spacing-4, 16px);
  }
  .px5-m {
    padding-left: var(--spacing-5, 32px);
    padding-right: var(--spacing-5, 32px);
  }
  .px6-m {
    padding-left: var(--spacing-6, 64px);
    padding-right: var(--spacing-6, 64px);
  }
  .px7-m {
    padding-left: var(--spacing-7, 128px);
    padding-right: var(--spacing-7, 128px);
  }
  .px8-m {
    padding-left: var(--spacing-8, 256px);
    padding-right: var(--spacing-8, 256px);
  }
  .px9-m {
    padding-left: var(--spacing-9, 512px);
    padding-right: var(--spacing-9, 512px);
  }

  .m0-m  {  margin: var(--spacing-0, 0); }
  .m1-m {  margin: var(--spacing-1, 2px); }
  .m2-m {  margin: var(--spacing-2, 4px); }
  .m3-m  {  margin: var(--spacing-3, 8px); }
  .m4-m  {  margin: var(--spacing-4, 16px); }
  .m5-m  {  margin: var(--spacing-5, 32px); }
  .m6-m  {  margin: var(--spacing-6, 64px); }
  .m7-m {  margin: var(--spacing-7, 128px); }
  .m8-m { margin: var(--spacing-8, 256px); }
  .m9-m { margin: var(--spacing-9, 512px); }

  .ml0-m  {  margin-left: var(--spacing-0, 0); }
  .ml1-m  {  margin-left: var(--spacing-1, 2px); }
  .ml2-m {  margin-left: var(--spacing-2, 4px); }
  .ml3-m  {  margin-left: var(--spacing-3, 8px); }
  .ml4-m  {  margin-left: var(--spacing-4, 16px); }
  .ml5-m  {  margin-left: var(--spacing-5, 32px); }
  .ml6-m  {  margin-left: var(--spacing-6, 64px); }
  .ml7-m {  margin-left: var(--spacing-7, 128px); }
  .ml8-m { margin-left: var(--spacing-8, 256px); }
  .ml9-m { margin-left: var(--spacing-9, 512px); }

  .mr0-m  {  margin-right: var(--spacing-0, 0); }
  .mr1-m {  margin-right: var(--spacing-1, 4px); }
  .mr2-m {  margin-right: var(--spacing-2, 4px); }
  .mr3-m  {  margin-right: var(--spacing-3, 8px); }
  .mr4-m  {  margin-right: var(--spacing-4, 16px); }
  .mr5-m  {  margin-right: var(--spacing-5, 32px); }
  .mr6-m  {  margin-right: var(--spacing-6, 64px); }
  .mr7-m {  margin-right: var(--spacing-7, 128px); }
  .mr8-m { margin-right: var(--spacing-8, 256px); }
  .mr9-m { margin-right: var(--spacing-9, 512px); }

  .mb0-m  {  margin-bottom: var(--spacing-0, 0); }
  .mb1-m {  margin-bottom: var(--spacing-1, 2px); }
  .mb2-m {  margin-bottom: var(--spacing-2, 4px); }
  .mb3-m  {  margin-bottom: var(--spacing-3, 8px); }
  .mb4-m  {  margin-bottom: var(--spacing-4, 16px); }
  .mb5-m  {  margin-bottom: var(--spacing-5, 32px); }
  .mb6-m  {  margin-bottom: var(--spacing-6, 64px); }
  .mb7-m {  margin-bottom: var(--spacing-7, 128px); }
  .mb8-m { margin-bottom: var(--spacing-8, 256px); }
  .mb9-m { margin-bottom: var(--spacing-9, 512px); }

  .mt0-m  {  margin-top: var(--spacing-0, 0); }
  .mt1-m {  margin-top: var(--spacing-1, 2px); }
  .mt2-m {  margin-top: var(--spacing-2, 4px); }
  .mt3-m  {  margin-top: var(--spacing-3, 8px); }
  .mt4-m  {  margin-top: var(--spacing-4, 16px); }
  .mt5-m  {  margin-top: var(--spacing-5, 32px); }
  .mt6-m  {  margin-top: var(--spacing-6, 64px); }
  .mt7-m {  margin-top: var(--spacing-7, 128px); }
  .mt8-m { margin-top: var(--spacing-8, 256px); }
  .mt9-m { margin-top: var(--spacing-9, 512px); }

  .my0-m {
    margin-top: var(--spacing-0, 0);
    margin-bottom: var(--spacing-0, 0);
  }
  .my1-m {
    margin-top: var(--spacing-1, 2px);
    margin-bottom: var(--spacing-1, 2px);
  }
  .my2-m {
    margin-top: var(--spacing-2, 4px);
    margin-bottom: var(--spacing-2, 4px);
  }
  .my3-m {
    margin-top: var(--spacing-3, 8px);
    margin-bottom: var(--spacing-3, 8px);
  }
  .my4-m {
    margin-top: var(--spacing-4, 16px);
    margin-bottom: var(--spacing-4, 16px);
  }
  .my5-m {
    margin-top: var(--spacing-5, 32px);
    margin-bottom: var(--spacing-5, 32px);
  }
  .my6-m {
    margin-top: var(--spacing-6, 64px);
    margin-bottom: var(--spacing-6, 64px);
  }
  .my7-m {
    margin-top: var(--spacing-7, 128px);
    margin-bottom: var(--spacing-7, 128px);
  }
  .my8-m {
    margin-top: var(--spacing-8, 256px);
    margin-bottom: var(--spacing-8, 256px);
  }
  .my9-m {
    margin-top: var(--spacing-9, 512px);
    margin-bottom: var(--spacing-9, 512px);
  }

  .mx0-m {
    margin-left: var(--spacing-0, 0);
    margin-right: var(--spacing-0, 0);
  }
  .mx1-m {
    margin-left: var(--spacing-1, 2px);
    margin-right: var(--spacing-1, 2px);
  }
  .mx2-m {
    margin-left: var(--spacing-2, 4px);
    margin-right: var(--spacing-2, 4px);
  }
  .mx3-m {
    margin-left: var(--spacing-3, 8px);
    margin-right: var(--spacing-3, 8px);
  }
  .mx4-m {
    margin-left: var(--spacing-4, 16px);
    margin-right: var(--spacing-4, 16px);
  }
  .mx5-m {
    margin-left: var(--spacing-5, 32px);
    margin-right: var(--spacing-5, 32px);
  }
  .mx6-m {
    margin-left: var(--spacing-6, 64px);
    margin-right: var(--spacing-6, 64px);
  }
  .mx7-m {
    margin-left: var(--spacing-7, 128px);
    margin-right: var(--spacing-7, 128px);
  }
  .mx8-m {
    margin-left: var(--spacing-8, 256px);
    margin-right: var(--spacing-8, 256px);
  }
  .mx9-m {
    margin-left: var(--spacing-9, 512px);
    margin-right: var(--spacing-9, 512px);
  }

}

@container (min-width:64em) {
  .p0-l  {  padding: var(--spacing-0, 0); }
  .p1-l {  padding: var(--spacing-1, 2px); }
  .p2-l {  padding: var(--spacing-2, 4px); }
  .p3-l  {  padding: var(--spacing-3, 8px); }
  .p4-l  {  padding: var(--spacing-4, 16px); }
  .p5-l  {  padding: var(--spacing-5, 32px); }
  .p6-l  {  padding: var(--spacing-6, 64px); }
  .p7-l {  padding: var(--spacing-7, 128px); }
  .p8-l { padding: var(--spacing-8, 256px); }
  .p9-l { padding: var(--spacing-9, 512px); }

  .pl0-l { padding-left: var(--spacing-0, 0); }
  .pl1-l { padding-left: var(--spacing-1, 2px); }
  .pl2-l { padding-left: var(--spacing-2, 4px); }
  .pl3-l { padding-left: var(--spacing-3, 8px); }
  .pl4-l { padding-left: var(--spacing-4, 16px); }
  .pl5-l { padding-left: var(--spacing-5, 32px); }
  .pl6-l { padding-left: var(--spacing-6, 64px); }
  .pl7-l { padding-left: var(--spacing-7, 128px); }
  .pl8-l { padding-left: var(--spacing-8, 256px); }
  .pl9-l { padding-left: var(--spacing-9, 512px); }

  .pr0-l { padding-right: var(--spacing-0, 0); }
  .pr1-l { padding-right: var(--spacing-1, 2px); }
  .pr2-l { padding-right: var(--spacing-2, 4px); }
  .pr3-l { padding-right: var(--spacing-3, 8px); }
  .pr4-l { padding-right: var(--spacing-4, 16px); }
  .pr5-l { padding-right: var(--spacing-5, 32px); }
  .pr6-l { padding-right: var(--spacing-6, 64px); }
  .pr7-l { padding-right: var(--spacing-7, 128px); }
  .pr8-l { padding-right: var(--spacing-8, 256px); }
  .pr9-l { padding-right: var(--spacing-9, 512px); }

  .pb0-l { padding-bottom: var(--spacing-0, 0); }
  .pb1-l { padding-bottom: var(--spacing-1, 2px); }
  .pb2-l { padding-bottom: var(--spacing-2, 4px); }
  .pb3-l { padding-bottom: var(--spacing-3, 8px); }
  .pb4-l { padding-bottom: var(--spacing-4, 16px); }
  .pb5-l { padding-bottom: var(--spacing-5, 32px); }
  .pb6-l { padding-bottom: var(--spacing-6, 64px); }
  .pb7-l { padding-bottom: var(--spacing-7, 128px); }
  .pb8-l { padding-bottom: var(--spacing-8, 256px); }
  .pb9-l { padding-bottom: var(--spacing-9, 512px); }

  .pt0-l { padding-top: var(--spacing-0, 0); }
  .pt1-l { padding-top: var(--spacing-1, 2px); }
  .pt2-l { padding-top: var(--spacing-2, 4px); }
  .pt3-l { padding-top: var(--spacing-3, 8px); }
  .pt4-l { padding-top: var(--spacing-4, 16px); }
  .pt5-l { padding-top: var(--spacing-5, 32px); }
  .pt6-l { padding-top: var(--spacing-6, 64px); }
  .pt7-l { padding-top: var(--spacing-7, 128px); }
  .pt8-l { padding-top: var(--spacing-8, 256px); }
  .pt9-l { padding-top: var(--spacing-9, 512px); }

  .py0-l {
    padding-top: var(--spacing-0, 0);
    padding-bottom: var(--spacing-0, 0);
  }
  .py1-l {
    padding-top: var(--spacing-1, 2px);
    padding-bottom: var(--spacing-1, 2px);
  }
  .py2-l {
    padding-top: var(--spacing-2, 4px);
    padding-bottom: var(--spacing-2, 4px);
  }
  .py3-l {
    padding-top: var(--spacing-3, 8px);
    padding-bottom: var(--spacing-3, 8px);
  }
  .py4-l {
    padding-top: var(--spacing-4, 16px);
    padding-bottom: var(--spacing-4, 16px);
  }
  .py5-l {
    padding-top: var(--spacing-5, 32px);
    padding-bottom: var(--spacing-5, 32px);
  }
  .py6-l {
    padding-top: var(--spacing-6, 64px);
    padding-bottom: var(--spacing-6, 64px);
  }
  .py7-l {
    padding-top: var(--spacing-7, 128px);
    padding-bottom: var(--spacing-7, 128px);
  }
  .py8-l {
    padding-top: var(--spacing-8, 256px);
    padding-bottom: var(--spacing-8, 256px);
  }
  .py9-l {
    padding-top: var(--spacing-9, 512px);
    padding-bottom: var(--spacing-9, 512px);
  }

  .px0-l {
    padding-left: var(--spacing-0, 0);
    padding-right: var(--spacing-0, 0);
  }
  .px1-l {
    padding-left: var(--spacing-1, 2px);
    padding-right: var(--spacing-1, 2px);
  }
  .px2-l {
    padding-left: var(--spacing-2, 4px);
    padding-right: var(--spacing-2, 4px);
  }
  .px3-l {
    padding-left: var(--spacing-3, 8px);
    padding-right: var(--spacing-3, 8px);
  }
  .px4-l {
    padding-left: var(--spacing-4, 16px);
    padding-right: var(--spacing-4, 16px);
  }
  .px5-l {
    padding-left: var(--spacing-5, 32px);
    padding-right: var(--spacing-5, 32px);
  }
  .px6-l {
    padding-left: var(--spacing-6, 64px);
    padding-right: var(--spacing-6, 64px);
  }
  .px7-l {
    padding-left: var(--spacing-7, 128px);
    padding-right: var(--spacing-7, 128px);
  }
  .px8-l {
    padding-left: var(--spacing-8, 256px);
    padding-right: var(--spacing-8, 256px);
  }
  .px9-l {
    padding-left: var(--spacing-9, 512px);
    padding-right: var(--spacing-9, 512px);
  }

  .m0-l  {  margin: var(--spacing-0, 0); }
  .m1-l {  margin: var(--spacing-1, 2px); }
  .m2-l {  margin: var(--spacing-2, 4px); }
  .m3-l  {  margin: var(--spacing-3, 8px); }
  .m4-l  {  margin: var(--spacing-4, 16px); }
  .m5-l  {  margin: var(--spacing-5, 32px); }
  .m6-l  {  margin: var(--spacing-6, 64px); }
  .m7-l {  margin: var(--spacing-7, 128px); }
  .m8-l { margin: var(--spacing-8, 256px); }
  .m9-l { margin: var(--spacing-9, 512px); }

  .ml0-l  {  margin-left: var(--spacing-0, 0); }
  .ml1-l {  margin-left: var(--spacing-3, 2px); }
  .ml2-l {  margin-left: var(--spacing-2, 4px); }
  .ml3-l  {  margin-left: var(--spacing-3, 8px); }
  .ml4-l  {  margin-left: var(--spacing-4, 16px); }
  .ml5-l  {  margin-left: var(--spacing-5, 32px); }
  .ml6-l  {  margin-left: var(--spacing-6, 64px); }
  .ml7-l {  margin-left: var(--spacing-7, 128px); }
  .ml8-l { margin-left: var(--spacing-8, 256px); }
  .ml9-l { margin-left: var(--spacing-9, 512px); }

  .mr0-l  {  margin-right: var(--spacing-0, 0); }
  .mr1-l {  margin-right: var(--spacing-1, 2px); }
  .mr2-l {  margin-right: var(--spacing-2, 4px); }
  .mr3-l  {  margin-right: var(--spacing-3, 8px); }
  .mr4-l  {  margin-right: var(--spacing-4, 16px); }
  .mr5-l  {  margin-right: var(--spacing-5, 32px); }
  .mr6-l  {  margin-right: var(--spacing-6, 64px); }
  .mr7-l {  margin-right: var(--spacing-7, 128px); }
  .mr8-l { margin-right: var(--spacing-8, 256px); }
  .mr9-l { margin-right: var(--spacing-9, 512px); }

  .mb0-l  {  margin-bottom: var(--spacing-0, 0); }
  .mb1-l {  margin-bottom: var(--spacing-1, 2px); }
  .mb2-l {  margin-bottom: var(--spacing-2, 4px); }
  .mb3-l  {  margin-bottom: var(--spacing-3, 8px); }
  .mb4-l  {  margin-bottom: var(--spacing-4, 16px); }
  .mb5-l  {  margin-bottom: var(--spacing-5, 32px); }
  .mb6-l  {  margin-bottom: var(--spacing-6, 64px); }
  .mb7-l {  margin-bottom: var(--spacing-7, 128px); }
  .mb8-l { margin-bottom: var(--spacing-8, 256px); }
  .mb9-l { margin-bottom: var(--spacing-9, 512px); }

  .mt0-l { margin-top: var(--spacing-0, 0); }
  .mt1-l { margin-top: var(--spacing-1, 2px); }
  .mt2-l { margin-top: var(--spacing-2, 4px); }
  .mt3-l { margin-top: var(--spacing-3, 8px); }
  .mt4-l { margin-top: var(--spacing-4, 16px); }
  .mt5-l { margin-top: var(--spacing-5, 32px); }
  .mt6-l { margin-top: var(--spacing-6, 64px); }
  .mt7-l { margin-top: var(--spacing-7, 128px); }
  .mt8-l { margin-top: var(--spacing-8, 256px); }
  .mt9-l { margin-top: var(--spacing-9, 512px); }

  .my0-l {
    margin-top: var(--spacing-0, 0);
    margin-bottom: var(--spacing-0, 0);
  }
  .my1-l {
    margin-top: var(--spacing-1, 2px);
    margin-bottom: var(--spacing-1, 2px);
  }
  .my2-l {
    margin-top: var(--spacing-2, 4px);
    margin-bottom: var(--spacing-2, 4px);
  }
  .my3-l {
    margin-top: var(--spacing-3, 8px);
    margin-bottom: var(--spacing-3, 8px);
  }
  .my4-l {
    margin-top: var(--spacing-4, 16px);
    margin-bottom: var(--spacing-4, 16px);
  }
  .my5-l {
    margin-top: var(--spacing-5, 32px);
    margin-bottom: var(--spacing-5, 32px);
  }
  .my6-l {
    margin-top: var(--spacing-6, 64px);
    margin-bottom: var(--spacing-6, 64px);
  }
  .my7-l {
    margin-top: var(--spacing-7, 128px);
    margin-bottom: var(--spacing-7, 128px);
  }
  .my8-l {
    margin-top: var(--spacing-8, 256px);
    margin-bottom: var(--spacing-8, 256px);
  }
  .my9-l {
    margin-top: var(--spacing-9, 512px);
    margin-bottom: var(--spacing-9, 512px);
  }

  .mx0-l {
    margin-left: var(--spacing-0, 0);
    margin-right: var(--spacing-0, 0);
  }
  .mx1-l {
    margin-left: var(--spacing-1, 2px);
    margin-right: var(--spacing-1, 2px);
  }
  .mx2-l {
    margin-left: var(--spacing-2, 4px);
    margin-right: var(--spacing-2, 4px);
  }
  .mx3-l {
    margin-left: var(--spacing-3, 8px);
    margin-right: var(--spacing-3, 8px);
  }
  .mx4-l {
    margin-left: var(--spacing-4, 16px);
    margin-right: var(--spacing-4, 16px);
  }
  .mx5-l {
    margin-left: var(--spacing-5, 32px);
    margin-right: var(--spacing-5, 32px);
  }
  .mx6-l {
    margin-left: var(--spacing-6, 64px);
    margin-right: var(--spacing-6, 64px);
  }
  .mx7-l {
    margin-left: var(--spacing-7, 128px);
    margin-right: var(--spacing-7, 128px);
  }
  .mx8-l {
    margin-left: var(--spacing-8, 256px);
    margin-right: var(--spacing-8, 256px);
  }
  .mx9-l {
    margin-left: var(--spacing-9, 512px);
    margin-right: var(--spacing-9, 512px);
  }
}

/*
   NEGATIVE MARGINS

   Base:
     n = negative

   Modifiers:
     a = all
     t = top
     r = right
     b = bottom
     l = left

     1 = 1st step in spacing scale
     2 = 2nd step in spacing scale
     3 = 3rd step in spacing scale
     4 = 4th step in spacing scale
     5 = 5th step in spacing scale
     6 = 6th step in spacing scale
     7 = 7th step in spacing scale

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.na1 { margin: calc(-1 * var(--spacing-1)); }

.na2 { margin: calc(-1 * var(--spacing-2)); }

.na3 { margin: calc(-1 * var(--spacing-3)); }

.na4 { margin: calc(-1 * var(--spacing-4)); }

.na5 { margin: calc(-1 * var(--spacing-5)); }

.na6 { margin: calc(-1 * var(--spacing-6)); }

.na7 { margin: calc(-1 * var(--spacing-7)); }

.nl1 { margin-left: calc(-1 * var(--spacing-1)); }

.nl2 { margin-left: calc(-1 * var(--spacing-2)); }

.nl3 { margin-left: calc(-1 * var(--spacing-3)); }

.nl4 { margin-left: calc(-1 * var(--spacing-4)); }

.nl5 { margin-left: calc(-1 * var(--spacing-5)); }

.nl6 { margin-left: calc(-1 * var(--spacing-6)); }

.nl7 { margin-left: calc(-1 * var(--spacing-7)); }

.nr1 { margin-right: calc(-1 * var(--spacing-1)); }

.nr2 { margin-right: calc(-1 * var(--spacing-2)); }

.nr3 { margin-right: calc(-1 * var(--spacing-3)); }

.nr4 { margin-right: calc(-1 * var(--spacing-4)); }

.nr5 { margin-right: calc(-1 * var(--spacing-5)); }

.nr6 { margin-right: calc(-1 * var(--spacing-6)); }

.nr7 { margin-right: calc(-1 * var(--spacing-7)); }

.nb1 { margin-bottom: calc(-1 * var(--spacing-1)); }

.nb2 { margin-bottom: calc(-1 * var(--spacing-2)); }

.nb3 { margin-bottom: calc(-1 * var(--spacing-3)); }

.nb4 { margin-bottom: calc(-1 * var(--spacing-4)); }

.nb5 { margin-bottom: calc(-1 * var(--spacing-5)); }

.nb6 { margin-bottom: calc(-1 * var(--spacing-6)); }

.nb7 { margin-bottom: calc(-1 * var(--spacing-7)); }

.nt1 { margin-top: calc(-1 * var(--spacing-1)); }

.nt2 { margin-top: calc(-1 * var(--spacing-2)); }

.nt3 { margin-top: calc(-1 * var(--spacing-3)); }

.nt4 { margin-top: calc(-1 * var(--spacing-4)); }

.nt5 { margin-top: calc(-1 * var(--spacing-5)); }

.nt6 { margin-top: calc(-1 * var(--spacing-6)); }

.nt7 { margin-top: calc(-1 * var(--spacing-7)); }

@container (--breakpoint-2) {

  .na1-s { margin: calc(-1 * var(--spacing-1)); }
  .na2-s { margin: calc(-1 * var(--spacing-2)); }
  .na3-s { margin: calc(-1 * var(--spacing-3)); }
  .na4-s { margin: calc(-1 * var(--spacing-4)); }
  .na5-s { margin: calc(-1 * var(--spacing-5)); }
  .na6-s { margin: calc(-1 * var(--spacing-6)); }
  .na7-s { margin: calc(-1 * var(--spacing-7)); }

  .nl1-s { margin-left: calc(-1 * var(--spacing-1)); }
  .nl2-s { margin-left: calc(-1 * var(--spacing-2)); }
  .nl3-s { margin-left: calc(-1 * var(--spacing-3)); }
  .nl4-s { margin-left: calc(-1 * var(--spacing-4)); }
  .nl5-s { margin-left: calc(-1 * var(--spacing-5)); }
  .nl6-s { margin-left: calc(-1 * var(--spacing-6)); }
  .nl7-s { margin-left: calc(-1 * var(--spacing-7)); }

  .nr1-s { margin-right: calc(-1 * var(--spacing-1)); }
  .nr2-s { margin-right: calc(-1 * var(--spacing-2)); }
  .nr3-s { margin-right: calc(-1 * var(--spacing-3)); }
  .nr4-s { margin-right: calc(-1 * var(--spacing-4)); }
  .nr5-s { margin-right: calc(-1 * var(--spacing-5)); }
  .nr6-s { margin-right: calc(-1 * var(--spacing-6)); }
  .nr7-s { margin-right: calc(-1 * var(--spacing-7)); }

  .nb1-s { margin-bottom: calc(-1 * var(--spacing-1)); }
  .nb2-s { margin-bottom: calc(-1 * var(--spacing-2)); }
  .nb3-s { margin-bottom: calc(-1 * var(--spacing-3)); }
  .nb4-s { margin-bottom: calc(-1 * var(--spacing-4)); }
  .nb5-s { margin-bottom: calc(-1 * var(--spacing-5)); }
  .nb6-s { margin-bottom: calc(-1 * var(--spacing-6)); }
  .nb7-s { margin-bottom: calc(-1 * var(--spacing-7)); }

  .nt1-s { margin-top: calc(-1 * var(--spacing-1)); }
  .nt2-s { margin-top: calc(-1 * var(--spacing-2)); }
  .nt3-s { margin-top: calc(-1 * var(--spacing-3)); }
  .nt4-s { margin-top: calc(-1 * var(--spacing-4)); }
  .nt5-s { margin-top: calc(-1 * var(--spacing-5)); }
  .nt6-s { margin-top: calc(-1 * var(--spacing-6)); }
  .nt7-s { margin-top: calc(-1 * var(--spacing-7)); }

}

@container (--breakpoint-3) {
  .na1-m { margin: calc(-1 * var(--spacing-1)); }
  .na2-m { margin: calc(-1 * var(--spacing-2)); }
  .na3-m { margin: calc(-1 * var(--spacing-3)); }
  .na4-m { margin: calc(-1 * var(--spacing-4)); }
  .na5-m { margin: calc(-1 * var(--spacing-5)); }
  .na6-m { margin: calc(-1 * var(--spacing-6)); }
  .na7-m { margin: calc(-1 * var(--spacing-7)); }

  .nl1-m { margin-left: calc(-1 * var(--spacing-1)); }
  .nl2-m { margin-left: calc(-1 * var(--spacing-2)); }
  .nl3-m { margin-left: calc(-1 * var(--spacing-3)); }
  .nl4-m { margin-left: calc(-1 * var(--spacing-4)); }
  .nl5-m { margin-left: calc(-1 * var(--spacing-5)); }
  .nl6-m { margin-left: calc(-1 * var(--spacing-6)); }
  .nl7-m { margin-left: calc(-1 * var(--spacing-7)); }

  .nr1-m { margin-right: calc(-1 * var(--spacing-1)); }
  .nr2-m { margin-right: calc(-1 * var(--spacing-2)); }
  .nr3-m { margin-right: calc(-1 * var(--spacing-3)); }
  .nr4-m { margin-right: calc(-1 * var(--spacing-4)); }
  .nr5-m { margin-right: calc(-1 * var(--spacing-5)); }
  .nr6-m { margin-right: calc(-1 * var(--spacing-6)); }
  .nr7-m { margin-right: calc(-1 * var(--spacing-7)); }

  .nb1-m { margin-bottom: calc(-1 * var(--spacing-1)); }
  .nb2-m { margin-bottom: calc(-1 * var(--spacing-2)); }
  .nb3-m { margin-bottom: calc(-1 * var(--spacing-3)); }
  .nb4-m { margin-bottom: calc(-1 * var(--spacing-4)); }
  .nb5-m { margin-bottom: calc(-1 * var(--spacing-5)); }
  .nb6-m { margin-bottom: calc(-1 * var(--spacing-6)); }
  .nb7-m { margin-bottom: calc(-1 * var(--spacing-7)); }

  .nt1-m { margin-top: calc(-1 * var(--spacing-1)); }
  .nt2-m { margin-top: calc(-1 * var(--spacing-2)); }
  .nt3-m { margin-top: calc(-1 * var(--spacing-3)); }
  .nt4-m { margin-top: calc(-1 * var(--spacing-4)); }
  .nt5-m { margin-top: calc(-1 * var(--spacing-5)); }
  .nt6-m { margin-top: calc(-1 * var(--spacing-6)); }
  .nt7-m { margin-top: calc(-1 * var(--spacing-7)); }

}

@container (min-width:64em) {
  .na1-l { margin: calc(-1 * var(--spacing-1)); }
  .na2-l { margin: calc(-1 * var(--spacing-2)); }
  .na3-l { margin: calc(-1 * var(--spacing-3)); }
  .na4-l { margin: calc(-1 * var(--spacing-4)); }
  .na5-l { margin: calc(-1 * var(--spacing-5)); }
  .na6-l { margin: calc(-1 * var(--spacing-6)); }
  .na7-l { margin: calc(-1 * var(--spacing-7)); }

  .nl1-l { margin-left: calc(-1 * var(--spacing-1)); }
  .nl2-l { margin-left: calc(-1 * var(--spacing-2)); }
  .nl3-l { margin-left: calc(-1 * var(--spacing-3)); }
  .nl4-l { margin-left: calc(-1 * var(--spacing-4)); }
  .nl5-l { margin-left: calc(-1 * var(--spacing-5)); }
  .nl6-l { margin-left: calc(-1 * var(--spacing-6)); }
  .nl7-l { margin-left: calc(-1 * var(--spacing-7)); }

  .nr1-l { margin-right: calc(-1 * var(--spacing-1)); }
  .nr2-l { margin-right: calc(-1 * var(--spacing-2)); }
  .nr3-l { margin-right: calc(-1 * var(--spacing-3)); }
  .nr4-l { margin-right: calc(-1 * var(--spacing-4)); }
  .nr5-l { margin-right: calc(-1 * var(--spacing-5)); }
  .nr6-l { margin-right: calc(-1 * var(--spacing-6)); }
  .nr7-l { margin-right: calc(-1 * var(--spacing-7)); }

  .nb1-l { margin-bottom: calc(-1 * var(--spacing-1)); }
  .nb2-l { margin-bottom: calc(-1 * var(--spacing-2)); }
  .nb3-l { margin-bottom: calc(-1 * var(--spacing-3)); }
  .nb4-l { margin-bottom: calc(-1 * var(--spacing-4)); }
  .nb5-l { margin-bottom: calc(-1 * var(--spacing-5)); }
  .nb6-l { margin-bottom: calc(-1 * var(--spacing-6)); }
  .nb7-l { margin-bottom: calc(-1 * var(--spacing-7)); }

  .nt1-l { margin-top: calc(-1 * var(--spacing-1)); }
  .nt2-l { margin-top: calc(-1 * var(--spacing-2)); }
  .nt3-l { margin-top: calc(-1 * var(--spacing-3)); }
  .nt4-l { margin-top: calc(-1 * var(--spacing-4)); }
  .nt5-l { margin-top: calc(-1 * var(--spacing-5)); }
  .nt6-l { margin-top: calc(-1 * var(--spacing-6)); }
  .nt7-l { margin-top: calc(-1 * var(--spacing-7)); }
}

/*

  TABLES
  Docs: http://tachyons.io/docs/elements/tables/

*/

.collapse {
    border-collapse: collapse;
    border-spacing: 0;
}

.striped--light:nth-child(odd) {
  background-color: var(--gray-10);
}

.striped--dark:nth-child(odd) {
  background-color: var(--gray-0);
}

/*

   TEXT DECORATION
   Docs: http://tachyons.io/docs/typography/text-decoration/


   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.strike       { text-decoration: line-through; }

.underline    { text-decoration: underline; }

.no-underline { text-decoration: none; }

/*

  TEXT ALIGN
  Docs: http://tachyons.io/docs/typography/text-align/

  Base
    t = text-align

  Modifiers
    l = left
    r = right
    c = center
    j = justify

  Media Query Extensions:
    -s = small
    -m  = medium
    -l  = large

*/

.tl  { text-align: left; }

.tr  { text-align: right; }

.tc  { text-align: center; }

.tj  { text-align: justify; }

@container (min-width:30em) {
  .tl-s  { text-align: left; }
  .tr-s  { text-align: right; }
  .tc-s  { text-align: center; }
  .tj-s  { text-align: justify; }
}

@container (min-width:48em) {
  .tl-m  { text-align: left; }
  .tr-m  { text-align: right; }
  .tc-m  { text-align: center; }
  .tj-m  { text-align: justify; }
}

@container (min-width:64em) {
  .tl-l  { text-align: left; }
  .tr-l  { text-align: right; }
  .tc-l  { text-align: center; }
  .tj-l  { text-align: justify; }
}

/*

   TEXT TRANSFORM
   Docs: http://tachyons.io/docs/typography/text-transform/

   Base:
     tt = text-transform

   Modifiers
     c = capitalize
     l = lowercase
     u = uppercase
     n = none

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.ttc { text-transform: capitalize; }

.ttl { text-transform: lowercase; }

.ttu { text-transform: uppercase; }

.ttn { text-transform: none; }

@container (min-width:30em) {
  .ttc-s { text-transform: capitalize; }
  .ttl-s { text-transform: lowercase; }
  .ttu-s { text-transform: uppercase; }
  .ttn-s { text-transform: none; }
}

@container (min-width:48em) {
  .ttc-m { text-transform: capitalize; }
  .ttl-m { text-transform: lowercase; }
  .ttu-m { text-transform: uppercase; }
  .ttn-m { text-transform: none; }
}

@container (min-width:64em) {
  .ttc-l { text-transform: capitalize; }
  .ttl-l { text-transform: lowercase; }
  .ttu-l { text-transform: uppercase; }
  .ttn-l { text-transform: none; }
}

/* 

   TYPE SCALE
   Docs: http://tachyons.io/docs/type-scale

   Base:
    f = font-size

   Modifiers
     1 = 1st step in size scale
     2 = 2nd step in size scale
     3 = 3rd step in size scale
     4 = 4th step in size scale
     5 = 5th step in size scale
     6 = 6th step in size scale
     7 = 7th step in size scale
     8 = 8th step in size scale
     9 = 9th step in size scale
     10 = 10th step in size scale
     11 = 11th step in size scale
     12 = 12th step in size scale

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large
*/

/* Type Scale */

.f1 { font-size:  var(--font-size-1, .75rem); }

.f2 { font-size:  var(--font-size-2, .875rem); }

.f3 { font-size:  var(--font-size-3, 1rem); }

.f4 { font-size:  var(--font-size-4, 1.125rem); }

.f5 { font-size:  var(--font-size-5, 1.25rem); }

.f6 { font-size:  var(--font-size-6, 1.5rem); }

.f7 { font-size:  var(--font-size-7, 2rem); }

.f8 { font-size:  var(--font-size-8, 3rem); }

.f9 { font-size:  var(--font-size-9, 4rem); }

.f10 { font-size: var(--font-size-10, 6rem); }

.f11 { font-size: var(--font-size-11, 8rem); }

.f12 { font-size: var(--font-size-12, 12rem); }

@container (min-width:30em){
  .f1-s { font-size:  var(--font-size-1, .75rem); }
  .f2-s { font-size:  var(--font-size-2, .875rem); }
  .f3-s { font-size:  var(--font-size-3, 1rem); }
  .f4-s { font-size:  var(--font-size-4, 1.125rem); }
  .f5-s { font-size:  var(--font-size-5, 1.25rem); }
  .f6-s { font-size:  var(--font-size-6, 1.5rem); }
  .f7-s { font-size:  var(--font-size-7, 2rem); } 
  .f8-s { font-size:  var(--font-size-8, 3rem); } 
  .f9-s { font-size:  var(--font-size-9, 4rem); } 
  .f10-s { font-size: var(--font-size-10, 6rem); } 
  .f11-s { font-size: var(--font-size-11, 8rem); } 
  .f12-s { font-size: var(--font-size-12, 12rem); } 
}

@container (min-width:48em) {
  .f1-m { font-size:  var(--font-size-1, .75rem); }
  .f2-m { font-size:  var(--font-size-2, .875rem); }
  .f3-m { font-size:  var(--font-size-3, 1rem); }
  .f4-m { font-size:  var(--font-size-4, 1.125rem); }
  .f5-m { font-size:  var(--font-size-5, 1.25rem); }
  .f6-m { font-size:  var(--font-size-6, 1.5rem); }
  .f7-m { font-size:  var(--font-size-7, 2rem); } 
  .f8-m { font-size:  var(--font-size-8, 3rem); } 
  .f9-m { font-size:  var(--font-size-9, 4rem); } 
  .f10-m { font-size: var(--font-size-10, 6rem); } 
  .f11-m { font-size: var(--font-size-11, 8rem); } 
  .f12-m { font-size: var(--font-size-12, 12rem); } 
}

@container (min-width:64em) {
  .f1-l { font-size:  var(--font-size-1, .75rem); }
  .f2-l { font-size:  var(--font-size-2, .875rem); }
  .f3-l { font-size:  var(--font-size-3, 1rem); }
  .f4-l { font-size:  var(--font-size-4, 1.125rem); }
  .f5-l { font-size:  var(--font-size-5, 1.25rem); }
  .f6-l { font-size:  var(--font-size-6, 1.5rem); }
  .f7-l { font-size:  var(--font-size-7, 2rem); } 
  .f8-l { font-size:  var(--font-size-8, 3rem); } 
  .f9-l { font-size:  var(--font-size-9, 4rem); } 
  .f10-l { font-size: var(--font-size-10, 6rem); } 
  .f11-l { font-size: var(--font-size-11, 8rem); } 
  .f12-l { font-size: var(--font-size-12, 12rem); } 
}

/*

   TYPOGRAPHY
   http://tachyons.io/docs/typography/measure/

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

/* Measure is limited to 66 characters */

.measure {
  max-width: var(--measure, 66ch);
}

/* Measure is limited to ~80 characters */

.measure-wide {
  max-width: var(--measure-wide, 80ch);
}

/* Measure is limited to 45 characters */

.measure-narrow {
  max-width: var(--measure-narrow, 45ch);
}

/* Book paragraph style - paragraphs are indented with no vertical spacing. */

.indent {
  text-indent: 1em;
  margin-top: 0;
  margin-bottom: 0;
}

.small-caps {
  font-variant: small-caps;
}

/* Combine this class with a width to truncate text (or just leave as is to truncate at width of containing element. */

.truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@container (min-width:30em) {
  .measure-s { max-width: var(--measure, 66ch); }
  .measure-wide-s { max-width: var(--measure-wide, 80ch); }
  .measure-narrow-s { max-width: var(--measure-narrow, 45ch); }
  .small-caps-s { font-variant: small-caps; }
  .indent-s {
    text-indent: 1em;
    margin-top: 0;
    margin-bottom: 0;
  }
  .truncate-s {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

@container (min-width:48em) {
  .measure-m { max-width: var(--measure, 66ch); }
  .measure-wide-m { max-width: var(--measure-wide, 80ch); }
  .measure-narrow-m { max-width: var(--measure-narrow, 45ch); }
  .small-caps-m { font-variant: small-caps; }
  .indent-m {
    text-indent: 1em;
    margin-top: 0;
    margin-bottom: 0;
  }
  .truncate-m {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

@container (min-width:64em) {
  .measure-l { max-width: var(--measure, 66ch); }
  .measure-wide-l { max-width: var(--measure-wide, 80ch); }
  .measure-narrow-l { max-width: var(--measure-narrow, 45ch); }
  .small-caps-l { font-variant: small-caps; }
  .indent-l {
    text-indent: 1em;
    margin-top: 0;
    margin-bottom: 0;
  }
  .truncate-l {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/*

   UTILITIES

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.center {
  margin-right: auto;
  margin-left: auto;
}

.mr-auto { margin-right: auto; }

.ml-auto { margin-left:  auto; }

@container (min-width:30em){
  .center-s {
    margin-right: auto;
    margin-left: auto;
  }
  .mr-auto-s { margin-right: auto; }
  .ml-auto-s { margin-left:  auto; }
}

@container (min-width:48em){
  .center-m {
    margin-right: auto;
    margin-left: auto;
  }
  .mr-auto-m { margin-right: auto; }
  .ml-auto-m { margin-left:  auto; }
}

@container (min-width:64em){
  .center-l {
    margin-right: auto;
    margin-left: auto;
  }
  .mr-auto-l { margin-right: auto; }
  .ml-auto-l { margin-left:  auto; }
}

/*

   VISIBILITY

   Media Query Extensions:
     -s  = small
     -m  = medium
     -l  = large

*/

/*
    Text that is hidden but accessible
    Ref: https://accessibility.18f.gov/hidden-content/
*/

.clip {
  border: 0; 
  clip: rect(0 0 0 0); 
  height: 1px; 
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

@container (min-width:30em) {
  .clip-s {
    border: 0; 
    clip: rect(0 0 0 0); 
    height: 1px; 
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
}

@container (min-width:48em) {
  .clip-m {
    border: 0; 
    clip: rect(0 0 0 0); 
    height: 1px; 
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
}

@container (min-width:64em) {
  .clip-l {
    border: 0; 
    clip: rect(0 0 0 0); 
    height: 1px; 
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
}

/*

   WHITE SPACE

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.ws-normal { white-space: normal; }

.nowrap { white-space: nowrap; }

.pre { white-space: pre; }

@container (min-width:30em) {
  .ws-normal-s { white-space: normal; }
  .nowrap-s { white-space: nowrap; }
  .pre-s { white-space: pre; }
}

@container (min-width:48em) {
  .ws-normal-m { white-space: normal; }
  .nowrap-m { white-space: nowrap; }
  .pre-m { white-space: pre; }
}

@container (min-width:64em) {
  .ws-normal-l { white-space: normal; }
  .nowrap-l { white-space: nowrap; }
  .pre-l { white-space: pre; }
}

/*

   VERTICAL ALIGN

   Media Query Extensions:
     -s = small
     -m  = medium
     -l  = large

*/

.v-base     { vertical-align: baseline; }

.v-mid      { vertical-align: middle; }

.v-top      { vertical-align: top; }

.v-btm      { vertical-align: bottom; }

@container (min-width:30em) {
  .v-base-s     { vertical-align: baseline; }
  .v-mid-s      { vertical-align: middle; }
  .v-top-s      { vertical-align: top; }
  .v-btm-s      { vertical-align: bottom; }
}

@container (min-width:48em) {
  .v-base-m     { vertical-align: baseline; }
  .v-mid-m      { vertical-align: middle; }
  .v-top-m      { vertical-align: top; }
  .v-btm-m      { vertical-align: bottom; }
}

@container (min-width:64em) {
  .v-base-l     { vertical-align: baseline; }
  .v-mid-l      { vertical-align: middle; }
  .v-top-l      { vertical-align: top; }
  .v-btm-l      { vertical-align: bottom; }
}

/*

  HOVER EFFECTS
  Docs: http://tachyons.io/docs/themes/hovers/

    - Dim
    - Glow
    - Hide Child
    - Underline text
    - Grow
    - Pointer
    - Shadow
    - Colors

*/

/*

  Dim element on hover by adding the dim class.

*/

.dim {
  opacity: 1;
  transition: opacity .15s ease-in;
}

.dim:hover,
.dim:focus {
  opacity: .5;
  transition: opacity .15s ease-in;
}

.dim:active {
  opacity: .8; 
  transition: opacity .15s ease-out;
}

/*

  Animate opacity to 100% on hover by adding the glow class.

*/

.glow {
  transition: opacity .15s ease-in;
}

.glow:hover,
.glow:focus {
  opacity: 1;
  transition: opacity .15s ease-in;
}

/*

  Hide child & reveal on hover:

  Put the hide-child class on a parent element and any nested element with the
  child class will be hidden and displayed on hover or focus.

  <div class="hide-child">
    <div class="child"> Hidden until hover or focus </div>
    <div class="child"> Hidden until hover or focus </div>
    <div class="child"> Hidden until hover or focus </div>
    <div class="child"> Hidden until hover or focus </div>
  </div>
*/

.hide-child .child {
  opacity: 0;
  transition: opacity .15s ease-in;
}

.hide-child:hover  .child,
.hide-child:focus  .child,
.hide-child:active .child {
  opacity: 1;
  transition: opacity .15s ease-in;
}

.underline-hover:hover,
.underline-hover:focus {
  text-decoration: underline;
}

/* Can combine this with overflow-hidden to make background images grow on hover
 * even if you are using background-size: cover */

.grow {
  -moz-osx-font-smoothing: grayscale;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: transform 0.25s ease-out;
}

.grow:hover,
.grow:focus {
  transform: scale(1.05);
}

.grow:active {
  transform: scale(.90);
}

.grow-large {
  -moz-osx-font-smoothing: grayscale;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: transform .25s ease-in-out;
}

.grow-large:hover,
.grow-large:focus {
  transform: scale(1.2);
}

.grow-large:active {
  transform: scale(.95);
}

/* Add pointer on hover */

.pointer {
  cursor: pointer;
}

.trans-all {
  transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* 
 * TODO: Test and rename
   Add shadow on hover.

   Performant box-shadow animation pattern from 
   http://tobiasahlin.com/blog/how-to-animate-box-shadow/ 

.shadow-hover {
  cursor: pointer;
  position: relative;
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.shadow-hover::after {
  content: '';
  box-shadow: 0px 0px 16px 2px rgba( 0, 0, 0, .2 );
  border-radius: inherit;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.shadow-hover:hover::after,
.shadow-hover:focus::after {
  opacity: 1;
}
*/

/* Combine with classes in skins and skins-pseudo for 
 * many different transition possibilities. */

.trans-bg {
  transition: background-color .25s ease-in-out; 
}

.trans-color {
  transition: color .25s ease-in-out; 
}

.hover-filter-none:hover { filter: none; }

.hover-filter-blur-none:hover { filter: blur(0); }

.hover-filter-blur:hover { filter: blur(96px); }

.hover-grayscale-0:hover { filter: grayscale(0); }

.hover-grayscale-50:hover { filter: grayscale(50%); }

.hover-grayscale-100:hover { filter: grayscale(100%); }

/*

  Z-INDEX

  Base
    z = z-index

  Modifiers
    -0 = literal value 0
    -1 = literal value 1
    -2 = literal value 2
    -3 = literal value 3
    -4 = literal value 4
    -5 = literal value 5
    -999 = literal value 999
    -9999 = literal value 9999

    -max = largest accepted z-index value as integer

    -inherit = string value inherit
    -initial = string value initial
    -unset = string value unset

  MDN: https://developer.mozilla.org/en/docs/Web/CSS/z-index
  Spec: http://www.w3.org/TR/CSS2/zindex.html
  Articles:
    https://philipwalton.com/articles/what-no-one-told-you-about-z-index/

  Tips on extending:
  There might be a time worth using negative z-index values.
  Or if you are using tachyons with another project, you might need to
  adjust these values to suit your needs.

*/

.z-0 { z-index: 0; }

.z-1 { z-index: 1; }

.z-2 { z-index: 2; }

.z-3 { z-index: 3; }

.z-4 { z-index: 4; }

.z-5 { z-index: 5; }

.z-999 { z-index: 999; }

.z-9999 { z-index: 9999; }

.z-max {
  z-index: 2147483647;
}

.z-inherit { z-index: inherit; }

.z-initial { z-index: initial; }

.z-unset { z-index: unset; }

/*

    NESTED
    Tachyons module for styling nested elements
    that are generated by a cms.

*/

.nested-copy-line-height p,
.nested-copy-line-height ul,
.nested-copy-line-height ol {
  line-height: var(--line-height-body, 1.5);
}

.nested-headline-line-height h1,
.nested-headline-line-height h2,
.nested-headline-line-height h3,
.nested-headline-line-height h4,
.nested-headline-line-height h5,
.nested-headline-line-height h6 {
  line-height: var(--line-height-title, 1.25);
}

.nested-list-reset ul,
.nested-list-reset ol {
  padding-left: 0;
  margin-left: 0;
  list-style-type: none;
}

.nested-copy-indent p+p {
  text-indent: 1em;
  margin-top: 0;
  margin-bottom: 0;
}

.nested-copy-separator p+p {
  margin-top: 1.5em;
}

.nested-img img {
  width: 100%;
  max-width: 100%;
  display: block;
}

.nested-links a {
  color: var(--blue-5);
  transition: color .15s ease-in;
}

.nested-links a:hover,
.nested-links a:focus {
  color: var(--blue-3);
  transition: color .15s ease-in;
}

/*

  STYLES

  Add custom styles here.

*/

/*

Fonts 

*/

@font-face {
  font-family: 'Jack Input';
  src: url('/assets/fonts/jackinput.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Roboto Mono';
  src: url('/assets/fonts/roboto-mono-latin-400-normal.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Roboto Mono';
  src: url('/assets/fonts/roboto-mono-latin-400-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Roboto Mono';
  src: url('/assets/fonts/roboto-mono-latin-700-normal.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Roboto Mono';
  src: url('/assets/fonts/roboto-mono-latin-700-italic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/*

Animations 

*/

@keyframes flashMagenta {

  0% {
    background-color: var(--magenta-8);
  }

  100% {
    background-color: var(--gray-11);
  }

}

@keyframes flashGreen {

  0% {
    background-color: var(--green-8);
  }

  100% {
    background-color: var(--gray-11);
  }

}

@keyframes pulseGreen {

  0%,
  100% {
    background-color: var(--gray-11);
  }

  50% {
    background-color: var(--green-7);
  }
}

@keyframes pulseBlue {

  0%,
  100% {
    background-color: var(--gray-11);
  }

  50% {
    background-color: var(--blue-7);
  }
}

@keyframes pulseOrange {

  0%,
  100% {
    background-color: var(--gray-11);
  }

  50% {
    background-color: var(--yellow-7);
  }
}

.flash-magenta {
  animation: flashMagenta 0.3s ease-in-out forwards;
}

.flash-green {
  animation: flashGreen 0.3s ease-in-out forwards;
}

.pulse-blue {
  animation: pulseBlue 1.5s ease-in-out infinite;
}

.pulse-green {
  animation: pulseGreen 1.5s ease-in-out infinite;
}

.pulse-orange {
  animation: pulseOrange 1.5s ease-in-out infinite;
}

/* Debugging */

/*

  DEBUG CHILDREN
  Docs: http://tachyons.io/docs/debug/

  Just add the debug class to any element to see outlines on its
  children.

*/

.debug * { 
  --debug-color: 128 0 90;
  --debug-opacity: .8;
  outline: 1px solid rbg(var(--debug-color, 128 0 90) / (--debug-opacity, .8)); 
}

/* 

   DEBUG GRID
   http://tachyons.io/docs/debug-grid/

   Can be useful for debugging layout issues
   or helping to make sure things line up perfectly.
   Just tack this class onto a parent element

*/

.debug-grid {
  --grid-size: 16px; 
  --grid-color: var(--magenta-9);

  background-image: 
    repeating-linear-gradient(0deg, var(--grid-color), var(--grid-color) 1px, transparent 1px, transparent var(--grid-size)), 
    repeating-linear-gradient(90deg, var(--grid-color), var(--grid-color) 1px, transparent 1px, transparent var(--grid-size));
  background-size: 100% var(--grid-size);
}

/* Uncomment out the line below to help debug layout issues */

/* @import './_debug'; */

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90YWNoeW9ucy5jc3MiLCIuLi9zcmMvX25vcm1hbGl6ZS5jc3MiLCIuLi9zcmMvX21lZGlhLXF1ZXJpZXMuY3NzIiwiLi4vc3JjL192YXJpYWJsZXMuY3NzIiwiLi4vc3JjL19ncmFkaWVudHMuY3NzIiwiLi4vc3JjL19ib3gtc2l6aW5nLmNzcyIsIi4uL3NyYy9fY29udGFpbmVyLXR5cGUuY3NzIiwiLi4vc3JjL19hbGwuY3NzIiwiLi4vc3JjL19hc3BlY3QtcmF0aW9zLmNzcyIsIi4uL3NyYy9faW1hZ2VzLmNzcyIsIi4uL3NyYy9fYmFja2dyb3VuZC1zaXplLmNzcyIsIi4uL3NyYy9fYmFja2dyb3VuZC1wb3NpdGlvbi5jc3MiLCIuLi9zcmMvX291dGxpbmVzLmNzcyIsIi4uL3NyYy9fYm9yZGVycy5jc3MiLCIuLi9zcmMvX2JvcmRlci1jb2xvcnMuY3NzIiwiLi4vc3JjL19ib3JkZXItcmFkaXVzLmNzcyIsIi4uL3NyYy9fYm9yZGVyLXN0eWxlLmNzcyIsIi4uL3NyYy9fYm9yZGVyLXdpZHRocy5jc3MiLCIuLi9zcmMvX2JveC1zaGFkb3cuY3NzIiwiLi4vc3JjL190ZXh0LXNoYWRvdy5jc3MiLCIuLi9zcmMvX2NvZGUuY3NzIiwiLi4vc3JjL19jb29yZGluYXRlcy5jc3MiLCIuLi9zcmMvX2NsZWFycy5jc3MiLCIuLi9zcmMvX2Rpc3BsYXkuY3NzIiwiLi4vc3JjL19nbGFzcy5jc3MiLCIuLi9zcmMvX2dhcC5jc3MiLCIuLi9zcmMvX2dhcC1jb2x1bW4uY3NzIiwiLi4vc3JjL19nYXAtcm93LmNzcyIsIi4uL3NyYy9fZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zLmNzcyIsIi4uL3NyYy9fZ3JpZC1jb2x1bW4uY3NzIiwiLi4vc3JjL19ncmlkLXJvdy5jc3MiLCIuLi9zcmMvX2JhY2tkcm9wLWZpbHRlcnMuY3NzIiwiLi4vc3JjL19maWx0ZXJzLmNzcyIsIi4uL3NyYy9fZmxleGJveC5jc3MiLCIuLi9zcmMvX2ZsZXgtZGlyZWN0aW9uLmNzcyIsIi4uL3NyYy9fZmxleC13cmFwLmNzcyIsIi4uL3NyYy9fYWxpZ24taXRlbXMuY3NzIiwiLi4vc3JjL19hbGlnbi1jb250ZW50LmNzcyIsIi4uL3NyYy9fYWxpZ24tc2VsZi5jc3MiLCIuLi9zcmMvX2p1c3RpZnktc2VsZi5jc3MiLCIuLi9zcmMvX2p1c3RpZnktY29udGVudC5jc3MiLCIuLi9zcmMvX29yZGVyLmNzcyIsIi4uL3NyYy9fZmxvYXRzLmNzcyIsIi4uL3NyYy9fZm9udC1mYW1pbHkuY3NzIiwiLi4vc3JjL19mb250LXN0eWxlLmNzcyIsIi4uL3NyYy9fZm9udC13ZWlnaHQuY3NzIiwiLi4vc3JjL19mb3Jtcy5jc3MiLCIuLi9zcmMvX2hlaWdodHMuY3NzIiwiLi4vc3JjL19sZXR0ZXItc3BhY2luZy5jc3MiLCIuLi9zcmMvX2xpbmUtaGVpZ2h0LmNzcyIsIi4uL3NyYy9fbGlua3MuY3NzIiwiLi4vc3JjL19saXN0cy5jc3MiLCIuLi9zcmMvX21heC13aWR0aHMuY3NzIiwiLi4vc3JjL193aWR0aHMuY3NzIiwiLi4vc3JjL19vdmVyZmxvdy5jc3MiLCIuLi9zcmMvX3Bvc2l0aW9uLmNzcyIsIi4uL3NyYy9fb3BhY2l0eS5jc3MiLCIuLi9zcmMvX3JvdGF0aW9ucy5jc3MiLCIuLi9zcmMvX3NraW5zLmNzcyIsIi4uL3NyYy9fc2tpbnMtcHNldWRvLmNzcyIsIi4uL3NyYy9fc3BhY2luZy5jc3MiLCIuLi9zcmMvX25lZ2F0aXZlLW1hcmdpbnMuY3NzIiwiLi4vc3JjL190YWJsZXMuY3NzIiwiLi4vc3JjL190ZXh0LWRlY29yYXRpb24uY3NzIiwiLi4vc3JjL190ZXh0LWFsaWduLmNzcyIsIi4uL3NyYy9fdGV4dC10cmFuc2Zvcm0uY3NzIiwiLi4vc3JjL190eXBlLXNjYWxlLmNzcyIsIi4uL3NyYy9fdHlwb2dyYXBoeS5jc3MiLCIuLi9zcmMvX3V0aWxpdGllcy5jc3MiLCIuLi9zcmMvX3Zpc2liaWxpdHkuY3NzIiwiLi4vc3JjL193aGl0ZS1zcGFjZS5jc3MiLCIuLi9zcmMvX3ZlcnRpY2FsLWFsaWduLmNzcyIsIi4uL3NyYy9faG92ZXJzLmNzcyIsIi4uL3NyYy9fei1pbmRleC5jc3MiLCIuLi9zcmMvX25lc3RlZC5jc3MiLCIuLi9zcmMvX3N0eWxlcy5jc3MiLCIuLi9zcmMvX2RlYnVnLWNoaWxkcmVuLmNzcyIsIi4uL3NyYy9fZGVidWctZ3JpZC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDOztBQUUvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBcUJFOztBQUdGLDhCQUE4Qjs7QUMxQjlCLDJFQUEyRTs7QUFFM0U7K0VBQytFOztBQUUvRTs7O0VBR0U7O0FBRUY7RUFDRSwyQkFBMkIsRUFBRSxnRkFBZ0Y7RUFDN0csaUJBQWlCLEVBQUUsTUFBTTtFQUN6Qiw4QkFBOEIsRUFBRSxNQUFNO0FBQ3hDOztBQUVBOytFQUMrRTs7QUFFL0U7O0VBRUU7O0FBRUY7RUFDRSxTQUFTO0FBQ1g7O0FBRUE7O0VBRUU7O0FBRUY7RUFDRSxjQUFjO0FBQ2hCOztBQUVBOzs7RUFHRTs7QUFFRjtFQUNFLGNBQWM7RUFDZCxnQkFBZ0I7QUFDbEI7O0FBRUE7K0VBQytFOztBQUUvRTs7O0VBR0U7O0FBRUY7RUFDRSx1QkFBdUIsRUFBRSxNQUFNO0VBQy9CLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLGlCQUFpQixFQUFFLE1BQU07QUFDM0I7O0FBRUE7OztFQUdFOztBQUVGO0VBQ0UsaUNBQWlDLEVBQUUsTUFBTTtFQUN6QyxjQUFjLEVBQUUsTUFBTTtBQUN4Qjs7QUFFQTsrRUFDK0U7O0FBRS9FOztFQUVFOztBQUVGO0VBQ0UsNkJBQTZCO0FBQy9COztBQUVBOzs7RUFHRTs7QUFFRjtFQUNFLG1CQUFtQixFQUFFLE1BQU07RUFDM0IsMEJBQTBCLEVBQUUsTUFBTTtFQUNsQyxpQ0FBaUMsRUFBRSxNQUFNO0FBQzNDOztBQUVBOztFQUVFOztBQUVGOztFQUVFLG1CQUFtQjtBQUNyQjs7QUFFQTs7O0VBR0U7O0FBRUY7OztFQUdFLGlDQUFpQyxFQUFFLE1BQU07RUFDekMsY0FBYyxFQUFFLE1B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QXVCLG9CQUFvQixFQUFFO0VBQzdDLHVCQUF1QixvQkFBb0IsRUFBRTs7RUFFN0MsdUJBQXVCLG1CQUFtQixFQUFFO0VBQzVDLHVCQUF1QixtQkFBbUIsRUFBRTs7RUFFNUMsdUJBQXVCLG1CQUFtQixFQUFFO0VBQzVDLHVCQUF1QixtQkFBbUIsRUFBRTs7RUFFNUMsdUJBQXVCLG1CQUFtQixFQUFFO0VBQzVDLHVCQUF1QixtQkFBbUIsRUFBRTs7RUFFNUMsdUJBQXVCLG1CQUFtQixFQUFFO0VBQzVDLHVCQUF1QixtQkFBbUIsRUFBRTs7RUFFNUM7d0JBQ3NCLG1CQUFtQixFQUFFO0FBQzdDOztBQUVBO0VBQ0UsdUJBQXVCLG9CQUFvQixFQUFFO0VBQzdDLHVCQUF1QixvQkFBb0IsRUFBRTs7RUFFN0MsdUJBQXVCLG1CQUFtQixFQUFFO0VBQzVDLHVCQUF1QixtQkFBbUIsRUFBRTs7RUFFNUMsdUJBQXVCLG1CQUFtQixFQUFFO0VBQzVDLHVCQUF1QixtQkFBbUIsRUFBRTs7RUFFNUMsdUJBQXVCLG1CQUFtQixFQUFFO0VBQzVDLHVCQUF1QixtQkFBbUIsRUFBRTs7RUFFNUMsdUJBQXVCLG1CQUFtQixFQUFFO0VBQzVDLHVCQUF1QixtQkFBbUIsRUFBRTs7RUFFNUM7d0JBQ3NCLG1CQUFtQixFQUFFO0FBQzdDOztBQUVBO0VBQ0UsdUJBQXVCLG9CQUFvQixFQUFFO0VBQzdDLHVCQUF1QixvQkFBb0IsRUFBRTs7RUFFN0MsdUJBQXVCLG1CQUFtQixFQUFFO0VBQzVDLHVCQUF1QixtQkFBbUIsRUFBRTs7RUFFNUMsdUJBQXVCLG1CQUFtQixFQUFFO0VBQzVDLHVCQUF1QixtQkFBbUIsRUFBRTs7RUFFNUMsdUJBQXVCLG1CQUFtQixFQUFFO0VBQzVDLHVCQUF1QixtQkFBbUIsRUFBRTs7RUFFNUMsdUJBQXVCLG1CQUFtQixFQUFFO0VBQzVDLHVCQUF1QixtQkFBbUIsRUFBRTs7RUFFNUM7d0JBQ3NCLG1CQUFtQixFQUFFO0FBQzdDOztBQ3JGQTs7Ozs7Q0FLQzs7QUFFRCxNQUFNLGNBQWMsRUFBRSxlQUFl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YSwyQkFBMkIsRUFBRTs7QUFDMUMsYUFBYSwyQkFBMkIsRUFBRTs7QUFDMUMsYUFBYSwyQkFBMkIsRUFBRTs7QUFDMUMsYUFBYSwyQkFBMkIsRUFBRTs7QUFDMUMsYUFBYSwyQkFBMkIsRUFBRTs7QUFDMUMsYUFBYSwyQkFBMkIsRUFBRTs7QUFDMUMsYUFBYSwyQkFBMkIsRUFBRTs7QUFDMUMsY0FBYyw0QkFBNEIsRUFBRTs7QUFDNUMsY0FBYyw0QkFBNEIsRUFBRTs7QUFFNUMsZUFBZSw2QkFBNkIsRUFBRTs7QUFDOUMsZUFBZSw2QkFBNkIsRUFBRTs7QUFDOUMsZUFBZSw2QkFBNkIsRUFBRTs7QUFDOUMsZUFBZSw2QkFBNkIsRUFBRTs7QUFDOUMsZUFBZSw2QkFBNkIsRUFBRTs7QUFDOUMsZUFBZSw2QkFBNkIsRUFBRTs7QUFDOUMsZUFBZSw2QkFBNkIsRUFBRTs7QUFDOUMsZUFBZSw2QkFBNkIsRUFBRTs7QUFDOUMsZUFBZSw2QkFBNkIsRUFBRTs7QUFDOUMsZUFBZSw2QkFBNkIsRUFBRTs7QUFDOUMsZ0JBQWdCLDhCQUE4QixFQUFFOztBQUNoRCxnQkFBZ0IsOEJBQThCLEVBQUU7O0FBRWhELGNBQWMsNEJBQTRCLEVBQUU7O0FBQzVDLGNBQWMsNEJBQTRCLEVBQUU7O0FBQzVDLGNBQWMsNEJBQTRCLEVBQUU7O0FBQzVDLGNBQWMsNEJBQTRCLEVBQUU7O0FBQzVDLGNBQWMsNEJBQTRCLEVBQUU7O0FBQzVDLGNBQWMsNEJBQTRCLEVBQUU7O0FBQzVDLGNBQWMsNEJBQTRCLEVBQUU7O0FBQzVDLGNBQWMsNEJBQTRCLEVBQUU7O0FBQzVDLGNBQWMsNEJBQTRCLEVBQUU7O0FBQzVDLGNBQWMsNEJBQTRCLEVBQUU7O0FBQzVDLGVBQWUsNkJBQTZCLEVBQUU7O0FBQzlDLGVBQWUsNkJBQTZCLEVBQUU7O0FBRTlDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGNBQWMsNEJBQTRCLEVBQUU7O0FBQzVDLGNBQWMsNEJBQTRCLEVBQUU7O0FBRTVDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGNBQWMsNEJBQTRCLEVBQUU7O0FBQzVDLGNBQWMsNEJBQTRCLEVBQUU7O0FBRTVDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGFBQWEsMkJBQTJCLEVBQUU7O0FBQzFDLGNBQWMsNEJBQTRCLEVBQUU7O0FBQzVDLGNBQWMsNEJBQTRCLEVBQUU7O0FDbk81Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMkJDOztBQUVDLHNCQUFzQix3Q0FBd0MsRUFBRTs7QUFDaEUsY0FBYyx3Q0FBd0MsRUFBRTs7QUFDeEQsY0FBYywwQ0FBMEMsRUFBRTs7QUFDMUQsY0FBYywwQ0FBMEMsRUFBRTs7QUFDMUQsY0FBYyww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Z0IsRUFBRTs7QUFDNUIsVUFBVSxnQkFBZ0IsRUFBRTs7QUFDNUIsVUFBVSxnQkFBZ0IsRUFBRTs7QUFDNUIsVUFBVSxnQkFBZ0IsRUFBRTs7QUFDNUIsVUFBVSxnQkFBZ0IsRUFBRTs7QUFDNUIsVUFBVSxnQkFBZ0IsRUFBRTs7QUFDNUIsVUFBVSxnQkFBZ0IsRUFBRTs7QUFDNUIsVUFBVSxnQkFBZ0IsRUFBRTs7QUFHNUI7RUFDRSxZQUFZLG1CQUFtQixFQUFFO0VBQ2pDLFlBQVksaUJBQWlCLEVBQUU7RUFDL0IsWUFBWSxnQkFBZ0IsRUFBRTtFQUM5QixZQUFZLGdCQUFnQixFQUFFO0VBQzlCLFlBQVksZ0JBQWdCLEVBQUU7RUFDOUIsWUFBWSxnQkFBZ0IsRUFBRTtFQUM5QixZQUFZLGdCQUFnQixFQUFFO0VBQzlCLFlBQVksZ0JBQWdCLEVBQUU7RUFDOUIsWUFBWSxnQkFBZ0IsRUFBRTtFQUM5QixZQUFZLGdCQUFnQixFQUFFO0VBQzlCLFlBQVksZ0JBQWdCLEVBQUU7QUFDaEM7O0FBRUE7RUFDRSxZQUFZLG1CQUFtQixFQUFFO0VBQ2pDLFlBQVksaUJBQWlCLEVBQUU7RUFDL0IsWUFBWSxnQkFBZ0IsRUFBRTtFQUM5QixZQUFZLGdCQUFnQixFQUFFO0VBQzlCLFlBQVksZ0JBQWdCLEVBQUU7RUFDOUIsWUFBWSxnQkFBZ0IsRUFBRTtFQUM5QixZQUFZLGdCQUFnQixFQUFFO0VBQzlCLFlBQVksZ0JBQWdCLEVBQUU7RUFDOUIsWUFBWSxnQkFBZ0IsRUFBRTtFQUM5QixZQUFZLGdCQUFnQixFQUFFO0VBQzlCLFlBQVksZ0JBQWdCLEVBQUU7QUFDaEM7O0FBRUE7RUFDRSxZQUFZLG1CQUFtQixFQUFFO0VBQ2pDLFlBQVksaUJBQWlCLEVBQUU7RUFDL0IsWUFBWSxnQkFBZ0IsRUFBRTtFQUM5QixZQUFZLGdCQUFnQixFQUFFO0VBQzlCLFlBQVksZ0JBQWdCLEVBQUU7RUFDOUIsWUFBWSxnQkFBZ0IsRUFBRTtFQUM5QixZQUFZLGdCQUFnQixFQUFFO0VBQzlCLFlBQVksZ0JBQWdCLEVBQUU7RUFDOUIs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RTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFDdEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFFdEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFFcEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFDdEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFDdEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFDdEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFDdEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFDdEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFDdEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFDdEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFDdEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFDdEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFDdEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFDdEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFDdEMsY0FBYyx3QkFBd0IsRUFBRTs7QUFDeEMsY0FBYyx3QkFBd0IsRUFBRTs7QUFFeEMsU0FBUyxtQkFBbUIsRUFBRTs7QUFDOUIsU0FBUyxtQkFBbUIsRUFBRTs7QUFDOUIsU0FBUyxtQkFBbUIsRUFBRTs7QUFDOUIsU0FBUyxtQkFBbUIsRUFBRTs7QUFDOUIsU0FBUyxtQkFBbUIsRUFBRTs7QUFDOUIsU0FBUyxtQkFBbUIsRUFBRTs7QUFDOUIsU0FBUyxtQkFBbUIsRUFBRTs7QUFDOUIsU0FBUyxtQkFBbUIsRUFBRTs7QUFDOUIsU0FBUyxtQkFBbUIsRUFBRTs7QUFDOUIsU0FBUyxtQkFBbUIsRUFBRTs7QUFDOUIsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFFaEMsZ0JBQWdCLDBCQUEwQixFQUFFOztBQUM1QyxnQkFBZ0IsMEJBQTBCLEVBQUU7O0FBQzVDLGdCQUFnQiwwQkFBMEIsRUFBRTs7QUFDNUMsZ0JBQWdCLDBCQUEwQixFQUFFOztBQUM1QyxnQkFBZ0IsMEJBQTBCLEVBQUU7O0FBQzVDLGdCQUFnQiwwQkFBMEIsRUFBRTs7QUFDNUMsZ0JBQWdCLDBCQUEwQixFQUFFOztBQUM1QyxnQkFBZ0IsMEJBQTBCLEVBQUU7O0FBQzVDLGdCQUFnQiwwQkFBMEIsRUFBRTs7QUFDNUMsZ0JBQWdCLDBCQUEwQixFQUFFOztBQUM1QyxpQkFBaUIsMkJBQTJCLEVBQUU7O0FBQzlDLGlCQUFpQiwyQkFBMkIsRUFBRTs7QUFFOUMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFDdEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFFdEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsV0FBVyxxQkFBcUIsRUFBRTs7QUFDbEMsV0FBVyxxQkFBcUIsRUFBRTs7QUFFbEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFDdEMsYUFBYSx1QkFBdUIsRUFBRTs7QUFFdEMsV0FBVyxxQkFBcUIsRUFBRTs7QUFDbEMsV0FBVyxxQkFBcUIsRUFBRTs7QUFDbEMsV0FBVyxxQkFBcUIsRUFBRTs7QUFDbEMsV0FBVyxxQkFBcUIsRUFBRTs7QUFDbEMsV0FBVyxxQkFBcUIsRUFBRTs7QUFDbEMsV0FBVyxxQkFBcUIsRUFBRTs7QUFDbEMsV0FBVyxxQkFBcUIsRUFBRTs7QUFDbEMsV0FBVyxxQkFBcUIsRUFBRTs7QUFDbEMsV0FBVyxxQkFBcUIsRUFBRTs7QUFDbEMsV0FBVyxxQkFBcUIsRUFBRTs7QUFDbEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFDcEMsWUFBWSxzQkFBc0IsRUFBRTs7QUFFcEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsVUFBVSxvQkFBb0IsRUFBRTs7QUFDaEMsV0FBVyxxQkFBcUIsRUFBRTs7QUFDbEMsV0FB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Z0NBQWdDLEVBQUU7O0FBQ2hELGNBQWMsZ0NBQWdDLEVBQUU7O0FBQ2hELGNBQWMsZ0NBQWdDLEVBQUU7O0FBQ2hELGNBQWMsZ0NBQWdDLEVBQUU7O0FBQ2hELGNBQWMsZ0NBQWdDLEVBQUU7O0FBQ2hELGNBQWMsZ0NBQWdDLEVBQUU7O0FBQ2hELGNBQWMsZ0NBQWdDLEVBQUU7O0FBQ2hELGNBQWMsZ0NBQWdDLEVBQUU7O0FBQ2hELGVBQWUsaUNBQWlDLEVBQUU7O0FBQ2xELGVBQWUsaUNBQWlDLEVBQUU7O0FBRWxELGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGNBQWMsZ0NBQWdDLEVBQUU7O0FBQ2hELGNBQWMsZ0NBQWdDLEVBQUU7O0FBRWhELGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGNBQWMsZ0NBQWdDLEVBQUU7O0FBQ2hELGNBQWMsZ0NBQWdDLEVBQUU7O0FBRWhELGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7O0FBQzlDLGFBQWEsK0JBQStCLEVBQUU7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QUFDN0Msc0JBQXNCLHFCQUFxQixFQUFFOztBQUM3QyxzQkFBc0IscUJBQXFCLEVBQUU7O0FBQzdDLHVCQUF1QixzQkFBc0IsRUFBRTs7QUFDL0MsdUJBQXVCLHNCQUFzQixFQUFFOztBQUUvQyxzQkFBc0IscUJBQXFCLEVBQUU7O0FBQzdDLHNCQUFzQixxQkFBcUIsRUFBRTs7QUFDN0Msc0JBQXNCLHFCQUFxQixFQUFFOztBQUM3QyxzQkFBc0IscUJBQXFCLEVBQUU7O0FBQzdDLHNCQUFzQixxQkFBcUIsRUFBRTs7QUFDN0Msc0JBQXNCLHFCQUFxQixFQUFFOztBQUM3QyxzQkFBc0IscUJBQXFCLEVBQUU7O0FBQzdDLHNCQUFzQixxQkFBcUIsRUFBRTs7QUFDN0Msc0JBQXNCLHFCQUFxQixFQUFFOztBQUM3QyxzQkFBc0IscUJBQXFCLEVBQUU7O0FBQzdDLHVCQUF1QixzQkFBc0IsRUFBRTs7QUFDL0MsdUJBQXVCLHNCQUFzQixFQUFFOztBQUUvQyxzQkFBc0IscUJBQXFCLEVBQUU7O0FBQzdDLHNCQUFzQixxQkFBcUIsRUFBRTs7QUFDN0Msc0JBQXNCLHFCQUFxQixFQUFFOztBQUM3QyxzQkFBc0IscUJBQXFCLEVBQUU7O0FBQzdDLHNCQUFzQixxQkFBcUIsRUFBRTs7QUFDN0Msc0JBQXNCLHFCQUFxQixFQUFFOztBQUM3QyxzQkFBc0IscUJBQXFCLEVBQUU7O0FBQzdDLHNCQUFzQixxQkFBcUIsRUFBRTs7QUFDN0Msc0JBQXNCLHFCQUFxQixFQUFFOztBQUM3QyxzQkFBc0IscUJBQXFCLEVBQUU7O0FBQzdDLHVCQUF1QixzQkFBc0IsRUFBRTs7QUFDL0MsdUJBQXVCLHNCQUFzQixFQUFFOztBQUUvQyxzQkFBc0I7O0FBRXRCLGlDQUFpQyx3Q0FBd0MsRUFBRTs7QUFDM0UsaUNBQWlDLHdDQUF3QyxFQUFFOztBQUMzRSxpQ0FBaUMsd0NBQXdDLEVBQUU7O0FBQzNFLGlDQUFpQyx3Q0FBd0MsRUFBRTs7QUFDM0UsaUNBQWlDLHdDQUF3QyxFQUFFOztBQUMzRSxpQ0FBaUMsd0NBQXdDLEVBQUU7O0FB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LG1DQUFtQztJQUNuQyxvQ0FBb0M7RUFDdEM7RUFDQTtJQUNFLG1DQUFtQztJQUNuQyxvQ0FBb0M7RUFDdEM7RUFDQTtJQUNFLG1DQUFtQztJQUNuQyxvQ0FBb0M7RUFDdEM7RUFDQTtJQUNFLG9DQUFvQztJQUNwQyxxQ0FBcUM7RUFDdkM7RUFDQTtJQUNFLG9DQUFvQztJQUNwQyxxQ0FBcUM7RUFDdkM7RUFDQTtJQUNFLG9DQUFvQztJQUNwQyxxQ0FBcUM7RUFDdkM7QUFDRjs7QUNwbkNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTBCQzs7QUFJRCxPQUFPLG1DQUFtQyxFQUFFOztBQUM1QyxPQUFPLG1DQUFtQyxFQUFFOztBQUM1QyxPQUFPLG1DQUFtQyxFQUFFOztBQUM1QyxPQUFPLG1DQUFtQyxFQUFFOztBQUM1QyxPQUFPLG1DQUFtQyxFQUFFOztBQUM1QyxPQUFPLG1DQUFtQyxFQUFFOztBQUM1QyxPQUFPLG1DQUFtQyxFQUFFOztBQUU1QyxPQUFPLHdDQUF3QyxFQUFFOztBQUNqRCxPQUFPLHdDQUF3QyxFQUFFOztBQUNqRCxPQUFPLHdDQUF3QyxFQUFFOztBQUNqRCxPQUFPLHdDQUF3QyxFQUFFOztBQUNqRCxPQUFPLHdDQUF3QyxFQUFFOztBQUNqRCxPQUFPLHdDQUF3QyxFQUFFOztBQUNqRCxPQUFPLHdDQUF3QyxFQUFFOztBQUVqRCxPQUFPLHlDQUF5QyxFQUFFOztBQUNsRCxPQUFPLHlDQUF5QyxFQUFFOztBQUNsRCxPQUFPLHlDQUF5QyxFQUFFOztBQUNsRCxPQUFPLHlDQUF5QyxFQUFFOztBQUNsRCxPQUFPLHlDQUF5QyxFQUFFOztBQUNsRCxPQUFPLHlDQUF5QyxFQUFFOztBQUNsRCxPQUFPLHlDQUF5QyxFQUFFOztBQUVsRCxPQUFPLDBDQUEwQyxFQUFFOztBQUNuRCxPQUFPLDBDQUEwQyxFQUFFOztBQUNuRCxPQUFPLDBDQUEwQyxFQUFFOztBQUNuRCxPQUFPLDBDQUEwQyxFQUFFOztBQUNuRCxPQUFPLDBDQUEwQyxFQUFFOztBQUNuRCxPQUFPLDBDQUEwQyxFQUFFOztBQUNuRCxPQUFPLDBDQUEwQyxFQUFFOztBQUVuRCxPQUFPLHVDQUF1QyxFQUFFOztBQUNoRCxPQUFPLHVDQUF1QyxFQUFFOztBQUNoRCxPQUFPLHVDQUF1QyxFQUFFOztBQUNoRCxPQUFPLHVDQUF1QyxFQUFFOztBQUNoRCxPQUFPLHVDQUF1QyxFQUFFOztBQUNoRCxPQUFPLHVDQUF1QyxFQUFFOztBQUNoRCxPQUFPLHVDQUF1QyxFQUFFOztBQUVoRDs7RUFFRSxTQUFTLG1DQUFtQyxFQUFFO0VBQzlDLFNBQVMsbUNBQW1DLEVBQUU7RUFDOUMsU0FBUyxtQ0FBbUMsRUFBRTtFQUM5QyxTQUFTLG1DQUFtQyxFQUFFO0VBQzlDLFNBQVMsbUNBQW1DLEVBQUU7RUFDOUMsU0FBUyxtQ0FBbUMsRUFBRTtFQUM5QyxTQUFTLG1DQUFtQyxFQUFFOztFQUU5QyxTQUFTLHdDQUF3QyxFQUFFO0VBQ25ELFNBQVMsd0NBQXdDLEVBQUU7RUFDbkQsU0FBUyx3Q0FBd0MsRUFBRTtFQUNuRCxTQUFTLHdDQUF3QyxFQUFFO0VBQ25ELFNBQVMsd0NBQXdDLEVBQUU7RUFDbkQsU0FBUyx3Q0FBd0MsRUFBRTtFQUNuRCxTQUFTLHdDQUF3QyxFQUFFOztFQUVuRCxTQUFTLHlDQUF5QyxFQUFFO0VBQ3BELFNBQVMseUNBQXlDLEVBQUU7RUFDcEQsU0FBUyx5Q0FBeUMsRUFBRTtFQUNwRCxTQUFTLHlDQUF5QyxFQUFFO0VBQ3BELFNBQVMseUNBQXlDLEVBQUU7RUFDcEQsU0FBUyx5Q0FBeUMsRUFBRTtFQUNwRCxTQUFTLHlDQUF5QyxFQUFFOztFQUVwRCxTQUFTLDBDQUEwQyxFQUFFO0VBQ3JELFNBQVMsMENBQTBDLEVBQUU7RUFDckQsU0FBUywwQ0FBMEMsRUFBRTtFQUNyRCxTQUFTLDBDQUEwQyxFQUFFO0VBQ3JELFNBQVMsMENBQTBDLEVBQUU7RUFDckQsU0FBUywwQ0FBMEMsRUFBRTtFQUNyRCxTQUFTLDBDQUEwQyxFQUFFOztFQUVyRCxTQUFTLHVDQUF1QyxFQUFFO0VBQ2xELFNBQVMsdUNBQXVDLEVBQUU7RUFDbEQsU0FBUyx1Q0FBdUMsRUFBRTtFQUNsRCxTQUFTLHVDQUF1QyxFQUFFO0VBQ2xELFNBQVMsdUNBQXVDLEVBQUU7RUFDbEQsU0FBUyx1Q0FBdUMsRUFBRTtFQUNsRCxTQUFTLHVDQUF1QyxFQUFFOztBQUVwRDs7QUFFQTtFQUNFLFNBQVMsbUNBQW1DLEVBQUU7RUFDOUMsU0FBUyxtQ0FBbUMsRUFBRTtFQUM5QyxTQUFTLG1DQUFtQyxFQUFFO0VBQzlDLFNBQVMsbUNBQW1DLEVBQUU7RUFDOUMsU0FBUyxtQ0FBbUMsRUFBRTtFQUM5QyxTQUFTLG1DQUFtQyxFQUFFO0VBQzlDLFNBQVMsbUNBQW1DLEVBQUU7O0VBRTlDLFNBQVMsd0NBQXdDLEVBQUU7RUFDbkQsU0FBUyx3Q0FBd0MsRUFBRTtFQUNuRCxTQUFTLHdDQUF3QyxFQUFFO0VBQ25ELFNBQVMsd0NBQXdDLEVBQUU7RUFDbkQsU0FBUyx3Q0FBd0MsRUFBRTtFQUNuRCxTQUFTLHdDQUF3QyxFQUFFO0VBQ25ELFNBQVMsd0NBQXdDLEVBQUU7O0VBRW5ELFNBQVMseUNBQXlDLEVBQUU7RUFDcEQsU0FBUyx5Q0FBeUMsRUFBRTtFQUNwRCxTQUFTLHlDQUF5QyxFQUFFO0VBQ3BELFNBQVMseUNBQXlDLEVBQUU7RUFDcEQsU0FBUyx5Q0FBeUMsRUFBRTtFQUNwRCxTQUFTLHlDQUF5QyxFQUFFO0VBQ3BELFNBQVMseUNBQXlDLEVBQUU7O0VBRXBELFNBQVMsMENBQTBDLEVBQUU7RUFDckQsU0FBUywwQ0FBMEMsRUFBRTtFQUNyRCxTQUFTLDBDQUEwQyxFQUFFO0VBQ3JELFNBQVMsMENBQTBDLEVBQUU7RUFDckQsU0FBUywwQ0FBMEMsRUFBRTtFQUNyRCxTQUFTLDBDQUEwQyxFQUFFO0VBQ3JELFNBQVMsMENBQTBDLEVBQUU7O0VBRXJELFNBQVMsdUNBQXVDLEVBQUU7RUFDbEQsU0FBUyx1Q0FBdUMsRUFBRTtFQUNsRCxTQUFTLHVDQUF1QyxFQUFFO0VBQ2xELFNBQVMsdUNBQXVDLEVBQUU7RUFDbEQsU0FBUyx1Q0FBdUMsRUFBRTtFQUNsRCxTQUFTLHVDQUF1QyxF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Qzs7QUFFRDtFQUNFLGlCQUFpQjtFQUNqQiw4QkFBOEI7O0VBRTlCOzs2SEFFMkg7RUFDM0gsc0NBQXNDO0FBQ3hDOztBN0VnR0EsNkRBQTZEOztBQUM3RCx3QkFBd0IiLCJmaWxlIjoidGFjaHlvbnMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohIFRBQ0hZT05TIHY1LjAuMC5iZXRhIHwgaHR0cDovL3RhY2h5b25zLmlvICovXG5cbi8qXG4gKlxuICogICAgICBfX19fX19fXyAgICAgICAgICAgIF9fX19fX1xuICogICAgICBfX18gIF9fL19fX19fIF9fX19fX19fXyAgL19fX19fXyAgX19fX19fX19fX19fX19fX19fX19fX1xuICogICAgICBfXyAgLyAgXyAgX18gYC8gIF9fXy9fICBfXyBcXF8gIC8gLyAvICBfXyBcXF8gIF9fIFxcXyAgX19fL1xuICogICAgICBfICAvICAgLyAvXy8gLy8gL19fIF8gIC8gLyAvICAvXy8gLy8gL18vIC8gIC8gLyAvKF9fICApXG4gKiAgICAgIC9fLyAgICBcXF9fLF8vIFxcX19fLyAvXy8gL18vX1xcX18sIC8gXFxfX19fLy9fLyAvXy8vX19fXy9cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL19fX18vXG4gKlxuICogICAgVEFCTEUgT0YgQ09OVEVOVFNcbiAqXG4gKiAgICAxLiBFeHRlcm5hbCBMaWJyYXJ5IEluY2x1ZGVzXG4gKiAgICAgICAtIE5vcm1hbGl6ZS5jc3MgfCBodHRwOi8vbm9ybWFsaXplLmNzcy5naXRodWIuaW9cbiAqICAgIDIuIFRhY2h5b25zIE1vZHVsZXNcbiAqICAgIDMuIFZhcmlhYmxlc1xuICogICAgICAgLSBNZWRpYSBRdWVyaWVzXG4gKiAgICAgICAtIENvbG9yc1xuICogICAgNC4gRGVidWdnaW5nXG4gKiAgICAgICAtIERlYnVnIGFsbFxuICogICAgICAgLSBEZWJ1ZyBjaGlsZHJlblxuICpcbiAqL1xuXG5cbi8qIEV4dGVybmFsIExpYnJhcnkgSW5jbHVkZXMgKi9cbkBpbXBvcnQgJy4vX25vcm1hbGl6ZSc7XG5cbi8qIFZhcmlhYmxlcyAqL1xuLyogSW1wb3J0aW5nIGhlcmUgd2lsbCBhbGxvdyB5b3UgdG8gb3ZlcnJpZGUgYW55IHZhcmlhYmxlcyBpbiB0aGUgbW9kdWxlcyAqL1xuQGltcG9ydCAnLi9fbWVkaWEtcXVlcmllcyc7XG5AaW1wb3J0ICcuL192YXJpYWJsZXMnO1xuXG5AaW1wb3J0ICcuL19ncmFkaWVudHMnO1xuXG5cbi8qIE1vZHVsZXMgKi9cbkBpbXBvcnQgJy4vX2JveC1zaXppbmcnO1xuQGltcG9ydCAnLi9fY29udGFpbmVyLXR5cGUnO1xuQGltcG9ydCAnLi9fYWxsJztcbkBpbXBvcnQgJy4vX2FzcGVjdC1yYXRpb3MnO1xuQGltcG9ydCAnLi9faW1hZ2VzJztcbkBpbXBvcnQgJy4vX2JhY2tncm91bmQtc2l6ZSc7XG5AaW1wb3J0ICcuL19iYWNrZ3JvdW5kLXBvc2l0aW9uJztcbkBpbXBvcnQgJy4vX291dGxpbmVzJztcbkBpbXBvcnQgJy4vX2JvcmRlcnMnO1xuQGltcG9ydCAnLi9fYm9yZGVyLWNvbG9ycyc7XG5AaW1wb3J0ICcuL19ib3JkZXItcmFkaXVzJztcbkBpbXBvcnQgJy4vX2JvcmRlci1zdHlsZSc7XG5AaW1wb3J0ICcuL19ib3JkZXItd2lkdGhzJztcbkBpbXBvcnQgJy4vX2JveC1zaGFkb3cnO1xuQGltcG9ydCAnLi9fdGV4dC1zaGFkb3cnO1xuQGltcG9ydCAnLi9fY29kZSc7XG5AaW1wb3J0ICcuL19jb29yZGluYXRlcyc7XG5AaW1wb3J0ICcuL19jbGVhcnMnO1xuQGltcG9ydCAnLi9fZGlzcGxheSc7XG5AaW1wb3J0ICcuL19nbGFzcyc7XG5AaW1wb3J0ICcuL19nYXAnO1xuQGltcG9ydCAnLi9fZ2FwLWNvbHVtbic7XG5AaW1wb3J0ICcuL19nYXAtcm93JztcbkBpbXBvcnQgJy4vX2dyaWQtdGVtcGxhdGUtY29sdW1ucyc7XG5AaW1wb3J0ICcuL19ncmlkLWNvbHVtbic7XG5AaW1wb3J0ICcuL19ncmlkLXJvdyc7XG5AaW1wb3J0ICcuL19iYWNrZHJvcC1maWx0ZXJzJztcbkBpbXBvcnQgJy4vX2ZpbHRlcnMnO1xuQGltcG9ydCAnLi9fZmxleGJveCc7XG5AaW1wb3J0ICcuL19mbGV4LWRpcmVjdGlvbic7XG5AaW1wb3J0ICcuL19mbGV4LXdyYXAnO1xuQGltcG9ydCAnLi9fYWxpZ24taXRlbXMnO1xuQGltcG9ydCAnLi9fYWxpZ24tY29udGVudCc7XG5AaW1wb3J0ICcuL19hbGlnbi1zZWxmJztcbkBpbXBvcnQgJy4vX2p1c3RpZnktc2VsZic7XG5AaW1wb3J0ICcuL19qdXN0aWZ5LWNvbnRlbnQnO1xuQGltcG9ydCAnLi9fb3JkZXInO1xuQGltcG9ydCAnLi9fZmxvYXRzJztcbkBpbXBvcnQgJy4vX2ZvbnQtZmFtaWx5JztcbkBpbXBvcnQgJy4vX2ZvbnQtc3R5bGUnO1xuQGltcG9ydCAnLi9fZm9udC13ZWlnaHQnO1xuQGltcG9ydCAnLi9fZm9ybXMnO1xuQGltcG9ydCAnLi9faGVpZ2h0cyc7XG5AaW1wb3J0ICcuL19sZXR0ZXItc3BhY2luZyc7XG5AaW1wb3J0ICcuL19saW5lLWhlaWdodCc7XG5AaW1wb3J0ICcuL19saW5rcyc7XG5AaW1wb3J0ICcuL19saXN0cyc7XG5AaW1wb3J0ICcuL19tYXgtd2lkdGhzJztcbkBpbXBvcnQgJy4vX3dpZHRocyc7XG5AaW1wb3J0ICcuL19vdmVyZmxvdyc7XG5AaW1wb3J0ICcuL19wb3NpdGlvbic7XG5AaW1wb3J0ICcuL19vcGFjaXR5JztcbkBpbXBvcnQgJy4vX3JvdGF0aW9ucyc7XG5AaW1wb3J0ICcuL19za2lucyc7XG5AaW1wb3J0ICcuL19za2lucy1wc2V1ZG8nO1xuQGltcG9ydCAnLi9fc3BhY2luZyc7XG5AaW1wb3J0ICcuL19uZWdhdGl2ZS1tYXJnaW5zJztcbkBpbXBvcnQgJy4vX3RhYmxlcyc7XG5AaW1wb3J0ICcuL190ZXh0LWRlY29yYXRpb24nO1xuQGltcG9ydCAnLi9fdGV4dC1hbGlnbic7XG5AaW1wb3J0ICcuL190ZXh0LXRyYW5zZm9ybSc7XG5AaW1wb3J0ICcuL190eXBlLXNjYWxlJztcbkBpbXBvcnQgJy4vX3R5cG9ncmFwaHknO1xuQGltcG9ydCAnLi9fdXRpbGl0aWVzJztcbkBpbXBvcnQgJy4vX3Zpc2liaWxpdHknO1xuQGltcG9ydCAnLi9fd2hpdGUtc3BhY2UnO1xuQGltcG9ydCAnLi9fdmVydGljYWwtYWxpZ24nO1xuQGltcG9ydCAnLi9faG92ZXJzJztcbkBpbXBvcnQgJy4vX3otaW5kZXgnO1xuQGltcG9ydCAnLi9fbmVzdGVkJztcbkBpbXBvcnQgJy4vX3N0eWxlcyc7XG5cblxuLyogRGVidWdnaW5nICovXG5AaW1wb3J0ICcuL19kZWJ1Zy1jaGlsZHJlbic7XG5AaW1wb3J0ICcuL19kZWJ1Zy1ncmlkJztcblxuLyogVW5jb21tZW50IG91dCB0aGUgbGluZSBiZWxvdyB0byBoZWxwIGRlYnVnIGxheW91dCBpc3N1ZXMgKi9cbi8qIEBpbXBvcnQgJy4vX2RlYnVnJzsgKi9cbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTsgLyogR1JFRzogQWRkZWQgdGhpcyBzbyBjb250YWluZXIgcXVlcmllcyB3aWxsIGJlIHJlc3BvbnNpdmUgbGlrZSBtZWRpYSBxdWVyaWVzICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovIFxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLypcblxuICBDVVNUT00gTUVESUEgUVVFUklFU1xuXG4gIE1lZGlhIHF1ZXJ5IHZhbHVlcyBjYW4gYmUgY2hhbmdlZCB0byBmaXQgeW91ciBvd24gY29udGVudC5cbiAgVGhlcmUgYXJlIG5vIG1hZ2ljIGJ1bGxldHMgd2hlbiBpdCBjb21lcyB0byBtZWRpYSBxdWVyeSB3aWR0aCB2YWx1ZXMuXG4gIFRoZXkgc2hvdWxkIGJlIGRlY2xhcmVkIGluIGVtIHVuaXRzIC0gYW5kIHRoZXkgc2hvdWxkIGJlIHNldCB0byBtZWV0XG4gIHRoZSBuZWVkcyBvZiB5b3VyIGNvbnRlbnQuIFlvdSBjYW4gYWxzbyBhZGQgYWRkaXRpb25hbCBtZWRpYSBxdWVyaWVzLFxuICBvciByZW1vdmUgc29tZSBvZiB0aGUgZXhpc3Rpbmcgb25lcy5cblxuICBUaGVzZSBtZWRpYSBxdWVyaWVzIGNhbiBiZSByZWZlcmVuY2VkIGxpa2Ugc286XG5cbiAgQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgICAuZXhhbXBsZS1zIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyIChtaW4td2lkdGg6NDhlbSkge1xuICAgIC5leGFtcGxlLW0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICAgIH1cbiAgfVxuXG4gIEBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG4gICAgLmV4YW1wbGUtbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG4gICAgfVxuICB9XG5cbiovXG5cbi8qIE1lZGlhIFF1ZXJpZXMgKi9cbkBjdXN0b20tbWVkaWEgbWluLXdpZHRoOjMwZW0gc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKTtcbkBjdXN0b20tbWVkaWEgbWluLXdpZHRoOjQ4ZW0gc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKTtcbkBjdXN0b20tbWVkaWEgbWluLXdpZHRoOjY0ZW0gc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MGVtKTtcbiIsIi8qXG5cbiAgIFZBUklBQkxFU1xuXG5cbiovXG5cbjpyb290IHtcblxuICAvKiBcbiAgICogQ09MT1JTXG4gICAqIEEgYmFsYW5jZWQgY29sb3Igc3lzdGVtIG9wdGltaXplZCBmb3IgYWNjZXNzaWJpbGl0eVxuICAgKiBUaGVtZSBnZW5lcmF0ZWQgd2l0aCBodHRwczovL2NvbXBvbmVudHMuYWkvdGhlbWVcbiAgICogVGhlIGZpcnN0IHNpeCBzdGVwcyBpbiBlYWNoIHNjYWxlIGFyZSBhY2Nlc3NpYmxlIHdpdGggd2hpdGUgXG4gICAqXG4gICAqL1xuXG5cblxuICAtLXRpbnQtMDogaHNsYSgwLCAwJSwgMTAwJSwgMC4wMzUpO1xuICAtLXRpbnQtMTogaHNsYSgwLCAwJSwgMTAwJSwgMC4xKTtcbiAgLS10aW50LTI6IGhzbGEoMCwgMCUsIDEwMCUsIDAuMTkpO1xuICAtLXRpbnQtMzogaHNsYSgwLCAwJSwgMTAwJSwgMC4yOCk7XG4gIC0tdGludC00OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjM2KTtcbiAgLS10aW50LTU6IGhzbGEoMCwgMCUsIDEwMCUsIDAuNDUpO1xuICAtLXRpbnQtNjogaHNsYSgwLCAwJSwgMTAwJSwgMC41NSk7XG4gIC0tdGludC03OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjY0KTtcbiAgLS10aW50LTg6IGhzbGEoMCwgMCUsIDEwMCUsIDAuNzMpO1xuICAtLXRpbnQtOTogaHNsYSgwLCAwJSwgMTAwJSwgMC44MTUpO1xuICAtLXRpbnQtMTA6IGhzbGEoMCwgMCUsIDEwMCUsIDAuODk1KTtcbiAgLS10aW50LTExOiBoc2xhKDAsIDAlLCAxMDAlLCAwLjk0KTtcbiAgLS1zaGFkb3ctMTE6IGhzbGEoMCwgMCUsIDAlLCAwLjk0KTtcbiAgLS1zaGFkb3ctMTA6IGhzbGEoMCwgMCUsIDAlLCAwLjg5NSk7XG4gIC0tc2hhZG93LTk6IGhzbGEoMCwgMCUsIDAlLCAwLjgxNSk7XG4gIC0tc2hhZG93LTg6IGhzbGEoMCwgMCUsIDAlLCAwLjczKTtcbiAgLS1zaGFkb3ctNzogaHNsYSgwLCAwJSwgMCUsIDAuNjQpO1xuICAtLXNoYWRvdy02OiBoc2xhKDAsIDAlLCAwJSwgMC41NSk7XG4gIC0tc2hhZG93LTU6IGhzbGEoMCwgMCUsIDAlLCAwLjQ1KTtcbiAgLS1zaGFkb3ctNDogaHNsYSgwLCAwJSwgMCUsIDAuMzYpO1xuICAtLXNoYWRvdy0zOiBoc2xhKDAsIDAlLCAwJSwgMC4yOCk7XG4gIC0tc2hhZG93LTI6IGhzbGEoMCwgMCUsIDAlLCAwLjE5KTtcbiAgLS1zaGFkb3ctMTogaHNsYSgwLCAwJSwgMCUsIDAuMSk7XG4gIC0tc2hhZG93LTA6IGhzbGEoMCwgMCUsIDAlLCAwLjAzNSk7XG5cbiAgLS1ibGFjazogIzAwMDAwMDtcbiAgLS13aGl0ZTogI2ZmZmZmZjtcblxuICAvKiBPcmlnaW5hbCBHcmF5IGluIFRhY2h5b25zIHY1ICovXG4gIC8qXG4gIC0tZ3JheS0wOiAjMDAwMDAwO1xuICAtLWdyYXktMTogIzE3MTcxNztcbiAgLS1ncmF5LTI6ICMyZjJmMmY7XG4gIC0tZ3JheS0zOiAjNDY0NjQ2O1xuICAtLWdyYXktNDogIzVlNWU1ZTtcbiAgLS1ncmF5LTU6ICM3NTc1NzU7XG4gIC0tZ3JheS02OiAjOGM4YzhjO1xuICAtLWdyYXktNzogI2EzYTNhMztcbiAgLS1ncmF5LTg6ICNiYWJhYmE7XG4gIC0tZ3JheS05OiAjZDFkMWQxO1xuICAtLWdyYXktMTA6ICNlOGU4ZTg7XG4gIC0tZ3JheS0xMTogI2ZmZmZmZjtcbiAgKi9cblxuICAvKiBNeSBwcmVmZXJyZWQgR3JheSwgd2hpY2ggaXMgWmluYyBmcm9tIFRhaWx3aW5kICovXG4gIC0tZ3JheS0wOiAjMDAwMDAwO1xuICAtLWdyYXktMTogIzE4MTgxYjtcbiAgLS1ncmF5LTI6ICMyNzI3MmE7XG4gIC0tZ3JheS0zOiAjM2YzZjQ2O1xuICAtLWdyYXktNDogIzUyNTI1YjtcbiAgLS1ncmF5LTU6ICM3MTcxN2E7XG4gIC0tZ3JheS02OiAjYTFhMWFhO1xuICAtLWdyYXktNzogI2I4YjhjMjsgIC8qIGV4dHJhIHRvbmUgaW5zZXJ0ZWQgaGVyZSAqL1xuICAtLWdyYXktODogI2Q0ZDRkODtcbiAgLS1ncmF5LTk6ICNlNGU0ZTc7XG4gIC0tZ3JheS0xMDogI2Y0ZjRmNTtcbiAgLS1ncmF5LTExOiAjZmZmZmZmO1xuXG4gIC0tc2xhdGUtZ3JheS0wOiAjMDkwOTBiO1xuICAtLXNsYXRlLWdyYXktMTogIzFkMWQyMjtcbiAgLS1zbGF0ZS1ncmF5LTI6ICMzMTMxMzg7XG4gIC0tc2xhdGUtZ3JheS0zOiAjNDU0NDRmO1xuICAtLXNsYXRlLWdyYXktNDogIzU5NTg2NjtcbiAgLS1zbGF0ZS1ncmF5LTU6ICM2ZDZjN2Q7XG4gIC0tc2xhdGUtZ3JheS02OiAjODM4MjkyO1xuICAtLXNsYXRlLWdyYXktNzogIzlhOWFhNztcbiAgLS1zbGF0ZS1ncmF5LTg6ICNiMmIxYmI7XG4gIC0tc2xhdGUtZ3JheS05OiAjYzljOWQwO1xuICAtLXNsYXRlLWdyYXktMTA6ICNlMWUwZTQ7XG4gIC0tc2xhdGUtZ3JheS0xMTogI2Y4ZjhmOTtcblxuICAtLWJsdWUtMTogIzA3MWUzZjtcbiAgLS1ibHVlLTI6ICMwYzMxNjY7XG4gIC0tYmx1ZS0zOiAjMTA0NDhkO1xuICAtLWJsdWUtNDogIzE1NTZiNDtcbiAgLS1ibHVlLTU6ICMxOTY5ZGI7XG4gIC0tYmx1ZS02OiAjMzE3ZmVkO1xuICAtLWJsdWUtNzogIzU3OTdmMDtcbiAgLS1ibHVlLTg6ICM3ZGFlZjQ7XG4gIC0tYmx1ZS05OiAjYTNjNmY3O1xuICAtLWJsdWUtMTA6ICNjOWRkZmE7XG4gIC0tYmx1ZS0xMTogI2VmZjVmZTtcblxuICAtLWluZGlnby0wOiAjMDgwNjE0O1xuICAtLWluZGlnby0xOiAjMTkxNDNmO1xuICAtLWluZGlnby0yOiAjMmEyMTZhO1xuICAtLWluZGlnby0zOiAjM2EyZTk1O1xuICAtLWluZGlnby00OiAjNGIzYmMwO1xuICAtLWluZGlnby01OiAjNWM0OWViO1xuICAtLWluZGlnby02OiAjNzI1ZmZmO1xuICAtLWluZGlnby03OiAjOGM3Y2ZmO1xuICAtLWluZGlnby04OiAjYTY5YWZmO1xuICAtLWluZGlnby05OiAjYzBiN2ZmO1xuICAtLWluZGlnby0xMDogI2RhZDVmZjtcbiAgLS1pbmRpZ28tMTE6ICNmNGYzZmY7XG5cbiAgLS12aW9sZXQtMDogIzExMDUxNztcbiAgLS12aW9sZXQtMTogIzJlMGQzZTtcbiAgLS12aW9sZXQtMjogIzRiMTQ2NTtcbiAgLS12aW9sZXQtMzogIzY4MWM4YztcbiAgLS12aW9sZXQtNDogIzg0MjRiMztcbiAgLS12aW9sZXQtNTogI2ExMmNkYTtcbiAgLS12aW9sZXQtNjogI2I1NDNlYztcbiAgLS12aW9sZXQtNzogI2MzNjZmMDtcbiAgLS12aW9sZXQtODogI2QwODlmMztcbiAgLS12aW9sZXQtOTogI2RlYWJmNztcbiAgLS12aW9sZXQtMTA6ICNlY2NlZmE7XG4gIC0tdmlvbGV0LTExOiAjZjlmMGZlO1xuXG4gIC0tbWFnZW50YS0wOiAjMTMwNDBmO1xuICAtLW1hZ2VudGEtMTogIzM1MGEyYztcbiAgLS1tYWdlbnRhLTI6ICM1ODExNDg7XG4gIC0tbWFnZW50YS0zOiAjN2IxNzY1O1xuICAtLW1hZ2VudGEtNDogIzllMWU4MjtcbiAgLS1tYWdlbnRhLTU6ICNjMTI0OWU7XG4gIC0tbWFnZW50YS02OiAjZDQzY2IyO1xuICAtLW1hZ2VudGEtNzogI2RjNjFjMTtcbiAgLS1tYWdlbnRhLTg6ICNlNDg1Y2Y7XG4gIC0tbWFnZW50YS05OiAjZWNhOWRkO1xuICAtLW1hZ2VudGEtMTA6ICNmNGNlZWM7XG4gIC0tbWFnZW50YS0xMTogI2ZjZjJmYTtcblxuICAtLXJlZC0wOiAjMTIwMjA1O1xuICAtLXJlZC0xOiAjMzkwNTBmO1xuICAtLXJlZC0yOiAjNWYwODE5O1xuICAtLXJlZC0zOiAjODYwYjI0O1xuICAtLXJlZC00OiAjYWMwZTJlO1xuICAtLXJlZC01OiAjZDMxMTM4O1xuICAtLXJlZC02OiAjZTcyODRlO1xuICAtLXJlZC03OiAjZWM1MDZmO1xuICAtLXJlZC04OiAjZjA3NzkwO1xuICAtLXJlZC05OiAjZjQ5ZmIwO1xuICAtLXJlZC0xMDogI2Y5YzdkMTtcbiAgLS1yZWQtMTE6ICNmZGVlZjE7XG5cbiAgLS1yZWQtb3JhbmdlLTA6ICMxOTBiMDU7XG4gIC0tcmVkLW9yYW5nZS0xOiAjM2QxMzA3O1xuICAtLXJlZC1vcmFuZ2UtMjogIzYwMWIwYTtcbiAgLS1yZWQtb3JhbmdlLTM6ICM4NDI0MGM7XG4gIC0tcmVkLW9yYW5nZS00OiAjYTcyYzBlO1xuICAtLXJlZC1vcmFuZ2UtNTogI2NiMzQxMTtcbiAgLS1yZWQtb3JhbmdlLTY6ICNlZTNjMTM7XG4gIC0tcmVkLW9yYW5nZS03OiAjZmU1NjJmO1xuICAtLXJlZC1vcmFuZ2UtODogI2ZlN2Q1ZTtcbiAgLS1yZWQtb3JhbmdlLTk6ICNmZmE0OGU7XG4gIC0tcmVkLW9yYW5nZS0xMDogI2ZmY2NiZTtcbiAgLS1yZWQtb3JhbmdlLTExOiAjZmZmM2VlO1xuXG4gIC0tb3JhbmdlLTA6ICMxNTBkMDQ7XG4gIC0tb3JhbmdlLTE6ICMyZTFjMDg7XG4gIC0tb3JhbmdlLTI6ICM0NzJhMGM7XG4gIC0tb3JhbmdlLTM6ICM2MDM5MTA7XG4gIC0tb3JhbmdlLTQ6ICM3OTQ3MTQ7XG4gIC0tb3JhbmdlLTU6ICNhNjVkMTM7XG4gIC0tb3JhbmdlLTY6ICNkMzc0MTM7XG4gIC0tb3JhbmdlLTc6ICNmZjhhMTQ7XG4gIC0tb3JhbmdlLTg6ICNmZmE1NGE7XG4gIC0tb3JhbmdlLTk6ICNmZmMwODE7XG4gIC0tb3JhbmdlLTEwOiAjZmZkYWI3O1xuICAtLW9yYW5nZS0xMTogI2ZmZjVlZDtcblxuICAtLWdvbGQtMDogIzE0MGUwNTtcbiAgLS1nb2xkLTE6ICMyYzFmMGE7XG4gIC0tZ29sZC0yOiAjNDMyZjBlO1xuICAtLWdvbGQtMzogIzViNDAxMztcbiAgLS1nb2xkLTQ6ICM3MjUxMTg7XG4gIC0tZ29sZC01OiAjOTQ2ODE4O1xuICAtLWdvbGQtNjogI2Q0OTUwZDtcbiAgLS1nb2xkLTc6ICNlZWIwMjg7XG4gIC0tZ29sZC04OiAjZjJjMjU5O1xuICAtLWdvbGQtOTogI2Y3ZDM4YTtcbiAgLS1nb2xkLTEwOiAjZmJlNWJjO1xuICAtLWdvbGQtMTE6ICNmZmY1ZTk7XG5cbiAgLS15ZWxsb3ctMDogIzExMTAwNjtcbiAgLS15ZWxsb3ctMTogIzI1MjQwNTtcbiAgLS15ZWxsb3ctMjogIzNhMzgwNDtcbiAgLS15ZWxsb3ctMzogIzRlNGQwMztcbiAgLS15ZWxsb3ctNDogIzYzNjEwMTtcbiAgLS15ZWxsb3ctNTogIzc3NzUwMDtcbiAgLS15ZWxsb3ctNjogI2NjYzUwMDtcbiAgLS15ZWxsb3ctNzogI2ZjZjQzMztcbiAgLS15ZWxsb3ctODogI2ZkZjY3YTtcbiAgLS15ZWxsb3ctOTogI2ZkZjg5YjtcbiAgLS15ZWxsb3ctMTA6ICNmZWY5YmI7XG4gIC0teWVsbG93LTExOiAjZmVmYWRiO1xuXG4gIC0tZ3JlZW4tMDogIzA5MTEwODtcbiAgLS1ncmVlbi0xOiAjMGYyNjExO1xuICAtLWdyZWVuLTI6ICMxNTNjMWE7XG4gIC0tZ3JlZW4tMzogIzFiNTEyMjtcbiAgLS1ncmVlbi00OiAjMjE2NjJiO1xuICAtLWdyZWVuLTU6ICMyNTgzM2E7XG4gIC0tZ3JlZW4tNjogIzI2YjA1NjtcbiAgLS1ncmVlbi03OiAjMzVkMjcyO1xuICAtLWdyZWVuLTg6ICM2M2RkOTA7XG4gIC0tZ3JlZW4tOTogIzkwZThhZTtcbiAgLS1ncmVlbi0xMDogI2JkZjNjYztcbiAgLS1ncmVlbi0xMTogI2VhZmVlYTtcblxuICAvKiBBZGRlZCB0aGVzZSBteXNlbGYsIG5vdCBwYXJ0IG9mIGRlZmF1bHQgVGFjaHlvbnMgdjUgY29sb3JzICovXG4gIC0tbGltZS0wOiAgIzFhMjAwNjtcbiAgLS1saW1lLTE6ICAjMzY1MzE0O1xuICAtLWxpbWUtMjogICMzZjYyMTI7XG4gIC0tbGltZS0zOiAgIzRkN2MwZjtcbiAgLS1saW1lLTQ6ICAjNjVhMzBkO1xuICAtLWxpbWUtNTogICM4NGNjMTY7XG4gIC0tbGltZS02OiAgI2EzZTYzNTtcbiAgLS1saW1lLTc6ICAjYThlYjQ3OyAgLyogaW50ZXJwb2xhdGVkIHRvbmUgKi9cbiAgLS1saW1lLTg6ICAjYmVmMjY0O1xuICAtLWxpbWUtOTogICNkOWY5OWQ7XG4gIC0tbGltZS0xMDogI2VjZmNjYjtcbiAgLS1saW1lLTExOiAjZjdmZWU3O1xuXG4gIC0tdGVhbC0wOiAjMDcxMDBjO1xuICAtLXRlYWwtMTogIzBjMjMxYTtcbiAgLS10ZWFsLTI6ICMxMTM2Mjg7XG4gIC0tdGVhbC0zOiAjMTY0OTM2O1xuICAtLXRlYWwtNDogIzFiNWI0NTtcbiAgLS10ZWFsLTU6ICMxNzdmNjM7XG4gIC0tdGVhbC02OiAjMTJhMjgyO1xuICAtLXRlYWwtNzogIzJhYmI5YjtcbiAgLS10ZWFsLTg6ICM1YWNhYjE7XG4gIC0tdGVhbC05OiAjOGJkYWM3O1xuICAtLXRlYWwtMTA6ICNiYmU5ZGM7XG4gIC0tdGVhbC0xMTogI2VjZjhmMjtcblxuICAtLWN5YW4tMDogIzBhMTIxMTtcbiAgLS1jeWFuLTE6ICMxMDI0MjU7XG4gIC0tY3lhbi0yOiAjMTUzNjM5O1xuICAtLWN5YW4tMzogIzFiNDg0YztcbiAgLS1jeWFuLTQ6ICMyMTVhNjA7XG4gIC0tY3lhbi01OiAjMjQ3OTgxO1xuICAtLWN5YW4tNjogIzI0YTliNjtcbiAgLS1jeWFuLTc6ICMyOGQ2ZTY7XG4gIC0tY3lhbi04OiAjNTdlMGVjO1xuICAtLWN5YW4tOTogIzg1ZWFmMjtcbiAgLS1jeWFuLTEwOiAjYjRmNWY5O1xuICAtLWN5YW4tMTE6ICNlMmZmZmY7XG4gIC0tdHJhbnNwYXJlbnQ6IGhzbGEoMCwwLDAsMCk7XG5cbiAgQHN1cHBvcnRzIChjb2xvcjogY29sb3IoZGlzcGxheS1wMyAxIDEgMSkpIHtcbiAgICA6cm9vdCB7XG4gICAgICAtLWJsdWUtMDogY29sb3IoZGlzcGxheS1wMyAwIDAuMDcgMC4yNSk7XG4gICAgICAtLWJsdWUtMTogY29sb3IoZGlzcGxheS1wMyAwIDAuMDkgMC4zMik7IFxuICAgICAgLS1ibHVlLTI6IGNvbG9yKGRpc3BsYXktcDMgMCAwLjExIDAuNDIpO1xuICAgICAgLS1ibHVlLTM6IGNvbG9yKGRpc3BsYXktcDMgMCAwLjE1IDAuNTMpO1xuICAgICAgLS1ibHVlLTQ6IGNvbG9yKGRpc3BsYXktcDMgMCAwLjE2IDAuNyk7XG4gICAgICAtLWJsdWUtNTogY29sb3IoZGlzcGxheS1wMyAwIDAuMjIgMC44OCk7XG4gICAgICAtLWJsdWUtNjogY29sb3IoZGlzcGxheS1wMyAwLjA2IDAuMzcgMSk7XG4gICAgICAtLWJsdWUtNzogY29sb3IoZGlzcGxheS1wMyAwLjM4IDAuNTkgMSApO1xuICAgICAgLS1ibHVlLTg6IGNvbG9yKGRpc3BsYXktcDMgMC42NiAwLjc5IDEpO1xuICAgICAgLS1ibHVlLTk6IGNvbG9yKGRpc3BsYXktcDMgMC43OSAwLjg2IDAuOTkpO1xuICAgICAgLS1ibHVlLTEwOiBjb2xvcihkaXNwbGF5LXAzIDAuODcgMC45MiAwLjk5KTtcbiAgICAgIC0tYmx1ZS0xMTogY29sb3IoZGlzcGxheS1wMyAwLjkyIDAuOTUgMSk7XG4gICAgICAtLWluZGlnby0wOiBjb2xvcihkaXNwbGF5LXAzIDAuMDYgMC4wMyAwLjIxKTtcbiAgICAgIC0taW5kaWdvLTE6IGNvbG9yKGRpc3BsYXktcDMgMC4wOSAwLjA3IDAuMjYpO1xuICAgICAgLS1pbmRpZ28tMjogY29sb3IoZGlzcGxheS1wMyAwLjE1IDAuMTEgMC40Mik7XG4gICAgICAtLWluZGlnby0zOiBjb2xvcihkaXNwbGF5LXAzIDAuMTggMC4xNCAwLjU3KTtcbiAgICAgIC0taW5kaWdvLTQ6IGNvbG9yKGRpc3BsYXktcDMgMC4yIDAuMTggMC43NSk7XG4gICAgICAtLWluZGlnby01OiBjb2xvcihkaXNwbGF5LXAzIDAuMjYgMC4yMiAxKTtcbiAgICAgIC0taW5kaWdvLTY6IGNvbG9yKGRpc3BsYXktcDMgMC4yOCAwLjI4IDEpO1xuICAgICAgLS1pbmRpZ28tNzogY29sb3IoZGlzcGxheS1wMyAwLjQ3IDAuNDkgMSk7ICBcbiAgICAgIC0taW5kaWdvLTg6IGNvbG9yKGRpc3BsYXktcDMgMC42NyAwLjY4IDEpO1xuICAgICAgLS1pbmRpZ28tOTogY29sb3IoZGlzcGxheS1wMyAwLjgxIDAuODEgMC45OCk7XG4gICAgICAtLWluZGlnby0xMDogY29sb3IoZGlzcGxheS1wMyAwLjg3IDAuOTIgMC45OSk7XG4gICAgICAtLWluZGlnby0xMTogY29sb3IoZGlzcGxheS1wMyAwLjkyIDAuOTUgMSk7XG4gICAgfVxuICB9XG5cbiAgLS1kZWdyZWVzLTE6IDA7XG4gIC0tZGVncmVlcy0yOiA0NWRlZztcbiAgLS1kZWdyZWVzLTM6IDkwZGVnO1xuICAtLWRlZ3JlZXMtNDogMTM1ZGVnO1xuICAtLWRlZ3JlZXMtNTogMTgwZGVnO1xuICAtLWRlZ3JlZXMtNjogMjI1ZGVnO1xuICAtLWRlZ3JlZXMtNzogMjcwZGVnO1xuICAtLWRlZ3JlZXMtODogMzE1ZGVnO1xuXG4gIC0tZ3JhZGllbnQtZGVncmVlLTA6IHZhcigtLWRlZ3JlZXMtMSwgMCk7XG4gIC0tZ3JhZGllbnQtZGVncmVlOiB2YXIoLS1kZWdyZWVzLTIsIDQ1ZGVnKTtcbiAgLS1ncmFkaWVudC1kZWdyZWUtMjogdmFyKC0tZGVncmVlcy00LCAxMzVkZWcpO1xuXG4gIC0tZ3JhZGllbnQtc3RyaXBlLXdpZHRoOiAxMnB4O1xuICAtLWdyYWRpZW50LXN0cmlwZS13aWR0aC0yOiB2YXIoLS1ib3JkZXItd2lkdGgtMSk7XG5cbiAgLS1ncmFkaWVudC1jb2xvci0xOiB2YXIoLS1ibHVlLTIpO1xuICAtLWdyYWRpZW50LWNvbG9yLTI6IHZhcigtLW1hZ2VudGEtNik7XG4gIC0tZ3JhZGllbnQtY29sb3ItMzogdmFyKC0tcmVkLTUpO1xuICAtLWdyYWRpZW50LWNvbG9yLTQ6IHZhcigtLWluZGlnby01KTtcbiAgLS1ncmFkaWVudC1jb2xvci01OiB2YXIoLS12aW9sZXQtMCk7XG4gIC0tZ3JhZGllbnQtY29sb3ItNjogdmFyKC0tdmlvbGV0LTUpO1xuICAtLWdyYWRpZW50LWNvbG9yLTc6IHZhcigtLW1hZ2VudGEtMCk7XG4gIC0tZ3JhZGllbnQtY29sb3ItODogdmFyKC0tbWFnZW50YS01KTtcbiAgLS1ncmFkaWVudC1jb2xvci05OiB2YXIoLS1yZWQtMCk7XG4gIC0tZ3JhZGllbnQtY29sb3ItMTA6IHZhcigtLXJlZC01KTtcbiAgLS1ncmFkaWVudC1jb2xvci0xMTogdmFyKC0tcmVkLW9yYW5nZS0wKTtcbiAgLS1ncmFkaWVudC1jb2xvci0xMjogdmFyKC0tcmVkLW9yYW5nZS01KTtcbiAgLS1ncmFkaWVudC1jb2xvci0xMzogdmFyKC0tb3JhbmdlLTApO1xuICAtLWdyYWRpZW50LWNvbG9yLTE0OiB2YXIoLS1vcmFuZ2UtNSk7XG4gIC0tZ3JhZGllbnQtY29sb3ItMTU6IHZhcigtLWdvbGQtMCk7XG4gIC0tZ3JhZGllbnQtY29sb3ItMTY6IHZhcigtLWdvbGQtNSk7XG4gIC0tZ3JhZGllbnQtY29sb3ItMTc6IHZhcigtLXllbGxvdy0wKTtcbiAgLS1ncmFkaWVudC1jb2xvci0xODogdmFyKC0teWVsbG93LTUpO1xuICAtLWdyYWRpZW50LWNvbG9yLTE5OiB2YXIoLS1ncmVlbi0wKTtcbiAgLS1ncmFkaWVudC1jb2xvci0yMDogdmFyKC0tZ3JlZW4tNSk7XG4gIC0tZ3JhZGllbnQtY29sb3ItMjE6IHZhcigtLXRlYWwtMCk7XG4gIC0tZ3JhZGllbnQtY29sb3ItMjI6IHZhcigtLXRlYWwtNSk7XG4gIC0tZ3JhZGllbnQtY29sb3ItMjM6IHZhcigtLWN5YW4tMCk7XG4gIC0tZ3JhZGllbnQtY29sb3ItMjQ6IHZhcigtLWN5YW4tNSk7XG5cbiAgLS1ncmFkaWVudC1zdG9wOiA1MCU7XG5cbiAgLS1mb250LXNpemUtMTogMTJweDtcbiAgLS1mb250LXNpemUtMjogMTRweDtcbiAgLS1mb250LXNpemUtMzogMTZweDtcbiAgLS1mb250LXNpemUtNDogMjBweDtcbiAgLS1mb250LXNpemUtNTogMjRweDtcbiAgLS1mb250LXNpemUtNjogMzJweDtcbiAgLS1mb250LXNpemUtNzogNDhweDtcbiAgLS1mb250LXNpemUtODogNjRweDtcbiAgLS1mb250LXNpemUtOTogOTZweDtcbiAgLS1mb250LXNpemUtMTA6IDEyOHB4O1xuICAtLWZvbnQtc2l6ZS0xMTogMTkycHg7XG4gIC0tZm9udC1zaXplLTEyOiAyNTZweDtcblxuICAtLW1lYXN1cmUtbmFycm93OiA0NWNoO1xuICAtLW1lYXN1cmU6IDY2Y2g7XG4gIC0tbWVhc3VyZS13aWRlOiA4MGNoO1xuXG4gIC0tYm9yZGVyLXJhZGl1cy0wOiAwO1xuICAtLWJvcmRlci1yYWRpdXMtMTogNHB4O1xuICAtLWJvcmRlci1yYWRpdXMtMjogNnB4O1xuICAtLWJvcmRlci1yYWRpdXMtMzogOHB4O1xuICAtLWJvcmRlci1yYWRpdXMtNDogMTJweDtcbiAgLS1ib3JkZXItcmFkaXVzLTU6IDE2cHg7XG4gIC0tYm9yZGVyLXJhZGl1cy02OiAyMHB4O1xuICAtLWJvcmRlci1yYWRpdXMtNzogMjRweDtcbiAgLS1ib3JkZXItcmFkaXVzLTg6IDMycHg7XG4gIC0tYm9yZGVyLXJhZGl1cy05OiA0OHB4O1xuICAtLWJvcmRlci1yYWRpdXMtMTA6IDY0cHg7XG4gIC0tYm9yZGVyLXJhZGl1cy0xMTogOTk5OXB4O1xuICAtLWJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtMik7XG5cbiAgLS1ib3JkZXItd2lkdGgtMDogMDtcbiAgLS1ib3JkZXItd2lkdGgtMTogMXB4O1xuICAtLWJvcmRlci13aWR0aC0yOiAycHg7XG4gIC0tYm9yZGVyLXdpZHRoLTM6IDRweDtcbiAgLS1ib3JkZXItd2lkdGgtNDogOHB4O1xuICAtLWJvcmRlci13aWR0aC01OiAxNnB4O1xuXG4gIC0tYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtMSwxcHgpO1xuICAtLWJvcmRlci1jb2xvcjogdmFyKC0tZ3JheS01LCBncmF5KTtcblxuICAtLWxpbmUtaGVpZ2h0LXNvbGlkOiAxO1xuICAtLWxpbmUtaGVpZ2h0LWhlYWRpbmc6IDEuMjU7XG4gIC0tbGluZS1oZWlnaHQtYm9keTogMS41O1xuXG4gIC0tbGV0dGVyLXNwYWNpbmctdHJhY2tlZDogMC4xZW07XG4gIC0tbGV0dGVyLXNwYWNpbmctdGlnaHQ6IC0wLjA1ZW07XG4gIC0tbGV0dGVyLXNwYWNpbmctbGFyZ2U6IDAuMjVlbTtcblxuICAtLWZvbnQtZmFtaWx5LWhlYWRpbmc6IEludGVyLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIGF2ZW5pciBuZXh0LCBhdmVuaXIsIHNlZ29lIHVpLCBoZWx2ZXRpY2EgbmV1ZSwgaGVsdmV0aWNhLCBDYW50YXJlbGwsIFVidW50dSwgcm9ib3RvLCBub3RvLCBhcmlhbCwgc2Fucy1zZXJpZjsgXG4gIC0tZm9udC1mYW1pbHktYm9keTogSW50ZXIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgYXZlbmlyIG5leHQsIGF2ZW5pciwgc2Vnb2UgdWksIGhlbHZldGljYSBuZXVlLCBoZWx2ZXRpY2EsIENhbnRhcmVsbCwgVWJ1bnR1LCByb2JvdG8sIG5vdG8sIGFyaWFsLCBzYW5zLXNlcmlmOyBcbiAgLS1mb250LWZhbWlseS1tb25vOiBtb25vc3BhY2UsIEluY29uc29sYXRhLCBNZW5sbywgQ29uc29sYXMsIE1vbmFjbywgTGliZXJhdGlvbiBNb25vLCBMdWNpZGEgQ29uc29sZSwgbW9ub3NwYWNlO1xuXG4gIC0tc3BhY2luZy0wOiAwO1xuICAtLXNwYWNpbmctMTogMnB4O1xuICAtLXNwYWNpbmctMjogNHB4O1xuICAtLXNwYWNpbmctMzogOHB4O1xuICAtLXNwYWNpbmctNDogMTZweDtcbiAgLS1zcGFjaW5nLTU6IDMycHg7XG4gIC0tc3BhY2luZy02OiA2NHB4O1xuICAtLXNwYWNpbmctNzogMTI4cHg7XG4gIC0tc3BhY2luZy04OiAyNTZweDtcbiAgLS1zcGFjaW5nLTk6IDUxMnB4O1xuXG4gIC0tc2l6ZS0wOiAwO1xuICAtLXNpemUtMTogMXJlbTtcbiAgLS1zaXplLTI6IDJyZW07XG4gIC0tc2l6ZS0zOiAzcmVtO1xuICAtLXNpemUtNDogNHJlbTtcbiAgLS1zaXplLTU6IDhyZW07XG4gIC0tc2l6ZS02OiAxNnJlbTtcbiAgLS1zaXplLTc6IDMycmVtO1xuICAtLXNpemUtODogNjRyZW07XG5cbiAgLS1zaGFkb3ctY29sb3I6IDAgMCAwO1xuICAtLXNoYWRvdy1jb2xvci1pbnZlcnQ6IDI1NSAyNTUgMjU1O1xuICAtLXNoYWRvdy1ib3JkZXItd2lkdGg6IDFweDtcbiAgLS1zaGFkb3ctb3BhY2l0eTogLjI1O1xuXG4gIC8qIE9wYWNpdHkgc2NhbGUgKi9cblxuICAtLW9wYWNpdHktMDogMDtcbiAgLS1vcGFjaXR5LTE6IC4wMjU7XG4gIC0tb3BhY2l0eS0yOiAuMDU7XG4gIC0tb3BhY2l0eS0zOiAuMTtcbiAgLS1vcGFjaXR5LTQ6IC4yO1xuICAtLW9wYWNpdHktNTogLjM7XG4gIC0tb3BhY2l0eS02OiAuNDtcbiAgLS1vcGFjaXR5LTc6IC41O1xuICAtLW9wYWNpdHktODogLjY7XG4gIC0tb3BhY2l0eS05OiAuNztcbiAgLS1vcGFjaXR5LTEwOiAuODtcbiAgLS1vcGFjaXR5LTExOiAuOTtcbiAgLS1vcGFjaXR5LTEyOiAxO1xuXG4gIC0tZHVyYXRpb24tMDogMTI1bXM7XG4gIC0tZHVyYXRpb24tMTogMjUwbXM7XG4gIC0tZHVyYXRpb24tMjogNTAwbXM7XG5cbiAgLS1lYXNpbmctZnVuY3Rpb24tMDogY3ViaWMtYmV6aWVyKDAuNTQzLCAxLjA4NiwgMC41LCAtMC4zODMpO1xuICAtLWVhc2luZy1mdW5jdGlvbi0xOiBlYXNlO1xuICAtLWVhc2luZy1mdW5jdGlvbi0yOiBlYXNlLW91dDtcbiAgLS1lYXNpbmctZnVuY3Rpb24tMzogZWFzZS1pbi1vdXQ7XG4gIC0tZWFzaW5nLWZ1bmN0aW9uLTQ6IGxpbmVhcjtcblxufVxuXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gIC0tc2hhZG93LWNvbG9yOiAyNTUgMjU1IDI1NTtcbn1cbiIsIi8qXG5cbiAgR1JBRElFTlRTXG5cblxuKi9cblxuLmdyYWRpZW50LTEgeyBcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgIHZhcigtLWdyYWRpZW50LWRlZ3JlZSksIFxuICAgICAgICAgICAgICAgIHZhcigtLWdyYWRpZW50LWNvbG9yLTEpLCBcbiAgICAgICAgICAgICAgICB2YXIoLS1ncmFkaWVudC1jb2xvci0yKVxuICAgICAgICAgICAgICApOyBcbn1cblxuLmdyYWRpZW50LTIgeyBcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgIHZhcigtLWdyYWRpZW50LWRlZ3JlZSksIFxuICAgICAgICAgICAgICAgIHZhcigtLWdyYWRpZW50LWNvbG9yLTEpIHZhcigtLWdyYWRpZW50LXN0b3ApLCBcbiAgICAgICAgICAgICAgICB2YXIoLS1ncmFkaWVudC1jb2xvci0yKSB2YXIoLS1ncmFkaWVudC1zdG9wKVxuICAgICAgICAgICAgICApOyBcbn1cblxuLmdyYWRpZW50LTMgeyBcbiAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgICAgICB2YXIoLS1ncmFkaWVudC1kZWdyZWUpLFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDBweCxcbiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCB2YXIoLS1ncmFkaWVudC1zdHJpcGUtd2lkdGgpLFxuICAgICAgICAgICAgICAgIHZhcigtLWdyYWRpZW50LWNvbG9yLTEpIHZhcigtLWdyYWRpZW50LXN0cmlwZS13aWR0aCksXG4gICAgICAgICAgICAgICAgdmFyKC0tZ3JhZGllbnQtY29sb3ItMSkgY2FsYyh2YXIoLS1ncmFkaWVudC1zdHJpcGUtd2lkdGgpICsgdmFyKC0tZ3JhZGllbnQtc3RyaXBlLXdpZHRoLTIpKVxuICAgICAgICAgICAgICApOyBcbn1cblxuLmdyYWRpZW50LTQgeyBcbiAgYmFja2dyb3VuZDogcmVwZWF0aW5nLXJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgICAgICAgICBjaXJjbGUsXG4gICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgMHB4LFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IHZhcigtLWdyYWRpZW50LXN0cmlwZS13aWR0aCksXG4gICAgICAgICAgICAgICAgdmFyKC0tZ3JhZGllbnQtY29sb3ItMSkgdmFyKC0tZ3JhZGllbnQtc3RyaXBlLXdpZHRoKSxcbiAgICAgICAgICAgICAgICB2YXIoLS1ncmFkaWVudC1jb2xvci0xKSBjYWxjKHZhcigtLWdyYWRpZW50LXN0cmlwZS13aWR0aCkgKyB2YXIoLS1ncmFkaWVudC1zdHJpcGUtd2lkdGgtMikpXG4gICAgICAgICAgICAgICk7IFxufVxuXG5cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcblxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NDhlbSkge1xuXG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG5cbn1cblxuIiwiLypcbiBcbiAgQk9YIFNJWklOR1xuXG4qL1xuXG4qLCBcbio6OmJlZm9yZSwgXG4qOjphZnRlcixcbi5ib3JkZXItYm94LFxuLmJvcmRlci1ib3g6OmJlZm9yZSxcbi5ib3JkZXItYm94OjphZnRlciB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbi5jb250ZW50LWJveCB7IGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG4iLCIvKlxuXG4gIENPTlRBSU5FUi1UWVBFXG5cbiAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgIC1zID0gc21hbGxcbiAgIC1tICA9IG1lZGl1bVxuICAgLWwgID0gbGFyZ2VcblxuICBNRE46IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9jb250YWluZXItdHlwZVxuXG4qL1xuXG4uY29udGFpbmVyLXNpemUgeyBjb250YWluZXItdHlwZTogc2l6ZTsgfVxuLnJvb3QsXG4uY29udGFpbmVyLWlubGluZSB7IGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTsgfVxuLmNvbnRhaW5lci1ub3JtYWwgeyBjb250YWluZXItdHlwZTogbm9ybWFsOyB9XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDozMGVtKSB7XG4gIC5jb250YWluZXItc2l6ZS1zIHsgY29udGFpbmVyLXR5cGU6IHNpemU7IH1cbiAgLmNvbnRhaW5lci1pbmxpbmUtcyB7IGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTsgfVxuICAuY29udGFpbmVyLW5vcm1hbC1zIHsgY29udGFpbmVyLXR5cGU6IG5vcm1hbDsgfVxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NDhlbSkge1xuICAuY29udGFpbmVyLXNpemUtbSB7IGNvbnRhaW5lci10eXBlOiBzaXplOyB9XG4gIC5jb250YWluZXItaW5saW5lLW0geyBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7IH1cbiAgLmNvbnRhaW5lci1ub3JtYWwtbSB7IGNvbnRhaW5lci10eXBlOiBub3JtYWw7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLmNvbnRhaW5lci1zaXplLWwgeyBjb250YWluZXItdHlwZTogc2l6ZTsgfVxuICAuY29udGFpbmVyLWlubGluZS1sIHsgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplOyB9XG4gIC5jb250YWluZXItbm9ybWFsLWwgeyBjb250YWluZXItdHlwZTogbm9ybWFsOyB9XG59XG4iLCIvKlxuXG4gIEFMTFxuXG4gIE1ETjogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2FsbFxuXG4qL1xuXG4udW5zZXQgeyBhbGw6IHVuc2V0OyB9XG4uaW5pdGlhbCB7IGFsbDogaW5pdGlhbDsgfVxuLmluaGVyaXQgeyBhbGw6IGluaGVyaXQ7IH1cbi5yZXZlcnQgeyBhbGw6IHJldmVydDsgfVxuIiwiLypcblxuICAgQVNQRUNUIFJBVElPU1xuICAgTUROOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvYXNwZWN0LXJhdGlvXG5cbiovXG5cblxuLmFzcGVjdC1yYXRpby0xNng5IHsgYXNwZWN0LXJhdGlvOiAxNiAvIDk7IH1cbi5hc3BlY3QtcmF0aW8tOXgxNiB7IGFzcGVjdC1yYXRpbzogOSAvIDE2OyB9XG5cbi5hc3BlY3QtcmF0aW8tNHgzIHsgIGFzcGVjdC1yYXRpbzogNCAvIDM7IH1cbi5hc3BlY3QtcmF0aW8tM3g0IHsgIGFzcGVjdC1yYXRpbzogMyAvIDQ7IH1cblxuLmFzcGVjdC1yYXRpby02eDQgeyAgYXNwZWN0LXJhdGlvOiA2IC8gNDsgfVxuLmFzcGVjdC1yYXRpby00eDYgeyAgYXNwZWN0LXJhdGlvOiA0IC8gNjsgfVxuXG4uYXNwZWN0LXJhdGlvLTh4NSB7ICBhc3BlY3QtcmF0aW86IDggLyA1OyB9XG4uYXNwZWN0LXJhdGlvLTV4OCB7ICBhc3BlY3QtcmF0aW86IDUgLyA4OyB9XG5cbi5hc3BlY3QtcmF0aW8tN3g1IHsgIGFzcGVjdC1yYXRpbzogNyAvIDU7IH1cbi5hc3BlY3QtcmF0aW8tNXg3IHsgIGFzcGVjdC1yYXRpbzogNSAvIDc7IH1cblxuLmFzcGVjdC1yYXRpby1zcXVhcmUsIFxuLmFzcGVjdC1yYXRpby0xeDEgeyAgYXNwZWN0LXJhdGlvOiAxIC8gMTsgfVxuXG5cbkBjb250YWluZXIgKG1pbi13aWR0aDozMGVtKXtcbiAgLmFzcGVjdC1yYXRpby0xNng5LXMgeyBhc3BlY3QtcmF0aW86IDE2IC8gOTsgfVxuICAuYXNwZWN0LXJhdGlvLTl4MTYtcyB7IGFzcGVjdC1yYXRpbzogOSAvIDE2OyB9XG5cbiAgLmFzcGVjdC1yYXRpby00eDMtcyB7ICBhc3BlY3QtcmF0aW86IDQgLyAzOyB9XG4gIC5hc3BlY3QtcmF0aW8tM3g0LXMgeyAgYXNwZWN0LXJhdGlvOiAzIC8gNDsgfVxuXG4gIC5hc3BlY3QtcmF0aW8tNng0LXMgeyAgYXNwZWN0LXJhdGlvOiA2IC8gNDsgfVxuICAuYXNwZWN0LXJhdGlvLTR4Ni1zIHsgIGFzcGVjdC1yYXRpbzogNCAvIDY7IH1cblxuICAuYXNwZWN0LXJhdGlvLTh4NS1zIHsgIGFzcGVjdC1yYXRpbzogOCAvIDU7IH1cbiAgLmFzcGVjdC1yYXRpby01eDgtcyB7ICBhc3BlY3QtcmF0aW86IDUgLyA4OyB9XG5cbiAgLmFzcGVjdC1yYXRpby03eDUtcyB7ICBhc3BlY3QtcmF0aW86IDcgLyA1OyB9XG4gIC5hc3BlY3QtcmF0aW8tNXg3LXMgeyAgYXNwZWN0LXJhdGlvOiA1IC8gNzsgfVxuXG4gIC5hc3BlY3QtcmF0aW8tc3F1YXJlLXMsIFxuICAuYXNwZWN0LXJhdGlvLTF4MS1zIHsgYXNwZWN0LXJhdGlvOiAxIC8gMTsgfVxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NDhlbSl7XG4gIC5hc3BlY3QtcmF0aW8tMTZ4OS1tIHsgYXNwZWN0LXJhdGlvOiAxNiAvIDk7IH1cbiAgLmFzcGVjdC1yYXRpby05eDE2LW0geyBhc3BlY3QtcmF0aW86IDkgLyAxNjsgfVxuXG4gIC5hc3BlY3QtcmF0aW8tNHgzLW0geyAgYXNwZWN0LXJhdGlvOiA0IC8gMzsgfVxuICAuYXNwZWN0LXJhdGlvLTN4NC1tIHsgIGFzcGVjdC1yYXRpbzogMyAvIDQ7IH1cblxuICAuYXNwZWN0LXJhdGlvLTZ4NC1tIHsgIGFzcGVjdC1yYXRpbzogNiAvIDQ7IH1cbiAgLmFzcGVjdC1yYXRpby00eDYtbSB7ICBhc3BlY3QtcmF0aW86IDQgLyA2OyB9XG5cbiAgLmFzcGVjdC1yYXRpby04eDUtbSB7ICBhc3BlY3QtcmF0aW86IDggLyA1OyB9XG4gIC5hc3BlY3QtcmF0aW8tNXg4LW0geyAgYXNwZWN0LXJhdGlvOiA1IC8gODsgfVxuXG4gIC5hc3BlY3QtcmF0aW8tN3g1LW0geyAgYXNwZWN0LXJhdGlvOiA3IC8gNTsgfVxuICAuYXNwZWN0LXJhdGlvLTV4Ny1tIHsgIGFzcGVjdC1yYXRpbzogNSAvIDc7IH1cblxuICAuYXNwZWN0LXJhdGlvLXNxdWFyZS1tLCBcbiAgLmFzcGVjdC1yYXRpby0xeDEtbSB7IGFzcGVjdC1yYXRpbzogMSAvIDE7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pe1xuICAuYXNwZWN0LXJhdGlvLTE2eDktbCB7IGFzcGVjdC1yYXRpbzogMTYgLyA5OyB9XG4gIC5hc3BlY3QtcmF0aW8tOXgxNi1sIHsgYXNwZWN0LXJhdGlvOiA5IC8gMTY7IH1cblxuICAuYXNwZWN0LXJhdGlvLTR4My1sIHsgIGFzcGVjdC1yYXRpbzogNCAvIDM7IH1cbiAgLmFzcGVjdC1yYXRpby0zeDQtbCB7ICBhc3BlY3QtcmF0aW86IDMgLyA0OyB9XG5cbiAgLmFzcGVjdC1yYXRpby02eDQtbCB7ICBhc3BlY3QtcmF0aW86IDYgLyA0OyB9XG4gIC5hc3BlY3QtcmF0aW8tNHg2LWwgeyAgYXNwZWN0LXJhdGlvOiA0IC8gNjsgfVxuXG4gIC5hc3BlY3QtcmF0aW8tOHg1LWwgeyAgYXNwZWN0LXJhdGlvOiA4IC8gNTsgfVxuICAuYXNwZWN0LXJhdGlvLTV4OC1sIHsgIGFzcGVjdC1yYXRpbzogNSAvIDg7IH1cblxuICAuYXNwZWN0LXJhdGlvLTd4NS1sIHsgIGFzcGVjdC1yYXRpbzogNyAvIDU7IH1cbiAgLmFzcGVjdC1yYXRpby01eDctbCB7ICBhc3BlY3QtcmF0aW86IDUgLyA3OyB9XG5cbiAgLmFzcGVjdC1yYXRpby1zcXVhcmUtbCwgXG4gIC5hc3BlY3QtcmF0aW8tMXgxLWwgeyBhc3BlY3QtcmF0aW86IDEgLyAxOyB9XG59XG4iLCIvKlxuXG4gICBJTUFHRVNcbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL2VsZW1lbnRzL2ltYWdlcy9cblxuKi9cblxuaW1nIHsgZGlzcGxheTogYmxvY2s7IG1heC13aWR0aDogMTAwJTsgfVxuXG4ucmFuZG9tLWltYWdlIHsgXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChodHRwczovL3NvdXJjZS51bnNwbGFzaC5jb20vcmFuZG9tLyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5yYW5kb20taW1hZ2UtbGFuZHNjYXBlIHsgXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChodHRwczovL3NvdXJjZS51bnNwbGFzaC5jb20vcmFuZG9tLzE5MjB4MTA4MCk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5yYW5kb20taW1hZ2UtcG9ydHJhaXQgeyBcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGh0dHBzOi8vc291cmNlLnVuc3BsYXNoLmNvbS9yYW5kb20vMTA4MHgxOTIwKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbiIsIi8qXG5cbiAgIEJBQ0tHUk9VTkQgU0laRVxuICAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvdGhlbWVzL2JhY2tncm91bmQtc2l6ZS9cblxuICAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgICAgLXMgID0gc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi8qXG4gIE9mdGVuIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBiYWNrZ3JvdW5kIGltYWdlIHNldCBhcyBhbiBpbmxpbmUgc3R5bGVcbiAgb24gYW4gaHRtbCBlbGVtZW50LlxuKi9cblxuICAuY292ZXIgICB7IGJhY2tncm91bmQtc2l6ZTogY292ZXIhaW1wb3J0YW50OyB9XG4gIC5jb250YWluIHsgYmFja2dyb3VuZC1zaXplOiBjb250YWluIWltcG9ydGFudDsgfVxuICAuYmcxICAgICB7IGJhY2tncm91bmQtc2l6ZTogNHB4OyB9XG4gIC5iZzIgICAgIHsgYmFja2dyb3VuZC1zaXplOiA4cHg7IH1cbiAgLmJnMyAgICAgeyBiYWNrZ3JvdW5kLXNpemU6IDE2cHg7IH1cbiAgLmJnNCAgICAgeyBiYWNrZ3JvdW5kLXNpemU6IDMycHg7IH1cbiAgLmJnNSAgICAgeyBiYWNrZ3JvdW5kLXNpemU6IDY0cHg7IH1cbiAgLmJnNiAgeyBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgLmJnNyAgeyBiYWNrZ3JvdW5kLXNpemU6IDE1MCU7IH1cbiAgLmJnOCAgeyBiYWNrZ3JvdW5kLXNpemU6IDIwMCU7IH1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgLmNvdmVyLXMgeyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyIWltcG9ydGFudDsgfVxuICAuY29udGFpbi1zIHsgYmFja2dyb3VuZC1zaXplOiBjb250YWluIWltcG9ydGFudDsgfVxuICAuYmcxLXMgICAgIHsgYmFja2dyb3VuZC1zaXplOiA0cHg7IH1cbiAgLmJnMi1zICAgICB7IGJhY2tncm91bmQtc2l6ZTogOHB4OyB9XG4gIC5iZzMtcyAgICAgeyBiYWNrZ3JvdW5kLXNpemU6IDE2cHg7IH1cbiAgLmJnNC1zICAgICB7IGJhY2tncm91bmQtc2l6ZTogMzJweDsgfVxuICAuYmc1LXMgICAgIHsgYmFja2dyb3VuZC1zaXplOiA2NHB4OyB9XG4gIC5iZzYtcyB7IGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfVxuICAuYmc3LXMgeyBiYWNrZ3JvdW5kLXNpemU6IDE1MCU7IH1cbiAgLmJnOC1zIHsgYmFja2dyb3VuZC1zaXplOiAyMDAlOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG4gIC5jb3Zlci1tIHsgYmFja2dyb3VuZC1zaXplOiBjb3ZlciFpbXBvcnRhbnQ7IH1cbiAgLmNvbnRhaW4tbSB7IGJhY2tncm91bmQtc2l6ZTogY29udGFpbiFpbXBvcnRhbnQ7IH1cbiAgLmJnMS1tICAgICB7IGJhY2tncm91bmQtc2l6ZTogNHB4OyB9XG4gIC5iZzItbSAgICAgeyBiYWNrZ3JvdW5kLXNpemU6IDhweDsgfVxuICAuYmczLW0gICAgIHsgYmFja2dyb3VuZC1zaXplOiAxNnB4OyB9XG4gIC5iZzQtbSAgICAgeyBiYWNrZ3JvdW5kLXNpemU6IDMycHg7IH1cbiAgLmJnNS1tICAgICB7IGJhY2tncm91bmQtc2l6ZTogNjRweDsgfVxuICAuYmc2LW0geyBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgLmJnNy1tIHsgYmFja2dyb3VuZC1zaXplOiAxNTAlOyB9XG4gIC5iZzgtbSB7IGJhY2tncm91bmQtc2l6ZTogMjAwJTsgfVxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NjRlbSkge1xuICAuY292ZXItbCB7IGJhY2tncm91bmQtc2l6ZTogY292ZXIhaW1wb3J0YW50OyB9XG4gIC5jb250YWluLWwgeyBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4haW1wb3J0YW50OyB9XG4gIC5iZzEtbCAgICAgeyBiYWNrZ3JvdW5kLXNpemU6IDRweDsgfVxuICAuYmcyLWwgICAgIHsgYmFja2dyb3VuZC1zaXplOiA4cHg7IH1cbiAgLmJnMy1sICAgICB7IGJhY2tncm91bmQtc2l6ZTogMTZweDsgfVxuICAuYmc0LWwgICAgIHsgYmFja2dyb3VuZC1zaXplOiAzMnB4OyB9XG4gIC5iZzUtbCAgICAgeyBiYWNrZ3JvdW5kLXNpemU6IDY0cHg7IH1cbiAgLmJnNi1sIHsgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4gIC5iZzctbCB7IGJhY2tncm91bmQtc2l6ZTogMTUwJTsgfVxuICAuYmc4LWwgeyBiYWNrZ3JvdW5kLXNpemU6IDIwMCU7IH1cbn1cbiIsIi8qXG5cbiAgICBCQUNLR1JPVU5EIFBPU0lUSU9OXG5cbiAgICBCYXNlOlxuICAgIGJnID0gYmFja2dyb3VuZFxuXG4gICAgTW9kaWZpZXJzOlxuICAgIC1jZW50ZXIgPSBjZW50ZXIgY2VudGVyXG4gICAgLXRvcCA9IHRvcCBjZW50ZXJcbiAgICAtcmlnaHQgPSBjZW50ZXIgcmlnaHRcbiAgICAtYm90dG9tID0gYm90dG9tIGNlbnRlclxuICAgIC1sZWZ0ID0gY2VudGVyIGxlZnRcblxuICAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgICAtcyAgPSBzbWFsbFxuICAgICAgLW0gID0gbWVkaXVtXG4gICAgICAtbCAgPSBsYXJnZVxuXG4gKi9cblxuLmJnLWNlbnRlciB7IFxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyBcbn1cblxuLmJnLXRvcCB7ICAgIFxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjsgICAgXG59XG5cbi5iZy1yaWdodCB7ICBcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDsgIFxufVxuXG4uYmctYm90dG9tIHsgXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IFxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyOyBcbn1cblxuLmJnLWxlZnQgeyAgIFxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7ICAgXG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDozMGVtKSB7XG4gIC5iZy1jZW50ZXItcyB7IFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgXG4gIH1cblxuICAuYmctdG9wLXMgeyAgICBcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyOyAgICBcbiAgfVxuXG4gIC5iZy1yaWdodC1zIHsgIFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDsgIFxuICB9XG5cbiAgLmJnLWJvdHRvbS1zIHsgXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjsgXG4gIH1cblxuICAuYmctbGVmdC1zIHsgICBcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdDsgICBcbiAgfVxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NDhlbSkge1xuICAuYmctY2VudGVyLW0geyBcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IFxuICB9XG5cbiAgLmJnLXRvcC1tIHsgICAgXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjsgICAgXG4gIH1cblxuICAuYmctcmlnaHQtbSB7ICBcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7ICBcbiAgfVxuXG4gIC5iZy1ib3R0b20tbSB7IFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7IFxuICB9XG5cbiAgLmJnLWxlZnQtbSB7ICAgXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7ICAgXG4gIH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLmJnLWNlbnRlci1sIHsgXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyBcbiAgfVxuXG4gIC5iZy10b3AtbCB7ICAgIFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7ICAgIFxuICB9XG5cbiAgLmJnLXJpZ2h0LWwgeyAgXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0OyAgXG4gIH1cblxuICAuYmctYm90dG9tLWwgeyBcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyOyBcbiAgfVxuXG4gIC5iZy1sZWZ0LWwgeyAgIFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0OyAgIFxuICB9XG59XG4iLCIvKlxuXG4gICBPVVRMSU5FU1xuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtcyA9IHNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG4ub3V0bGluZSB7IG91dGxpbmU6IHZhcigtLWJvcmRlci13aWR0aCwgMXB4KSBzb2xpZCBjdXJyZW50Q29sb3I7IH1cbi5vdXRsaW5lLWNvbG9yIHsgb3V0bGluZTogdmFyKC0tYm9yZGVyLXdpZHRoLCAxcHgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvciwgZ3JheSk7IH1cbi5vdXRsaW5lLXRyYW5zcGFyZW50IHsgb3V0bGluZTogdmFyKC0tYm9yZGVyLXdpZHRoLCAxcHgpIHNvbGlkIHRyYW5zcGFyZW50OyB9XG4ub3V0bGluZS0wIHsgb3V0bGluZTogMDsgfVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6MzBlbSkge1xuICAub3V0bGluZS1zIHsgb3V0bGluZTogdmFyKC0tYm9yZGVyLXdpZHRoLCAxcHgpIHNvbGlkIGN1cnJlbnRDb2xvcjsgfVxuICAub3V0bGluZS1jb2xvci1zIHsgb3V0bGluZTogdmFyKC0tYm9yZGVyLXdpZHRoLCAxcHgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvciwgZ3JheSk7IH1cbiAgLm91dGxpbmUtdHJhbnNwYXJlbnQtcyB7IG91dGxpbmU6IHZhcigtLWJvcmRlci13aWR0aCwgMXB4KSBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAub3V0bGluZS0wLXMgeyBvdXRsaW5lOiAwOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG4gIC5vdXRsaW5lLW0geyBvdXRsaW5lOiB2YXIoLS1ib3JkZXItd2lkdGgsIDFweCkgc29saWQgY3VycmVudENvbG9yOyB9XG4gIC5vdXRsaW5lLWNvbG9yLW0geyBvdXRsaW5lOiB2YXIoLS1ib3JkZXItd2lkdGgsIDFweCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yLCBncmF5KTsgfVxuICAub3V0bGluZS10cmFuc3BhcmVudC1tIHsgb3V0bGluZTogdmFyKC0tYm9yZGVyLXdpZHRoLCAxcHgpIHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC5vdXRsaW5lLTAtbSB7IG91dGxpbmU6IDA7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLm91dGxpbmUtbCB7IG91dGxpbmU6IHZhcigtLWJvcmRlci13aWR0aCwgMXB4KSBzb2xpZCBjdXJyZW50Q29sb3I7IH1cbiAgLm91dGxpbmUtY29sb3ItbCB7IG91dGxpbmU6IHZhcigtLWJvcmRlci13aWR0aCwgMXB4KSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IsIGdyYXkpOyB9XG4gIC5vdXRsaW5lLXRyYW5zcGFyZW50LWwgeyBvdXRsaW5lOiB2YXIoLS1ib3JkZXItd2lkdGgsIDFweCkgc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgLm91dGxpbmUtMC1sIHsgb3V0bGluZTogMDsgfVxufVxuIiwiLypcblxuICAgIEJPUkRFUlNcbiAgICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy90aGVtZXMvYm9yZGVycy9cblxuICAgIEJhc2U6XG4gICAgICBiID0gYm9yZGVyXG5cbiAgICBNb2RpZmllcnM6XG4gICAgICBhID0gYWxsXG4gICAgICB0ID0gdG9wXG4gICAgICByID0gcmlnaHRcbiAgICAgIGIgPSBib3R0b21cbiAgICAgIGwgPSBsZWZ0XG4gICAgICBuID0gbm9uZVxuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtcyA9IHNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG4gIC5iYSB7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLCAxcHgpOyB9XG4gIC5idCB7IGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOyBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgsIDFweCk7IH1cbiAgLmJyIHsgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDsgYm9yZGVyLXJpZ2h0LXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgsIDFweCk7IH1cbiAgLmJiIHsgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7IGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci13aWR0aCwgMXB4KTsgfVxuICAuYmwgeyBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgsIDFweCk7IH1cbiAgLmJuIHsgYm9yZGVyLXN0eWxlOiBub25lOyBib3JkZXItd2lkdGg6IDA7IH1cblxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6MzBlbSkge1xuICAuYmEtcyB7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLCAxcHgpOyB9XG4gIC5idC1zIHsgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7IGJvcmRlci10b3Atd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aCwgMXB4KTsgfVxuICAuYnItcyB7IGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7IGJvcmRlci1yaWdodC13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLCAxcHgpOyB9XG4gIC5iYi1zIHsgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7IGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci13aWR0aCwgMXB4KTsgfVxuICAuYmwtcyB7IGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsgYm9yZGVyLWxlZnQtd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aCwgMXB4KTsgfVxuICAuYm4tcyB7IGJvcmRlci1zdHlsZTogbm9uZTsgYm9yZGVyLXdpZHRoOiAwOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG4gIC5iYS1tIHsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgsIDFweCk7IH1cbiAgLmJ0LW0geyBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLCAxcHgpOyB9XG4gIC5ici1tIHsgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDsgYm9yZGVyLXJpZ2h0LXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgsIDFweCk7IH1cbiAgLmJiLW0geyBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLCAxcHgpOyB9XG4gIC5ibC1tIHsgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkOyBib3JkZXItbGVmdC13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLCAxcHgpOyB9XG4gIC5ibi1tIHsgYm9yZGVyLXN0eWxlOiBub25lOyBib3JkZXItd2lkdGg6IDA7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLmJhLWwgeyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aCwgMXB4KTsgfVxuICAuYnQtbCB7IGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOyBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgsIDFweCk7IH1cbiAgLmJyLWwgeyBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkOyBib3JkZXItcmlnaHQtd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aCwgMXB4KTsgfVxuICAuYmItbCB7IGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkOyBib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgsIDFweCk7IH1cbiAgLmJsLWwgeyBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgsIDFweCk7IH1cbiAgLmJuLWwgeyBib3JkZXItc3R5bGU6IG5vbmU7IGJvcmRlci13aWR0aDogMDsgfVxufVxuXG4iLCIvKlxuXG4gICBCT1JERVIgQ09MT1JTXG4gICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy90aGVtZXMvYm9yZGVycy9cblxuICAgQm9yZGVyIGNvbG9ycyBjYW4gYmUgdXNlZCB0byBleHRlbmQgdGhlIGJhc2VcbiAgIGJvcmRlciBjbGFzc2VzIGJhLGJ0LGJiLGJyLGJsIGZvdW5kIGluIHRoZSBfYm9yZGVycy5jc3MgZmlsZS5cblxuICAgVGhlIGJhc2UgYm9yZGVyIGNsYXNzIGJ5IGRlZmF1bHQgd2lsbCBzZXQgdGhlIGNvbG9yIG9mIHRoZSBib3JkZXJcbiAgIHRvIHRoYXQgb2YgdGhlIGN1cnJlbnQgdGV4dCBjb2xvci4gVGhlc2UgY2xhc3NlcyBhcmUgZm9yIHRoZSBjYXNlc1xuICAgd2hlcmUgeW91IGRlc2lyZSBmb3IgdGhlIHRleHQgYW5kIGJvcmRlciBjb2xvcnMgdG8gYmUgZGlmZmVyZW50LlxuXG4gICBCYXNlOlxuICAgICBiID0gYm9yZGVyXG5cbiAgIE1vZGlmaWVyczpcbiAgIC0tY29sb3ItbmFtZSA9IGVhY2ggY29sb3IgdmFyaWFibGUgbmFtZSBpcyBhbHNvIGEgYm9yZGVyIGNvbG9yIG5hbWVcblxuKi9cblxuLmItLWNvbG9yIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItY29sb3IsIGdyYXkpOyB9XG4uYi0tbGlnaHQgeyBib3JkZXItY29sb3I6IHZhcigtLW92ZXJsYXktdGludC0yLCBncmF5KTsgfVxuLmItLWRhcmsgeyBib3JkZXItY29sb3I6IHZhcigtLW92ZXJsYXktc2hhZG93LTksIGdyYXkpOyB9XG4uYi0tdHJhbnNwYXJlbnQgeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4uYi0tY3VycmVudCB7IGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yOyB9XG4uYi0taW5oZXJpdCB7IGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuLmItLWluaXRpYWwgeyBib3JkZXItY29sb3I6IGluaXRpYWw7IH1cbi5iLS11bnNldCB7IGJvcmRlci1jb2xvcjogdW5zZXQ7IH1cblxuLmItLWJsYWNrIHsgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYmxhY2spOyB9XG4uYi0td2hpdGUgeyAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13aGl0ZSk7IH1cblxuLyogVGFpbHdpbmQgQ29sb3IgUGFsZXR0ZSAqL1xuXG4uYi0tZ3JheS0wIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmF5LTApOyB9XG4uYi0tZ3JheS0xIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmF5LTEpOyB9XG4uYi0tZ3JheS0yIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmF5LTIpOyB9XG4uYi0tZ3JheS0zIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmF5LTMpOyB9XG4uYi0tZ3JheS00IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmF5LTQpOyB9XG4uYi0tZ3JheS01IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmF5LTUpOyB9XG4uYi0tZ3JheS02IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmF5LTYpOyB9XG4uYi0tZ3JheS03IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmF5LTcpOyB9XG4uYi0tZ3JheS04IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmF5LTgpOyB9XG4uYi0tZ3JheS05IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmF5LTkpOyB9XG4uYi0tZ3JheS0xMCB7IGJvcmRlci1jb2xvcjogdmFyKC0tZ3JheS0xMCk7IH1cbi5iLS1ncmF5LTExIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmF5LTExKTsgfVxuXG4uYi0tc2xhdGUtZ3JheS0wIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTApOyB9XG4uYi0tc2xhdGUtZ3JheS0xIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTEpOyB9XG4uYi0tc2xhdGUtZ3JheS0yIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTIpOyB9XG4uYi0tc2xhdGUtZ3JheS0zIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTMpOyB9XG4uYi0tc2xhdGUtZ3JheS00IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTQpOyB9XG4uYi0tc2xhdGUtZ3JheS01IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTUpOyB9XG4uYi0tc2xhdGUtZ3JheS02IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTYpOyB9XG4uYi0tc2xhdGUtZ3JheS03IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTcpOyB9XG4uYi0tc2xhdGUtZ3JheS04IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTgpOyB9XG4uYi0tc2xhdGUtZ3JheS05IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTkpOyB9XG4uYi0tc2xhdGUtZ3JheS0xMCB7IGJvcmRlci1jb2xvcjogdmFyKC0tc2xhdGUtZ3JheS0xMCk7IH1cbi5iLS1zbGF0ZS1ncmF5LTExIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTExKTsgfVxuXG4uYi0tYmx1ZS0wIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibHVlLTApOyB9XG4uYi0tYmx1ZS0xIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibHVlLTEpOyB9XG4uYi0tYmx1ZS0yIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibHVlLTIpOyB9XG4uYi0tYmx1ZS0zIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibHVlLTMpOyB9XG4uYi0tYmx1ZS00IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibHVlLTQpOyB9XG4uYi0tYmx1ZS01IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibHVlLTUpOyB9XG4uYi0tYmx1ZS02IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibHVlLTYpOyB9XG4uYi0tYmx1ZS03IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibHVlLTcpOyB9XG4uYi0tYmx1ZS04IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibHVlLTgpOyB9XG4uYi0tYmx1ZS05IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibHVlLTkpOyB9XG4uYi0tYmx1ZS0xMCB7IGJvcmRlci1jb2xvcjogdmFyKC0tYmx1ZS0xMCk7IH1cbi5iLS1ibHVlLTExIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibHVlLTExKTsgfVxuXG4uYi0taW5kaWdvLTAgeyBib3JkZXItY29sb3I6IHZhcigtLWluZGlnby0wKTsgfVxuLmItLWluZGlnby0xIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmRpZ28tMSk7IH1cbi5iLS1pbmRpZ28tMiB7IGJvcmRlci1jb2xvcjogdmFyKC0taW5kaWdvLTIpOyB9XG4uYi0taW5kaWdvLTMgeyBib3JkZXItY29sb3I6IHZhcigtLWluZGlnby0zKTsgfVxuLmItLWluZGlnby00IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmRpZ28tNCk7IH1cbi5iLS1pbmRpZ28tNSB7IGJvcmRlci1jb2xvcjogdmFyKC0taW5kaWdvLTUpOyB9XG4uYi0taW5kaWdvLTYgeyBib3JkZXItY29sb3I6IHZhcigtLWluZGlnby02KTsgfVxuLmItLWluZGlnby03IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmRpZ28tNyk7IH1cbi5iLS1pbmRpZ28tOCB7IGJvcmRlci1jb2xvcjogdmFyKC0taW5kaWdvLTgpOyB9XG4uYi0taW5kaWdvLTkgeyBib3JkZXItY29sb3I6IHZhcigtLWluZGlnby05KTsgfVxuLmItLWluZGlnby0xMCB7IGJvcmRlci1jb2xvcjogdmFyKC0taW5kaWdvLTEwKTsgfVxuLmItLWluZGlnby0xMSB7IGJvcmRlci1jb2xvcjogdmFyKC0taW5kaWdvLTExKTsgfVxuXG4uYi0tdmlvbGV0LTAgeyBib3JkZXItY29sb3I6IHZhcigtLXZpb2xldC0wKTsgfVxuLmItLXZpb2xldC0xIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS12aW9sZXQtMSk7IH1cbi5iLS12aW9sZXQtMiB7IGJvcmRlci1jb2xvcjogdmFyKC0tdmlvbGV0LTIpOyB9XG4uYi0tdmlvbGV0LTMgeyBib3JkZXItY29sb3I6IHZhcigtLXZpb2xldC0zKTsgfVxuLmItLXZpb2xldC00IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS12aW9sZXQtNCk7IH1cbi5iLS12aW9sZXQtNSB7IGJvcmRlci1jb2xvcjogdmFyKC0tdmlvbGV0LTUpOyB9XG4uYi0tdmlvbGV0LTYgeyBib3JkZXItY29sb3I6IHZhcigtLXZpb2xldC02KTsgfVxuLmItLXZpb2xldC03IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS12aW9sZXQtNyk7IH1cbi5iLS12aW9sZXQtOCB7IGJvcmRlci1jb2xvcjogdmFyKC0tdmlvbGV0LTgpOyB9XG4uYi0tdmlvbGV0LTkgeyBib3JkZXItY29sb3I6IHZhcigtLXZpb2xldC05KTsgfVxuLmItLXZpb2xldC0xMCB7IGJvcmRlci1jb2xvcjogdmFyKC0tdmlvbGV0LTEwKTsgfVxuLmItLXZpb2xldC0xMSB7IGJvcmRlci1jb2xvcjogdmFyKC0tdmlvbGV0LTExKTsgfVxuXG4uYi0tbWFnZW50YS0wIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTApOyB9XG4uYi0tbWFnZW50YS0xIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTEpOyB9XG4uYi0tbWFnZW50YS0yIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTIpOyB9XG4uYi0tbWFnZW50YS0zIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTMpOyB9XG4uYi0tbWFnZW50YS00IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTQpOyB9XG4uYi0tbWFnZW50YS01IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTUpOyB9XG4uYi0tbWFnZW50YS02IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTYpOyB9XG4uYi0tbWFnZW50YS03IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTcpOyB9XG4uYi0tbWFnZW50YS04IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTgpOyB9XG4uYi0tbWFnZW50YS05IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTkpOyB9XG4uYi0tbWFnZW50YS0xMCB7IGJvcmRlci1jb2xvcjogdmFyKC0tbWFnZW50YS0xMCk7IH1cbi5iLS1tYWdlbnRhLTExIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTExKTsgfVxuXG4uYi0tcmVkLTAgeyBib3JkZXItY29sb3I6IHZhcigtLXJlZC0wKTsgfVxuLmItLXJlZC0xIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWQtMSk7IH1cbi5iLS1yZWQtMiB7IGJvcmRlci1jb2xvcjogdmFyKC0tcmVkLTIpOyB9XG4uYi0tcmVkLTMgeyBib3JkZXItY29sb3I6IHZhcigtLXJlZC0zKTsgfVxuLmItLXJlZC00IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWQtNCk7IH1cbi5iLS1yZWQtNSB7IGJvcmRlci1jb2xvcjogdmFyKC0tcmVkLTUpOyB9XG4uYi0tcmVkLTYgeyBib3JkZXItY29sb3I6IHZhcigtLXJlZC02KTsgfVxuLmItLXJlZC03IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWQtNyk7IH1cbi5iLS1yZWQtOCB7IGJvcmRlci1jb2xvcjogdmFyKC0tcmVkLTgpOyB9XG4uYi0tcmVkLTkgeyBib3JkZXItY29sb3I6IHZhcigtLXJlZC05KTsgfVxuLmItLXJlZC0xMCB7IGJvcmRlci1jb2xvcjogdmFyKC0tcmVkLTEwKTsgfVxuLmItLXJlZC0xMSB7IGJvcmRlci1jb2xvcjogdmFyKC0tcmVkLTExKTsgfVxuXG4uYi0tcmVkLW9yYW5nZS0wIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTApOyB9XG4uYi0tcmVkLW9yYW5nZS0xIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTEpOyB9XG4uYi0tcmVkLW9yYW5nZS0yIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTIpOyB9XG4uYi0tcmVkLW9yYW5nZS0zIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTMpOyB9XG4uYi0tcmVkLW9yYW5nZS00IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTQpOyB9XG4uYi0tcmVkLW9yYW5nZS01IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTUpOyB9XG4uYi0tcmVkLW9yYW5nZS02IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTYpOyB9XG4uYi0tcmVkLW9yYW5nZS03IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTcpOyB9XG4uYi0tcmVkLW9yYW5nZS04IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTgpOyB9XG4uYi0tcmVkLW9yYW5nZS05IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTkpOyB9XG4uYi0tcmVkLW9yYW5nZS0xMCB7IGJvcmRlci1jb2xvcjogdmFyKC0tcmVkLW9yYW5nZS0xMCk7IH1cbi5iLS1yZWQtb3JhbmdlLTExIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTExKTsgfVxuXG4uYi0tb3JhbmdlLTAgeyBib3JkZXItY29sb3I6IHZhcigtLW9yYW5nZS0wKTsgfVxuLmItLW9yYW5nZS0xIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1vcmFuZ2UtMSk7IH1cbi5iLS1vcmFuZ2UtMiB7IGJvcmRlci1jb2xvcjogdmFyKC0tb3JhbmdlLTIpOyB9XG4uYi0tb3JhbmdlLTMgeyBib3JkZXItY29sb3I6IHZhcigtLW9yYW5nZS0zKTsgfVxuLmItLW9yYW5nZS00IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1vcmFuZ2UtNCk7IH1cbi5iLS1vcmFuZ2UtNSB7IGJvcmRlci1jb2xvcjogdmFyKC0tb3JhbmdlLTUpOyB9XG4uYi0tb3JhbmdlLTYgeyBib3JkZXItY29sb3I6IHZhcigtLW9yYW5nZS02KTsgfVxuLmItLW9yYW5nZS03IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1vcmFuZ2UtNyk7IH1cbi5iLS1vcmFuZ2UtOCB7IGJvcmRlci1jb2xvcjogdmFyKC0tb3JhbmdlLTgpOyB9XG4uYi0tb3JhbmdlLTkgeyBib3JkZXItY29sb3I6IHZhcigtLW9yYW5nZS05KTsgfVxuLmItLW9yYW5nZS0xMCB7IGJvcmRlci1jb2xvcjogdmFyKC0tb3JhbmdlLTEwKTsgfVxuLmItLW9yYW5nZS0xMSB7IGJvcmRlci1jb2xvcjogdmFyKC0tb3JhbmdlLTExKTsgfVxuXG4uYi0tZ29sZC0wIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkLTApOyB9XG4uYi0tZ29sZC0xIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkLTEpOyB9XG4uYi0tZ29sZC0yIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkLTIpOyB9XG4uYi0tZ29sZC0zIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkLTMpOyB9XG4uYi0tZ29sZC00IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkLTQpOyB9XG4uYi0tZ29sZC01IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkLTUpOyB9XG4uYi0tZ29sZC02IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkLTYpOyB9XG4uYi0tZ29sZC03IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkLTcpOyB9XG4uYi0tZ29sZC04IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkLTgpOyB9XG4uYi0tZ29sZC05IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkLTkpOyB9XG4uYi0tZ29sZC0xMCB7IGJvcmRlci1jb2xvcjogdmFyKC0tZ29sZC0xMCk7IH1cbi5iLS1nb2xkLTExIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkLTExKTsgfVxuXG4uYi0teWVsbG93LTAgeyBib3JkZXItY29sb3I6IHZhcigtLXllbGxvdy0wKTsgfVxuLmItLXllbGxvdy0xIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS15ZWxsb3ctMSk7IH1cbi5iLS15ZWxsb3ctMiB7IGJvcmRlci1jb2xvcjogdmFyKC0teWVsbG93LTIpOyB9XG4uYi0teWVsbG93LTMgeyBib3JkZXItY29sb3I6IHZhcigtLXllbGxvdy0zKTsgfVxuLmItLXllbGxvdy00IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS15ZWxsb3ctNCk7IH1cbi5iLS15ZWxsb3ctNSB7IGJvcmRlci1jb2xvcjogdmFyKC0teWVsbG93LTUpOyB9XG4uYi0teWVsbG93LTYgeyBib3JkZXItY29sb3I6IHZhcigtLXllbGxvdy02KTsgfVxuLmItLXllbGxvdy03IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS15ZWxsb3ctNyk7IH1cbi5iLS15ZWxsb3ctOCB7IGJvcmRlci1jb2xvcjogdmFyKC0teWVsbG93LTgpOyB9XG4uYi0teWVsbG93LTkgeyBib3JkZXItY29sb3I6IHZhcigtLXllbGxvdy05KTsgfVxuLmItLXllbGxvdy0xMCB7IGJvcmRlci1jb2xvcjogdmFyKC0teWVsbG93LTEwKTsgfVxuLmItLXllbGxvdy0xMSB7IGJvcmRlci1jb2xvcjogdmFyKC0teWVsbG93LTExKTsgfVxuXG4uYi0tZ3JlZW4tMCB7IGJvcmRlci1jb2xvcjogdmFyKC0tZ3JlZW4tMCk7IH1cbi5iLS1ncmVlbi0xIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmVlbi0xKTsgfVxuLmItLWdyZWVuLTIgeyBib3JkZXItY29sb3I6IHZhcigtLWdyZWVuLTIpOyB9XG4uYi0tZ3JlZW4tMyB7IGJvcmRlci1jb2xvcjogdmFyKC0tZ3JlZW4tMyk7IH1cbi5iLS1ncmVlbi00IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmVlbi00KTsgfVxuLmItLWdyZWVuLTUgeyBib3JkZXItY29sb3I6IHZhcigtLWdyZWVuLTUpOyB9XG4uYi0tZ3JlZW4tNiB7IGJvcmRlci1jb2xvcjogdmFyKC0tZ3JlZW4tNik7IH1cbi5iLS1ncmVlbi03IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmVlbi03KTsgfVxuLmItLWdyZWVuLTggeyBib3JkZXItY29sb3I6IHZhcigtLWdyZWVuLTgpOyB9XG4uYi0tZ3JlZW4tOSB7IGJvcmRlci1jb2xvcjogdmFyKC0tZ3JlZW4tOSk7IH1cbi5iLS1ncmVlbi0xMCB7IGJvcmRlci1jb2xvcjogdmFyKC0tZ3JlZW4tMTApOyB9XG4uYi0tZ3JlZW4tMTEgeyBib3JkZXItY29sb3I6IHZhcigtLWdyZWVuLTExKTsgfVxuXG4uYi0tbGltZS0wIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1saW1lLTApOyB9XG4uYi0tbGltZS0xIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1saW1lLTEpOyB9XG4uYi0tbGltZS0yIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1saW1lLTIpOyB9XG4uYi0tbGltZS0zIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1saW1lLTMpOyB9XG4uYi0tbGltZS00IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1saW1lLTQpOyB9XG4uYi0tbGltZS01IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1saW1lLTUpOyB9XG4uYi0tbGltZS02IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1saW1lLTYpOyB9XG4uYi0tbGltZS03IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1saW1lLTcpOyB9XG4uYi0tbGltZS04IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1saW1lLTgpOyB9XG4uYi0tbGltZS05IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1saW1lLTkpOyB9XG4uYi0tbGltZS0xMCB7IGJvcmRlci1jb2xvcjogdmFyKC0tbGltZS0xMCk7IH1cbi5iLS1saW1lLTExIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1saW1lLTExKTsgfVxuXG4uYi0tdGVhbC0wIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWFsLTApOyB9XG4uYi0tdGVhbC0xIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWFsLTEpOyB9XG4uYi0tdGVhbC0yIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWFsLTIpOyB9XG4uYi0tdGVhbC0zIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWFsLTMpOyB9XG4uYi0tdGVhbC00IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWFsLTQpOyB9XG4uYi0tdGVhbC01IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWFsLTUpOyB9XG4uYi0tdGVhbC02IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWFsLTYpOyB9XG4uYi0tdGVhbC03IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWFsLTcpOyB9XG4uYi0tdGVhbC04IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWFsLTgpOyB9XG4uYi0tdGVhbC05IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWFsLTkpOyB9XG4uYi0tdGVhbC0xMCB7IGJvcmRlci1jb2xvcjogdmFyKC0tdGVhbC0xMCk7IH1cbi5iLS10ZWFsLTExIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZWFsLTExKTsgfVxuXG4uYi0tY3lhbi0wIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jeWFuLTApOyB9XG4uYi0tY3lhbi0xIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jeWFuLTEpOyB9XG4uYi0tY3lhbi0yIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jeWFuLTIpOyB9XG4uYi0tY3lhbi0zIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jeWFuLTMpOyB9XG4uYi0tY3lhbi00IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jeWFuLTQpOyB9XG4uYi0tY3lhbi01IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jeWFuLTUpOyB9XG4uYi0tY3lhbi02IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jeWFuLTYpOyB9XG4uYi0tY3lhbi03IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jeWFuLTcpOyB9XG4uYi0tY3lhbi04IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jeWFuLTgpOyB9XG4uYi0tY3lhbi05IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jeWFuLTkpOyB9XG4uYi0tY3lhbi0xMCB7IGJvcmRlci1jb2xvcjogdmFyKC0tY3lhbi0xMCk7IH1cbi5iLS1jeWFuLTExIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jeWFuLTExKTsgfVxuIiwiLypcblxuICAgQk9SREVSIFJBRElVU1xuICAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvdGhlbWVzL2JvcmRlci1yYWRpdXMvXG4gICBJbnRlcmFjdGl2ZSBleGFtcGxlczogaHR0cHM6Ly9jb21wb25lbnRzLmFpL3Uvc3lzdGVtL2NsN2NyY2ppYTAyMjUwOW1hc2Z2cTczbnkvY2w3enRib3pzMTY1MDkwOWw2cmxsbXZwa29cblxuICAgQmFzZTpcbiAgICAgYnIgICA9IGJvcmRlci1yYWRpdXNcblxuICAgTW9kaWZpZXJzOlxuICAgICAwICAgID0gMC9ub25lXG4gICAgIDEgICAgPSAxc3Qgc3RlcCBpbiBzY2FsZVxuICAgICAyICAgID0gMm5kIHN0ZXAgaW4gc2NhbGVcbiAgICAgMyAgICA9IDNyZCBzdGVwIGluIHNjYWxlXG4gICAgIDQgICAgPSA0dGggc3RlcCBpbiBzY2FsZVxuICAgICA1ICAgID0gNXRoIHN0ZXAgaW4gc2NhbGVcbiAgICAgNiAgICA9IDZ0aCBzdGVwIGluIHNjYWxlXG5cbiAgIExpdGVyYWwgdmFsdWVzOlxuICAgICAtMTAwID0gMTAwJVxuICAgICAtcGlsbCA9IDk5OTlweFxuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtbiA9IHNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG4gIC5ici1wcmltYXJ5ICB7ICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpOyB9XG4gIC5icjAgeyAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy0wLCAwKTsgfVxuICAuYnIxIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtMSwgNHB4KTsgfVxuICAuYnIyIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtMiwgNnB4KTsgfVxuICAuYnIzIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtMywgOHB4KTsgfVxuICAuYnI0IHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtNCwgMTJweCk7IH1cbiAgLmJyNSB7ICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTUsIDE2cHgpOyB9XG4gIC5icjYgeyAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy02LCAyMHB4KTsgfVxuICAuYnI3IHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtNywgMjRweCk7IH1cbiAgLmJyOCB7ICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTgsIDMycHgpOyB9XG4gIC5icjkgeyAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy05LCA0OHB4KTsgfVxuICAuYnIxMCB7ICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTEwLCA2NHB4KTsgfVxuICAuYnIxMSB7ICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTExLCA5OTk5cHgpOyB9XG5cbiAgLmJyLS1ib3R0b20ge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5ici0tdG9wIHtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAuYnItLXJpZ2h0IHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5ici0tbGVmdCB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5ici1pbmhlcml0IHsgYm9yZGVyLXJhZGl1czogaW5oZXJpdDsgfVxuICAuYnItaW5pdGlhbCB7IGJvcmRlci1yYWRpdXM6IGluaXRpYWw7IH1cbiAgLmJyLXVuc2V0IHsgYm9yZGVyLXJhZGl1czogdW5zZXQ7IH1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgLmJyLXByaW1hcnktcyAgeyAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpOyB9XG4gIC5icjAtcyB7ICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTAsIDApOyB9XG4gIC5icjEtcyB7ICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTEsIDRweCk7IH1cbiAgLmJyMi1zIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtMiwgNnB4KTsgfVxuICAuYnIzLXMgeyAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy0zLCA4cHgpOyB9XG4gIC5icjQtcyB7ICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTQsIDEycHgpOyB9XG4gIC5icjUtcyB7ICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTUsIDE2cHgpOyB9XG4gIC5icjYtcyB7ICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTYsIDIwcHgpOyB9XG4gIC5icjctcyB7ICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTcsIDI0cHgpOyB9XG4gIC5icjgtcyB7ICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTgsIDMycHgpOyB9XG4gIC5icjktcyB7ICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTksIDQ4cHgpOyB9XG4gIC5icjEwLXMgeyAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTEwLCA2NHB4KTsgfVxuICAuYnIxMS1zIHsgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy0xMSwgOTk5OXB4KTsgfVxuICAuYnItLWJvdHRvbS1zIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAuYnItLXRvcC1zIHtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAuYnItLXJpZ2h0LXMge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmJyLS1sZWZ0LXMge1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAuYnItaW5oZXJpdC1zIHsgYm9yZGVyLXJhZGl1czogaW5oZXJpdDsgfVxuICAuYnItaW5pdGlhbC1zIHsgYm9yZGVyLXJhZGl1czogaW5pdGlhbDsgfVxuICAuYnItdW5zZXQtcyB7IGJvcmRlci1yYWRpdXM6IHVuc2V0OyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG4gIC5ici1wcmltYXJ5LW0gIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7IH1cbiAgLmJyMC1tIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtMCwgMCk7IH1cbiAgLmJyMS1tIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtMSwgNHB4KTsgfVxuICAuYnIyLW0geyAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy0yLCA2cHgpOyB9XG4gIC5icjMtbSB7ICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTMsIDhweCk7IH1cbiAgLmJyNC1tIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtNCwgMTJweCk7IH1cbiAgLmJyNS1tIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtNSwgMTZweCk7IH1cbiAgLmJyNi1tIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtNiwgMjBweCk7IH1cbiAgLmJyNy1tIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtNywgMjRweCk7IH1cbiAgLmJyOC1tIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtOCwgMzJweCk7IH1cbiAgLmJyOS1tIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtOSwgNDhweCk7IH1cbiAgLmJyMTAtbSB7ICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtMTAsIDY0cHgpOyB9XG4gIC5icjExLW0geyAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTExLCA5OTk5cHgpOyB9XG4gIC5ici0tYm90dG9tLW0ge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5ici0tdG9wLW0ge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5ici0tcmlnaHQtbSB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAuYnItLWxlZnQtbSB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5ici1pbmhlcml0LW0geyBib3JkZXItcmFkaXVzOiBpbmhlcml0OyB9XG4gIC5ici1pbml0aWFsLW0geyBib3JkZXItcmFkaXVzOiBpbml0aWFsOyB9XG4gIC5ici11bnNldC1tIHsgYm9yZGVyLXJhZGl1czogdW5zZXQ7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLmJyLXByaW1hcnktbCB7IGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7IH1cbiAgLmJyMC1sIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtMCwgMCk7IH1cbiAgLmJyMS1sIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtMSwgNHB4KTsgfVxuICAuYnIyLWwgeyAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy0yLCA2cHgpOyB9XG4gIC5icjMtbCB7ICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTMsIDhweCk7IH1cbiAgLmJyNC1sIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtNCwgMTJweCk7IH1cbiAgLmJyNS1sIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtNSwgMTZweCk7IH1cbiAgLmJyNi1sIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtNiwgMjBweCk7IH1cbiAgLmJyNy1sIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtNywgMjRweCk7IH1cbiAgLmJyOC1sIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtOCwgMzJweCk7IH1cbiAgLmJyOS1sIHsgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtOSwgNDhweCk7IH1cbiAgLmJyMTAtbCB7ICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtMTAsIDY0cHgpOyB9XG4gIC5icjExLWwgeyAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTExLCA5OTk5cHgpOyB9XG4gIC5ici0tYm90dG9tLWwge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5ici0tdG9wLWwge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5ici0tcmlnaHQtbCB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAuYnItLWxlZnQtbCB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5ici1pbmhlcml0LWwgeyBib3JkZXItcmFkaXVzOiBpbmhlcml0OyB9XG4gIC5ici1pbml0aWFsLWwgeyBib3JkZXItcmFkaXVzOiBpbml0aWFsOyB9XG4gIC5ici11bnNldC1sIHsgYm9yZGVyLXJhZGl1czogdW5zZXQ7IH1cbn1cbiIsIi8qXG5cbiAgIEJPUkRFUiBTVFlMRVNcbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL3RoZW1lcy9ib3JkZXJzL1xuXG4gICBEZXBlbmRzIG9uIGJhc2UgYm9yZGVyIG1vZHVsZSBpbiBfYm9yZGVycy5jc3NcblxuICAgQmFzZTpcbiAgICAgYiA9IGJvcmRlci1zdHlsZVxuXG4gICBNb2RpZmllcnM6XG4gICAgIC0tbm9uZSAgID0gbm9uZVxuICAgICAtLWRvdHRlZCA9IGRvdHRlZFxuICAgICAtLWRhc2hlZCA9IGRhc2hlZFxuICAgICAtLXNvbGlkICA9IHNvbGlkXG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1zID0gc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiAqL1xuXG4uYi0tZG90dGVkIHsgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7IH1cbi5iLS1kYXNoZWQgeyBib3JkZXItc3R5bGU6IGRhc2hlZDsgfVxuLmItLXNvbGlkIHsgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbi5iLS1ub25lIHsgICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgLmItLWRvdHRlZC1zIHsgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7IH1cbiAgLmItLWRhc2hlZC1zIHsgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7IH1cbiAgLmItLXNvbGlkLXMgeyAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAuYi0tbm9uZS1zIHsgICBib3JkZXItc3R5bGU6IG5vbmU7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjQ4ZW0pIHtcbiAgLmItLWRvdHRlZC1tIHsgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7IH1cbiAgLmItLWRhc2hlZC1tIHsgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7IH1cbiAgLmItLXNvbGlkLW0geyAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAuYi0tbm9uZS1tIHsgICBib3JkZXItc3R5bGU6IG5vbmU7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLmItLWRvdHRlZC1sIHsgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7IH1cbiAgLmItLWRhc2hlZC1sIHsgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7IH1cbiAgLmItLXNvbGlkLWwgeyAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAuYi0tbm9uZS1sIHsgICBib3JkZXItc3R5bGU6IG5vbmU7IH1cbn1cbiIsIi8qXG5cbiAgIEJPUkRFUiBXSURUSFNcbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL3RoZW1lcy9ib3JkZXJzL1xuXG4gICBCYXNlOlxuICAgICBidyA9IGJvcmRlci13aWR0aFxuXG4gICBNb2RpZmllcnM6XG4gICAgIDAgPSAwIHdpZHRoIGJvcmRlclxuICAgICAxID0gMXN0IHN0ZXAgaW4gYm9yZGVyLXdpZHRoIHNjYWxlXG4gICAgIDIgPSAybmQgc3RlcCBpbiBib3JkZXItd2lkdGggc2NhbGVcbiAgICAgMyA9IDNyZCBzdGVwIGluIGJvcmRlci13aWR0aCBzY2FsZVxuICAgICA0ID0gNHRoIHN0ZXAgaW4gYm9yZGVyLXdpZHRoIHNjYWxlXG4gICAgIDUgPSA1dGggc3RlcCBpbiBib3JkZXItd2lkdGggc2NhbGVcblxuICAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgICAgLXMgPSBzbWFsbFxuICAgICAtbSAgPSBtZWRpdW1cbiAgICAgLWwgID0gbGFyZ2VcblxuKi9cblxuLmJ3ICB7IGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLDFweCk7IH1cbi5idzAgeyBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC0wLDApOyB9XG4uYncxIHsgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtMSwxcHgpOyB9XG4uYncyIHsgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtMiwycHgpOyB9XG4uYnczIHsgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtMyw0cHgpOyB9XG4uYnc0IHsgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtNCw4cHgpOyB9XG4uYnc1IHsgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtNSwxNnB4KTsgfVxuXG4vKiBSZXNldHMgKi9cbi5idC0wIHsgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxuLmJyLTAgeyBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH1cbi5iYi0wIHsgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxuLmJsLTAgeyBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6MzBlbSkge1xuICAuYnctcyAgeyBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aCwxcHgpOyB9XG4gIC5idzAtcyB7IGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLTAsMCk7IH1cbiAgLmJ3MS1zIHsgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtMSwxcHgpOyB9XG4gIC5idzItcyB7IGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLTIsMnB4KTsgfVxuICAuYnczLXMgeyBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC0zLDRweCk7IH1cbiAgLmJ3NC1zIHsgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtNCw4cHgpOyB9XG4gIC5idzUtcyB7IGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLTUsMTZweCk7IH1cbiAgLmJ0LTAtcyB7IGJvcmRlci10b3Atd2lkdGg6IDA7IH1cbiAgLmJyLTAtcyB7IGJvcmRlci1yaWdodC13aWR0aDogMDsgfVxuICAuYmItMC1zIHsgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxuICAuYmwtMC1zIHsgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjQ4ZW0pIHtcbiAgLmJ3LW0gIHsgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgsMXB4KTsgfVxuICAuYncwLW0geyBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC0wLDApOyB9XG4gIC5idzEtbSB7IGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLTEsMXB4KTsgfVxuICAuYncyLW0geyBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC0yLDJweCk7IH1cbiAgLmJ3My1tIHsgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtMyw0cHgpOyB9XG4gIC5idzQtbSB7IGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLTQsOHB4KTsgfVxuICAuYnc1LW0geyBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC01LDE2cHgpOyB9XG4gIC5idC0wLW0geyBib3JkZXItdG9wLXdpZHRoOiAwOyB9XG4gIC5ici0wLW0geyBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH1cbiAgLmJiLTAtbSB7IGJvcmRlci1ib3R0b20td2lkdGg6IDA7IH1cbiAgLmJsLTAtbSB7IGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG4gIC5idy1sICB7IGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLDFweCk7IH1cbiAgLmJ3MC1sIHsgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtMCwwKTsgfVxuICAuYncxLWwgeyBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC0xLDFweCk7IH1cbiAgLmJ3Mi1sIHsgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtMiwycHgpOyB9XG4gIC5idzMtbCB7IGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLTMsNHB4KTsgfVxuICAuYnc0LWwgeyBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC00LDhweCk7IH1cbiAgLmJ3NS1sIHsgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtNSwxNnB4KTsgfVxuICAuYnQtMC1sIHsgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxuICAuYnItMC1sIHsgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gIC5iYi0wLWwgeyBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XG4gIC5ibC0wLWwgeyBib3JkZXItbGVmdC13aWR0aDogMDsgfVxufVxuIiwiLypcblxuICBCT1gtU0hBRE9XXG4gIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL3RoZW1lcy9ib3gtc2hhZG93L1xuXG4gIFJFRlxuICBMYXllcmVkIHNoYWRvd3M6IGh0dHBzOi8vdG9iaWFzYWhsaW4uY29tL2Jsb2cvbGF5ZXJlZC1zbW9vdGgtYm94LXNoYWRvd3MvXG5cbiAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgIC1zID0gc21hbGxcbiAgIC1tICA9IG1lZGl1bVxuICAgLWwgID0gbGFyZ2VcblxuICovXG5cbi5zaGFkb3cgeyBcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LCBpbnNldCAwIDAgMXB4IDAgcmdiKHZhcigtLXNoYWRvdy1jb2xvciwgMCAwIDApIC8gdmFyKC0tc2hhZG93LW9wYWNpdHksIC41KSkpOyBcbn1cblxuLnNoYWRvdy1ob3Zlcjpob3Zlcixcbi5zaGFkb3ctaG92ZXI6Zm9jdXMgeyBcbiAgLS1zaGFkb3ctb3BhY2l0eTogLjY7XG59XG5cbi8qIFxuICogVE9ETzogcG90ZW50aWFsIHBhdHRlcm4gXG4gIC5zaGFkb3ctaG92ZXI6aG92ZXIge1xuICAgIC0tc2hhZG93LW9wYWNpdHk6IC4wOTtcbiAgICAtLXNoYWRvdy14OiAxcHg7XG4gICAgLS1zaGFkb3cteTogMXB4O1xuICAgIC0tc2hhZG93LWJsdXI6IDFweDtcbiAgICAtLXNoYWRvdy1zcHJlYWQ6IDFweDtcbiAgICAtLXNoYWRvdy1tdWx0aXBsaWVyOiAyO1xuICB9XG4qL1xuXG4vKiBCb3ggc2hhZG93IGJhc2VkIGJvcmRlcnMgKi9cbiBcbi5zaGFkb3ctYm9yZGVyLTEgeyBib3gtc2hhZG93OiBpbnNldCAwIDAgdmFyKC0tc2hhZG93LWJvcmRlci13aWR0aCwgMXB4KSAwIHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIHZhcigtLXNoYWRvdy1vcGFjaXR5LCAuMTI1KSk7IH1cbi5zaGFkb3ctYm9yZGVyLTIgeyBib3gtc2hhZG93OiBpbnNldCAwIDAgdmFyKC0tc2hhZG93LWJvcmRlci13aWR0aCwgMXB4KSAwIHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIHZhcigtLXNoYWRvdy1vcGFjaXR5LCAuMjUpKTsgfVxuLnNoYWRvdy1ib3JkZXItMyB7IGJveC1zaGFkb3c6IGluc2V0IDAgMCB2YXIoLS1zaGFkb3ctYm9yZGVyLXdpZHRoKSAwIGN1cnJlbnRDb2xvcjsgfVxuLnNoYWRvdy1ib3JkZXItNCB7IGJveC1zaGFkb3c6IGluc2V0IDAgMCAycHggMCByZ2IodmFyKC0tc2hhZG93LWNvbG9yLWxpZ2h0LCAyNTUgMjU1IDI1NSkgLyB2YXIoLS1zaGFkb3ctb3BhY2l0eSwgLjEyNSkpOyB9XG4uc2hhZG93LWJvcmRlci01IHsgYm94LXNoYWRvdzogaW5zZXQgMCAwIDJweCAwIHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIHZhcigtLXNoYWRvdy1vcGFjaXR5LCAuMTI1KSl9XG4uc2hhZG93LWJvcmRlci02IHsgYm94LXNoYWRvdzogaW5zZXQgMCAwIDJweCAwIGN1cnJlbnRDb2xvcjsgfVxuXG4uc2hhZG93LTEgeyBcbiAgYm94LXNoYWRvdzogXG4gICAgMCAxcHggMXB4IHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIHZhcigtLXNoYWRvdy1vcGFjaXR5LCAuMTI1KSksIFxuICAgIDAgMnB4IDJweCByZ2IodmFyKC0tc2hhZG93LWNvbG9yLCAwIDAgMCkgLyB2YXIoLS1zaGFkb3ctb3BhY2l0eSwgLjEyNSkpLCBcbiAgICAwIDRweCA0cHggcmdiKHZhcigtLXNoYWRvdy1jb2xvciwgMCAwIDApIC8gdmFyKC0tc2hhZG93LW9wYWNpdHksIC4xMjUpKSwgXG4gICAgMCA4cHggOHB4IHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIHZhcigtLXNoYWRvdy1vcGFjaXR5LCAuMTI1KSksIFxuICAgIDAgMTZweCAxNnB4IHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIHZhcigtLXNoYWRvdy1vcGFjaXR5LCAuMTI1KSk7IFxufVxuXG4uc2hhZG93LTIgeyAgXG4gIGJveC1zaGFkb3c6IFxuICAgIDAgMXB4IDFweCByZ2IodmFyKC0tc2hhZG93LWNvbG9yLCAwIDAgMCkgLyB2YXIoLS1zaGFkb3ctb3BhY2l0eSwgLjEyNSkpLCBcbiAgICAwIDJweCAycHggcmdiKHZhcigtLXNoYWRvdy1jb2xvciwgMCAwIDApIC8gdmFyKC0tc2hhZG93LW9wYWNpdHksIC4xMjUpKSwgXG4gICAgMCA0cHggNHB4IHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIHZhcigtLXNoYWRvdy1vcGFjaXR5LCAuMTI1KSksIFxuICAgIDAgOHB4IDhweCByZ2IodmFyKC0tc2hhZG93LWNvbG9yLCAwIDAgMCkgLyB2YXIoLS1zaGFkb3ctb3BhY2l0eSwgLjEyNSkpOyBcbn1cblxuLnNoYWRvdy0zIHsgIFxuICAtLXNoYWRvdy1vcGFjaXR5OiAuMTE7XG4gIGJveC1zaGFkb3c6IFxuICAgIDAgMXB4IDFweCByZ2IodmFyKC0tc2hhZG93LWNvbG9yLCAwIDAgMCkgLyB2YXIoLS1zaGFkb3ctb3BhY2l0eSwgLjExKSksXG4gICAgMCAycHggMnB4IHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIHZhcigtLXNoYWRvdy1vcGFjaXR5LCAuMTEpKSxcbiAgICAwIDRweCA0cHggcmdiKHZhcigtLXNoYWRvdy1jb2xvciwgMCAwIDApIC8gdmFyKC0tc2hhZG93LW9wYWNpdHksIC4xMSkpLFxuICAgIDAgOHB4IDhweCByZ2IodmFyKC0tc2hhZG93LWNvbG9yLCAwIDAgMCkgLyB2YXIoLS1zaGFkb3ctb3BhY2l0eSwgLjExKSksXG4gICAgMCAxNnB4IDE2cHggcmdiKHZhcigtLXNoYWRvdy1jb2xvciwgMCAwIDApIC8gdmFyKC0tc2hhZG93LW9wYWNpdHksIC4xMSkpLCBcbiAgICAwIDMycHggMzJweCByZ2IodmFyKC0tc2hhZG93LWNvbG9yLCAwIDAgMCkgLyB2YXIoLS1zaGFkb3ctb3BhY2l0eSwgLjExKSk7IFxufVxuXG4uc2hhZG93LTQgeyAgXG4gIC0tc2hhZG93LW9wYWNpdHk6IC4wNTtcbiAgYm94LXNoYWRvdzogXG4gICAgMCAxcHggMXB4IHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIGNhbGModmFyKC0tc2hhZG93LW9wYWNpdHksIDAuMjUpICogNSkpLCBcbiAgICAwIDJweCAycHggcmdiKHZhcigtLXNoYWRvdy1jb2xvciwgMCAwIDApIC8gY2FsYyh2YXIoLS1zaGFkb3ctb3BhY2l0eSwgMC4yMCkgKiA0KSksXG4gICAgMCA0cHggNHB4IHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIGNhbGModmFyKC0tc2hhZG93LW9wYWNpdHksIDAuMTUpICogMykpLCBcbiAgICAwIDhweCA4cHggcmdiKHZhcigtLXNoYWRvdy1jb2xvciwgMCAwIDApIC8gY2FsYyh2YXIoLS1zaGFkb3ctb3BhY2l0eSwgMC4xMCkgKiAyKSksIFxuICAgIDAgMTZweCAxNnB4IHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIHZhcigtLXNoYWRvdy1vcGFjaXR5LCAwLjA1KSk7IFxufVxuXG4uc2hhZG93LTUgeyAgXG4gIC0tc2hhZG93LW9wYWNpdHk6IC4wODtcbiAgYm94LXNoYWRvdzogXG4gICAgMCB2YXIoLS1zaGFkb3cteSkgMXB4IHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIGNhbGModmFyKC0tc2hhZG93LW9wYWNpdHksIDAuMDgpICogMSkpLCBcbiAgICAwIGNhbGModmFyKC0tc2hhZG93LXkpICogMikgMnB4IHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIGNhbGModmFyKC0tc2hhZG93LW9wYWNpdHksIDAuMTIpICogMS41KSksIFxuICAgIDAgY2FsYyh2YXIoLS1zaGFkb3cteSkgKiA0KSA0cHggcmdiKHZhcigtLXNoYWRvdy1jb2xvciwgMCAwIDApIC8gY2FsYyh2YXIoLS1zaGFkb3ctb3BhY2l0eSwgMC4xNikgKiAyKSksIFxuICAgIDAgY2FsYyh2YXIoLS1zaGFkb3cteSkgKiA4KSA4cHggcmdiKHZhcigtLXNoYWRvdy1jb2xvciwgMCAwIDApIC8gY2FsYyh2YXIoLS1zaGFkb3ctb3BhY2l0eSwgMC4yMCkgKiAyLjUpKTsgXG59XG5cbi5zaGFkb3ctNiB7ICBcbiAgLS1zaGFkb3ctb3BhY2l0eTogLjA3O1xuICBib3gtc2hhZG93OiBcbiAgICAwIDFweCAycHggcmdiKHZhcigtLXNoYWRvdy1jb2xvciwgMCAwIDApIC8gdmFyKC0tc2hhZG93LW9wYWNpdHksIDAuNykpLCBcbiAgICAwIDJweCA0cHggcmdiKHZhcigtLXNoYWRvdy1jb2xvciwgMCAwIDApIC8gdmFyKC0tc2hhZG93LW9wYWNpdHksIDAuNykpLCBcbiAgICAwIDRweCA4cHggcmdiKHZhcigtLXNoYWRvdy1jb2xvciwgMCAwIDApIC8gdmFyKC0tc2hhZG93LW9wYWNpdHksIDAuNykpLCBcbiAgICAwIDhweCAxNnB4IHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIHZhcigtLXNoYWRvdy1vcGFjaXR5LCAwLjcpKSwgXG4gICAgMCAxNnB4IDMycHggcmdiKHZhcigtLXNoYWRvdy1jb2xvciwgMCAwIDApIC8gdmFyKC0tc2hhZG93LW9wYWNpdHksIDAuNykpLCBcbiAgICAwIDMycHggNjRweCByZ2IodmFyKC0tc2hhZG93LWNvbG9yLCAwIDAgMCkgLyB2YXIoLS1zaGFkb3ctb3BhY2l0eSwgMC43KSk7IFxufVxuXG4uc2hhZG93LTcgeyAgXG4gIC0tc2hhZG93LW9wYWNpdHk6IC4xMTtcbiAgYm94LXNoYWRvdzogXG4gICAgMCAxcHggMXB4IHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIHZhcigtLXNoYWRvdy1vcGFjaXR5LCAwLjExKSksIFxuICAgIDAgMnB4IDJweCByZ2IodmFyKC0tc2hhZG93LWNvbG9yLCAwIDAgMCkgLyB2YXIoLS1zaGFkb3ctb3BhY2l0eSwgMC4xMSkpLCBcbiAgICAwIDRweCA0cHggcmdiKHZhcigtLXNoYWRvdy1jb2xvciwgMCAwIDApIC8gdmFyKC0tc2hhZG93LW9wYWNpdHksIDAuMTEpKSwgXG4gICAgMCA2cHggOHB4IHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIHZhcigtLXNoYWRvdy1vcGFjaXR5LCAwLjExKSksIFxuICAgIDAgOHB4IDE2cHggcmdiKHZhcigtLXNoYWRvdy1jb2xvciwgMCAwIDApIC8gdmFyKC0tc2hhZG93LW9wYWNpdHksIDAuMTEpKTsgXG59XG5cbi5zaGFkb3ctOCB7ICBcbiAgLS1zaGFkb3ctb3BhY2l0eTogLjA5O1xuICBib3gtc2hhZG93OiBcbiAgICAwIDJweCAxcHggcmdiKHZhcigtLXNoYWRvdy1jb2xvciwgMCAwIDApIC8gMC4wOSksIFxuICAgIDAgNHB4IDJweCByZ2IodmFyKC0tc2hhZG93LWNvbG9yLCAwIDAgMCkgLyAwLjA5KSwgXG4gICAgMCA4cHggNHB4IHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIDAuMDkpLCBcbiAgICAwIDE2cHggOHB4IHJnYih2YXIoLS1zaGFkb3ctY29sb3IsIDAgMCAwKSAvIDAuMDkpLCBcbiAgICAwIDMycHggMTZweCByZ2IodmFyKC0tc2hhZG93LWNvbG9yLCAwIDAgMCkgLyAwLjA5KTsgXG59XG4iLCIvKlxuXG4gIFRFWFQtU0hBRE9XXG4gIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL3RoZW1lcy90ZXh0LXNoYWRvdy9cblxuICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgLXMgPSBzbWFsbFxuICAgLW0gID0gbWVkaXVtXG4gICAtbCAgPSBsYXJnZVxuXG4gKi9cblxuLnRleHQtc2hhZG93LTEgeyB0ZXh0LXNoYWRvdzogcmdiKHZhcigtLXNoYWRvdy1jb2xvcikpIC00cHggNHB4IDBweDsgfVxuLnRleHQtc2hhZG93LTIgeyB0ZXh0LXNoYWRvdzogcmdiKHZhcigtLXNoYWRvdy1jb2xvcikpIC04cHggOHB4IDBweDsgfVxuLnRleHQtc2hhZG93LTMgeyB0ZXh0LXNoYWRvdzogcmdiKHZhcigtLXNoYWRvdy1jb2xvcikgLyB2YXIoLS1zaGFkb3ctb3BhY2l0eSAsLjUpKSAtOHB4IDhweCAwcHg7IH1cbi50ZXh0LXNoYWRvdy00IHsgdGV4dC1zaGFkb3c6IHJnYmEodmFyKC0tc2hhZG93LWNvbG9yKSAvIHZhcigtLXNoYWRvdy1vcGFjaXR5LCAuNSkpIC00cHggNHB4IDhweDsgfVxuLnRleHQtc2hhZG93LTUgeyB0ZXh0LXNoYWRvdzogcmdiKHZhcigtLXNoYWRvdy1jb2xvcikpIDJweCAwcHggMHB4LCByZ2IodmFyKC0tc2hhZG93LWNvbG9yKSkgMHB4IDJweCAwcHgsIHJnYih2YXIoLS1zaGFkb3ctY29sb3IpKSAtMnB4IDBweCAwcHgsIHJnYih2YXIoLS1zaGFkb3ctY29sb3IpKSAwcHggLTJweCAwcHgsIHJnYih2YXIoLS1zaGFkb3ctY29sb3IpKSAtMnB4IC0ycHggMHB4LCByZ2IodmFyKC0tc2hhZG93LWNvbG9yKSkgMnB4IC0ycHggMHB4LCByZ2IodmFyKC0tc2hhZG93LWNvbG9yKSkgMnB4IDJweCAwcHgsIHJnYih2YXIoLS1zaGFkb3ctY29sb3IpKSAtMnB4IDJweCAwcHg7IH1cbi50ZXh0LXNoYWRvdy02IHsgdGV4dC1zaGFkb3c6IHJnYih2YXIoLS1zaGFkb3ctY29sb3ItaW52ZXJ0KSkgMnB4IDBweCAwcHgsIHJnYih2YXIoLS1zaGFkb3ctY29sb3ItaW52ZXJ0KSkgMHB4IDJweCAwcHgsIHJnYih2YXIoLS1zaGFkb3ctY29sb3ItaW52ZXJ0KSkgLTJweCAwcHggMHB4LCByZ2IodmFyKC0tc2hhZG93LWNvbG9yLWludmVydCkpIDBweCAtMnB4IDBweCwgcmdiKHZhcigtLXNoYWRvdy1jb2xvci1pbnZlcnQpKSAtMnB4IC0ycHggMHB4LCByZ2IodmFyKC0tc2hhZG93LWNvbG9yLWludmVydCkpIDJweCAtMnB4IDBweCwgcmdiKHZhcigtLXNoYWRvdy1jb2xvci1pbnZlcnQpKSAycHggMnB4IDBweCwgcmdiKHZhcigtLXNoYWRvdy1jb2xvci1pbnZlcnQpKSAtMnB4IDJweCAwcHg7IH1cblxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6MzBlbSkge1xuXG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG5cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcblxufVxuXG4iLCIvKlxuXG4gICBDT0RFXG5cbiovXG5cbi5wcmUge1xuICBtYXgtd2lkdGg6IDEwMCU7IFxuICBvdmVyZmxvdzogICBhdXRvO1xufVxuIiwiLypcblxuICAgQ09PUkRJTkFURVNcbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL2xheW91dC9wb3NpdGlvbi9cblxuICAgVXNlIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIHBvc2l0aW9uIG1vZHVsZS5cblxuICAgQmFzZTpcbiAgICAgdG9wXG4gICAgIGJvdHRvbVxuICAgICByaWdodFxuICAgICBsZWZ0XG5cbiAgIE1vZGlmaWVyczpcbiAgICAgLTAgID0gbGl0ZXJhbCB2YWx1ZSAwXG4gICAgIC0xICA9IGxpdGVyYWwgdmFsdWUgMVxuICAgICAtMiAgPSBsaXRlcmFsIHZhbHVlIDJcbiAgICAgLS0xID0gbGl0ZXJhbCB2YWx1ZSAtMVxuICAgICAtLTIgPSBsaXRlcmFsIHZhbHVlIC0yXG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1zID0gc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi50b3AtMCAgICB7IHRvcDogICAgMDsgfVxuLnJpZ2h0LTAgIHsgcmlnaHQ6ICAwOyB9XG4uYm90dG9tLTAgeyBib3R0b206IDA7IH1cbi5sZWZ0LTAgICB7IGxlZnQ6ICAgMDsgfVxuXG4udG9wLTEgICAgeyB0b3A6ICAgIHZhcigtLXNpemUsIDFyZW0pOyB9XG4ucmlnaHQtMSAgeyByaWdodDogIHZhcigtLXNpemUsIDFyZW0pOyB9XG4uYm90dG9tLTEgeyBib3R0b206IHZhcigtLXNpemUsIDFyZW0pOyB9XG4ubGVmdC0xICAgeyBsZWZ0OiAgIHZhcigtLXNpemUsIDFyZW0pOyB9XG5cbi50b3AtMiAgICB7IHRvcDogICAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIDIpOyB9XG4ucmlnaHQtMiAgeyByaWdodDogIGNhbGModmFyKC0tc2l6ZSwgMXJlbSkgKiAyKTsgfVxuLmJvdHRvbS0yIHsgYm90dG9tOiBjYWxjKHZhcigtLXNpemUsIDFyZW0pICogMik7IH1cbi5sZWZ0LTIgICB7IGxlZnQ6ICAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIDIpOyB9XG5cbi50b3AtLTEgICAgeyB0b3A6ICAgIGNhbGModmFyKC0tc2l6ZSwgMXJlbSkgKiAtMSk7IH1cbi5yaWdodC0tMSAgeyByaWdodDogIGNhbGModmFyKC0tc2l6ZSwgMXJlbSkgKiAtMSk7IH1cbi5ib3R0b20tLTEgeyBib3R0b206IGNhbGModmFyKC0tc2l6ZSwgMXJlbSkgKiAtMSk7IH1cbi5sZWZ0LS0xICAgeyBsZWZ0OiAgIGNhbGModmFyKC0tc2l6ZSwgMXJlbSkgKiAtMSk7IH1cblxuLnRvcC0tMiAgICB7IHRvcDogICAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIC0yKTsgfVxuLnJpZ2h0LS0yICB7IHJpZ2h0OiAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIC0yKTsgfVxuLmJvdHRvbS0tMiB7IGJvdHRvbTogY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIC0yKTsgfVxuLmxlZnQtLTIgICB7IGxlZnQ6ICAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIC0yKTsgfVxuXG4uaW5zZXQtMCB7IGluc2V0OiAwOyB9XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDozMGVtKSB7XG4gIC50b3AtMC1zICAgICB7IHRvcDogICAwOyB9XG4gIC5sZWZ0LTAtcyAgICB7IGxlZnQ6ICAwOyB9XG4gIC5yaWdodC0wLXMgICB7IHJpZ2h0OiAwOyB9XG4gIC5ib3R0b20tMC1zICB7IGJvdHRvbTogMDsgfVxuICAudG9wLTEtcyAgICAgeyB0b3A6ICAgIHZhcigtLXNpemUsIDFyZW0pOyB9XG4gIC5sZWZ0LTEtcyAgICB7IGxlZnQ6ICAgdmFyKC0tc2l6ZSwgMXJlbSk7IH1cbiAgLnJpZ2h0LTEtcyAgIHsgcmlnaHQ6ICB2YXIoLS1zaXplLCAxcmVtKTsgfVxuICAuYm90dG9tLTEtcyAgeyBib3R0b206IHZhcigtLXNpemUsIDFyZW0pOyB9XG4gIC50b3AtMi1zICAgICB7IHRvcDogICAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIDIpOyB9XG4gIC5sZWZ0LTItcyAgICB7IGxlZnQ6ICAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIDIpOyB9XG4gIC5yaWdodC0yLXMgICB7IHJpZ2h0OiAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIDIpOyB9XG4gIC5ib3R0b20tMi1zICB7IGJvdHRvbTogY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIDIpOyB9XG4gIC50b3AtLTEtcyAgICB7IHRvcDogICAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIC0xKTsgfVxuICAucmlnaHQtLTEtcyAgeyByaWdodDogIGNhbGModmFyKC0tc2l6ZSwgMXJlbSkgKiAtMSk7IH1cbiAgLmJvdHRvbS0tMS1zIHsgYm90dG9tOiBjYWxjKHZhcigtLXNpemUsIDFyZW0pICogLTEpOyB9XG4gIC5sZWZ0LS0xLXMgICB7IGxlZnQ6ICAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIC0xKTsgfVxuICAudG9wLS0yLXMgICAgeyB0b3A6ICAgIGNhbGModmFyKC0tc2l6ZSwgMXJlbSkgKiAtMik7IH1cbiAgLnJpZ2h0LS0yLXMgIHsgcmlnaHQ6ICBjYWxjKHZhcigtLXNpemUsIDFyZW0pICogLTIpOyB9XG4gIC5ib3R0b20tLTItcyB7IGJvdHRvbTogY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIC0yKTsgfVxuICAubGVmdC0tMi1zICAgeyBsZWZ0OiAgIGNhbGModmFyKC0tc2l6ZSwgMXJlbSkgKiAtMik7IH1cbiAgLmluc2V0LTAtcyB7IGluc2V0OiAwOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG4gIC50b3AtMC1tICAgICB7IHRvcDogICAwOyB9XG4gIC5sZWZ0LTAtbSAgICB7IGxlZnQ6ICAwOyB9XG4gIC5yaWdodC0wLW0gICB7IHJpZ2h0OiAwOyB9XG4gIC5ib3R0b20tMC1tICB7IGJvdHRvbTogMDsgfVxuICAudG9wLTEtbSAgICAgeyB0b3A6ICAgIHZhcigtLXNpemUsIDFyZW0pOyB9XG4gIC5sZWZ0LTEtbSAgICB7IGxlZnQ6ICAgdmFyKC0tc2l6ZSwgMXJlbSk7IH1cbiAgLnJpZ2h0LTEtbSAgIHsgcmlnaHQ6ICB2YXIoLS1zaXplLCAxcmVtKTsgfVxuICAuYm90dG9tLTEtbSAgeyBib3R0b206IHZhcigtLXNpemUsIDFyZW0pOyB9XG4gIC50b3AtMi1tICAgICB7IHRvcDogICAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIDIpOyB9XG4gIC5sZWZ0LTItbSAgICB7IGxlZnQ6ICAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIDIpOyB9XG4gIC5yaWdodC0yLW0gICB7IHJpZ2h0OiAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIDIpOyB9XG4gIC5ib3R0b20tMi1tICB7IGJvdHRvbTogY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIDIpOyB9XG4gIC50b3AtLTEtbSAgICB7IHRvcDogICAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIC0xKTsgfVxuICAucmlnaHQtLTEtbSAgeyByaWdodDogIGNhbGModmFyKC0tc2l6ZSwgMXJlbSkgKiAtMSk7IH1cbiAgLmJvdHRvbS0tMS1tIHsgYm90dG9tOiBjYWxjKHZhcigtLXNpemUsIDFyZW0pICogLTEpOyB9XG4gIC5sZWZ0LS0xLW0gICB7IGxlZnQ6ICAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIC0xKTsgfVxuICAudG9wLS0yLW0gICAgeyB0b3A6ICAgIGNhbGModmFyKC0tc2l6ZSwgMXJlbSkgKiAtMik7IH1cbiAgLnJpZ2h0LS0yLW0gIHsgcmlnaHQ6ICBjYWxjKHZhcigtLXNpemUsIDFyZW0pICogLTIpOyB9XG4gIC5ib3R0b20tLTItbSB7IGJvdHRvbTogY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIC0yKTsgfVxuICAubGVmdC0tMi1tICAgeyBsZWZ0OiAgIGNhbGModmFyKC0tc2l6ZSwgMXJlbSkgKiAtMik7IH1cbiAgLmluc2V0LTAtbSB7IGluc2V0OiAwOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG4gIC50b3AtMC1sICAgICB7IHRvcDogICAwOyB9XG4gIC5sZWZ0LTAtbCAgICB7IGxlZnQ6ICAwOyB9XG4gIC5yaWdodC0wLWwgICB7IHJpZ2h0OiAwOyB9XG4gIC5ib3R0b20tMC1sICB7IGJvdHRvbTogMDsgfVxuICAudG9wLTEtbCAgICAgeyB0b3A6ICAgIHZhcigtLXNpemUsIDFyZW0pOyB9XG4gIC5sZWZ0LTEtbCAgICB7IGxlZnQ6ICAgdmFyKC0tc2l6ZSwgMXJlbSk7IH1cbiAgLnJpZ2h0LTEtbCAgIHsgcmlnaHQ6ICB2YXIoLS1zaXplLCAxcmVtKTsgfVxuICAuYm90dG9tLTEtbCAgeyBib3R0b206IHZhcigtLXNpemUsIDFyZW0pOyB9XG4gIC50b3AtMi1sICAgICB7IHRvcDogICAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIDIpOyB9XG4gIC5sZWZ0LTItbCAgICB7IGxlZnQ6ICAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIDIpOyB9XG4gIC5yaWdodC0yLWwgICB7IHJpZ2h0OiAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIDIpOyB9XG4gIC5ib3R0b20tMi1sICB7IGJvdHRvbTogY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIDIpOyB9XG4gIC50b3AtLTEtbCAgICB7IHRvcDogICAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIC0xKTsgfVxuICAucmlnaHQtLTEtbCAgeyByaWdodDogIGNhbGModmFyKC0tc2l6ZSwgMXJlbSkgKiAtMSk7IH1cbiAgLmJvdHRvbS0tMS1sIHsgYm90dG9tOiBjYWxjKHZhcigtLXNpemUsIDFyZW0pICogLTEpOyB9XG4gIC5sZWZ0LS0xLWwgICB7IGxlZnQ6ICAgY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIC0xKTsgfVxuICAudG9wLS0yLWwgICAgeyB0b3A6ICAgIGNhbGModmFyKC0tc2l6ZSwgMXJlbSkgKiAtMik7IH1cbiAgLnJpZ2h0LS0yLWwgIHsgcmlnaHQ6ICBjYWxjKHZhcigtLXNpemUsIDFyZW0pICogLTIpOyB9XG4gIC5ib3R0b20tLTItbCB7IGJvdHRvbTogY2FsYyh2YXIoLS1zaXplLCAxcmVtKSAqIC0yKTsgfVxuICAubGVmdC0tMi1sICAgeyBsZWZ0OiAgIGNhbGModmFyKC0tc2l6ZSwgMXJlbSkgKiAtMik7IH1cbiAgLmluc2V0LTAtbCB7IGluc2V0OiAwOyB9XG59XG4iLCIvKlxuXG4gICBDTEVBUkZJWFxuICAgaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvbGF5b3V0L2NsZWFyZml4L1xuXG4qL1xuXG4vKiBOaWNvbGFzIEdhbGxhZ2hlcnMgQ2xlYXJmaXggc29sdXRpb25cbiAgIFJlZjogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svICovXG5cbi5jZjpiZWZvcmUsXG4uY2Y6YWZ0ZXIgeyBjb250ZW50OiBcIiBcIjsgZGlzcGxheTogdGFibGU7IH1cbi5jZjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi5jbCB7IGNsZWFyOiBsZWZ0OyB9XG4uY3IgeyBjbGVhcjogcmlnaHQ7IH1cbi5jYiB7IGNsZWFyOiBib3RoOyB9XG4uY24geyBjbGVhcjogbm9uZTsgfVxuIiwiLypcblxuICAgRElTUExBWVxuICAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvbGF5b3V0L2Rpc3BsYXlcblxuICAgQmFzZTpcbiAgICBkID0gZGlzcGxheVxuXG4gICBNb2RpZmllcnM6XG4gICAgbiAgICAgPSBub25lXG4gICAgYiAgICAgPSBibG9ja1xuICAgIGliICAgID0gaW5saW5lLWJsb2NrXG4gICAgaWYgICAgPSBpbmxpbmUtZmxleFxuICAgIGlnICAgID0gaW5saW5lLWdyaWRcbiAgICBmICAgID0gZmxleFxuICAgIGcgICAgPSBncmlkXG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1zID0gc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi5kbiB7ICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbi5kaSB7ICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuLmRiIHsgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbi5kaWIgeyAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuLmRmLCAuZmxleCB7ICAgICAgICAgZGlzcGxheTogZmxleDsgfVxuLmRpZiwgLmlubGluZS1mbGV4IHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbi5kZyxcbi5ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuLmRpZyxcbi5pbmxpbmUtZ3JpZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ncmlkO1xufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6MzBlbSkge1xuICAuZG4tcyB7ICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmRpLXMgeyAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLmRiLXMgeyAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZGliLXMgeyAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZGYtcywgLmZsZXgtcyB7ICAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAuZGlmLXMsIC5pbmxpbmUtZmxleC1zIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgLmRnLXMsXG4gIC5ncmlkLXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gIH1cblxuICAuZGlnLXMsXG4gIC5pbmxpbmUtZ3JpZC1zIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgfVxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NDhlbSkge1xuXG4gIC5kbi1tIHsgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuZGktbSB7ICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAuZGItbSB7ICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kaWItbSB7ICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5kZi1tLCAuZmxleC1tIHsgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5kaWYtbSwgLmlubGluZS1mbGV4LW0geyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAuZGctbSxcbiAgLmdyaWQtbSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgfVxuXG4gIC5kaWctbSxcbiAgLmlubGluZS1ncmlkLW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG4gIC5kbi1sIHsgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuZGktbCB7ICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAuZGItbCB7ICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kaWItbCB7ICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5kZi1sLCAuZmxleC1sIHsgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5kaWYtbCwgLmlubGluZS1mbGV4LWwgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAuZGctbCxcbiAgLmdyaWQtbCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgfVxuXG4gIC5kaWctbCxcbiAgLmlubGluZS1ncmlkLWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICB9XG59XG5cbiIsIi5nbGFzczEge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICBib3gtc2hhZG93OiAwIDRweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuXG4uZ2xhc3MyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbiAgYm94LXNoYWRvdzogMCA0cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cblxuLmdsYXNzMyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG5cbi5nbGFzczQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICBib3gtc2hhZG93OiAwIDRweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuXG4uZ2xhc3M1IHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgYm94LXNoYWRvdzogMCA0cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNnB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cblxuLmdsYXNzNiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTZweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG5cbi5nbGFzczcge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICBib3gtc2hhZG93OiAwIDRweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE2cHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuXG4uZ2xhc3M4IHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgYm94LXNoYWRvdzogMCA0cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNnB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cblxuLmdsYXNzOSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuXG4uZ2xhc3MxMCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuXG4uZ2xhc3MxLWhvdmVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgYm94LXNoYWRvdzogMCA0cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cblxuLmdsYXNzMi1ob3Zlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG5cbi5nbGFzczMtaG92ZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICBib3gtc2hhZG93OiAwIDRweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuXG4uZ2xhc3M0LWhvdmVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgYm94LXNoYWRvdzogMCA0cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cblxuLmdsYXNzNS1ob3Zlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTZweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG5cbi5nbGFzczYtaG92ZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuICBib3gtc2hhZG93OiAwIDRweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE2cHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuXG4uZ2xhc3M3LWhvdmVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgYm94LXNoYWRvdzogMCA0cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNnB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cblxuLmdsYXNzOC1ob3Zlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTZweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG5cbi5nbGFzczktaG92ZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICBib3gtc2hhZG93OiAwIDRweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cblxuLmdsYXNzMTAtaG92ZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICBib3gtc2hhZG93OiAwIDRweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cblxuLmdsYXNzMS1mb2N1czpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG5cbi5nbGFzczItZm9jdXM6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuICBib3gtc2hhZG93OiAwIDRweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuXG4uZ2xhc3MzLWZvY3VzOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgYm94LXNoYWRvdzogMCA0cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cblxuLmdsYXNzNC1mb2N1czpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG5cbi5nbGFzczUtZm9jdXM6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICBib3gtc2hhZG93OiAwIDRweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE2cHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuXG4uZ2xhc3M2LWZvY3VzOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbiAgYm94LXNoYWRvdzogMCA0cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNnB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cblxuLmdsYXNzNy1mb2N1czpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTZweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG5cbi5nbGFzczgtZm9jdXM6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICBib3gtc2hhZG93OiAwIDRweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE2cHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuXG4uZ2xhc3M5LWZvY3VzOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgYm94LXNoYWRvdzogMCA0cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG5cbi5nbGFzczEwLWZvY3VzOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgYm94LXNoYWRvdzogMCA0cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG4iLCIvKlxuICAgR0FQOiBHUklEIEFORCBGTEVYIFNQQUNJTkdcbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL2xheW91dC9nYXAvXG5cbiAgIEJhc2U6XG4gICAgIGcgPSBnYXBcblxuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtcyA9IHNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG5cbi5nMCB7IGdhcDogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuLmcxIHsgZ2FwOiB2YXIoLS1zcGFjaW5nLTEsIDRweCk7IH1cbi5nMiB7IGdhcDogdmFyKC0tc3BhY2luZy0yLCA4cHgpOyB9XG4uZzMgeyBnYXA6IHZhcigtLXNwYWNpbmctMywgMTZweCk7IH1cbi5nNCB7IGdhcDogdmFyKC0tc3BhY2luZy00LCAzMnB4KTsgfVxuLmc1IHsgZ2FwOiB2YXIoLS1zcGFjaW5nLTUsIDY0cHgpOyB9XG4uZzYgeyBnYXA6IHZhcigtLXNwYWNpbmctNiwgMTI4cHgpOyB9XG4uZzcgeyBnYXA6IHZhcigtLXNwYWNpbmctNywgMjU2cHgpOyB9XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDozMGVtKSB7XG4gIC5nMC1zIHsgZ2FwOiB2YXIoLS1zcGFjaW5nLTAsIDApOyB9XG4gIC5nMS1zIHsgZ2FwOiB2YXIoLS1zcGFjaW5nLTEsIDRweCk7IH1cbiAgLmcyLXMgeyBnYXA6IHZhcigtLXNwYWNpbmctMiwgOHB4KTsgfVxuICAuZzMtcyB7IGdhcDogdmFyKC0tc3BhY2luZy0zLCAxNnB4KTsgfVxuICAuZzQtcyB7IGdhcDogdmFyKC0tc3BhY2luZy00LCAzMnB4KTsgfVxuICAuZzUtcyB7IGdhcDogdmFyKC0tc3BhY2luZy01LCA2NHB4KTsgfVxuICAuZzYtcyB7IGdhcDogdmFyKC0tc3BhY2luZy02LCAxMjhweCk7IH1cbiAgLmc3LXMgeyBnYXA6IHZhcigtLXNwYWNpbmctNywgMjU2cHgpOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG4gIC5nMC1tIHsgZ2FwOiB2YXIoLS1zcGFjaW5nLTAsIDApOyB9XG4gIC5nMS1tIHsgZ2FwOiB2YXIoLS1zcGFjaW5nLTEsIDRweCk7IH1cbiAgLmcyLW0geyBnYXA6IHZhcigtLXNwYWNpbmctMiwgOHB4KTsgfVxuICAuZzMtbSB7IGdhcDogdmFyKC0tc3BhY2luZy0zLCAxNnB4KTsgfVxuICAuZzQtbSB7IGdhcDogdmFyKC0tc3BhY2luZy00LCAzMnB4KTsgfVxuICAuZzUtbSB7IGdhcDogdmFyKC0tc3BhY2luZy01LCA2NHB4KTsgfVxuICAuZzYtbSB7IGdhcDogdmFyKC0tc3BhY2luZy02LCAxMjhweCk7IH1cbiAgLmc3LW0geyBnYXA6IHZhcigtLXNwYWNpbmctNywgMjU2cHgpOyB9XG59XG5cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLmcwLWwgeyBnYXA6IHZhcigtLXNwYWNpbmctMCk7IH1cbiAgLmcxLWwgeyBnYXA6IHZhcigtLXNwYWNpbmctMSk7IH1cbiAgLmcyLWwgeyBnYXA6IHZhcigtLXNwYWNpbmctMik7IH1cbiAgLmczLWwgeyBnYXA6IHZhcigtLXNwYWNpbmctMyk7IH1cbiAgLmc0LWwgeyBnYXA6IHZhcigtLXNwYWNpbmctNCk7IH1cbiAgLmc1LWwgeyBnYXA6IHZhcigtLXNwYWNpbmctNSk7IH1cbiAgLmc2LWwgeyBnYXA6IHZhcigtLXNwYWNpbmctNik7IH1cbiAgLmc3LWwgeyBnYXA6IHZhcigtLXNwYWNpbmctNyk7IH1cbn1cblxuIiwiLypcbiAgIEdBUDogR1JJRCBBTkQgRkxFWCBTUEFDSU5HXG4gICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy9sYXlvdXQvZ2FwL1xuXG4gICBCYXNlOlxuICAgICBnID0gZ2FwXG5cblxuICAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgICAgLXMgPSBzbWFsbFxuICAgICAtbSAgPSBtZWRpdW1cbiAgICAgLWwgID0gbGFyZ2VcblxuKi9cblxuXG4uY29sdW1uLWdhcC0wIHsgY29sdW1uLWdhcDogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuLmNvbHVtbi1nYXAtMSB7IGNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctMSwgNHB4KTsgfVxuLmNvbHVtbi1nYXAtMiB7IGNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctMiwgOHB4KTsgfVxuLmNvbHVtbi1nYXAtMyB7IGNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctMywgMTZweCk7IH1cbi5jb2x1bW4tZ2FwLTQgeyBjb2x1bW4tZ2FwOiB2YXIoLS1zcGFjaW5nLTQsIDMycHgpOyB9XG4uY29sdW1uLWdhcC01IHsgY29sdW1uLWdhcDogdmFyKC0tc3BhY2luZy01LCA2NHB4KTsgfVxuLmNvbHVtbi1nYXAtNiB7IGNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctNiwgMTI4cHgpOyB9XG4uY29sdW1uLWdhcC03IHsgY29sdW1uLWdhcDogdmFyKC0tc3BhY2luZy03LCAyNTZweCk7IH1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgLmNvbHVtbi1nYXAtMC1zIHsgY29sdW1uLWdhcDogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuICAuY29sdW1uLWdhcC0xLXMgeyBjb2x1bW4tZ2FwOiB2YXIoLS1zcGFjaW5nLTEsIDRweCk7IH1cbiAgLmNvbHVtbi1nYXAtMi1zIHsgY29sdW1uLWdhcDogdmFyKC0tc3BhY2luZy0yLCA4cHgpOyB9XG4gIC5jb2x1bW4tZ2FwLTMtcyB7IGNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctMywgMTZweCk7IH1cbiAgLmNvbHVtbi1nYXAtNC1zIHsgY29sdW1uLWdhcDogdmFyKC0tc3BhY2luZy00LCAzMnB4KTsgfVxuICAuY29sdW1uLWdhcC01LXMgeyBjb2x1bW4tZ2FwOiB2YXIoLS1zcGFjaW5nLTUsIDY0cHgpOyB9XG4gIC5jb2x1bW4tZ2FwLTYtcyB7IGNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctNiwgMTI4cHgpOyB9XG4gIC5jb2x1bW4tZ2FwLTctcyB7IGNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctNywgMjU2cHgpOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG4gIC5jb2x1bW4tZ2FwLTAtbSB7IGNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctMCwgMCk7IH1cbiAgLmNvbHVtbi1nYXAtMS1tIHsgY29sdW1uLWdhcDogdmFyKC0tc3BhY2luZy0xLCA0cHgpOyB9XG4gIC5jb2x1bW4tZ2FwLTItbSB7IGNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctMiwgOHB4KTsgfVxuICAuY29sdW1uLWdhcC0zLW0geyBjb2x1bW4tZ2FwOiB2YXIoLS1zcGFjaW5nLTMsIDE2cHgpOyB9XG4gIC5jb2x1bW4tZ2FwLTQtbSB7IGNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctNCwgMzJweCk7IH1cbiAgLmNvbHVtbi1nYXAtNS1tIHsgY29sdW1uLWdhcDogdmFyKC0tc3BhY2luZy01LCA2NHB4KTsgfVxuICAuY29sdW1uLWdhcC02LW0geyBjb2x1bW4tZ2FwOiB2YXIoLS1zcGFjaW5nLTYsIDEyOHB4KTsgfVxuICAuY29sdW1uLWdhcC03LW0geyBjb2x1bW4tZ2FwOiB2YXIoLS1zcGFjaW5nLTcsIDI1NnB4KTsgfVxufVxuXG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG4gIC5jb2x1bW4tZ2FwLTAtbCB7IGNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctMCk7IH1cbiAgLmNvbHVtbi1nYXAtMS1sIHsgY29sdW1uLWdhcDogdmFyKC0tc3BhY2luZy0xKTsgfVxuICAuY29sdW1uLWdhcC0yLWwgeyBjb2x1bW4tZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOyB9XG4gIC5jb2x1bW4tZ2FwLTMtbCB7IGNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctMyk7IH1cbiAgLmNvbHVtbi1nYXAtNC1sIHsgY29sdW1uLWdhcDogdmFyKC0tc3BhY2luZy00KTsgfVxuICAuY29sdW1uLWdhcC01LWwgeyBjb2x1bW4tZ2FwOiB2YXIoLS1zcGFjaW5nLTUpOyB9XG4gIC5jb2x1bW4tZ2FwLTYtbCB7IGNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctNik7IH1cbiAgLmNvbHVtbi1nYXAtNy1sIHsgY29sdW1uLWdhcDogdmFyKC0tc3BhY2luZy03KTsgfVxufVxuXG4iLCIvKlxuICAgR0FQOiBHUklEIEFORCBGTEVYIFNQQUNJTkdcbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL2xheW91dC9nYXAvXG5cbiAgIEJhc2U6XG4gICAgIGcgPSBnYXBcblxuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtcyA9IHNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG5cbi5yb3ctZ2FwLTAgeyByb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLTAsIDApOyB9XG4ucm93LWdhcC0xIHsgcm93LWdhcDogdmFyKC0tc3BhY2luZy0xLCA0cHgpOyB9XG4ucm93LWdhcC0yIHsgcm93LWdhcDogdmFyKC0tc3BhY2luZy0yLCA4cHgpOyB9XG4ucm93LWdhcC0zIHsgcm93LWdhcDogdmFyKC0tc3BhY2luZy0zLCAxNnB4KTsgfVxuLnJvdy1nYXAtNCB7IHJvdy1nYXA6IHZhcigtLXNwYWNpbmctNCwgMzJweCk7IH1cbi5yb3ctZ2FwLTUgeyByb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLTUsIDY0cHgpOyB9XG4ucm93LWdhcC02IHsgcm93LWdhcDogdmFyKC0tc3BhY2luZy02LCAxMjhweCk7IH1cbi5yb3ctZ2FwLTcgeyByb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLTcsIDI1NnB4KTsgfVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6MzBlbSkge1xuICAucm93LWdhcC0wLXMgeyByb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLTAsIDApOyB9XG4gIC5yb3ctZ2FwLTEtcyB7IHJvdy1nYXA6IHZhcigtLXNwYWNpbmctMSwgNHB4KTsgfVxuICAucm93LWdhcC0yLXMgeyByb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLTIsIDhweCk7IH1cbiAgLnJvdy1nYXAtMy1zIHsgcm93LWdhcDogdmFyKC0tc3BhY2luZy0zLCAxNnB4KTsgfVxuICAucm93LWdhcC00LXMgeyByb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLTQsIDMycHgpOyB9XG4gIC5yb3ctZ2FwLTUtcyB7IHJvdy1nYXA6IHZhcigtLXNwYWNpbmctNSwgNjRweCk7IH1cbiAgLnJvdy1nYXAtNi1zIHsgcm93LWdhcDogdmFyKC0tc3BhY2luZy02LCAxMjhweCk7IH1cbiAgLnJvdy1nYXAtNy1zIHsgcm93LWdhcDogdmFyKC0tc3BhY2luZy03LCAyNTZweCk7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjQ4ZW0pIHtcbiAgLnJvdy1nYXAtMC1tIHsgcm93LWdhcDogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuICAucm93LWdhcC0xLW0geyByb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLTEsIDRweCk7IH1cbiAgLnJvdy1nYXAtMi1tIHsgcm93LWdhcDogdmFyKC0tc3BhY2luZy0yLCA4cHgpOyB9XG4gIC5yb3ctZ2FwLTMtbSB7IHJvdy1nYXA6IHZhcigtLXNwYWNpbmctMywgMTZweCk7IH1cbiAgLnJvdy1nYXAtNC1tIHsgcm93LWdhcDogdmFyKC0tc3BhY2luZy00LCAzMnB4KTsgfVxuICAucm93LWdhcC01LW0geyByb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLTUsIDY0cHgpOyB9XG4gIC5yb3ctZ2FwLTYtbSB7IHJvdy1nYXA6IHZhcigtLXNwYWNpbmctNiwgMTI4cHgpOyB9XG4gIC5yb3ctZ2FwLTctbSB7IHJvdy1nYXA6IHZhcigtLXNwYWNpbmctNywgMjU2cHgpOyB9XG59XG5cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLnJvdy1nYXAtMC1sIHsgcm93LWdhcDogdmFyKC0tc3BhY2luZy0wKTsgfVxuICAucm93LWdhcC0xLWwgeyByb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLTEpOyB9XG4gIC5yb3ctZ2FwLTItbCB7IHJvdy1nYXA6IHZhcigtLXNwYWNpbmctMik7IH1cbiAgLnJvdy1nYXAtMy1sIHsgcm93LWdhcDogdmFyKC0tc3BhY2luZy0zKTsgfVxuICAucm93LWdhcC00LWwgeyByb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOyB9XG4gIC5yb3ctZ2FwLTUtbCB7IHJvdy1nYXA6IHZhcigtLXNwYWNpbmctNSk7IH1cbiAgLnJvdy1nYXAtNi1sIHsgcm93LWdhcDogdmFyKC0tc3BhY2luZy02KTsgfVxuICAucm93LWdhcC03LWwgeyByb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLTcpOyB9XG59XG5cbiIsIi8qXG5cbiAgR3JpZCBUZW1wbGF0ZSBDb2x1bW5zXG4gIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL2xheW91dC9ncmlkLXRlbXBsYXRlLWNvbHVtbnMvXG5cbiAgQmFzZTogXG4gIGNvbHMgPSBjb2x1bW5zXG5cbiovXG5cbi5jb2xzLTEgIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKSB9XG4uY29scy0yICB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcikgfVxuLmNvbHMtMyAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpIH1cbi5jb2xzLTQgIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKSB9XG4uY29scy01ICB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcikgfVxuLmNvbHMtNiAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpIH1cbi5jb2xzLTcgIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKSB9XG4uY29scy04ICB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIDFmcikgfVxuLmNvbHMtOSAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg5LCAxZnIpIH1cbi5jb2xzLTEwIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTAsIDFmcikgfVxuLmNvbHMtMTEgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMSwgMWZyKSB9XG4uY29scy0xMiB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpIH1cbi5jb2xzLTEzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTMsIDFmcikgfVxuLmNvbHMtMTQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxNCwgMWZyKSB9XG4uY29scy0xNSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDE1LCAxZnIpIH1cbi5jb2xzLTE2IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTYsIDFmcikgfVxuXG4uY29scy1taW4tMzIgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCggMzJweCwgMWZyICkpOyB9XG4uY29scy1taW4tNjQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCggNjRweCwgMWZyICkpOyB9XG4uY29scy1taW4tMTI4IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoIDEyOHB4LCAxZnIgKSk7IH1cbi5jb2xzLW1pbi0xOTIgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCggMTkycHgsIDFmciApKTsgfVxuLmNvbHMtbWluLTI0MCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KCAyNDBweCwgMWZyICkpOyB9XG4uY29scy1taW4tMjU2IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoIDI1NnB4LCAxZnIgKSk7IH1cbi5jb2xzLW1pbi0zMjAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCggMzIwcHgsIDFmciApKTsgfVxuLmNvbHMtbWluLTQ4MCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KCA0ODBweCwgMWZyICkpOyB9XG5cbi5tYXNvbnJ5IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtYXNvbnJ5IH1cbi5zdWJncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkIH1cbi5jb2xzLW5vbmUgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG5vbmUgfVxuXG5cbkBjb250YWluZXIgKG1pbi13aWR0aDozMGVtKSB7XG4gIC5jb2xzLTEtcyAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpIH1cbiAgLmNvbHMtMi1zICB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcikgfVxuICAuY29scy0zLXMgIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKSB9XG4gIC5jb2xzLTQtcyAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpIH1cbiAgLmNvbHMtNS1zICB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcikgfVxuICAuY29scy02LXMgIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgMWZyKSB9XG4gIC5jb2xzLTctcyAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpIH1cbiAgLmNvbHMtOC1zICB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIDFmcikgfVxuICAuY29scy05LXMgIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOSwgMWZyKSB9XG4gIC5jb2xzLTEwLXMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMCwgMWZyKSB9XG4gIC5jb2xzLTExLXMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMSwgMWZyKSB9XG4gIC5jb2xzLTEyLXMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKSB9XG4gIC5jb2xzLTEzLXMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMywgMWZyKSB9XG4gIC5jb2xzLTE0LXMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxNCwgMWZyKSB9XG4gIC5jb2xzLTE1LXMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxNSwgMWZyKSB9XG4gIC5jb2xzLTE2LXMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxNiwgMWZyKSB9XG5cbiAgLmNvbHMtbWluLTMyLXMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCggNjRweCwgMWZyICkpOyB9XG4gIC5jb2xzLW1pbi02NC1zIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoIDY0cHgsIDFmciApKTsgfVxuICAuY29scy1taW4tMTI4LXMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCggMTI4cHgsIDFmciApKTsgfVxuICAuY29scy1taW4tMTkyLXMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCggMTkycHgsIDFmciApKTsgfVxuICAuY29scy1taW4tMjQwLXMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCggMjQwcHgsIDFmciApKTsgfVxuICAuY29scy1taW4tMjU2LXMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCggMjU2cHgsIDFmciApKTsgfVxuICAuY29scy1taW4tMzIwLXMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCggMzIwcHgsIDFmciApKTsgfVxuICAuY29scy1taW4tNDgwLXMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCggNDgwcHgsIDFmciApKTsgfVxuXG4gIC5tYXNvbnJ5LXMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1hc29ucnkgfVxuICAuc3ViZ3JpZC1zIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkIH1cbiAgLmNvbHMtbm9uZS1zIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBub25lIH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjQ4ZW0pIHtcbiAgLmNvbHMtMS1tICB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcikgfVxuICAuY29scy0yLW0gIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKSB9XG4gIC5jb2xzLTMtbSAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpIH1cbiAgLmNvbHMtNC1tICB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcikgfVxuICAuY29scy01LW0gIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKSB9XG4gIC5jb2xzLTYtbSAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpIH1cbiAgLmNvbHMtNy1tICB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcikgfVxuICAuY29scy04LW0gIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgMWZyKSB9XG4gIC5jb2xzLTktbSAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg5LCAxZnIpIH1cbiAgLmNvbHMtMTAtbSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEwLCAxZnIpIH1cbiAgLmNvbHMtMTEtbSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDExLCAxZnIpIH1cbiAgLmNvbHMtMTItbSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpIH1cbiAgLmNvbHMtMTMtbSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEzLCAxZnIpIH1cbiAgLmNvbHMtMTQtbSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDE0LCAxZnIpIH1cbiAgLmNvbHMtMTUtbSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDE1LCAxZnIpIH1cbiAgLmNvbHMtMTYtbSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDE2LCAxZnIpIH1cblxuICAuY29scy1taW4tNjQtbSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KCA2NHB4LCAxZnIgKSk7IH1cbiAgLmNvbHMtbWluLTEyOC1tIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoIDEyOHB4LCAxZnIgKSk7IH1cbiAgLmNvbHMtbWluLTE5Mi1tIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoIDE5MnB4LCAxZnIgKSk7IH1cbiAgLmNvbHMtbWluLTI0MC1tIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoIDI0MHB4LCAxZnIgKSk7IH1cbiAgLmNvbHMtbWluLTI1Ni1tIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoIDI1NnB4LCAxZnIgKSk7IH1cbiAgLmNvbHMtbWluLTMyMC1tIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoIDMyMHB4LCAxZnIgKSk7IH1cbiAgLmNvbHMtbWluLTQ4MC1tIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoIDQ4MHB4LCAxZnIgKSk7IH1cblxuICAubWFzb25yeS1tIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtYXNvbnJ5IH1cbiAgLnN1YmdyaWQtbSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZCB9XG4gIC5jb2xzLW5vbmUtbSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogbm9uZSB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG4gIC5jb2xzLTEtbCAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpIH1cbiAgLmNvbHMtMi1sICB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcikgfVxuICAuY29scy0zLWwgIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKSB9XG4gIC5jb2xzLTQtbCAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpIH1cbiAgLmNvbHMtNS1sICB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcikgfVxuICAuY29scy02LWwgIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgMWZyKSB9XG4gIC5jb2xzLTctbCAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpIH1cbiAgLmNvbHMtOC1sICB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIDFmcikgfVxuICAuY29scy05LWwgIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOSwgMWZyKSB9XG4gIC5jb2xzLTEwLWwgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMCwgMWZyKSB9XG4gIC5jb2xzLTExLWwgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMSwgMWZyKSB9XG4gIC5jb2xzLTEyLWwgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKSB9XG4gIC5jb2xzLTEzLWwgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMywgMWZyKSB9XG4gIC5jb2xzLTE0LWwgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxNCwgMWZyKSB9XG4gIC5jb2xzLTE1LWwgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxNSwgMWZyKSB9XG4gIC5jb2xzLTE2LWwgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxNiwgMWZyKSB9XG5cbiAgLmNvbHMtbWluLTY0LWwgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCggNjRweCwgMWZyICkpOyB9XG4gIC5jb2xzLW1pbi0xMjgtbCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KCAxMjhweCwgMWZyICkpOyB9XG4gIC5jb2xzLW1pbi0xOTItbCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KCAxOTJweCwgMWZyICkpOyB9XG4gIC5jb2xzLW1pbi0yNDAtbCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KCAyNDBweCwgMWZyICkpOyB9XG4gIC5jb2xzLW1pbi0yNTYtbCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KCAyNTZweCwgMWZyICkpOyB9XG4gIC5jb2xzLW1pbi0zMjAtbCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KCAzMjBweCwgMWZyICkpOyB9XG4gIC5jb2xzLW1pbi00ODAtbCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KCA0ODBweCwgMWZyICkpOyB9XG5cbiAgLm1hc29ucnktbCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWFzb25yeSB9XG4gIC5zdWJncmlkLWwgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQgfVxuICAuY29scy1ub25lLWwgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG5vbmUgfVxufVxuXG4iLCIvKlxuXG4gIEdyaWQgQ29sdW1uXG4gIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL2dyaWQtY29sdW1uXG5cbiAgVGhpcyBzZXRzIHRoZSB3aWR0aCBvZiB0aGUgZWxlbWVudCB2aWEgZGVjbGFyaW5nIGhvdyBtYW55IGNvbHVtbnMgd2lkZSBpdCBzaG91bGQgYmVcblxuICBCYXNlOiBcbiAgY29scyA9IGNvbHVtbnNcblxuKi9cblxuLmNvbC0xICB7IGdyaWQtY29sdW1uOiBzcGFuIDEgLyBzcGFuIDE7IH1cbi5jb2wtMiAgeyBncmlkLWNvbHVtbjogc3BhbiAyIC8gc3BhbiAyOyB9XG4uY29sLTMgIHsgZ3JpZC1jb2x1bW46IHNwYW4gMyAvIHNwYW4gMzsgfVxuLmNvbC00ICB7IGdyaWQtY29sdW1uOiBzcGFuIDQgLyBzcGFuIDQ7IH1cbi5jb2wtNSAgeyBncmlkLWNvbHVtbjogc3BhbiA1IC8gc3BhbiA1OyB9XG4uY29sLTYgIHsgZ3JpZC1jb2x1bW46IHNwYW4gNiAvIHNwYW4gNjsgfVxuLmNvbC03ICB7IGdyaWQtY29sdW1uOiBzcGFuIDcgLyBzcGFuIDc7IH1cbi5jb2wtOCAgeyBncmlkLWNvbHVtbjogc3BhbiA4IC8gc3BhbiA4OyB9XG4uY29sLTkgIHsgZ3JpZC1jb2x1bW46IHNwYW4gOSAvIHNwYW4gOTsgfVxuLmNvbC0xMCAgeyBncmlkLWNvbHVtbjogc3BhbiAxMCAvIHNwYW4gMTA7IH1cbi5jb2wtMTEgIHsgZ3JpZC1jb2x1bW46IHNwYW4gMTEgLyBzcGFuIDExOyB9XG4uY29sLTEyICB7IGdyaWQtY29sdW1uOiBzcGFuIDEyIC8gc3BhbiAxMjsgfVxuLmNvbC0xMyAgeyBncmlkLWNvbHVtbjogc3BhbiAxMyAvIHNwYW4gMTM7IH1cbi5jb2wtMTQgIHsgZ3JpZC1jb2x1bW46IHNwYW4gMTQgLyBzcGFuIDE0OyB9XG4uY29sLTE1ICB7IGdyaWQtY29sdW1uOiBzcGFuIDE1IC8gc3BhbiAxNTsgfVxuLmNvbC0xNiAgeyBncmlkLWNvbHVtbjogc3BhbiAxNiAvIHNwYW4gMTY7IH1cbi5jb2wtZnVsbCAgeyBncmlkLWNvbHVtbjogMSAvIC0xOyB9XG4uY29sLWNlbnRlcjEgIHsgZ3JpZC1jb2x1bW46IDIgLyAtMjsgfVxuLmNvbC1jZW50ZXIyICB7IGdyaWQtY29sdW1uOiAzIC8gLTM7IH1cbi5jb2wtY2VudGVyMyAgeyBncmlkLWNvbHVtbjogNCAvIC00OyB9XG4uY29sLWNlbnRlcjQgIHsgZ3JpZC1jb2x1bW46IDYgLyAtNjsgfVxuLmNvbC1hdXRvICB7IGdyaWQtY29sdW1uOiBhdXRvOyB9XG5cbi5zdGFydC0xIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7IH1cbi5zdGFydC0yIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7IH1cbi5zdGFydC0zIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDM7IH1cbi5zdGFydC00IHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDQ7IH1cbi5zdGFydC01IHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDU7IH1cbi5zdGFydC02IHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDY7IH1cbi5zdGFydC03IHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDc7IH1cbi5zdGFydC04IHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDg7IH1cbi5zdGFydC05IHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDk7IH1cbi5zdGFydC0xMCB7IGdyaWQtY29sdW1uLXN0YXJ0OiAxMDsgfVxuLnN0YXJ0LTExIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDExOyB9XG4uc3RhcnQtMTIgeyBncmlkLWNvbHVtbi1zdGFydDogMTI7IH1cbi5zdGFydC0xMyB7IGdyaWQtY29sdW1uLXN0YXJ0OiAxMzsgfVxuLnN0YXJ0LTE0IHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE0OyB9XG4uc3RhcnQtMTUgeyBncmlkLWNvbHVtbi1zdGFydDogMTU7IH1cblxuLmVuZC0xIHsgZ3JpZC1jb2x1bW4tZW5kOiAxOyB9XG4uZW5kLTIgeyBncmlkLWNvbHVtbi1lbmQ6IDI7IH1cbi5lbmQtMyB7IGdyaWQtY29sdW1uLWVuZDogMzsgfVxuLmVuZC00IHsgZ3JpZC1jb2x1bW4tZW5kOiA0OyB9XG4uZW5kLTUgeyBncmlkLWNvbHVtbi1lbmQ6IDU7IH1cbi5lbmQtNiB7IGdyaWQtY29sdW1uLWVuZDogNjsgfVxuLmVuZC03IHsgZ3JpZC1jb2x1bW4tZW5kOiA3OyB9XG4uZW5kLTggeyBncmlkLWNvbHVtbi1lbmQ6IDg7IH1cbi5lbmQtOSB7IGdyaWQtY29sdW1uLWVuZDogOTsgfVxuLmVuZC0xMCB7IGdyaWQtY29sdW1uLWVuZDogMTA7IH1cbi5lbmQtMTEgeyBncmlkLWNvbHVtbi1lbmQ6IDExOyB9XG4uZW5kLTEyIHsgZ3JpZC1jb2x1bW4tZW5kOiAxMjsgfVxuLmVuZC0xMyB7IGdyaWQtY29sdW1uLWVuZDogMTM7IH1cbi5lbmQtMTQgeyBncmlkLWNvbHVtbi1lbmQ6IDE0OyB9XG4uZW5kLTE1IHsgZ3JpZC1jb2x1bW4tZW5kOiAxNTsgfVxuLmVuZC0xNiB7IGdyaWQtY29sdW1uLWVuZDogMTY7IH1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgLmNvbC0xLXMgIHsgZ3JpZC1jb2x1bW46IHNwYW4gMSAvIHNwYW4gMTsgfVxuICAuY29sLTItcyAgeyBncmlkLWNvbHVtbjogc3BhbiAyIC8gc3BhbiAyOyB9XG4gIC5jb2wtMy1zICB7IGdyaWQtY29sdW1uOiBzcGFuIDMgLyBzcGFuIDM7IH1cbiAgLmNvbC00LXMgIHsgZ3JpZC1jb2x1bW46IHNwYW4gNCAvIHNwYW4gNDsgfVxuICAuY29sLTUtcyAgeyBncmlkLWNvbHVtbjogc3BhbiA1IC8gc3BhbiA1OyB9XG4gIC5jb2wtNi1zICB7IGdyaWQtY29sdW1uOiBzcGFuIDYgLyBzcGFuIDY7IH1cbiAgLmNvbC03LXMgIHsgZ3JpZC1jb2x1bW46IHNwYW4gNyAvIHNwYW4gNzsgfVxuICAuY29sLTgtcyAgeyBncmlkLWNvbHVtbjogc3BhbiA4IC8gc3BhbiA4OyB9XG4gIC5jb2wtOS1zICB7IGdyaWQtY29sdW1uOiBzcGFuIDkgLyBzcGFuIDk7IH1cbiAgLmNvbC0xMC1zICB7IGdyaWQtY29sdW1uOiBzcGFuIDEwIC8gc3BhbiAxMDsgfVxuICAuY29sLTExLXMgIHsgZ3JpZC1jb2x1bW46IHNwYW4gMTEgLyBzcGFuIDExOyB9XG4gIC5jb2wtMTItcyAgeyBncmlkLWNvbHVtbjogc3BhbiAxMiAvIHNwYW4gMTI7IH1cbiAgLmNvbC0xMy1zICB7IGdyaWQtY29sdW1uOiBzcGFuIDEzIC8gc3BhbiAxMzsgfVxuICAuY29sLTE0LXMgIHsgZ3JpZC1jb2x1bW46IHNwYW4gMTQgLyBzcGFuIDE0OyB9XG4gIC5jb2wtMTUtcyAgeyBncmlkLWNvbHVtbjogc3BhbiAxNSAvIHNwYW4gMTU7IH1cbiAgLmNvbC0xNi1zICB7IGdyaWQtY29sdW1uOiBzcGFuIDE2IC8gc3BhbiAxNjsgfVxuICAuY29sLWZ1bGwtcyAgeyBncmlkLWNvbHVtbjogMSAvIC0xOyB9XG4gIC5jb2wtY2VudGVyMS1zICB7IGdyaWQtY29sdW1uOiAyIC8gLTI7IH1cbiAgLmNvbC1jZW50ZXIyLXMgIHsgZ3JpZC1jb2x1bW46IDMgLyAtMzsgfVxuICAuY29sLWNlbnRlcjMtcyAgeyBncmlkLWNvbHVtbjogNCAvIC00OyB9XG4gIC5jb2wtY2VudGVyNC1zICB7IGdyaWQtY29sdW1uOiA2IC8gLTY7IH1cbiAgLmNvbC1hdXRvLXMgIHsgZ3JpZC1jb2x1bW46IGF1dG87IH1cblxuICAuc3RhcnQtMS1zIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7IH1cbiAgLnN0YXJ0LTItcyB7IGdyaWQtY29sdW1uLXN0YXJ0OiAyOyB9XG4gIC5zdGFydC0zLXMgeyBncmlkLWNvbHVtbi1zdGFydDogMzsgfVxuICAuc3RhcnQtNC1zIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDQ7IH1cbiAgLnN0YXJ0LTUtcyB7IGdyaWQtY29sdW1uLXN0YXJ0OiA1OyB9XG4gIC5zdGFydC02LXMgeyBncmlkLWNvbHVtbi1zdGFydDogNjsgfVxuICAuc3RhcnQtNy1zIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDc7IH1cbiAgLnN0YXJ0LTgtcyB7IGdyaWQtY29sdW1uLXN0YXJ0OiA4OyB9XG4gIC5zdGFydC05LXMgeyBncmlkLWNvbHVtbi1zdGFydDogOTsgfVxuICAuc3RhcnQtMTAtcyB7IGdyaWQtY29sdW1uLXN0YXJ0OiAxMDsgfVxuICAuc3RhcnQtMTEtcyB7IGdyaWQtY29sdW1uLXN0YXJ0OiAxMTsgfVxuICAuc3RhcnQtMTItcyB7IGdyaWQtY29sdW1uLXN0YXJ0OiAxMjsgfVxuICAuc3RhcnQtMTMtcyB7IGdyaWQtY29sdW1uLXN0YXJ0OiAxMzsgfVxuICAuc3RhcnQtMTQtcyB7IGdyaWQtY29sdW1uLXN0YXJ0OiAxNDsgfVxuICAuc3RhcnQtMTUtcyB7IGdyaWQtY29sdW1uLXN0YXJ0OiAxNTsgfVxuXG4gIC5lbmQtMS1zIHsgZ3JpZC1jb2x1bW4tZW5kOiAxOyB9XG4gIC5lbmQtMi1zIHsgZ3JpZC1jb2x1bW4tZW5kOiAyOyB9XG4gIC5lbmQtMy1zIHsgZ3JpZC1jb2x1bW4tZW5kOiAzOyB9XG4gIC5lbmQtNC1zIHsgZ3JpZC1jb2x1bW4tZW5kOiA0OyB9XG4gIC5lbmQtNS1zIHsgZ3JpZC1jb2x1bW4tZW5kOiA1OyB9XG4gIC5lbmQtNi1zIHsgZ3JpZC1jb2x1bW4tZW5kOiA2OyB9XG4gIC5lbmQtNy1zIHsgZ3JpZC1jb2x1bW4tZW5kOiA3OyB9XG4gIC5lbmQtOC1zIHsgZ3JpZC1jb2x1bW4tZW5kOiA4OyB9XG4gIC5lbmQtOS1zIHsgZ3JpZC1jb2x1bW4tZW5kOiA5OyB9XG4gIC5lbmQtMTAtcyB7IGdyaWQtY29sdW1uLWVuZDogMTA7IH1cbiAgLmVuZC0xMS1zIHsgZ3JpZC1jb2x1bW4tZW5kOiAxMTsgfVxuICAuZW5kLTEyLXMgeyBncmlkLWNvbHVtbi1lbmQ6IDEyOyB9XG4gIC5lbmQtMTMtcyB7IGdyaWQtY29sdW1uLWVuZDogMTM7IH1cbiAgLmVuZC0xNC1zIHsgZ3JpZC1jb2x1bW4tZW5kOiAxNDsgfVxuICAuZW5kLTE1LXMgeyBncmlkLWNvbHVtbi1lbmQ6IDE1OyB9XG4gIC5lbmQtMTYtcyB7IGdyaWQtY29sdW1uLWVuZDogMTY7IH1cblxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NDhlbSkge1xuICAuY29sLTEtbSAgeyBncmlkLWNvbHVtbjogc3BhbiAxIC8gc3BhbiAxOyB9XG4gIC5jb2wtMi1tICB7IGdyaWQtY29sdW1uOiBzcGFuIDIgLyBzcGFuIDI7IH1cbiAgLmNvbC0zLW0gIHsgZ3JpZC1jb2x1bW46IHNwYW4gMyAvIHNwYW4gMzsgfVxuICAuY29sLTQtbSAgeyBncmlkLWNvbHVtbjogc3BhbiA0IC8gc3BhbiA0OyB9XG4gIC5jb2wtNS1tICB7IGdyaWQtY29sdW1uOiBzcGFuIDUgLyBzcGFuIDU7IH1cbiAgLmNvbC02LW0gIHsgZ3JpZC1jb2x1bW46IHNwYW4gNiAvIHNwYW4gNjsgfVxuICAuY29sLTctbSAgeyBncmlkLWNvbHVtbjogc3BhbiA3IC8gc3BhbiA3OyB9XG4gIC5jb2wtOC1tICB7IGdyaWQtY29sdW1uOiBzcGFuIDggLyBzcGFuIDg7IH1cbiAgLmNvbC05LW0gIHsgZ3JpZC1jb2x1bW46IHNwYW4gOSAvIHNwYW4gOTsgfVxuICAuY29sLTEwLW0gIHsgZ3JpZC1jb2x1bW46IHNwYW4gMTAgLyBzcGFuIDEwOyB9XG4gIC5jb2wtMTEtbSAgeyBncmlkLWNvbHVtbjogc3BhbiAxMSAvIHNwYW4gMTE7IH1cbiAgLmNvbC0xMi1tICB7IGdyaWQtY29sdW1uOiBzcGFuIDEyIC8gc3BhbiAxMjsgfVxuICAuY29sLTEzLW0gIHsgZ3JpZC1jb2x1bW46IHNwYW4gMTMgLyBzcGFuIDEzOyB9XG4gIC5jb2wtMTQtbSAgeyBncmlkLWNvbHVtbjogc3BhbiAxNCAvIHNwYW4gMTQ7IH1cbiAgLmNvbC0xNS1tICB7IGdyaWQtY29sdW1uOiBzcGFuIDE1IC8gc3BhbiAxNTsgfVxuICAuY29sLTE2LW0gIHsgZ3JpZC1jb2x1bW46IHNwYW4gMTYgLyBzcGFuIDE2OyB9XG4gIC5jb2wtZnVsbC1tICB7IGdyaWQtY29sdW1uOiAxIC8gLTE7IH1cbiAgLmNvbC1jZW50ZXIxLW0gIHsgZ3JpZC1jb2x1bW46IDIgLyAtMjsgfVxuICAuY29sLWNlbnRlcjItbSAgeyBncmlkLWNvbHVtbjogMyAvIC0zOyB9XG4gIC5jb2wtY2VudGVyMy1tICB7IGdyaWQtY29sdW1uOiA0IC8gLTQ7IH1cbiAgLmNvbC1jZW50ZXI0LW0gIHsgZ3JpZC1jb2x1bW46IDYgLyAtNjsgfVxuICAuY29sLWF1dG8tbSAgeyBncmlkLWNvbHVtbjogYXV0bzsgfVxuXG4gIC5zdGFydC0xLW0geyBncmlkLWNvbHVtbi1zdGFydDogMTsgfVxuICAuc3RhcnQtMi1tIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7IH1cbiAgLnN0YXJ0LTMtbSB7IGdyaWQtY29sdW1uLXN0YXJ0OiAzOyB9XG4gIC5zdGFydC00LW0geyBncmlkLWNvbHVtbi1zdGFydDogNDsgfVxuICAuc3RhcnQtNS1tIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDU7IH1cbiAgLnN0YXJ0LTYtbSB7IGdyaWQtY29sdW1uLXN0YXJ0OiA2OyB9XG4gIC5zdGFydC03LW0geyBncmlkLWNvbHVtbi1zdGFydDogNzsgfVxuICAuc3RhcnQtOC1tIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDg7IH1cbiAgLnN0YXJ0LTktbSB7IGdyaWQtY29sdW1uLXN0YXJ0OiA5OyB9XG4gIC5zdGFydC0xMC1tIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDEwOyB9XG4gIC5zdGFydC0xMS1tIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDExOyB9XG4gIC5zdGFydC0xMi1tIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDEyOyB9XG4gIC5zdGFydC0xMy1tIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDEzOyB9XG4gIC5zdGFydC0xNC1tIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE0OyB9XG4gIC5zdGFydC0xNS1tIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE1OyB9XG5cbiAgLmVuZC0xLW0geyBncmlkLWNvbHVtbi1lbmQ6IDE7IH1cbiAgLmVuZC0yLW0geyBncmlkLWNvbHVtbi1lbmQ6IDI7IH1cbiAgLmVuZC0zLW0geyBncmlkLWNvbHVtbi1lbmQ6IDM7IH1cbiAgLmVuZC00LW0geyBncmlkLWNvbHVtbi1lbmQ6IDQ7IH1cbiAgLmVuZC01LW0geyBncmlkLWNvbHVtbi1lbmQ6IDU7IH1cbiAgLmVuZC02LW0geyBncmlkLWNvbHVtbi1lbmQ6IDY7IH1cbiAgLmVuZC03LW0geyBncmlkLWNvbHVtbi1lbmQ6IDc7IH1cbiAgLmVuZC04LW0geyBncmlkLWNvbHVtbi1lbmQ6IDg7IH1cbiAgLmVuZC05LW0geyBncmlkLWNvbHVtbi1lbmQ6IDk7IH1cbiAgLmVuZC0xMC1tIHsgZ3JpZC1jb2x1bW4tZW5kOiAxMDsgfVxuICAuZW5kLTExLW0geyBncmlkLWNvbHVtbi1lbmQ6IDExOyB9XG4gIC5lbmQtMTItbSB7IGdyaWQtY29sdW1uLWVuZDogMTI7IH1cbiAgLmVuZC0xMy1tIHsgZ3JpZC1jb2x1bW4tZW5kOiAxMzsgfVxuICAuZW5kLTE0LW0geyBncmlkLWNvbHVtbi1lbmQ6IDE0OyB9XG4gIC5lbmQtMTUtbSB7IGdyaWQtY29sdW1uLWVuZDogMTU7IH1cbiAgLmVuZC0xNi1tIHsgZ3JpZC1jb2x1bW4tZW5kOiAxNjsgfVxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NjRlbSkge1xuICAuY29sLTEtbCAgeyBncmlkLWNvbHVtbjogc3BhbiAxIC8gc3BhbiAxOyB9XG4gIC5jb2wtMi1sICB7IGdyaWQtY29sdW1uOiBzcGFuIDIgLyBzcGFuIDI7IH1cbiAgLmNvbC0zLWwgIHsgZ3JpZC1jb2x1bW46IHNwYW4gMyAvIHNwYW4gMzsgfVxuICAuY29sLTQtbCAgeyBncmlkLWNvbHVtbjogc3BhbiA0IC8gc3BhbiA0OyB9XG4gIC5jb2wtNS1sICB7IGdyaWQtY29sdW1uOiBzcGFuIDUgLyBzcGFuIDU7IH1cbiAgLmNvbC02LWwgIHsgZ3JpZC1jb2x1bW46IHNwYW4gNiAvIHNwYW4gNjsgfVxuICAuY29sLTctbCAgeyBncmlkLWNvbHVtbjogc3BhbiA3IC8gc3BhbiA3OyB9XG4gIC5jb2wtOC1sICB7IGdyaWQtY29sdW1uOiBzcGFuIDggLyBzcGFuIDg7IH1cbiAgLmNvbC05LWwgIHsgZ3JpZC1jb2x1bW46IHNwYW4gOSAvIHNwYW4gOTsgfVxuICAuY29sLTEwLWwgIHsgZ3JpZC1jb2x1bW46IHNwYW4gMTAgLyBzcGFuIDEwOyB9XG4gIC5jb2wtMTEtbCAgeyBncmlkLWNvbHVtbjogc3BhbiAxMSAvIHNwYW4gMTE7IH1cbiAgLmNvbC0xMi1sICB7IGdyaWQtY29sdW1uOiBzcGFuIDEyIC8gc3BhbiAxMjsgfVxuICAuY29sLTEzLWwgIHsgZ3JpZC1jb2x1bW46IHNwYW4gMTMgLyBzcGFuIDEzOyB9XG4gIC5jb2wtMTQtbCAgeyBncmlkLWNvbHVtbjogc3BhbiAxNCAvIHNwYW4gMTQ7IH1cbiAgLmNvbC0xNS1sICB7IGdyaWQtY29sdW1uOiBzcGFuIDE1IC8gc3BhbiAxNTsgfVxuICAuY29sLTE2LWwgIHsgZ3JpZC1jb2x1bW46IHNwYW4gMTYgLyBzcGFuIDE2OyB9XG4gIC5jb2wtZnVsbC1sICB7IGdyaWQtY29sdW1uOiAxIC8gLTE7IH1cbiAgLmNvbC1jZW50ZXIxLWwgIHsgZ3JpZC1jb2x1bW46IDIgLyAtMjsgfVxuICAuY29sLWNlbnRlcjItbCAgeyBncmlkLWNvbHVtbjogMyAvIC0zOyB9XG4gIC5jb2wtY2VudGVyMy1sICB7IGdyaWQtY29sdW1uOiA0IC8gLTQ7IH1cbiAgLmNvbC1jZW50ZXI0LWwgIHsgZ3JpZC1jb2x1bW46IDYgLyAtNjsgfVxuICAuY29sLWF1dG8tbCAgeyBncmlkLWNvbHVtbjogYXV0bzsgfVxuXG4gIC5zdGFydC0xLWwgeyBncmlkLWNvbHVtbi1zdGFydDogMTsgfVxuICAuc3RhcnQtMi1sIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7IH1cbiAgLnN0YXJ0LTMtbCB7IGdyaWQtY29sdW1uLXN0YXJ0OiAzOyB9XG4gIC5zdGFydC00LWwgeyBncmlkLWNvbHVtbi1zdGFydDogNDsgfVxuICAuc3RhcnQtNS1sIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDU7IH1cbiAgLnN0YXJ0LTYtbCB7IGdyaWQtY29sdW1uLXN0YXJ0OiA2OyB9XG4gIC5zdGFydC03LWwgeyBncmlkLWNvbHVtbi1zdGFydDogNzsgfVxuICAuc3RhcnQtOC1sIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDg7IH1cbiAgLnN0YXJ0LTktbCB7IGdyaWQtY29sdW1uLXN0YXJ0OiA5OyB9XG4gIC5zdGFydC0xMC1sIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDEwOyB9XG4gIC5zdGFydC0xMS1sIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDExOyB9XG4gIC5zdGFydC0xMi1sIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDEyOyB9XG4gIC5zdGFydC0xMy1sIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDEzOyB9XG4gIC5zdGFydC0xNC1sIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE0OyB9XG4gIC5zdGFydC0xNS1sIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE1OyB9XG5cbiAgLmVuZC0xLWwgeyBncmlkLWNvbHVtbi1lbmQ6IDE7IH1cbiAgLmVuZC0yLWwgeyBncmlkLWNvbHVtbi1lbmQ6IDI7IH1cbiAgLmVuZC0zLWwgeyBncmlkLWNvbHVtbi1lbmQ6IDM7IH1cbiAgLmVuZC00LWwgeyBncmlkLWNvbHVtbi1lbmQ6IDQ7IH1cbiAgLmVuZC01LWwgeyBncmlkLWNvbHVtbi1lbmQ6IDU7IH1cbiAgLmVuZC02LWwgeyBncmlkLWNvbHVtbi1lbmQ6IDY7IH1cbiAgLmVuZC03LWwgeyBncmlkLWNvbHVtbi1lbmQ6IDc7IH1cbiAgLmVuZC04LWwgeyBncmlkLWNvbHVtbi1lbmQ6IDg7IH1cbiAgLmVuZC05LWwgeyBncmlkLWNvbHVtbi1lbmQ6IDk7IH1cbiAgLmVuZC0xMC1sIHsgZ3JpZC1jb2x1bW4tZW5kOiAxMDsgfVxuICAuZW5kLTExLWwgeyBncmlkLWNvbHVtbi1lbmQ6IDExOyB9XG4gIC5lbmQtMTItbCB7IGdyaWQtY29sdW1uLWVuZDogMTI7IH1cbiAgLmVuZC0xMy1sIHsgZ3JpZC1jb2x1bW4tZW5kOiAxMzsgfVxuICAuZW5kLTE0LWwgeyBncmlkLWNvbHVtbi1lbmQ6IDE0OyB9XG4gIC5lbmQtMTUtbCB7IGdyaWQtY29sdW1uLWVuZDogMTU7IH1cbiAgLmVuZC0xNi1sIHsgZ3JpZC1jb2x1bW4tZW5kOiAxNjsgfVxufVxuIiwiLypcblxuICBHcmlkIFJvd1xuICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy9sYXlvdXQvZ3JpZC1jb2x1bW4tcm93XG5cbiAgVGhpcyBzZXRzIHRoZSB3aWR0aCBvZiB0aGUgZWxlbWVudCB2aWEgZGVjbGFyaW5nIGhvdyBtYW55IGNvbHVtbnMgd2lkZSBpdCBzaG91bGQgYmVcblxuICBCYXNlOiBcbiAgY29scyA9IGNvbHVtbnNcblxuKi9cblxuLnJvdy1hdXRvICB7IGdyaWQtcm93OiBhdXRvOyB9XG5cbi5yb3ctc3RhcnQtMSB7IGdyaWQtcm93LXN0YXJ0OiAxOyB9XG4ucm93LXN0YXJ0LTIgeyBncmlkLXJvdy1zdGFydDogMjsgfVxuLnJvdy1zdGFydC0zIHsgZ3JpZC1yb3ctc3RhcnQ6IDM7IH1cbi5yb3ctc3RhcnQtNCB7IGdyaWQtcm93LXN0YXJ0OiA0OyB9XG4ucm93LXN0YXJ0LTUgeyBncmlkLXJvdy1zdGFydDogNTsgfVxuLnJvdy1zdGFydC02IHsgZ3JpZC1yb3ctc3RhcnQ6IDY7IH1cbi5yb3ctc3RhcnQtNyB7IGdyaWQtcm93LXN0YXJ0OiA3OyB9XG4ucm93LXN0YXJ0LTggeyBncmlkLXJvdy1zdGFydDogODsgfVxuLnJvdy1zdGFydC05IHsgZ3JpZC1yb3ctc3RhcnQ6IDk7IH1cbi5yb3ctc3RhcnQtMTAgeyBncmlkLXJvdy1zdGFydDogMTA7IH1cbi5yb3ctc3RhcnQtMTEgeyBncmlkLXJvdy1zdGFydDogMTE7IH1cbi5yb3ctc3RhcnQtMTIgeyBncmlkLXJvdy1zdGFydDogMTI7IH1cbi5yb3ctc3RhcnQtMTMgeyBncmlkLXJvdy1zdGFydDogMTM7IH1cbi5yb3ctc3RhcnQtMTQgeyBncmlkLXJvdy1zdGFydDogMTQ7IH1cbi5yb3ctc3RhcnQtMTUgeyBncmlkLXJvdy1zdGFydDogMTU7IH1cbi5yb3ctc3RhcnQtMTYgeyBncmlkLXJvdy1zdGFydDogMTY7IH1cblxuLnJvdy1lbmQtMSB7IGdyaWQtcm93LWVuZDogMTsgfVxuLnJvdy1lbmQtMiB7IGdyaWQtcm93LWVuZDogMjsgfVxuLnJvdy1lbmQtMyB7IGdyaWQtcm93LWVuZDogMzsgfVxuLnJvdy1lbmQtNCB7IGdyaWQtcm93LWVuZDogNDsgfVxuLnJvdy1lbmQtNSB7IGdyaWQtcm93LWVuZDogNTsgfVxuLnJvdy1lbmQtNiB7IGdyaWQtcm93LWVuZDogNjsgfVxuLnJvdy1lbmQtNyB7IGdyaWQtcm93LWVuZDogNzsgfVxuLnJvdy1lbmQtOCB7IGdyaWQtcm93LWVuZDogODsgfVxuLnJvdy1lbmQtOSB7IGdyaWQtcm93LWVuZDogOTsgfVxuLnJvdy1lbmQtMTAgeyBncmlkLXJvdy1lbmQ6IDEwOyB9XG4ucm93LWVuZC0xMSB7IGdyaWQtcm93LWVuZDogMTE7IH1cbi5yb3ctZW5kLTEyIHsgZ3JpZC1yb3ctZW5kOiAxMjsgfVxuLnJvdy1lbmQtMTMgeyBncmlkLXJvdy1lbmQ6IDEzOyB9XG4ucm93LWVuZC0xNCB7IGdyaWQtcm93LWVuZDogMTQ7IH1cbi5yb3ctZW5kLTE1IHsgZ3JpZC1yb3ctZW5kOiAxNTsgfVxuLnJvdy1lbmQtMTYgeyBncmlkLXJvdy1lbmQ6IDE2OyB9XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDozMGVtKSB7XG4gIC5yb3ctYXV0by1zICB7IGdyaWQtcm93OiBhdXRvOyB9XG5cbiAgLnJvdy1zdGFydC0xLXMgeyBncmlkLXJvdy1zdGFydDogMTsgfVxuICAucm93LXN0YXJ0LTItcyB7IGdyaWQtcm93LXN0YXJ0OiAyOyB9XG4gIC5yb3ctc3RhcnQtMy1zIHsgZ3JpZC1yb3ctc3RhcnQ6IDM7IH1cbiAgLnJvdy1zdGFydC00LXMgeyBncmlkLXJvdy1zdGFydDogNDsgfVxuICAucm93LXN0YXJ0LTUtcyB7IGdyaWQtcm93LXN0YXJ0OiA1OyB9XG4gIC5yb3ctc3RhcnQtNi1zIHsgZ3JpZC1yb3ctc3RhcnQ6IDY7IH1cbiAgLnJvdy1zdGFydC03LXMgeyBncmlkLXJvdy1zdGFydDogNzsgfVxuICAucm93LXN0YXJ0LTgtcyB7IGdyaWQtcm93LXN0YXJ0OiA4OyB9XG4gIC5yb3ctc3RhcnQtOS1zIHsgZ3JpZC1yb3ctc3RhcnQ6IDk7IH1cbiAgLnJvdy1zdGFydC0xMC1zIHsgZ3JpZC1yb3ctc3RhcnQ6IDEwOyB9XG4gIC5yb3ctc3RhcnQtMTEtcyB7IGdyaWQtcm93LXN0YXJ0OiAxMTsgfVxuICAucm93LXN0YXJ0LTEyLXMgeyBncmlkLXJvdy1zdGFydDogMTI7IH1cbiAgLnJvdy1zdGFydC0xMy1zIHsgZ3JpZC1yb3ctc3RhcnQ6IDEzOyB9XG4gIC5yb3ctc3RhcnQtMTQtcyB7IGdyaWQtcm93LXN0YXJ0OiAxNDsgfVxuICAucm93LXN0YXJ0LTE1LXMgeyBncmlkLXJvdy1zdGFydDogMTU7IH1cbiAgLnJvdy1zdGFydC0xNi1zIHsgZ3JpZC1yb3ctc3RhcnQ6IDE2OyB9XG5cbiAgLnJvdy1lbmQtMS1zIHsgZ3JpZC1yb3ctZW5kOiAxOyB9XG4gIC5yb3ctZW5kLTItcyB7IGdyaWQtcm93LWVuZDogMjsgfVxuICAucm93LWVuZC0zLXMgeyBncmlkLXJvdy1lbmQ6IDM7IH1cbiAgLnJvdy1lbmQtNC1zIHsgZ3JpZC1yb3ctZW5kOiA0OyB9XG4gIC5yb3ctZW5kLTUtcyB7IGdyaWQtcm93LWVuZDogNTsgfVxuICAucm93LWVuZC02LXMgeyBncmlkLXJvdy1lbmQ6IDY7IH1cbiAgLnJvdy1lbmQtNy1zIHsgZ3JpZC1yb3ctZW5kOiA3OyB9XG4gIC5yb3ctZW5kLTgtcyB7IGdyaWQtcm93LWVuZDogODsgfVxuICAucm93LWVuZC05LXMgeyBncmlkLXJvdy1lbmQ6IDk7IH1cbiAgLnJvdy1lbmQtMTAtcyB7IGdyaWQtcm93LWVuZDogMTA7IH1cbiAgLnJvdy1lbmQtMTEtcyB7IGdyaWQtcm93LWVuZDogMTE7IH1cbiAgLnJvdy1lbmQtMTItcyB7IGdyaWQtcm93LWVuZDogMTI7IH1cbiAgLnJvdy1lbmQtMTMtcyB7IGdyaWQtcm93LWVuZDogMTM7IH1cbiAgLnJvdy1lbmQtMTQtcyB7IGdyaWQtcm93LWVuZDogMTQ7IH1cbiAgLnJvdy1lbmQtMTUtcyB7IGdyaWQtcm93LWVuZDogMTU7IH1cbiAgLnJvdy1lbmQtMTYtcyB7IGdyaWQtcm93LWVuZDogMTY7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjQ4ZW0pIHtcbiAgLnJvdy1hdXRvLW0gIHsgZ3JpZC1yb3c6IGF1dG87IH1cblxuICAucm93LXN0YXJ0LTEtbSB7IGdyaWQtcm93LXN0YXJ0OiAxOyB9XG4gIC5yb3ctc3RhcnQtMi1tIHsgZ3JpZC1yb3ctc3RhcnQ6IDI7IH1cbiAgLnJvdy1zdGFydC0zLW0geyBncmlkLXJvdy1zdGFydDogMzsgfVxuICAucm93LXN0YXJ0LTQtbSB7IGdyaWQtcm93LXN0YXJ0OiA0OyB9XG4gIC5yb3ctc3RhcnQtNS1tIHsgZ3JpZC1yb3ctc3RhcnQ6IDU7IH1cbiAgLnJvdy1zdGFydC02LW0geyBncmlkLXJvdy1zdGFydDogNjsgfVxuICAucm93LXN0YXJ0LTctbSB7IGdyaWQtcm93LXN0YXJ0OiA3OyB9XG4gIC5yb3ctc3RhcnQtOC1tIHsgZ3JpZC1yb3ctc3RhcnQ6IDg7IH1cbiAgLnJvdy1zdGFydC05LW0geyBncmlkLXJvdy1zdGFydDogOTsgfVxuICAucm93LXN0YXJ0LTEwLW0geyBncmlkLXJvdy1zdGFydDogMTA7IH1cbiAgLnJvdy1zdGFydC0xMS1tIHsgZ3JpZC1yb3ctc3RhcnQ6IDExOyB9XG4gIC5yb3ctc3RhcnQtMTItbSB7IGdyaWQtcm93LXN0YXJ0OiAxMjsgfVxuICAucm93LXN0YXJ0LTEzLW0geyBncmlkLXJvdy1zdGFydDogMTM7IH1cbiAgLnJvdy1zdGFydC0xNC1tIHsgZ3JpZC1yb3ctc3RhcnQ6IDE0OyB9XG4gIC5yb3ctc3RhcnQtMTUtbSB7IGdyaWQtcm93LXN0YXJ0OiAxNTsgfVxuICAucm93LXN0YXJ0LTE2LW0geyBncmlkLXJvdy1zdGFydDogMTY7IH1cblxuICAucm93LWVuZC0xLW0geyBncmlkLXJvdy1lbmQ6IDE7IH1cbiAgLnJvdy1lbmQtMi1tIHsgZ3JpZC1yb3ctZW5kOiAyOyB9XG4gIC5yb3ctZW5kLTMtbSB7IGdyaWQtcm93LWVuZDogMzsgfVxuICAucm93LWVuZC00LW0geyBncmlkLXJvdy1lbmQ6IDQ7IH1cbiAgLnJvdy1lbmQtNS1tIHsgZ3JpZC1yb3ctZW5kOiA1OyB9XG4gIC5yb3ctZW5kLTYtbSB7IGdyaWQtcm93LWVuZDogNjsgfVxuICAucm93LWVuZC03LW0geyBncmlkLXJvdy1lbmQ6IDc7IH1cbiAgLnJvdy1lbmQtOC1tIHsgZ3JpZC1yb3ctZW5kOiA4OyB9XG4gIC5yb3ctZW5kLTktbSB7IGdyaWQtcm93LWVuZDogOTsgfVxuICAucm93LWVuZC0xMC1tIHsgZ3JpZC1yb3ctZW5kOiAxMDsgfVxuICAucm93LWVuZC0xMS1tIHsgZ3JpZC1yb3ctZW5kOiAxMTsgfVxuICAucm93LWVuZC0xMi1tIHsgZ3JpZC1yb3ctZW5kOiAxMjsgfVxuICAucm93LWVuZC0xMy1tIHsgZ3JpZC1yb3ctZW5kOiAxMzsgfVxuICAucm93LWVuZC0xNC1tIHsgZ3JpZC1yb3ctZW5kOiAxNDsgfVxuICAucm93LWVuZC0xNS1tIHsgZ3JpZC1yb3ctZW5kOiAxNTsgfVxuICAucm93LWVuZC0xNi1tIHsgZ3JpZC1yb3ctZW5kOiAxNjsgfVxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NjRlbSkge1xuICAucm93LWF1dG8tbCAgeyBncmlkLXJvdzogYXV0bzsgfVxuXG4gIC5yb3ctc3RhcnQtMS1sIHsgZ3JpZC1yb3ctc3RhcnQ6IDE7IH1cbiAgLnJvdy1zdGFydC0yLWwgeyBncmlkLXJvdy1zdGFydDogMjsgfVxuICAucm93LXN0YXJ0LTMtbCB7IGdyaWQtcm93LXN0YXJ0OiAzOyB9XG4gIC5yb3ctc3RhcnQtNC1sIHsgZ3JpZC1yb3ctc3RhcnQ6IDQ7IH1cbiAgLnJvdy1zdGFydC01LWwgeyBncmlkLXJvdy1zdGFydDogNTsgfVxuICAucm93LXN0YXJ0LTYtbCB7IGdyaWQtcm93LXN0YXJ0OiA2OyB9XG4gIC5yb3ctc3RhcnQtNy1sIHsgZ3JpZC1yb3ctc3RhcnQ6IDc7IH1cbiAgLnJvdy1zdGFydC04LWwgeyBncmlkLXJvdy1zdGFydDogODsgfVxuICAucm93LXN0YXJ0LTktbCB7IGdyaWQtcm93LXN0YXJ0OiA5OyB9XG4gIC5yb3ctc3RhcnQtMTAtbCB7IGdyaWQtcm93LXN0YXJ0OiAxMDsgfVxuICAucm93LXN0YXJ0LTExLWwgeyBncmlkLXJvdy1zdGFydDogMTE7IH1cbiAgLnJvdy1zdGFydC0xMi1sIHsgZ3JpZC1yb3ctc3RhcnQ6IDEyOyB9XG4gIC5yb3ctc3RhcnQtMTMtbCB7IGdyaWQtcm93LXN0YXJ0OiAxMzsgfVxuICAucm93LXN0YXJ0LTE0LWwgeyBncmlkLXJvdy1zdGFydDogMTQ7IH1cbiAgLnJvdy1zdGFydC0xNS1sIHsgZ3JpZC1yb3ctc3RhcnQ6IDE1OyB9XG4gIC5yb3ctc3RhcnQtMTYtbCB7IGdyaWQtcm93LXN0YXJ0OiAxNjsgfVxuXG4gIC5yb3ctZW5kLTEtbCB7IGdyaWQtcm93LWVuZDogMTsgfVxuICAucm93LWVuZC0yLWwgeyBncmlkLXJvdy1lbmQ6IDI7IH1cbiAgLnJvdy1lbmQtMy1sIHsgZ3JpZC1yb3ctZW5kOiAzOyB9XG4gIC5yb3ctZW5kLTQtbCB7IGdyaWQtcm93LWVuZDogNDsgfVxuICAucm93LWVuZC01LWwgeyBncmlkLXJvdy1lbmQ6IDU7IH1cbiAgLnJvdy1lbmQtNi1sIHsgZ3JpZC1yb3ctZW5kOiA2OyB9XG4gIC5yb3ctZW5kLTctbCB7IGdyaWQtcm93LWVuZDogNzsgfVxuICAucm93LWVuZC04LWwgeyBncmlkLXJvdy1lbmQ6IDg7IH1cbiAgLnJvdy1lbmQtOS1sIHsgZ3JpZC1yb3ctZW5kOiA5OyB9XG4gIC5yb3ctZW5kLTEwLWwgeyBncmlkLXJvdy1lbmQ6IDEwOyB9XG4gIC5yb3ctZW5kLTExLWwgeyBncmlkLXJvdy1lbmQ6IDExOyB9XG4gIC5yb3ctZW5kLTEyLWwgeyBncmlkLXJvdy1lbmQ6IDEyOyB9XG4gIC5yb3ctZW5kLTEzLWwgeyBncmlkLXJvdy1lbmQ6IDEzOyB9XG4gIC5yb3ctZW5kLTE0LWwgeyBncmlkLXJvdy1lbmQ6IDE0OyB9XG4gIC5yb3ctZW5kLTE1LWwgeyBncmlkLXJvdy1lbmQ6IDE1OyB9XG4gIC5yb3ctZW5kLTE2LWwgeyBncmlkLXJvdy1lbmQ6IDE2OyB9XG59XG4iLCIvKlxuXG4gIEJBQ0tEUk9QLUZJTFRFUiBFRkZFQ1RTXG5cbiAgICAtIEJsdXJcbiAgICAtIEdyYXlzY2FsZVxuICAgIC0gSHVlIFJvdGF0ZVxuICAgIC0gSW52ZXJ0XG4gICAgLSBJTlRFUkFDVElPTlNcbiAgICAgIC0gSG92ZXJcbiAgICAgIC0gRm9jdXNcblxuKi9cblxuLmZpbHRlci1ub25lIHsgZmlsdGVyOiBub25lOyB9XG5cbi5ibHVyMSB7IGZpbHRlcjogYmx1cig0cHgpOyB9XG4uYmx1cjIgeyBmaWx0ZXI6IGJsdXIoMTZweCk7IH1cbi5ibHVyMyB7IGZpbHRlcjogYmx1cig5NnB4KTsgfVxuXG4uZ3JheXNjYWxlMSB7IGZpbHRlcjogZ3JheXNjYWxlKDApOyB9XG4uZ3JheXNjYWxlMiB7IGZpbHRlcjogZ3JheXNjYWxlKDUwJSk7IH1cbi5ncmF5c2NhbGUzIHsgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7IH1cblxuLmh1ZS1yb3RhdGUwIHsgZmlsdGVyOiBodWUtcm90YXRlKDBkZWcpO31cbi5odWUtcm90YXRlMSB7IGZpbHRlcjogaHVlLXJvdGF0ZSg0NWRlZyk7fVxuLmh1ZS1yb3RhdGUyIHsgZmlsdGVyOiBodWUtcm90YXRlKDkwZGVnKTt9XG4uaHVlLXJvdGF0ZTMgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMTM1ZGVnKTt9XG4uaHVlLXJvdGF0ZTQgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMTgwZGVnKTt9XG4uaHVlLXJvdGF0ZTUgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMjI1ZGVnKTt9XG4uaHVlLXJvdGF0ZTYgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMjcwZGVnKTt9XG4uaHVlLXJvdGF0ZTcgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMzE1ZGVnKTt9XG5cbi5pbnZlcnQgeyBmaWx0ZXI6IGludmVydCgxMDAlKTsgfVxuXG4vKiBUT0RPOiBBZGQgZHJvcC1zaGFkb3cgKi9cblxuLmZpbHRlci1ub25lLWhvdmVyOmhvdmVyIHsgZmlsdGVyOiBub25lOyB9XG5cbi5ibHVyMS1ob3Zlcjpob3ZlciB7IGZpbHRlcjogYmx1cig0cHgpOyB9XG4uYmx1cjItaG92ZXI6aG92ZXIgeyBmaWx0ZXI6IGJsdXIoMTZweCk7IH1cbi5ibHVyMy1ob3Zlcjpob3ZlciB7IGZpbHRlcjogYmx1cig5NnB4KTsgfVxuXG4uZ3JheXNjYWxlMS1ob3Zlcjpob3ZlciB7IGZpbHRlcjogZ3JheXNjYWxlKDApOyB9XG4uZ3JheXNjYWxlMi1ob3Zlcjpob3ZlciB7IGZpbHRlcjogZ3JheXNjYWxlKDUwJSk7IH1cbi5ncmF5c2NhbGUzLWhvdmVyOmhvdmVyIHsgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7IH1cblxuLmh1ZS1yb3RhdGUwLWhvdmVyOmhvdmVyIHsgZmlsdGVyOiBodWUtcm90YXRlKDBkZWcpO31cbi5odWUtcm90YXRlMS1ob3Zlcjpob3ZlciB7IGZpbHRlcjogaHVlLXJvdGF0ZSg0NWRlZyk7fVxuLmh1ZS1yb3RhdGUyLWhvdmVyOmhvdmVyIHsgZmlsdGVyOiBodWUtcm90YXRlKDkwZGVnKTt9XG4uaHVlLXJvdGF0ZTMtaG92ZXI6aG92ZXIgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMTM1ZGVnKTt9XG4uaHVlLXJvdGF0ZTQtaG92ZXI6aG92ZXIgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMTgwZGVnKTt9XG4uaHVlLXJvdGF0ZTUtaG92ZXI6aG92ZXIgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMjI1ZGVnKTt9XG4uaHVlLXJvdGF0ZTYtaG92ZXI6aG92ZXIgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMjcwZGVnKTt9XG4uaHVlLXJvdGF0ZTctaG92ZXI6aG92ZXIgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMzE1ZGVnKTt9XG5cbi5pbnZlcnQtaG92ZXI6aG92ZXIgeyBmaWx0ZXI6IGludmVydCgxMDAlKTsgfVxuXG4uYmx1cjEtZm9jdXM6Zm9jdXMgeyBmaWx0ZXI6IGJsdXIoNHB4KTsgfVxuLmJsdXIyLWZvY3VzOmZvY3VzIHsgZmlsdGVyOiBibHVyKDE2cHgpOyB9XG4uYmx1cjMtZm9jdXM6Zm9jdXMgeyBmaWx0ZXI6IGJsdXIoOTZweCk7IH1cblxuLmdyYXlzY2FsZTEtZm9jdXM6Zm9jdXMgeyBmaWx0ZXI6IGdyYXlzY2FsZSgwKTsgfVxuLmdyYXlzY2FsZTItZm9jdXM6Zm9jdXMgeyBmaWx0ZXI6IGdyYXlzY2FsZSg1MCUpOyB9XG4uZ3JheXNjYWxlMy1mb2N1czpmb2N1cyB7IGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpOyB9XG5cbi5odWUtcm90YXRlMC1mb2N1czpmb2N1cyB7IGZpbHRlcjogaHVlLXJvdGF0ZSgwZGVnKTt9XG4uaHVlLXJvdGF0ZTEtZm9jdXM6Zm9jdXMgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoNDVkZWcpO31cbi5odWUtcm90YXRlMi1mb2N1czpmb2N1cyB7IGZpbHRlcjogaHVlLXJvdGF0ZSg5MGRlZyk7fVxuLmh1ZS1yb3RhdGUzLWZvY3VzOmZvY3VzIHsgZmlsdGVyOiBodWUtcm90YXRlKDEzNWRlZyk7fVxuLmh1ZS1yb3RhdGU0LWZvY3VzOmZvY3VzIHsgZmlsdGVyOiBodWUtcm90YXRlKDE4MGRlZyk7fVxuLmh1ZS1yb3RhdGU1LWZvY3VzOmZvY3VzIHsgZmlsdGVyOiBodWUtcm90YXRlKDIyNWRlZyk7fVxuLmh1ZS1yb3RhdGU2LWZvY3VzOmZvY3VzIHsgZmlsdGVyOiBodWUtcm90YXRlKDI3MGRlZyk7fVxuLmh1ZS1yb3RhdGU3LWZvY3VzOmZvY3VzIHsgZmlsdGVyOiBodWUtcm90YXRlKDMxNWRlZyk7fVxuXG4uaW52ZXJ0LWZvY3VzOmZvY3VzIHsgZmlsdGVyOiBpbnZlcnQoMTAwJSk7IH1cbiIsIi8qXG5cbiAgRklMVEVSIEVGRkVDVFNcblxuICAgIC0gQmx1clxuICAgIC0gR3JheXNjYWxlXG4gICAgLSBIdWUgUm90YXRlXG4gICAgLSBJbnZlcnRcblxuKi9cblxuLmZpbHRlci1ub25lIHsgZmlsdGVyOiBub25lOyB9XG5cbi5ibHVyMSB7IGZpbHRlcjogYmx1cig0cHgpOyB9XG4uYmx1cjIgeyBmaWx0ZXI6IGJsdXIoMTZweCk7IH1cbi5ibHVyMyB7IGZpbHRlcjogYmx1cig5NnB4KTsgfVxuXG4uZ3JheXNjYWxlMSB7IGZpbHRlcjogZ3JheXNjYWxlKDApOyB9XG4uZ3JheXNjYWxlMiB7IGZpbHRlcjogZ3JheXNjYWxlKDUwJSk7IH1cbi5ncmF5c2NhbGUzIHsgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7IH1cblxuLmh1ZS1yb3RhdGUwIHsgZmlsdGVyOiBodWUtcm90YXRlKDBkZWcpO31cbi5odWUtcm90YXRlMSB7IGZpbHRlcjogaHVlLXJvdGF0ZSg0NWRlZyk7fVxuLmh1ZS1yb3RhdGUyIHsgZmlsdGVyOiBodWUtcm90YXRlKDkwZGVnKTt9XG4uaHVlLXJvdGF0ZTMgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMTM1ZGVnKTt9XG4uaHVlLXJvdGF0ZTQgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMTgwZGVnKTt9XG4uaHVlLXJvdGF0ZTUgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMjI1ZGVnKTt9XG4uaHVlLXJvdGF0ZTYgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMjcwZGVnKTt9XG4uaHVlLXJvdGF0ZTcgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMzE1ZGVnKTt9XG5cbi5pbnZlcnQgeyBmaWx0ZXI6IGludmVydCgxMDAlKTsgfVxuXG4vKiBUT0RPOiBBZGQgZHJvcC1zaGFkb3cgKi9cblxuLmZpbHRlci1ub25lLWhvdmVyOmhvdmVyIHsgZmlsdGVyOiBub25lOyB9XG5cbi5ibHVyMS1ob3Zlcjpob3ZlciB7IGZpbHRlcjogYmx1cig0cHgpOyB9XG4uYmx1cjItaG92ZXI6aG92ZXIgeyBmaWx0ZXI6IGJsdXIoMTZweCk7IH1cbi5ibHVyMy1ob3Zlcjpob3ZlciB7IGZpbHRlcjogYmx1cig5NnB4KTsgfVxuXG4uZ3JheXNjYWxlMS1ob3Zlcjpob3ZlciB7IGZpbHRlcjogZ3JheXNjYWxlKDApOyB9XG4uZ3JheXNjYWxlMi1ob3Zlcjpob3ZlciB7IGZpbHRlcjogZ3JheXNjYWxlKDUwJSk7IH1cbi5ncmF5c2NhbGUzLWhvdmVyOmhvdmVyIHsgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7IH1cblxuLmh1ZS1yb3RhdGUwLWhvdmVyOmhvdmVyIHsgZmlsdGVyOiBodWUtcm90YXRlKDBkZWcpO31cbi5odWUtcm90YXRlMS1ob3Zlcjpob3ZlciB7IGZpbHRlcjogaHVlLXJvdGF0ZSg0NWRlZyk7fVxuLmh1ZS1yb3RhdGUyLWhvdmVyOmhvdmVyIHsgZmlsdGVyOiBodWUtcm90YXRlKDkwZGVnKTt9XG4uaHVlLXJvdGF0ZTMtaG92ZXI6aG92ZXIgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMTM1ZGVnKTt9XG4uaHVlLXJvdGF0ZTQtaG92ZXI6aG92ZXIgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMTgwZGVnKTt9XG4uaHVlLXJvdGF0ZTUtaG92ZXI6aG92ZXIgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMjI1ZGVnKTt9XG4uaHVlLXJvdGF0ZTYtaG92ZXI6aG92ZXIgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMjcwZGVnKTt9XG4uaHVlLXJvdGF0ZTctaG92ZXI6aG92ZXIgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoMzE1ZGVnKTt9XG5cbi5pbnZlcnQtaG92ZXI6aG92ZXIgeyBmaWx0ZXI6IGludmVydCgxMDAlKTsgfVxuXG4uYmx1cjEtZm9jdXM6Zm9jdXMgeyBmaWx0ZXI6IGJsdXIoNHB4KTsgfVxuLmJsdXIyLWZvY3VzOmZvY3VzIHsgZmlsdGVyOiBibHVyKDE2cHgpOyB9XG4uYmx1cjMtZm9jdXM6Zm9jdXMgeyBmaWx0ZXI6IGJsdXIoOTZweCk7IH1cblxuLmdyYXlzY2FsZTEtZm9jdXM6Zm9jdXMgeyBmaWx0ZXI6IGdyYXlzY2FsZSgwKTsgfVxuLmdyYXlzY2FsZTItZm9jdXM6Zm9jdXMgeyBmaWx0ZXI6IGdyYXlzY2FsZSg1MCUpOyB9XG4uZ3JheXNjYWxlMy1mb2N1czpmb2N1cyB7IGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpOyB9XG5cbi5odWUtcm90YXRlMC1mb2N1czpmb2N1cyB7IGZpbHRlcjogaHVlLXJvdGF0ZSgwZGVnKTt9XG4uaHVlLXJvdGF0ZTEtZm9jdXM6Zm9jdXMgeyBmaWx0ZXI6IGh1ZS1yb3RhdGUoNDVkZWcpO31cbi5odWUtcm90YXRlMi1mb2N1czpmb2N1cyB7IGZpbHRlcjogaHVlLXJvdGF0ZSg5MGRlZyk7fVxuLmh1ZS1yb3RhdGUzLWZvY3VzOmZvY3VzIHsgZmlsdGVyOiBodWUtcm90YXRlKDEzNWRlZyk7fVxuLmh1ZS1yb3RhdGU0LWZvY3VzOmZvY3VzIHsgZmlsdGVyOiBodWUtcm90YXRlKDE4MGRlZyk7fVxuLmh1ZS1yb3RhdGU1LWZvY3VzOmZvY3VzIHsgZmlsdGVyOiBodWUtcm90YXRlKDIyNWRlZyk7fVxuLmh1ZS1yb3RhdGU2LWZvY3VzOmZvY3VzIHsgZmlsdGVyOiBodWUtcm90YXRlKDI3MGRlZyk7fVxuLmh1ZS1yb3RhdGU3LWZvY3VzOmZvY3VzIHsgZmlsdGVyOiBodWUtcm90YXRlKDMxNWRlZyk7fVxuXG4uaW52ZXJ0LWZvY3VzOmZvY3VzIHsgZmlsdGVyOiBpbnZlcnQoMTAwJSk7IH1cbiIsIi8qXG5cbiAgRkxFWEJPWFxuXG4gIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAtcyA9IHNtYWxsXG4gICAtbSAgPSBtZWRpdW1cbiAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi8qIDEuIEZpeCBmb3IgQ2hyb21lIDQ0IGJ1Zy5cbiAqIGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD01MDY4OTMgKi9cbi5mbGV4LWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLXdpZHRoOiAwOyAvKiAxICovXG4gIG1pbi1oZWlnaHQ6IDA7IC8qIDEgKi9cbn1cblxuLmZsZXgtbm9uZSB7IGZsZXg6IG5vbmU7IH1cblxuLmZsZXgtZ3Jvdy0wIHsgZmxleC1ncm93OiAwOyB9XG4uZmxleC1ncm93LTEgeyBmbGV4LWdyb3c6IDE7IH1cblxuLmZsZXgtc2hyaW5rLTAgeyBmbGV4LXNocmluazogMDsgfVxuLmZsZXgtc2hyaW5rLTEgeyBmbGV4LXNocmluazogMTsgfVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6MzBlbSkge1xuICAuZmxleC1zIHsgZGlzcGxheTogZmxleDsgfVxuICAuaW5saW5lLWZsZXgtcyB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gIC5mbGV4LWF1dG8tcyB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwOyAvKiAxICovXG4gICAgbWluLWhlaWdodDogMDsgLyogMSAqL1xuICB9XG4gIC5mbGV4LW5vbmUtcyB7IGZsZXg6IG5vbmU7IH1cblxuICAuZmxleC1ncm93LTAtcyB7IGZsZXgtZ3JvdzogMDsgfVxuICAuZmxleC1ncm93LTEtcyB7IGZsZXgtZ3JvdzogMTsgfVxuXG4gIC5mbGV4LXNocmluay0wLXMgeyBmbGV4LXNocmluazogMDsgfVxuICAuZmxleC1zaHJpbmstMS1zIHsgZmxleC1zaHJpbms6IDE7IH1cbn1cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG4gIC5mbGV4LW0geyBkaXNwbGF5OiBmbGV4OyB9XG4gIC5pbmxpbmUtZmxleC1tIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgLmZsZXgtYXV0by1tIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7IC8qIDEgKi9cbiAgICBtaW4taGVpZ2h0OiAwOyAvKiAxICovXG4gIH1cbiAgLmZsZXgtbm9uZS1tIHsgZmxleDogbm9uZTsgfVxuXG4gIC5mbGV4LWdyb3ctMC1tIHsgZmxleC1ncm93OiAwOyB9XG4gIC5mbGV4LWdyb3ctMS1tIHsgZmxleC1ncm93OiAxOyB9XG5cbiAgLmZsZXgtc2hyaW5rLTAtbSB7IGZsZXgtc2hyaW5rOiAwOyB9XG4gIC5mbGV4LXNocmluay0xLW0geyBmbGV4LXNocmluazogMTsgfVxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NjRlbSkge1xuICAuZmxleC1sIHsgZGlzcGxheTogZmxleDsgfVxuICAuaW5saW5lLWZsZXgtbCB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gIC5mbGV4LWF1dG8tbCB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwOyAvKiAxICovXG4gICAgbWluLWhlaWdodDogMDsgLyogMSAqL1xuICB9XG4gIC5mbGV4LW5vbmUtbCB7IGZsZXg6IG5vbmU7IH1cblxuICAuZmxleC1ncm93LTAtbCB7IGZsZXgtZ3JvdzogMDsgfVxuICAuZmxleC1ncm93LTEtbCB7IGZsZXgtZ3JvdzogMTsgfVxuXG4gIC5mbGV4LXNocmluay0wLWwgeyBmbGV4LXNocmluazogMDsgfVxuICAuZmxleC1zaHJpbmstMS1sIHsgZmxleC1zaHJpbms6IDE7IH1cbn1cbiIsIi8qXG5cbiAgRkxFWC1ESVJFQ1RJT05cblxuICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgLXMgPSBzbWFsbFxuICAgLW0gID0gbWVkaXVtXG4gICAtbCAgPSBsYXJnZVxuXG4qL1xuXG5cbi5mbGV4LWNvbHVtbiAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4uZmxleC1yb3cgICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuLmZsZXgtY29sdW1uLXJldmVyc2UgIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4uZmxleC1yb3ctcmV2ZXJzZSAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgLmZsZXgtY29sdW1uLXMgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5mbGV4LXJvdy1zIHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAuZmxleC1jb2x1bW4tcmV2ZXJzZS1zIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gIC5mbGV4LXJvdy1yZXZlcnNlLXMgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjQ4ZW0pIHtcbiAgLmZsZXgtY29sdW1uLW0geyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5mbGV4LXJvdy1tICAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmZsZXgtY29sdW1uLXJldmVyc2UtbSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAuZmxleC1yb3ctcmV2ZXJzZS1tIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG4gIC5mbGV4LWNvbHVtbi1sIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuZmxleC1yb3ctbCB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmZsZXgtY29sdW1uLXJldmVyc2UtbCB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAuZmxleC1yb3ctcmV2ZXJzZS1sIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG59XG4iLCIvKlxuXG4gIEZMRVgtV1JBUFxuXG4gIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAtcyA9IHNtYWxsXG4gICAtbSAgPSBtZWRpdW1cbiAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi5mbGV4LXdyYXAgICAgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbi5mbGV4LW5vd3JhcCAgICB7IGZsZXgtd3JhcDogbm93cmFwOyB9XG4uZmxleC13cmFwLXJldmVyc2UgICAgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsgfVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6MzBlbSkge1xuICAuZmxleC13cmFwLXMgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmZsZXgtbm93cmFwLXMgeyBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAuZmxleC13cmFwLXJldmVyc2UtcyB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG4gIC5mbGV4LXdyYXAtbSB7IGZsZXgtd3JhcDogd3JhcDsgfVxuICAuZmxleC1ub3dyYXAtbSB7IGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5mbGV4LXdyYXAtcmV2ZXJzZS1tIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLmZsZXgtd3JhcC1sIHsgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5mbGV4LW5vd3JhcC1sIHsgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmZsZXgtd3JhcC1yZXZlcnNlLWwgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsgfVxufVxuIiwiLypcblxuICBBTElHTi1JVEVNU1xuXG4gIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAtcyA9IHNtYWxsXG4gICAtbSAgPSBtZWRpdW1cbiAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi5pdGVtcy1zdGFydCAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4uaXRlbXMtZW5kICAgICAgeyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbi5pdGVtcy1jZW50ZXIgICB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbi5pdGVtcy1iYXNlbGluZSB7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuLml0ZW1zLXN0cmV0Y2ggIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgLml0ZW1zLXN0YXJ0LXMgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAuaXRlbXMtZW5kLXMgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAuaXRlbXMtY2VudGVyLXMgICB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLml0ZW1zLWJhc2VsaW5lLXMgeyBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgLml0ZW1zLXN0cmV0Y2gtcyAgeyBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NDhlbSkge1xuICAuaXRlbXMtc3RhcnQtbSAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5pdGVtcy1lbmQtbSAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIC5pdGVtcy1jZW50ZXItbSAgIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaXRlbXMtYmFzZWxpbmUtbSB7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuICAuaXRlbXMtc3RyZXRjaC1tICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG4gIC5pdGVtcy1zdGFydC1sICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLml0ZW1zLWVuZC1sICAgeyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgLml0ZW1zLWNlbnRlci1sICAgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pdGVtcy1iYXNlbGluZS1sIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gIC5pdGVtcy1zdHJldGNoLWwgIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbn1cbiIsIi8qXG5cbiAgQUxJR04tQ09OVEVOVFxuXG4gIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAtcyA9IHNtYWxsXG4gICAtbSAgPSBtZWRpdW1cbiAgIC1sICA9IGxhcmdlXG5cbiAgTUROOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvYWxpZ24tY29udGVudFxuXG4qL1xuXG4uY29udGVudC1zdGFydCAgIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydDsgfVxuLmNvbnRlbnQtZW5kICAgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4uY29udGVudC1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG4uY29udGVudC1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuLmNvbnRlbnQtYXJvdW5kICB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuLmNvbnRlbnQtc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7IH1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgLmNvbnRlbnQtc3RhcnQtcyB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmNvbnRlbnQtZW5kLXMgeyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuY29udGVudC1jZW50ZXItcyB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuY29udGVudC1iZXR3ZWVuLXMgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5jb250ZW50LWFyb3VuZC1zIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gIC5jb250ZW50LXN0cmV0Y2gtcyB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7IH1cbn1cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG4gIC5jb250ZW50LXN0YXJ0LW0geyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5jb250ZW50LWVuZC1tIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmNvbnRlbnQtY2VudGVyLW0geyBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmNvbnRlbnQtYmV0d2Vlbi1tIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuY29udGVudC1hcm91bmQtbSB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAuY29udGVudC1zdHJldGNoLW0geyBhbGlnbi1jb250ZW50OiBzdHJldGNoOyB9XG59XG5AY29udGFpbmVyIChtaW4td2lkdGg6NjRlbSkge1xuICAuY29udGVudC1zdGFydC1sIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydDsgfVxuICAuY29udGVudC1lbmQtbCB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5jb250ZW50LWNlbnRlci1sIHsgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG4gIC5jb250ZW50LWJldHdlZW4tbCB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLmNvbnRlbnQtYXJvdW5kLWwgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgLmNvbnRlbnQtc3RyZXRjaC1sIHsgYWxpZ24tY29udGVudDogc3RyZXRjaDsgfVxufVxuIiwiLypcblxuICBBTElHTi1TRUxGXG5cbiAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgIC1zID0gc21hbGxcbiAgIC1tICA9IG1lZGl1bVxuICAgLWwgID0gbGFyZ2VcblxuKi9cblxuLnNlbGYtc3RhcnQgICAgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG4uc2VsZi1lbmQgICAgICB7IGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG4uc2VsZi1jZW50ZXIgICB7IGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuLnNlbGYtYmFzZWxpbmUgeyBhbGlnbi1zZWxmOiBiYXNlbGluZTsgfVxuLnNlbGYtc3RyZXRjaCAgeyBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDozMGVtKSB7XG4gIC5zZWxmLXN0YXJ0LXMgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG4gIC5zZWxmLWVuZC1zIHsgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbiAgLnNlbGYtY2VudGVyLXMgeyBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgLnNlbGYtYmFzZWxpbmUtcyB7IGFsaWduLXNlbGY6IGJhc2VsaW5lOyB9XG4gIC5zZWxmLXN0cmV0Y2gtcyB7IGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjQ4ZW0pIHtcbiAgLnNlbGYtc3RhcnQtbSB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgLnNlbGYtZW5kLW0geyBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuICAuc2VsZi1jZW50ZXItbSB7IGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAuc2VsZi1iYXNlbGluZS1tIHsgYWxpZ24tc2VsZjogYmFzZWxpbmU7IH1cbiAgLnNlbGYtc3RyZXRjaC1tIHsgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG4gIC5zZWxmLXN0YXJ0LWwgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG4gIC5zZWxmLWVuZC1sIHsgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbiAgLnNlbGYtY2VudGVyLWwgeyBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgLnNlbGYtYmFzZWxpbmUtbCB7IGFsaWduLXNlbGY6IGJhc2VsaW5lOyB9XG4gIC5zZWxmLXN0cmV0Y2gtbCB7IGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cbn1cbiIsIi8qXG5cbiAgSlVTVElGWS1TRUxGXG5cbiAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgIC1zID0gc21hbGxcbiAgIC1tICA9IG1lZGl1bVxuICAgLWwgID0gbGFyZ2VcblxuICBNRE46IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9qdXN0aWZ5LXNlbGZcblxuKi9cblxuLmp1c3RpZnktc2VsZi1zdGFydCB7IGp1c3RpZnktc2VsZjogc3RhcnQ7IH1cbi5qdXN0aWZ5LXNlbGYtZW5kIHsganVzdGlmeS1zZWxmOiBlbmQ7IH1cbi5qdXN0aWZ5LXNlbGYtY2VudGVyIHsganVzdGlmeS1zZWxmOiBjZW50ZXI7IH1cbi5qdXN0aWZ5LXNlbGYtc3RyZXRjaHsganVzdGlmeS1zZWxmOiBzdHJldGNoOyB9XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDozMGVtKSB7XG4gIC5qdXN0aWZ5LXNlbGYtc3RhcnQtcyB7IGp1c3RpZnktc2VsZjogc3RhcnQ7IH1cbiAgLmp1c3RpZnktc2VsZi1lbmQtcyB7IGp1c3RpZnktc2VsZjogZW5kOyB9XG4gIC5qdXN0aWZ5LXNlbGYtY2VudGVyLXMgeyBqdXN0aWZ5LXNlbGY6IGNlbnRlcjsgfVxuICAuanVzdGlmeS1zZWxmLXN0cmV0Y2gtcyB7IGp1c3RpZnktc2VsZjogc3RyZXRjaDsgfVxufVxuQGNvbnRhaW5lciAobWluLXdpZHRoOjQ4ZW0pIHtcbiAgLmp1c3RpZnktc2VsZi1zdGFydC1tIHsganVzdGlmeS1zZWxmOiBzdGFydDsgfVxuICAuanVzdGlmeS1zZWxmLWVuZC1tIHsganVzdGlmeS1zZWxmOiBlbmQ7IH1cbiAgLmp1c3RpZnktc2VsZi1jZW50ZXItbSB7IGp1c3RpZnktc2VsZjogY2VudGVyOyB9XG4gIC5qdXN0aWZ5LXNlbGYtc3RyZXRjaC1tIHsganVzdGlmeS1zZWxmOiBzdHJldGNoOyB9XG59XG5AY29udGFpbmVyIChtaW4td2lkdGg6NjRlbSkge1xuICAuanVzdGlmeS1zZWxmLXN0YXJ0LWwgeyBqdXN0aWZ5LXNlbGY6IHN0YXJ0OyB9XG4gIC5qdXN0aWZ5LXNlbGYtZW5kLWwgeyBqdXN0aWZ5LXNlbGY6IGVuZDsgfVxuICAuanVzdGlmeS1zZWxmLWNlbnRlci1sIHsganVzdGlmeS1zZWxmOiBjZW50ZXI7IH1cbiAgLmp1c3RpZnktc2VsZi1zdHJldGNoLWwgeyBqdXN0aWZ5LXNlbGY6IHN0cmV0Y2g7IH1cbn1cbiIsIi8qXG5cbiAgSlVTVElGWS1DT05URU5UXG5cbiAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgIC1zID0gc21hbGxcbiAgIC1tICA9IG1lZGl1bVxuICAgLWwgID0gbGFyZ2VcblxuICBNRE46IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9qdXN0aWZ5LWNvbnRlbnRcblxuKi9cblxuLmp1c3RpZnktc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuLmp1c3RpZnktZW5kICAgICB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbi5qdXN0aWZ5LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuLmp1c3RpZnktYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuLmp1c3RpZnktYXJvdW5kICB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDozMGVtKSB7XG4gIC5qdXN0aWZ5LXN0YXJ0LXMgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmp1c3RpZnktZW5kLXMgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5qdXN0aWZ5LWNlbnRlci1zIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmp1c3RpZnktYmV0d2Vlbi1zIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5qdXN0aWZ5LWFyb3VuZC1zIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbn1cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG4gIC5qdXN0aWZ5LXN0YXJ0LW0geyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmp1c3RpZnktZW5kLW0geyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5qdXN0aWZ5LWNlbnRlci1tIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmp1c3RpZnktYmV0d2Vlbi1tIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5qdXN0aWZ5LWFyb3VuZC1tIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxufVxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLmp1c3RpZnktc3RhcnQtbCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuanVzdGlmeS1lbmQtbCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmp1c3RpZnktY2VudGVyLWwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuanVzdGlmeS1iZXR3ZWVuLWwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLmp1c3RpZnktYXJvdW5kLWwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxufVxuIiwiLypcblxuICBPUkRFUlxuXG4gIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAtcyA9IHNtYWxsXG4gICAtbSAgPSBtZWRpdW1cbiAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi5vcmRlci0wIHsgb3JkZXI6IDA7IH1cbi5vcmRlci0xIHsgb3JkZXI6IDE7IH1cbi5vcmRlci0yIHsgb3JkZXI6IDI7IH1cbi5vcmRlci0zIHsgb3JkZXI6IDM7IH1cbi5vcmRlci00IHsgb3JkZXI6IDQ7IH1cbi5vcmRlci01IHsgb3JkZXI6IDU7IH1cbi5vcmRlci02IHsgb3JkZXI6IDY7IH1cbi5vcmRlci03IHsgb3JkZXI6IDc7IH1cbi5vcmRlci04IHsgb3JkZXI6IDg7IH1cbi5vcmRlci1sYXN0IHsgb3JkZXI6IDk5OTk5OyB9XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDozMGVtKSB7XG4gIC5vcmRlci0wLXMgeyBvcmRlcjogMDsgfVxuICAub3JkZXItMS1zIHsgb3JkZXI6IDE7IH1cbiAgLm9yZGVyLTItcyB7IG9yZGVyOiAyOyB9XG4gIC5vcmRlci0zLXMgeyBvcmRlcjogMzsgfVxuICAub3JkZXItNC1zIHsgb3JkZXI6IDQ7IH1cbiAgLm9yZGVyLTUtcyB7IG9yZGVyOiA1OyB9XG4gIC5vcmRlci02LXMgeyBvcmRlcjogNjsgfVxuICAub3JkZXItNy1zIHsgb3JkZXI6IDc7IH1cbiAgLm9yZGVyLTgtcyB7IG9yZGVyOiA4OyB9XG4gIC5vcmRlci1sYXN0LXMgeyBvcmRlcjogOTk5OTk7IH1cbn1cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG4gIC5vcmRlci0wLW0geyBvcmRlcjogMDsgfVxuICAub3JkZXItMS1tIHsgb3JkZXI6IDE7IH1cbiAgLm9yZGVyLTItbSB7IG9yZGVyOiAyOyB9XG4gIC5vcmRlci0zLW0geyBvcmRlcjogMzsgfVxuICAub3JkZXItNC1tIHsgb3JkZXI6IDQ7IH1cbiAgLm9yZGVyLTUtbSB7IG9yZGVyOiA1OyB9XG4gIC5vcmRlci02LW0geyBvcmRlcjogNjsgfVxuICAub3JkZXItNy1tIHsgb3JkZXI6IDc7IH1cbiAgLm9yZGVyLTgtbSB7IG9yZGVyOiA4OyB9XG4gIC5vcmRlci1sYXN0LW0geyBvcmRlcjogOTk5OTk7IH1cblxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NjRlbSkge1xuICAub3JkZXItMC1sIHsgb3JkZXI6IDA7IH1cbiAgLm9yZGVyLTEtbCB7IG9yZGVyOiAxOyB9XG4gIC5vcmRlci0yLWwgeyBvcmRlcjogMjsgfVxuICAub3JkZXItMy1sIHsgb3JkZXI6IDM7IH1cbiAgLm9yZGVyLTQtbCB7IG9yZGVyOiA0OyB9XG4gIC5vcmRlci01LWwgeyBvcmRlcjogNTsgfVxuICAub3JkZXItNi1sIHsgb3JkZXI6IDY7IH1cbiAgLm9yZGVyLTctbCB7IG9yZGVyOiA3OyB9XG4gIC5vcmRlci04LWwgeyBvcmRlcjogODsgfVxuICAub3JkZXItbGFzdC1sIHsgb3JkZXI6IDk5OTk5OyB9XG59XG4iLCIvKlxuXG4gICBGTE9BVFNcbiAgIGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL2xheW91dC9mbG9hdHMvXG5cbiAgIDEuIEZsb2F0ZWQgZWxlbWVudHMgYXJlIGF1dG9tYXRpY2FsbHkgcmVuZGVyZWQgYXMgYmxvY2sgbGV2ZWwgZWxlbWVudHMuXG4gICAgICBTZXR0aW5nIGZsb2F0cyB0byBkaXNwbGF5IGlubGluZSB3aWxsIGZpeCB0aGUgZG91YmxlIG1hcmdpbiBidWcgaW5cbiAgICAgIGllNi4gWW91IGtub3cuLi4ganVzdCBpbiBjYXNlLlxuXG4gICAyLiBEb24ndCBmb3JnZXQgdG8gY2xlYXJmaXggeW91ciBmbG9hdHMgd2l0aCAuY2ZcblxuICAgQmFzZTpcbiAgICAgZiA9IGZsb2F0XG5cbiAgIE1vZGlmaWVyczpcbiAgICAgbCA9IGxlZnRcbiAgICAgciA9IHJpZ2h0XG4gICAgIG4gPSBub25lXG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1zID0gc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cblxuXG4uZmwgeyBmbG9hdDogbGVmdDsgfVxuLmZyIHsgZmxvYXQ6IHJpZ2h0OyB9XG4uZm4geyBmbG9hdDogbm9uZTsgfVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6MzBlbSkge1xuICAuZmwtcyB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5mci1zIHsgZmxvYXQ6IHJpZ2h0OyAgfVxuICAuZm4tcyB7IGZsb2F0OiBub25lOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG4gIC5mbC1tIHsgZmxvYXQ6IGxlZnQ7ICB9XG4gIC5mci1tIHsgZmxvYXQ6IHJpZ2h0OyAgfVxuICAuZm4tbSB7IGZsb2F0OiBub25lOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG4gIC5mbC1sIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLmZyLWwgeyBmbG9hdDogcmlnaHQ7IH1cbiAgLmZuLWwgeyBmbG9hdDogbm9uZTsgfVxufVxuIiwiLyogXG5cbiAgIEZPTlQgRkFNSUxZIEdST1VQU1xuICAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvdHlwb2dyYXBoeS9mb250LWZhbWlseS9cblxuKi9cblxuLmYtaGVhZGluZyB7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1oZWFkaW5nLCBzYW5zLXNlcmlmKTsgfVxuLmYtYm9keSB7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1ib2R5LCBzYW5zLXNlcmlmKTsgfVxuLmYtbW9ubyB7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1tb25vLCBtb25vc3BhY2UpOyB9XG5cbi5qYWNrLWlucHV0IHsgZm9udC1mYW1pbHk6ICdKYWNrIElucHV0JzsgfVxuIiwiLypcblxuICAgRk9OVCBTVFlMRVxuICAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvdHlwb2dyYXBoeS9mb250LXN0eWxlL1xuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtcyA9IHNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG4uaSAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG4uZnMtbm9ybWFsIHsgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbiIsIi8qXG5cbiAgIEZPTlQgV0VJR0hUXG4gICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy90eXBvZ3JhcGh5L2ZvbnQtd2VpZ2h0L1xuXG4gICBCYXNlXG4gICAgIGZ3ID0gZm9udC13ZWlnaHRcblxuICAgTW9kaWZpZXJzOlxuICAgICAxID0gbGl0ZXJhbCB2YWx1ZSAxMDBcbiAgICAgMiA9IGxpdGVyYWwgdmFsdWUgMjAwXG4gICAgIDMgPSBsaXRlcmFsIHZhbHVlIDMwMFxuICAgICA0ID0gbGl0ZXJhbCB2YWx1ZSA0MDBcbiAgICAgNSA9IGxpdGVyYWwgdmFsdWUgNTAwXG4gICAgIDYgPSBsaXRlcmFsIHZhbHVlIDYwMFxuICAgICA3ID0gbGl0ZXJhbCB2YWx1ZSA3MDBcbiAgICAgOCA9IGxpdGVyYWwgdmFsdWUgODAwXG4gICAgIDkgPSBsaXRlcmFsIHZhbHVlIDkwMFxuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtcyA9IHNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG4ubm9ybWFsIHsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuLmIgICAgICB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4uZncxICAgIHsgZm9udC13ZWlnaHQ6IDEwMDsgfVxuLmZ3MiAgICB7IGZvbnQtd2VpZ2h0OiAyMDA7IH1cbi5mdzMgICAgeyBmb250LXdlaWdodDogMzAwOyB9XG4uZnc0ICAgIHsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuLmZ3NSAgICB7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cbi5mdzYgICAgeyBmb250LXdlaWdodDogNjAwOyB9XG4uZnc3ICAgIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuLmZ3OCAgICB7IGZvbnQtd2VpZ2h0OiA4MDA7IH1cbi5mdzkgICAgeyBmb250LXdlaWdodDogOTAwOyB9XG5cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgLm5vcm1hbC1zIHsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAuYi1zICAgICAgeyBmb250LXdlaWdodDogYm9sZDsgfVxuICAuZncxLXMgICAgeyBmb250LXdlaWdodDogMTAwOyB9XG4gIC5mdzItcyAgICB7IGZvbnQtd2VpZ2h0OiAyMDA7IH1cbiAgLmZ3My1zICAgIHsgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAuZnc0LXMgICAgeyBmb250LXdlaWdodDogNDAwOyB9XG4gIC5mdzUtcyAgICB7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLmZ3Ni1zICAgIHsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuZnc3LXMgICAgeyBmb250LXdlaWdodDogNzAwOyB9XG4gIC5mdzgtcyAgICB7IGZvbnQtd2VpZ2h0OiA4MDA7IH1cbiAgLmZ3OS1zICAgIHsgZm9udC13ZWlnaHQ6IDkwMDsgfVxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NDhlbSkge1xuICAubm9ybWFsLW0geyBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5iLW0gICAgICB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5mdzEtbSAgICB7IGZvbnQtd2VpZ2h0OiAxMDA7IH1cbiAgLmZ3Mi1tICAgIHsgZm9udC13ZWlnaHQ6IDIwMDsgfVxuICAuZnczLW0gICAgeyBmb250LXdlaWdodDogMzAwOyB9XG4gIC5mdzQtbSAgICB7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmZ3NS1tICAgIHsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAuZnc2LW0gICAgeyBmb250LXdlaWdodDogNjAwOyB9XG4gIC5mdzctbSAgICB7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmZ3OC1tICAgIHsgZm9udC13ZWlnaHQ6IDgwMDsgfVxuICAuZnc5LW0gICAgeyBmb250LXdlaWdodDogOTAwOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG4gIC5ub3JtYWwtbCB7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmItbCAgICAgIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmZ3MS1sICAgIHsgZm9udC13ZWlnaHQ6IDEwMDsgfVxuICAuZncyLWwgICAgeyBmb250LXdlaWdodDogMjAwOyB9XG4gIC5mdzMtbCAgICB7IGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLmZ3NC1sICAgIHsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuZnc1LWwgICAgeyBmb250LXdlaWdodDogNTAwOyB9XG4gIC5mdzYtbCAgICB7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmZ3Ny1sICAgIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZnc4LWwgICAgeyBmb250LXdlaWdodDogODAwOyB9XG4gIC5mdzktbCAgICB7IGZvbnQtd2VpZ2h0OiA5MDA7IH1cbn1cbiIsIi8qXG5cbiAgIEZPUk1TXG4gICBcbiovXG5cbi5pbnB1dC1yZXNldCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4uYnV0dG9uLXJlc2V0OjotbW96LWZvY3VzLWlubmVyLFxuLmlucHV0LXJlc2V0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLyogVE9ETzogVmFyaWFibGVzIHJldmlld1xuXG4gICBIRUlHSFRTXG4gICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy9sYXlvdXQvaGVpZ2h0cy9cblxuICAgQmFzZTpcbiAgICAgaCA9IGhlaWdodFxuICAgICBtaW4taCA9IG1pbi1oZWlnaHRcbiAgICAgbWluLXZoID0gbWluLWhlaWdodCB2ZXJ0aWNhbCBzY3JlZW4gaGVpZ2h0XG4gICAgIHZoID0gdmVydGljYWwgc2NyZWVuIGhlaWdodFxuXG4gICBNb2RpZmllcnNcbiAgICAgMSA9IDFzdCBzdGVwIGluIGhlaWdodCBzY2FsZVxuICAgICAyID0gMm5kIHN0ZXAgaW4gaGVpZ2h0IHNjYWxlXG4gICAgIDMgPSAzcmQgc3RlcCBpbiBoZWlnaHQgc2NhbGVcbiAgICAgNCA9IDR0aCBzdGVwIGluIGhlaWdodCBzY2FsZVxuICAgICA1ID0gNXRoIHN0ZXAgaW4gaGVpZ2h0IHNjYWxlXG5cbiAgICAgLTUwICAgPSBsaXRlcmFsIHZhbHVlIDUwJVxuICAgICAtNzUgICA9IGxpdGVyYWwgdmFsdWUgNzUlXG4gICAgIC0xMDAgID0gbGl0ZXJhbCB2YWx1ZSAxMDAlXG5cbiAgICAgLWF1dG8gPSBzdHJpbmcgdmFsdWUgb2YgYXV0b1xuICAgICAtaW5oZXJpdCA9IHN0cmluZyB2YWx1ZSBvZiBpbmhlcml0XG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1zID0gc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi8qIEhlaWdodCBTY2FsZSAqL1xuXG4uaDAgeyAgICBoZWlnaHQ6IHZhcigtLXNpemUtMCwgMCk7IH1cbi5oMSB7ICAgIGhlaWdodDogdmFyKC0tc2l6ZS0xLCAxcmVtKTsgfVxuLmgyIHsgICAgaGVpZ2h0OiB2YXIoLS1zaXplLTIsIDJyZW0pOyB9XG4uaDMgeyAgICBoZWlnaHQ6IHZhcigtLXNpemUtMywgM3JlbSk7IH1cbi5oNCB7ICAgIGhlaWdodDogdmFyKC0tc2l6ZS00LCA0cmVtKTsgfVxuLmg1IHsgICAgaGVpZ2h0OiB2YXIoLS1zaXplLTUsIDhyZW0pOyB9XG4uaDYgeyAgICBoZWlnaHQ6IHZhcigtLXNpemUtNiwgMTZyZW0pOyB9XG4uaDcgeyAgICBoZWlnaHQ6IHZhcigtLXNpemUtNywgMzJyZW0pOyB9XG4uaDggeyAgICBoZWlnaHQ6IHZhcigtLXNpemUtOCwgNjRyZW0pOyB9XG5cbi8qIEhlaWdodCBQZXJjZW50YWdlcyAtIEJhc2VkIG9mZiBvZiBoZWlnaHQgb2YgcGFyZW50ICovXG5cbi5oLTUwIHsgIGhlaWdodDogIDUwJTsgfVxuLmgtNzUgeyAgaGVpZ2h0OiAgNzUlOyB9XG4uaC0xMDAgeyBoZWlnaHQ6IDEwMCU7IH1cblxuLm1pbi1oLTEwMCB7IG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLyogU2NyZWVuIEhlaWdodCBQZXJjZW50YWdlICovXG5cbi52aC0yNSB7ICBoZWlnaHQ6ICAyNXZoOyB9XG4udmgtNTAgeyAgaGVpZ2h0OiAgNTB2aDsgfVxuLnZoLTc1IHsgIGhlaWdodDogIDc1dmg7IH1cbi52aC0xMDAgeyBoZWlnaHQ6IDEwMHZoOyB9XG5cbi5taW4tdmgtMTAwIHsgbWluLWhlaWdodDogMTAwdmg7IH1cblxuXG4vKiBTdHJpbmcgUHJvcGVydGllcyAqL1xuXG4uaC1hdXRvIHsgICAgIGhlaWdodDogYXV0bzsgfVxuLmgtaW5oZXJpdCB7ICBoZWlnaHQ6IGluaGVyaXQ7IH1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgLmgwLXMgeyAgICBoZWlnaHQ6IHZhcigtLXNpemUtMCwgMCk7IH1cbiAgLmgxLXMgeyAgICBoZWlnaHQ6IHZhcigtLXNpemUtMSwgMXJlbSk7IH1cbiAgLmgyLXMgeyAgICBoZWlnaHQ6IHZhcigtLXNpemUtMiwgMnJlbSk7IH1cbiAgLmgzLXMgeyAgICBoZWlnaHQ6IHZhcigtLXNpemUtMywgM3JlbSk7IH1cbiAgLmg0LXMgeyAgICBoZWlnaHQ6IHZhcigtLXNpemUtNCwgNHJlbSk7IH1cbiAgLmg1LXMgeyAgICBoZWlnaHQ6IHZhcigtLXNpemUtNSwgOHJlbSk7IH1cbiAgLmg2LXMgeyAgICBoZWlnaHQ6IHZhcigtLXNpemUtNiwgMTZyZW0pOyB9XG4gIC5oNy1zIHsgICAgaGVpZ2h0OiB2YXIoLS1zaXplLTcsIDMycmVtKTsgfVxuICAuaDgtcyB7ICAgIGhlaWdodDogdmFyKC0tc2l6ZS04LCA2NHJlbSk7IH1cbiAgLmgtNTAtcyB7IGhlaWdodDogNTAlOyB9XG4gIC5oLTc1LXMgeyBoZWlnaHQ6IDc1JTsgfVxuICAuaC0xMDAtcyB7IGhlaWdodDogMTAwJTsgfVxuICAubWluLWgtMTAwLXMgeyBtaW4taGVpZ2h0OiAxMDAlOyB9XG4gIC52aC0yNS1zIHsgIGhlaWdodDogIDI1dmg7IH1cbiAgLnZoLTUwLXMgeyAgaGVpZ2h0OiAgNTB2aDsgfVxuICAudmgtNzUtcyB7ICBoZWlnaHQ6ICA3NXZoOyB9XG4gIC52aC0xMDAtcyB7IGhlaWdodDogMTAwdmg7IH1cbiAgLm1pbi12aC0xMDAtcyB7IG1pbi1oZWlnaHQ6IDEwMHZoOyB9XG4gIC5oLWF1dG8tcyB7IGhlaWdodDogYXV0bzsgfVxuICAuaC1pbmhlcml0LXMgeyBoZWlnaHQ6IGluaGVyaXQ7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjQ4ZW0pIHtcbiAgLmgxLW0geyBoZWlnaHQ6IDFyZW07IH1cbiAgLmgyLW0geyBoZWlnaHQ6IDJyZW07IH1cbiAgLmgzLW0geyBoZWlnaHQ6IDRyZW07IH1cbiAgLmg0LW0geyBoZWlnaHQ6IDhyZW07IH1cbiAgLmg1LW0geyBoZWlnaHQ6IDE2cmVtOyB9XG4gIC5oLTUwLW0geyBoZWlnaHQ6IDUwJTsgfVxuICAuaC03NS1tIHsgaGVpZ2h0OiA3NSU7IH1cbiAgLmgtMTAwLW0geyBoZWlnaHQ6IDEwMCU7IH1cbiAgLm1pbi1oLTEwMC1tIHsgbWluLWhlaWdodDogMTAwJTsgfVxuICAudmgtMjUtbSB7ICBoZWlnaHQ6ICAyNXZoOyB9XG4gIC52aC01MC1tIHsgIGhlaWdodDogIDUwdmg7IH1cbiAgLnZoLTc1LW0geyAgaGVpZ2h0OiAgNzV2aDsgfVxuICAudmgtMTAwLW0geyBoZWlnaHQ6IDEwMHZoOyB9XG4gIC5taW4tdmgtMTAwLW0geyBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuICAuaC1hdXRvLW0geyBoZWlnaHQ6IGF1dG87IH1cbiAgLmgtaW5oZXJpdC1tIHsgaGVpZ2h0OiBpbmhlcml0OyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG4gIC5oMS1sIHsgaGVpZ2h0OiAxcmVtOyB9XG4gIC5oMi1sIHsgaGVpZ2h0OiAycmVtOyB9XG4gIC5oMy1sIHsgaGVpZ2h0OiA0cmVtOyB9XG4gIC5oNC1sIHsgaGVpZ2h0OiA4cmVtOyB9XG4gIC5oNS1sIHsgaGVpZ2h0OiAxNnJlbTsgfVxuICAuaC01MC1sIHsgaGVpZ2h0OiA1MCU7IH1cbiAgLmgtNzUtbCB7IGhlaWdodDogNzUlOyB9XG4gIC5oLTEwMC1sIHsgaGVpZ2h0OiAxMDAlOyB9XG4gIC5taW4taC0xMDAtbCB7IG1pbi1oZWlnaHQ6IDEwMCU7IH1cbiAgLnZoLTI1LWwgeyAgaGVpZ2h0OiAgMjV2aDsgfVxuICAudmgtNTAtbCB7ICBoZWlnaHQ6ICA1MHZoOyB9XG4gIC52aC03NS1sIHsgIGhlaWdodDogIDc1dmg7IH1cbiAgLnZoLTEwMC1sIHsgaGVpZ2h0OiAxMDB2aDsgfVxuICAubWluLXZoLTEwMC1sIHsgbWluLWhlaWdodDogMTAwdmg7IH1cbiAgLmgtYXV0by1sIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5oLWluaGVyaXQtbCB7IGhlaWdodDogaW5oZXJpdDsgfVxufVxuIiwiLypcblxuICAgTEVUVEVSIFNQQUNJTkdcbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL3R5cG9ncmFwaHkvdHJhY2tpbmcvXG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1zID0gc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi50cmFja2VkICAgICAgIHsgbGV0dGVyLXNwYWNpbmc6ICB2YXIoLS1sZXR0ZXItc3BhY2luZy10cmFja2VkLCAuMWVtKTsgfVxuLnRyYWNrZWQtdGlnaHQgeyBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctdGlnaHQsIC0wLjA1ZW0pOyB9XG4udHJhY2tlZC1tZWdhICB7IGxldHRlci1zcGFjaW5nOiAgdmFyKC0tbGV0dGVyLXNwYWNpbmctbGFyZ2UsIC4yNWVtKTsgfVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6MzBlbSkge1xuICAudHJhY2tlZC1zICAgICAgIHsgbGV0dGVyLXNwYWNpbmc6ICB2YXIoLS1sZXR0ZXItc3BhY2luZy10cmFja2VkLCAuMWVtKTsgfVxuICAudHJhY2tlZC10aWdodC1zIHsgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXRpZ2h0LCAtMC4wNWVtKTsgfVxuICAudHJhY2tlZC1tZWdhLXMgIHsgbGV0dGVyLXNwYWNpbmc6ICB2YXIoLS1sZXR0ZXItc3BhY2luZy1sYXJnZSwgLjI1ZW0pOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG4gIC50cmFja2VkLW0gICAgICAgeyBsZXR0ZXItc3BhY2luZzogIHZhcigtLWxldHRlci1zcGFjaW5nLXRyYWNrZWQsIC4xZW0pOyB9XG4gIC50cmFja2VkLXRpZ2h0LW0geyBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctdGlnaHQsIC0wLjA1ZW0pOyB9XG4gIC50cmFja2VkLW1lZ2EtbSAgeyBsZXR0ZXItc3BhY2luZzogIHZhcigtLWxldHRlci1zcGFjaW5nLWxhcmdlLCAuMjVlbSk7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLnRyYWNrZWQtbCAgICAgICB7IGxldHRlci1zcGFjaW5nOiAgdmFyKC0tbGV0dGVyLXNwYWNpbmctdHJhY2tlZCwgLjFlbSk7IH1cbiAgLnRyYWNrZWQtdGlnaHQtbCB7IGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy10aWdodCwgLTAuMDVlbSk7IH1cbiAgLnRyYWNrZWQtbWVnYS1sICB7IGxldHRlci1zcGFjaW5nOiAgdmFyKC0tbGV0dGVyLXNwYWNpbmctbGFyZ2UsIC4yNWVtKTsgfVxufVxuIiwiLypcblxuICAgTElORSBIRUlHSFQgLyBMRUFESU5HXG4gICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy90eXBvZ3JhcGh5L2xpbmUtaGVpZ2h0XG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1zID0gc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cbiAgLmxoLXNvbGlkIHsgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXNvbGlkLCAxKTsgfVxuICAubGgtdGl0bGUgeyBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGl0bGUsIDEuMjUpOyB9XG4gIC5saC1ib2R5ICB7IGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ib2R5LCAxLjUpOyB9XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDozMGVtKSB7XG4gIC5saC1zb2xpZC1zIHsgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXNvbGlkLCAxKTsgfVxuICAubGgtdGl0bGUtcyB7IGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aXRsZSwgMS4yNSk7IH1cbiAgLmxoLWJvZHktcyAgeyBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYm9keSwgMS41KTsgfVxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NDhlbSkge1xuICAubGgtc29saWQtbSB7IGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zb2xpZCwgMSk7IH1cbiAgLmxoLXRpdGxlLW0geyBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGl0bGUsIDEuMjUpOyB9XG4gIC5saC1ib2R5LW0gIHsgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJvZHksIDEuNSk7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLmxoLXNvbGlkLWwgeyBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtc29saWQsIDEpOyB9XG4gIC5saC10aXRsZS1sIHsgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpdGxlLCAxLjI1KTsgfVxuICAubGgtYm9keS1sICB7IGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ib2R5LCAxLjUpOyB9XG59XG5cbiIsIi8qXG5cbiAgIExJTktTXG4gICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy9lbGVtZW50cy9saW5rcy9cblxuKi9cblxuLmxpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2UtaW47XG59XG5cbi5saW5rOmxpbmssXG4ubGluazp2aXNpdGVkIHtcbiAgdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZS1pbjtcbn1cbi5saW5rOmhvdmVyICAge1xuICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlLWluO1xufVxuLmxpbms6YWN0aXZlICB7XG4gIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2UtaW47XG59XG4ubGluazpmb2N1cyAgIHtcbiAgdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZS1pbjtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBjdXJyZW50Q29sb3I7XG59XG5cbiIsIi8qXG5cbiAgIExJU1RTXG4gICBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy9lbGVtZW50cy9saXN0cy9cblxuKi9cblxuLmxpc3QgeyAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuIiwiLypcblxuICAgTUFYIFdJRFRIU1xuICAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvbGF5b3V0L21heC13aWR0aHMvXG5cbiAgIEJhc2U6XG4gICAgIG13ID0gbWF4LXdpZHRoXG5cbiAgIE1vZGlmaWVyc1xuICAgICAxID0gMXN0IHN0ZXAgaW4gd2lkdGggc2NhbGVcbiAgICAgMiA9IDJuZCBzdGVwIGluIHdpZHRoIHNjYWxlXG4gICAgIDMgPSAzcmQgc3RlcCBpbiB3aWR0aCBzY2FsZVxuICAgICA0ID0gNHRoIHN0ZXAgaW4gd2lkdGggc2NhbGVcbiAgICAgNSA9IDV0aCBzdGVwIGluIHdpZHRoIHNjYWxlXG4gICAgIDYgPSA2c3Qgc3RlcCBpbiB3aWR0aCBzY2FsZVxuICAgICA3ID0gN25kIHN0ZXAgaW4gd2lkdGggc2NhbGVcbiAgICAgOCA9IDhyZCBzdGVwIGluIHdpZHRoIHNjYWxlXG4gICAgIDkgPSA5dGggc3RlcCBpbiB3aWR0aCBzY2FsZVxuXG4gICAgIC0xMDAgPSBsaXRlcmFsIHZhbHVlIDEwMCVcblxuICAgICAtbm9uZSAgPSBzdHJpbmcgdmFsdWUgbm9uZVxuXG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1zID0gc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi8qIE1heCBXaWR0aCBQZXJjZW50YWdlcyAqL1xuXG4ubXctMTAwICB7IG1heC13aWR0aDogMTAwJTsgfVxuXG4vKiBNYXggV2lkdGggU2NhbGUgKi9cblxuLm13MSAgeyAgbWF4LXdpZHRoOiAxcmVtOyB9XG4ubXcyICB7ICBtYXgtd2lkdGg6IDJyZW07IH1cbi5tdzMgIHsgIG1heC13aWR0aDogNHJlbTsgfVxuLm13NCAgeyAgbWF4LXdpZHRoOiA4cmVtOyB9XG4ubXc1ICB7ICBtYXgtd2lkdGg6IDE2cmVtOyB9XG4ubXc2ICB7ICBtYXgtd2lkdGg6IDMycmVtOyB9XG4ubXc3ICB7ICBtYXgtd2lkdGg6IDQ4cmVtOyB9XG4ubXc4ICB7ICBtYXgtd2lkdGg6IDY0cmVtOyB9XG4ubXc5ICB7ICBtYXgtd2lkdGg6IDk2cmVtOyB9XG5cbi8qIE1heCBXaWR0aCBTdHJpbmcgUHJvcGVydGllcyAqL1xuXG4ubXctbm9uZSB7IG1heC13aWR0aDogbm9uZTsgfVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6MzBlbSkge1xuICAubXctMTAwLXMgIHsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbiAgLm13MS1zICB7ICBtYXgtd2lkdGg6IDFyZW07IH1cbiAgLm13Mi1zICB7ICBtYXgtd2lkdGg6IDJyZW07IH1cbiAgLm13My1zICB7ICBtYXgtd2lkdGg6IDRyZW07IH1cbiAgLm13NC1zICB7ICBtYXgtd2lkdGg6IDhyZW07IH1cbiAgLm13NS1zICB7ICBtYXgtd2lkdGg6IDE2cmVtOyB9XG4gIC5tdzYtcyAgeyAgbWF4LXdpZHRoOiAzMnJlbTsgfVxuICAubXc3LXMgIHsgIG1heC13aWR0aDogNDhyZW07IH1cbiAgLm13OC1zICB7ICBtYXgtd2lkdGg6IDY0cmVtOyB9XG4gIC5tdzktcyAgeyAgbWF4LXdpZHRoOiA5NnJlbTsgfVxuXG4gIC5tdy1ub25lLXMgeyBtYXgtd2lkdGg6IG5vbmU7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjQ4ZW0pIHtcbiAgLm13LTEwMC1tICB7IG1heC13aWR0aDogMTAwJTsgfVxuXG4gIC5tdzEtbSAgeyAgbWF4LXdpZHRoOiAxcmVtOyB9XG4gIC5tdzItbSAgeyAgbWF4LXdpZHRoOiAycmVtOyB9XG4gIC5tdzMtbSAgeyAgbWF4LXdpZHRoOiA0cmVtOyB9XG4gIC5tdzQtbSAgeyAgbWF4LXdpZHRoOiA4cmVtOyB9XG4gIC5tdzUtbSAgeyAgbWF4LXdpZHRoOiAxNnJlbTsgfVxuICAubXc2LW0gIHsgIG1heC13aWR0aDogMzJyZW07IH1cbiAgLm13Ny1tICB7ICBtYXgtd2lkdGg6IDQ4cmVtOyB9XG4gIC5tdzgtbSAgeyAgbWF4LXdpZHRoOiA2NHJlbTsgfVxuICAubXc5LW0gIHsgIG1heC13aWR0aDogOTZyZW07IH1cblxuICAubXctbm9uZS1tIHsgbWF4LXdpZHRoOiBub25lOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG4gIC5tdy0xMDAtbCAgeyBtYXgtd2lkdGg6IDEwMCU7IH1cblxuICAubXcxLWwgIHsgIG1heC13aWR0aDogMXJlbTsgfVxuICAubXcyLWwgIHsgIG1heC13aWR0aDogMnJlbTsgfVxuICAubXczLWwgIHsgIG1heC13aWR0aDogNHJlbTsgfVxuICAubXc0LWwgIHsgIG1heC13aWR0aDogOHJlbTsgfVxuICAubXc1LWwgIHsgIG1heC13aWR0aDogMTZyZW07IH1cbiAgLm13Ni1sICB7ICBtYXgtd2lkdGg6IDMycmVtOyB9XG4gIC5tdzctbCAgeyAgbWF4LXdpZHRoOiA0OHJlbTsgfVxuICAubXc4LWwgIHsgIG1heC13aWR0aDogNjRyZW07IH1cbiAgLm13OS1sICB7ICBtYXgtd2lkdGg6IDk2cmVtOyB9XG5cbiAgLm13LW5vbmUtbCB7IG1heC13aWR0aDogbm9uZTsgfVxufVxuIiwiLypcblxuICAgV0lEVEhTXG4gICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy9sYXlvdXQvd2lkdGhzL1xuXG4gICBCYXNlOlxuICAgICB3ID0gd2lkdGhcblxuICAgTW9kaWZpZXJzXG4gICAgIDEgPSAxc3Qgc3RlcCBpbiB3aWR0aCBzY2FsZVxuICAgICAyID0gMm5kIHN0ZXAgaW4gd2lkdGggc2NhbGVcbiAgICAgMyA9IDNyZCBzdGVwIGluIHdpZHRoIHNjYWxlXG4gICAgIDQgPSA0dGggc3RlcCBpbiB3aWR0aCBzY2FsZVxuICAgICA1ID0gNXRoIHN0ZXAgaW4gd2lkdGggc2NhbGVcbiAgICAgNiA9IDZ0aCBzdGVwIGluIHdpZHRoIHNjYWxlXG4gICAgIDcgPSA3dGggc3RlcCBpbiB3aWR0aCBzY2FsZVxuICAgICA4ID0gOHRoIHN0ZXAgaW4gd2lkdGggc2NhbGVcblxuICAgICAtMTAgID0gbGl0ZXJhbCB2YWx1ZSAxMCVcbiAgICAgLTIwICA9IGxpdGVyYWwgdmFsdWUgMjAlXG4gICAgIC0yNSAgPSBsaXRlcmFsIHZhbHVlIDI1JVxuICAgICAtMzAgID0gbGl0ZXJhbCB2YWx1ZSAzMCVcbiAgICAgLTMzICA9IGxpdGVyYWwgdmFsdWUgMzMlXG4gICAgIC0zNCAgPSBsaXRlcmFsIHZhbHVlIDM0JVxuICAgICAtNDAgID0gbGl0ZXJhbCB2YWx1ZSA0MCVcbiAgICAgLTUwICA9IGxpdGVyYWwgdmFsdWUgNTAlXG4gICAgIC02MCAgPSBsaXRlcmFsIHZhbHVlIDYwJVxuICAgICAtNzAgID0gbGl0ZXJhbCB2YWx1ZSA3MCVcbiAgICAgLTc1ICA9IGxpdGVyYWwgdmFsdWUgNzUlXG4gICAgIC04MCAgPSBsaXRlcmFsIHZhbHVlIDgwJVxuICAgICAtOTAgID0gbGl0ZXJhbCB2YWx1ZSA5MCVcbiAgICAgLTEwMCA9IGxpdGVyYWwgdmFsdWUgMTAwJVxuXG4gICAgIC10aGlyZCAgICAgID0gMTAwJSAvIDMgKE5vdCBzdXBwb3J0ZWQgaW4gb3BlcmEgbWluaSBvciBJRTgpXG4gICAgIC10d28tdGhpcmRzID0gMTAwJSAvIDEuNSAoTm90IHN1cHBvcnRlZCBpbiBvcGVyYSBtaW5pIG9yIElFOClcbiAgICAgLWF1dG8gICAgICAgPSBzdHJpbmcgdmFsdWUgYXV0b1xuXG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1zID0gc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi8qIFdpZHRoIFNjYWxlICovXG5cbi53MCB7ICAgIHdpZHRoOiB2YXIoLS1zaXplLTAsIDApOyB9XG4udzEgeyAgICB3aWR0aDogdmFyKC0tc2l6ZS0xLCAxcmVtKTsgfVxuLncyIHsgICAgd2lkdGg6IHZhcigtLXNpemUtMiwgMnJlbSk7IH1cbi53MyB7ICAgIHdpZHRoOiB2YXIoLS1zaXplLTMsIDNyZW0pOyB9XG4udzQgeyAgICB3aWR0aDogdmFyKC0tc2l6ZS00LCA0cmVtKTsgfVxuLnc1IHsgICAgd2lkdGg6IHZhcigtLXNpemUtNSwgOHJlbSk7IH1cbi53NiB7ICAgIHdpZHRoOiB2YXIoLS1zaXplLTYsIDE2cmVtKTsgfVxuLnc3IHsgICAgd2lkdGg6IHZhcigtLXNpemUtNywgMzJyZW0pOyB9XG4udzggeyAgICB3aWR0aDogdmFyKC0tc2l6ZS04LCA2NHJlbSk7IH1cblxuLnctMTAgeyAgd2lkdGg6ICAxMCU7IH1cbi53LTIwIHsgIHdpZHRoOiAgMjAlOyB9XG4udy0yNSB7ICB3aWR0aDogIDI1JTsgfVxuLnctNTAgeyAgd2lkdGg6ICA1MCU7IH1cbi53LTc1IHsgIHdpZHRoOiAgNzUlOyB9XG4udy0xMDAgeyB3aWR0aDogMTAwJTsgfVxuXG4udy10aGlyZCB7IHdpZHRoOiBjYWxjKDEwMCUgLyAzKTsgfVxuLnctdHdvLXRoaXJkcyB7IHdpZHRoOiBjYWxjKDEwMCUgLyAxLjUpOyB9XG4udy1hdXRvIHsgd2lkdGg6IGF1dG87IH1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgLncwLXMgeyAgICB3aWR0aDogdmFyKC0tc2l6ZS0wLCAwKTsgfVxuICAudzEtcyB7ICAgIHdpZHRoOiB2YXIoLS1zaXplLTEsIDFyZW0pOyB9XG4gIC53Mi1zIHsgICAgd2lkdGg6IHZhcigtLXNpemUtMiwgMnJlbSk7IH1cbiAgLnczLXMgeyAgICB3aWR0aDogdmFyKC0tc2l6ZS0zLCAzcmVtKTsgfVxuICAudzQtcyB7ICAgIHdpZHRoOiB2YXIoLS1zaXplLTQsIDRyZW0pOyB9XG4gIC53NS1zIHsgICAgd2lkdGg6IHZhcigtLXNpemUtNSwgOHJlbSk7IH1cbiAgLnc2LXMgeyAgICB3aWR0aDogdmFyKC0tc2l6ZS02LCAxNnJlbSk7IH1cbiAgLnc3LXMgeyAgICB3aWR0aDogdmFyKC0tc2l6ZS03LCAzMnJlbSk7IH1cbiAgLnc4LXMgeyAgICB3aWR0aDogdmFyKC0tc2l6ZS04LCA2NHJlbSk7IH1cbiAgLnctMTAtcyB7IHdpZHRoOiAgMTAlOyB9XG4gIC53LTIwLXMgeyB3aWR0aDogIDIwJTsgfVxuICAudy0yNS1zIHsgd2lkdGg6ICAyNSU7IH1cbiAgLnctNTAtcyB7IHdpZHRoOiAgNTAlOyB9XG4gIC53LTc1LXMgeyB3aWR0aDogIDc1JTsgfVxuICAudy0xMDAtcyB7IHdpZHRoOiAxMDAlOyB9XG4gIC53LXRoaXJkLXMgeyB3aWR0aDogY2FsYygxMDAlIC8gMyk7IH1cbiAgLnctdHdvLXRoaXJkcy1zIHsgd2lkdGg6IGNhbGMoMTAwJSAvIDEuNSk7IH1cbiAgLnctYXV0by1zIHsgd2lkdGg6IGF1dG87IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjQ4ZW0pIHtcbiAgLncwLW0geyAgICB3aWR0aDogdmFyKC0tc2l6ZS0wLCAwKTsgfVxuICAudzEtbSB7ICAgIHdpZHRoOiB2YXIoLS1zaXplLTEsIDFyZW0pOyB9XG4gIC53Mi1tIHsgICAgd2lkdGg6IHZhcigtLXNpemUtMiwgMnJlbSk7IH1cbiAgLnczLW0geyAgICB3aWR0aDogdmFyKC0tc2l6ZS0zLCAzcmVtKTsgfVxuICAudzQtbSB7ICAgIHdpZHRoOiB2YXIoLS1zaXplLTQsIDRyZW0pOyB9XG4gIC53NS1tIHsgICAgd2lkdGg6IHZhcigtLXNpemUtNSwgOHJlbSk7IH1cbiAgLnc2LW0geyAgICB3aWR0aDogdmFyKC0tc2l6ZS02LCAxNnJlbSk7IH1cbiAgLnc3LW0geyAgICB3aWR0aDogdmFyKC0tc2l6ZS03LCAzMnJlbSk7IH1cbiAgLnc4LW0geyAgICB3aWR0aDogdmFyKC0tc2l6ZS04LCA2NHJlbSk7IH1cbiAgLnctMTAtbSB7IHdpZHRoOiAgMTAlOyB9XG4gIC53LTIwLW0geyB3aWR0aDogIDIwJTsgfVxuICAudy0yNS1tIHsgd2lkdGg6ICAyNSU7IH1cbiAgLnctNTAtbSB7IHdpZHRoOiAgNTAlOyB9XG4gIC53LTc1LW0geyB3aWR0aDogIDc1JTsgfVxuICAudy0xMDAtbSB7IHdpZHRoOiAxMDAlOyB9XG4gIC53LXRoaXJkLW0geyB3aWR0aDogY2FsYygxMDAlIC8gMyk7IH1cbiAgLnctdHdvLXRoaXJkcy1tIHsgd2lkdGg6IGNhbGMoMTAwJSAvIDEuNSk7IH1cbiAgLnctYXV0by1tIHsgICAgd2lkdGg6IGF1dG87IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLncwLWwgeyAgICB3aWR0aDogdmFyKC0tc2l6ZS0wLCAwKTsgfVxuICAudzEtbCB7ICAgIHdpZHRoOiB2YXIoLS1zaXplLTEsIDFyZW0pOyB9XG4gIC53Mi1sIHsgICAgd2lkdGg6IHZhcigtLXNpemUtMiwgMnJlbSk7IH1cbiAgLnczLWwgeyAgICB3aWR0aDogdmFyKC0tc2l6ZS0zLCAzcmVtKTsgfVxuICAudzQtbCB7ICAgIHdpZHRoOiB2YXIoLS1zaXplLTQsIDRyZW0pOyB9XG4gIC53NS1sIHsgICAgd2lkdGg6IHZhcigtLXNpemUtNSwgOHJlbSk7IH1cbiAgLnc2LWwgeyAgICB3aWR0aDogdmFyKC0tc2l6ZS02LCAxNnJlbSk7IH1cbiAgLnc3LWwgeyAgICB3aWR0aDogdmFyKC0tc2l6ZS03LCAzMnJlbSk7IH1cbiAgLnc4LWwgeyAgICB3aWR0aDogdmFyKC0tc2l6ZS04LCA2NHJlbSk7IH1cbiAgLnctMTAtbCB7ICAgIHdpZHRoOiAgMTAlOyB9XG4gIC53LTIwLWwgeyAgICB3aWR0aDogIDIwJTsgfVxuICAudy0yNS1sIHsgICAgd2lkdGg6ICAyNSU7IH1cbiAgLnctNTAtbCB7ICAgIHdpZHRoOiAgNTAlOyB9XG4gIC53LTc1LWwgeyAgICB3aWR0aDogIDc1JTsgfVxuICAudy0xMDAtbCB7ICAgd2lkdGg6IDEwMCU7IH1cbiAgLnctdGhpcmQtbCB7IHdpZHRoOiBjYWxjKDEwMCUgLyAzKTsgfVxuICAudy10d28tdGhpcmRzLWwgeyB3aWR0aDogY2FsYygxMDAlIC8gMS41KTsgfVxuICAudy1hdXRvLWwgeyAgICB3aWR0aDogYXV0bzsgfVxufVxuIiwiLypcblxuICAgIE9WRVJGTE9XXG5cbiAgICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAgLXMgPSBzbWFsbFxuICAgICAgLW0gID0gbWVkaXVtXG4gICAgICAtbCAgPSBsYXJnZVxuXG4gKi9cblxuLm92ZXJmbG93LXZpc2libGUgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuLm92ZXJmbG93LWhpZGRlbiB7IG92ZXJmbG93OiBoaWRkZW47IH1cbi5vdmVyZmxvdy1zY3JvbGwgeyBvdmVyZmxvdzogc2Nyb2xsOyB9XG4ub3ZlcmZsb3ctYXV0byB7IG92ZXJmbG93OiBhdXRvOyB9XG5cbi5vdmVyZmxvdy14LXZpc2libGUgeyBvdmVyZmxvdy14OiB2aXNpYmxlOyB9XG4ub3ZlcmZsb3cteC1oaWRkZW4geyBvdmVyZmxvdy14OiBoaWRkZW47IH1cbi5vdmVyZmxvdy14LXNjcm9sbCB7IG92ZXJmbG93LXg6IHNjcm9sbDsgfVxuLm92ZXJmbG93LXgtYXV0byB7IG92ZXJmbG93LXg6IGF1dG87IH1cblxuLm92ZXJmbG93LXktdmlzaWJsZSB7IG92ZXJmbG93LXk6IHZpc2libGU7IH1cbi5vdmVyZmxvdy15LWhpZGRlbiB7IG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuLm92ZXJmbG93LXktc2Nyb2xsIHsgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4ub3ZlcmZsb3cteS1hdXRvIHsgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6MzBlbSkge1xuICAub3ZlcmZsb3ctdmlzaWJsZS1zIHsgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLm92ZXJmbG93LWhpZGRlbi1zIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAub3ZlcmZsb3ctc2Nyb2xsLXMgeyBvdmVyZmxvdzogc2Nyb2xsOyB9XG4gIC5vdmVyZmxvdy1hdXRvLXMgeyBvdmVyZmxvdzogYXV0bzsgfVxuICAub3ZlcmZsb3cteC12aXNpYmxlLXMgeyBvdmVyZmxvdy14OiB2aXNpYmxlOyB9XG4gIC5vdmVyZmxvdy14LWhpZGRlbi1zIHsgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG4gIC5vdmVyZmxvdy14LXNjcm9sbC1zIHsgb3ZlcmZsb3cteDogc2Nyb2xsOyB9XG4gIC5vdmVyZmxvdy14LWF1dG8tcyB7IG92ZXJmbG93LXg6IGF1dG87IH1cblxuICAub3ZlcmZsb3cteS12aXNpYmxlLXMgeyBvdmVyZmxvdy15OiB2aXNpYmxlOyB9XG4gIC5vdmVyZmxvdy15LWhpZGRlbi1zIHsgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG4gIC5vdmVyZmxvdy15LXNjcm9sbC1zIHsgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gIC5vdmVyZmxvdy15LWF1dG8tcyB7IG92ZXJmbG93LXk6IGF1dG87IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjQ4ZW0pIHtcbiAgLm92ZXJmbG93LXZpc2libGUtbSB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIC5vdmVyZmxvdy1oaWRkZW4tbSB7IG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm92ZXJmbG93LXNjcm9sbC1tIHsgb3ZlcmZsb3c6IHNjcm9sbDsgfVxuICAub3ZlcmZsb3ctYXV0by1tIHsgb3ZlcmZsb3c6IGF1dG87IH1cblxuICAub3ZlcmZsb3cteC12aXNpYmxlLW0geyBvdmVyZmxvdy14OiB2aXNpYmxlOyB9XG4gIC5vdmVyZmxvdy14LWhpZGRlbi1tIHsgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG4gIC5vdmVyZmxvdy14LXNjcm9sbC1tIHsgb3ZlcmZsb3cteDogc2Nyb2xsOyB9XG4gIC5vdmVyZmxvdy14LWF1dG8tbSB7IG92ZXJmbG93LXg6IGF1dG87IH1cblxuICAub3ZlcmZsb3cteS12aXNpYmxlLW0geyBvdmVyZmxvdy15OiB2aXNpYmxlOyB9XG4gIC5vdmVyZmxvdy15LWhpZGRlbi1tIHsgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG4gIC5vdmVyZmxvdy15LXNjcm9sbC1tIHsgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gIC5vdmVyZmxvdy15LWF1dG8tbSB7IG92ZXJmbG93LXk6IGF1dG87IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLm92ZXJmbG93LXZpc2libGUtbCB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIC5vdmVyZmxvdy1oaWRkZW4tbCB7IG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm92ZXJmbG93LXNjcm9sbC1sIHsgb3ZlcmZsb3c6IHNjcm9sbDsgfVxuICAub3ZlcmZsb3ctYXV0by1sIHsgb3ZlcmZsb3c6IGF1dG87IH1cblxuICAub3ZlcmZsb3cteC12aXNpYmxlLWwgeyBvdmVyZmxvdy14OiB2aXNpYmxlOyB9XG4gIC5vdmVyZmxvdy14LWhpZGRlbi1sIHsgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG4gIC5vdmVyZmxvdy14LXNjcm9sbC1sIHsgb3ZlcmZsb3cteDogc2Nyb2xsOyB9XG4gIC5vdmVyZmxvdy14LWF1dG8tbCB7IG92ZXJmbG93LXg6IGF1dG87IH1cblxuICAub3ZlcmZsb3cteS12aXNpYmxlLWwgeyBvdmVyZmxvdy15OiB2aXNpYmxlOyB9XG4gIC5vdmVyZmxvdy15LWhpZGRlbi1sIHsgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG4gIC5vdmVyZmxvdy15LXNjcm9sbC1sIHsgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gIC5vdmVyZmxvdy15LWF1dG8tbCB7IG92ZXJmbG93LXk6IGF1dG87IH1cbn1cbiIsIi8qXG5cbiAgIFBPU0lUSU9OSU5HXG4gICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy9sYXlvdXQvcG9zaXRpb24vXG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1zID0gc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi5zdGF0aWMgeyBwb3NpdGlvbjogc3RhdGljOyB9XG4ucmVsYXRpdmUgIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4uYWJzb2x1dGUgIHsgcG9zaXRpb246IGFic29sdXRlOyB9XG4uZml4ZWQgIHsgcG9zaXRpb246IGZpeGVkOyB9XG4uc3RpY2t5ICB7IHBvc2l0aW9uOiBzdGlja3k7IH1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgLnN0YXRpYy1zIHsgcG9zaXRpb246IHN0YXRpYzsgfVxuICAucmVsYXRpdmUtcyAgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFic29sdXRlLXMgIHsgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5maXhlZC1zICB7IHBvc2l0aW9uOiBmaXhlZDsgfVxuICAuc3RpY2t5LXMgIHsgcG9zaXRpb246IHN0aWNreTsgfVxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NDhlbSkge1xuICAuc3RhdGljLW0geyBwb3NpdGlvbjogc3RhdGljOyB9XG4gIC5yZWxhdGl2ZS1tICB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYWJzb2x1dGUtbSAgeyBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmZpeGVkLW0gIHsgcG9zaXRpb246IGZpeGVkOyB9XG4gIC5zdGlja3ktbSAgeyBwb3NpdGlvbjogc3RpY2t5OyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG4gIC5zdGF0aWMtbCB7IHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgLnJlbGF0aXZlLWwgIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hYnNvbHV0ZS1sICB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuZml4ZWQtbCAgeyBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgLnN0aWNreS1sICB7IHBvc2l0aW9uOiBzdGlja3k7IH1cbn1cbiIsIi8qXG5cbiAgICBPUEFDSVRZXG4gICAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvdGhlbWVzL29wYWNpdHkvXG5cbiovXG5cbi5vMTIgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS0xMiwgMSk7IH1cbi5vMTEgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS0xMSwuOSk7IH1cbi5vMTAgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS0xMCwuOCk7IH1cbi5vOSAgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS05LC43KTsgIH1cbi5vOCAgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS04LC42KTsgIH1cbi5vNyAgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS03LC41KTsgIH1cbi5vNiAgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS02LC40KTsgIH1cbi5vNSAgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS01LC4zKTsgIH1cbi5vNCAgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS00LC4yKTsgIH1cbi5vMyAgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS0zLC4xKTsgIH1cbi5vMiAgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS0yLC4wNSk7IH1cbi5vMSAgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS0xLC4wMjUpO31cbi5vMCAgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS0wLDApOyAgIH1cblxuLmgtbzEyOmhvdmVyICB7IG9wYWNpdHk6IHZhcigtLW9wYWNpdHktMTIsIDEpOyB9XG4uaC1vMTE6aG92ZXIgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS0xMSwuOSk7IH1cbi5oLW8xMDpob3ZlciAgeyBvcGFjaXR5OiB2YXIoLS1vcGFjaXR5LTEwLC44KTsgfVxuLmgtbzk6aG92ZXIgICB7IG9wYWNpdHk6IHZhcigtLW9wYWNpdHktOSwuNyk7ICB9XG4uaC1vODpob3ZlciAgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS04LC42KTsgIH1cbi5oLW83OmhvdmVyICAgeyBvcGFjaXR5OiB2YXIoLS1vcGFjaXR5LTcsLjUpOyAgfVxuLmgtbzY6aG92ZXIgICB7IG9wYWNpdHk6IHZhcigtLW9wYWNpdHktNiwuNCk7ICB9XG4uaC1vNTpob3ZlciAgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS01LC4zKTsgIH1cbi5oLW80OmhvdmVyICAgeyBvcGFjaXR5OiB2YXIoLS1vcGFjaXR5LTQsLjIpOyAgfVxuLmgtbzM6aG92ZXIgICB7IG9wYWNpdHk6IHZhcigtLW9wYWNpdHktMywuMSk7ICB9XG4uaC1vMjpob3ZlciAgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS0yLC4wNSk7IH1cbi5oLW8xOmhvdmVyICAgeyBvcGFjaXR5OiB2YXIoLS1vcGFjaXR5LTEsLjAyNSk7fVxuLmgtbzA6aG92ZXIgICB7IG9wYWNpdHk6IHZhcigtLW9wYWNpdHktMCwwKTsgICB9XG5cbi5mLW8xMjpmb2N1cyAgeyBvcGFjaXR5OiB2YXIoLS1vcGFjaXR5LTEyLCAxKTsgfVxuLmYtbzExOmZvY3VzICB7IG9wYWNpdHk6IHZhcigtLW9wYWNpdHktMTEsLjkpOyB9XG4uZi1vMTA6Zm9jdXMgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS0xMCwuOCk7IH1cbi5mLW85OmZvY3VzICAgeyBvcGFjaXR5OiB2YXIoLS1vcGFjaXR5LTksLjcpOyAgfVxuLmYtbzg6Zm9jdXMgICB7IG9wYWNpdHk6IHZhcigtLW9wYWNpdHktOCwuNik7ICB9XG4uZi1vNzpmb2N1cyAgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS03LC41KTsgIH1cbi5mLW82OmZvY3VzICAgeyBvcGFjaXR5OiB2YXIoLS1vcGFjaXR5LTYsLjQpOyAgfVxuLmYtbzU6Zm9jdXMgICB7IG9wYWNpdHk6IHZhcigtLW9wYWNpdHktNSwuMyk7ICB9XG4uZi1vNDpmb2N1cyAgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS00LC4yKTsgIH1cbi5mLW8zOmZvY3VzICAgeyBvcGFjaXR5OiB2YXIoLS1vcGFjaXR5LTMsLjEpOyAgfVxuLmYtbzI6Zm9jdXMgICB7IG9wYWNpdHk6IHZhcigtLW9wYWNpdHktMiwuMDUpOyB9XG4uZi1vMTpmb2N1cyAgIHsgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS0xLC4wMjUpO31cbi5mLW8wOmZvY3VzICAgeyBvcGFjaXR5OiB2YXIoLS1vcGFjaXR5LTAsMCk7ICAgfVxuIiwiLypcblxuICAgUk9UQVRJT05TXG5cbiovXG5cbi5yb3RhdGUtNDUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbi5yb3RhdGUtOTAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cbi5yb3RhdGUtMTM1IHsgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgfVxuLnJvdGF0ZS0xODAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4ucm90YXRlLTIyNSB7IHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7IH1cbi5yb3RhdGUtMjcwIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuLnJvdGF0ZS0zMTUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzMTVkZWcpOyB9XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDozMGVtKXtcbiAgLnJvdGF0ZS00NS1zIHsgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIC5yb3RhdGUtOTAtcyB7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAucm90YXRlLTEzNS1zIHsgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgfVxuICAucm90YXRlLTE4MC1zIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAucm90YXRlLTIyNS1zIHsgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTsgfVxuICAucm90YXRlLTI3MC1zIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuICAucm90YXRlLTMxNS1zIHsgdHJhbnNmb3JtOiByb3RhdGUoMzE1ZGVnKTsgfVxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NDhlbSl7XG4gIC5yb3RhdGUtNDUtbSB7IHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAucm90YXRlLTkwLW0geyB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cbiAgLnJvdGF0ZS0xMzUtbSB7IHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7IH1cbiAgLnJvdGF0ZS0xODAtbSB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLnJvdGF0ZS0yMjUtbSB7IHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7IH1cbiAgLnJvdGF0ZS0yNzAtbSB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cbiAgLnJvdGF0ZS0zMTUtbSB7IHRyYW5zZm9ybTogcm90YXRlKDMxNWRlZyk7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pe1xuICAucm90YXRlLTQ1LWwgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgLnJvdGF0ZS05MC1sIHsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG4gIC5yb3RhdGUtMTM1LWwgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4gIC5yb3RhdGUtMTgwLWwgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5yb3RhdGUtMjI1LWwgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpOyB9XG4gIC5yb3RhdGUtMjcwLWwgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG4gIC5yb3RhdGUtMzE1LWwgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzMTVkZWcpOyB9XG59XG4iLCIvKlxuICAgU0tJTlNcbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL3RoZW1lcy9za2lucy9cblxuICAgQ2xhc3NlcyBmb3Igc2V0dGluZyBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9ycyBvbiBlbGVtZW50cy5cbiAgIElmIHlvdSBoYXZlbid0IGRlY2xhcmVkIGEgYm9yZGVyIGNvbG9yLCBidXQgc2V0IGJvcmRlciBvbiBhbiBlbGVtZW50LCBpdCB3aWxsIFxuICAgYmUgc2V0IHRvIHRoZSBjdXJyZW50IHRleHQgY29sb3IuIFxuXG4qL1xuXG4vKiBUZXh0IGNvbG9ycyAqL1xuXG4udGludC0wIHsgY29sb3I6IHZhcigtLXRpbnQtMCk7IH1cbi50aW50LTEgeyBjb2xvcjogdmFyKC0tdGludC0xKTsgfVxuLnRpbnQtMiB7IGNvbG9yOiB2YXIoLS10aW50LTIpOyB9XG4udGludC0zIHsgY29sb3I6IHZhcigtLXRpbnQtMyk7IH1cbi50aW50LTQgeyBjb2xvcjogdmFyKC0tdGludC00KTsgfVxuLnRpbnQtNSB7IGNvbG9yOiB2YXIoLS10aW50LTUpOyB9XG4udGludC02IHsgY29sb3I6IHZhcigtLXRpbnQtNik7IH1cbi50aW50LTcgeyBjb2xvcjogdmFyKC0tdGludC03KTsgfVxuLnRpbnQtOCB7IGNvbG9yOiB2YXIoLS10aW50LTgpOyB9XG4udGludC05IHsgY29sb3I6IHZhcigtLXRpbnQtOSk7IH1cbi50aW50LTEwIHsgY29sb3I6IHZhcigtLXRpbnQtMTApOyB9XG4udGludC0xMSB7IGNvbG9yOiB2YXIoLS10aW50LTExKTsgfVxuXG4uc2hhZG93LTAgeyBjb2xvcjogdmFyKC0tc2hhZG93LTApOyB9XG4uc2hhZG93LTEgeyBjb2xvcjogdmFyKC0tc2hhZG93LTEpOyB9XG4uc2hhZG93LTIgeyBjb2xvcjogdmFyKC0tc2hhZG93LTIpOyB9XG4uc2hhZG93LTMgeyBjb2xvcjogdmFyKC0tc2hhZG93LTMpOyB9XG4uc2hhZG93LTQgeyBjb2xvcjogdmFyKC0tc2hhZG93LTQpOyB9XG4uc2hhZG93LTUgeyBjb2xvcjogdmFyKC0tc2hhZG93LTUpOyB9XG4uc2hhZG93LTYgeyBjb2xvcjogdmFyKC0tc2hhZG93LTYpOyB9XG4uc2hhZG93LTcgeyBjb2xvcjogdmFyKC0tc2hhZG93LTcpOyB9XG4uc2hhZG93LTggeyBjb2xvcjogdmFyKC0tc2hhZG93LTgpOyB9XG4uc2hhZG93LTkgeyBjb2xvcjogdmFyKC0tc2hhZG93LTkpOyB9XG4uc2hhZG93LTEwIHsgY29sb3I6IHZhcigtLXNoYWRvdy0xMCk7IH1cbi5zaGFkb3ctMTEgeyBjb2xvcjogdmFyKC0tc2hhZG93LTExKTsgfVxuXG4uYmxhY2ssIFxuLmdyYXktMCB7IGNvbG9yOiB2YXIoLS1ncmF5LTApOyB9XG4uZ3JheS0xIHsgY29sb3I6IHZhcigtLWdyYXktMSk7IH1cbi5ncmF5LTIgeyBjb2xvcjogdmFyKC0tZ3JheS0yKTsgfVxuLmdyYXktMyB7IGNvbG9yOiB2YXIoLS1ncmF5LTMpOyB9XG4uZ3JheS00IHsgY29sb3I6IHZhcigtLWdyYXktNCk7IH1cbi5ncmF5LTUgeyBjb2xvcjogdmFyKC0tZ3JheS01KTsgfVxuLmdyYXktNiB7IGNvbG9yOiB2YXIoLS1ncmF5LTYpOyB9XG4uZ3JheS03IHsgY29sb3I6IHZhcigtLWdyYXktNyk7IH1cbi5ncmF5LTggeyBjb2xvcjogdmFyKC0tZ3JheS04KTsgfVxuLmdyYXktOSB7IGNvbG9yOiB2YXIoLS1ncmF5LTkpOyB9XG4uZ3JheS0xMCB7IGNvbG9yOiB2YXIoLS1ncmF5LTEwKTsgfVxuLndoaXRlLCAuZ3JheS0xMSB7IGNvbG9yOiB2YXIoLS1ncmF5LTExKTsgfVxuXG4uc2xhdGUtZ3JheS0wIHsgY29sb3I6IHZhcigtLXNsYXRlLWdyYXktMCk7IH1cbi5zbGF0ZS1ncmF5LTEgeyBjb2xvcjogdmFyKC0tc2xhdGUtZ3JheS0xKTsgfVxuLnNsYXRlLWdyYXktMiB7IGNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTIpOyB9XG4uc2xhdGUtZ3JheS0zIHsgY29sb3I6IHZhcigtLXNsYXRlLWdyYXktMyk7IH1cbi5zbGF0ZS1ncmF5LTQgeyBjb2xvcjogdmFyKC0tc2xhdGUtZ3JheS00KTsgfVxuLnNsYXRlLWdyYXktNSB7IGNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTUpOyB9XG4uc2xhdGUtZ3JheS02IHsgY29sb3I6IHZhcigtLXNsYXRlLWdyYXktNik7IH1cbi5zbGF0ZS1ncmF5LTcgeyBjb2xvcjogdmFyKC0tc2xhdGUtZ3JheS03KTsgfVxuLnNsYXRlLWdyYXktOCB7IGNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTgpOyB9XG4uc2xhdGUtZ3JheS05IHsgY29sb3I6IHZhcigtLXNsYXRlLWdyYXktOSk7IH1cbi5zbGF0ZS1ncmF5LTEwIHsgY29sb3I6IHZhcigtLXNsYXRlLWdyYXktMTApOyB9XG4uc2xhdGUtZ3JheS0xMSB7IGNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTExKTsgfVxuXG4uYmx1ZS0wIHsgY29sb3I6IHZhcigtLWJsdWUtMCk7IH1cbi5ibHVlLTEgeyBjb2xvcjogdmFyKC0tYmx1ZS0xKTsgfVxuLmJsdWUtMiB7IGNvbG9yOiB2YXIoLS1ibHVlLTIpOyB9XG4uYmx1ZS0zIHsgY29sb3I6IHZhcigtLWJsdWUtMyk7IH1cbi5ibHVlLTQgeyBjb2xvcjogdmFyKC0tYmx1ZS00KTsgfVxuLmJsdWUtNSB7IGNvbG9yOiB2YXIoLS1ibHVlLTUpOyB9XG4uYmx1ZS02IHsgY29sb3I6IHZhcigtLWJsdWUtNik7IH1cbi5ibHVlLTcgeyBjb2xvcjogdmFyKC0tYmx1ZS03KTsgfVxuLmJsdWUtOCB7IGNvbG9yOiB2YXIoLS1ibHVlLTgpOyB9XG4uYmx1ZS05IHsgY29sb3I6IHZhcigtLWJsdWUtOSk7IH1cbi5ibHVlLTEwIHsgY29sb3I6IHZhcigtLWJsdWUtMTApOyB9XG4uYmx1ZS0xMSB7IGNvbG9yOiB2YXIoLS1ibHVlLTExKTsgfVxuXG4uaW5kaWdvLTAgeyBjb2xvcjogdmFyKC0taW5kaWdvLTApOyB9XG4uaW5kaWdvLTEgeyBjb2xvcjogdmFyKC0taW5kaWdvLTEpOyB9XG4uaW5kaWdvLTIgeyBjb2xvcjogdmFyKC0taW5kaWdvLTIpOyB9XG4uaW5kaWdvLTMgeyBjb2xvcjogdmFyKC0taW5kaWdvLTMpOyB9XG4uaW5kaWdvLTQgeyBjb2xvcjogdmFyKC0taW5kaWdvLTQpOyB9XG4uaW5kaWdvLTUgeyBjb2xvcjogdmFyKC0taW5kaWdvLTUpOyB9XG4uaW5kaWdvLTYgeyBjb2xvcjogdmFyKC0taW5kaWdvLTYpOyB9XG4uaW5kaWdvLTcgeyBjb2xvcjogdmFyKC0taW5kaWdvLTcpOyB9XG4uaW5kaWdvLTggeyBjb2xvcjogdmFyKC0taW5kaWdvLTgpOyB9XG4uaW5kaWdvLTkgeyBjb2xvcjogdmFyKC0taW5kaWdvLTkpOyB9XG4uaW5kaWdvLTEwIHsgY29sb3I6IHZhcigtLWluZGlnby0xMCk7IH1cbi5pbmRpZ28tMTEgeyBjb2xvcjogdmFyKC0taW5kaWdvLTExKTsgfVxuXG4udmlvbGV0LTAgeyBjb2xvcjogdmFyKC0tdmlvbGV0LTApOyB9XG4udmlvbGV0LTEgeyBjb2xvcjogdmFyKC0tdmlvbGV0LTEpOyB9XG4udmlvbGV0LTIgeyBjb2xvcjogdmFyKC0tdmlvbGV0LTIpOyB9XG4udmlvbGV0LTMgeyBjb2xvcjogdmFyKC0tdmlvbGV0LTMpOyB9XG4udmlvbGV0LTQgeyBjb2xvcjogdmFyKC0tdmlvbGV0LTQpOyB9XG4udmlvbGV0LTUgeyBjb2xvcjogdmFyKC0tdmlvbGV0LTUpOyB9XG4udmlvbGV0LTYgeyBjb2xvcjogdmFyKC0tdmlvbGV0LTYpOyB9XG4udmlvbGV0LTcgeyBjb2xvcjogdmFyKC0tdmlvbGV0LTcpOyB9XG4udmlvbGV0LTggeyBjb2xvcjogdmFyKC0tdmlvbGV0LTgpOyB9XG4udmlvbGV0LTkgeyBjb2xvcjogdmFyKC0tdmlvbGV0LTkpOyB9XG5cbi52aW9sZXQtMTAgeyBjb2xvcjogdmFyKC0tdmlvbGV0LTEwKTsgfVxuLnZpb2xldC0xMSB7IGNvbG9yOiB2YXIoLS12aW9sZXQtMTEpOyB9XG4ubWFnZW50YS0wIHsgY29sb3I6IHZhcigtLW1hZ2VudGEtMCk7IH1cbi5tYWdlbnRhLTEgeyBjb2xvcjogdmFyKC0tbWFnZW50YS0xKTsgfVxuLm1hZ2VudGEtMiB7IGNvbG9yOiB2YXIoLS1tYWdlbnRhLTIpOyB9XG4ubWFnZW50YS0zIHsgY29sb3I6IHZhcigtLW1hZ2VudGEtMyk7IH1cbi5tYWdlbnRhLTQgeyBjb2xvcjogdmFyKC0tbWFnZW50YS00KTsgfVxuLm1hZ2VudGEtNSB7IGNvbG9yOiB2YXIoLS1tYWdlbnRhLTUpOyB9XG4ubWFnZW50YS02IHsgY29sb3I6IHZhcigtLW1hZ2VudGEtNik7IH1cbi5tYWdlbnRhLTcgeyBjb2xvcjogdmFyKC0tbWFnZW50YS03KTsgfVxuLm1hZ2VudGEtOCB7IGNvbG9yOiB2YXIoLS1tYWdlbnRhLTgpOyB9XG4ubWFnZW50YS05IHsgY29sb3I6IHZhcigtLW1hZ2VudGEtOSk7IH1cbi5tYWdlbnRhLTEwIHsgY29sb3I6IHZhcigtLW1hZ2VudGEtMTApOyB9XG4ubWFnZW50YS0xMSB7IGNvbG9yOiB2YXIoLS1tYWdlbnRhLTExKTsgfVxuXG4ucmVkLTAgeyBjb2xvcjogdmFyKC0tcmVkLTApOyB9XG4ucmVkLTEgeyBjb2xvcjogdmFyKC0tcmVkLTEpOyB9XG4ucmVkLTIgeyBjb2xvcjogdmFyKC0tcmVkLTIpOyB9XG4ucmVkLTMgeyBjb2xvcjogdmFyKC0tcmVkLTMpOyB9XG4ucmVkLTQgeyBjb2xvcjogdmFyKC0tcmVkLTQpOyB9XG4ucmVkLTUgeyBjb2xvcjogdmFyKC0tcmVkLTUpOyB9XG4ucmVkLTYgeyBjb2xvcjogdmFyKC0tcmVkLTYpOyB9XG4ucmVkLTcgeyBjb2xvcjogdmFyKC0tcmVkLTcpOyB9XG4ucmVkLTggeyBjb2xvcjogdmFyKC0tcmVkLTgpOyB9XG4ucmVkLTkgeyBjb2xvcjogdmFyKC0tcmVkLTkpOyB9XG4ucmVkLTEwIHsgY29sb3I6IHZhcigtLXJlZC0xMCk7IH1cbi5yZWQtMTEgeyBjb2xvcjogdmFyKC0tcmVkLTExKTsgfVxuXG4ucmVkLW9yYW5nZS0wIHsgY29sb3I6IHZhcigtLXJlZC1vcmFuZ2UtMCk7IH1cbi5yZWQtb3JhbmdlLTEgeyBjb2xvcjogdmFyKC0tcmVkLW9yYW5nZS0xKTsgfVxuLnJlZC1vcmFuZ2UtMiB7IGNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTIpOyB9XG4ucmVkLW9yYW5nZS0zIHsgY29sb3I6IHZhcigtLXJlZC1vcmFuZ2UtMyk7IH1cbi5yZWQtb3JhbmdlLTQgeyBjb2xvcjogdmFyKC0tcmVkLW9yYW5nZS00KTsgfVxuLnJlZC1vcmFuZ2UtNSB7IGNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTUpOyB9XG4ucmVkLW9yYW5nZS02IHsgY29sb3I6IHZhcigtLXJlZC1vcmFuZ2UtNik7IH1cbi5yZWQtb3JhbmdlLTcgeyBjb2xvcjogdmFyKC0tcmVkLW9yYW5nZS03KTsgfVxuLnJlZC1vcmFuZ2UtOCB7IGNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTgpOyB9XG4ucmVkLW9yYW5nZS05IHsgY29sb3I6IHZhcigtLXJlZC1vcmFuZ2UtOSk7IH1cbi5yZWQtb3JhbmdlLTEwIHsgY29sb3I6IHZhcigtLXJlZC1vcmFuZ2UtMTApOyB9XG4ucmVkLW9yYW5nZS0xMSB7IGNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTExKTsgfVxuXG4ub3JhbmdlLTAgeyBjb2xvcjogdmFyKC0tb3JhbmdlLTApOyB9XG4ub3JhbmdlLTEgeyBjb2xvcjogdmFyKC0tb3JhbmdlLTEpOyB9XG4ub3JhbmdlLTIgeyBjb2xvcjogdmFyKC0tb3JhbmdlLTIpOyB9XG4ub3JhbmdlLTMgeyBjb2xvcjogdmFyKC0tb3JhbmdlLTMpOyB9XG4ub3JhbmdlLTQgeyBjb2xvcjogdmFyKC0tb3JhbmdlLTQpOyB9XG4ub3JhbmdlLTUgeyBjb2xvcjogdmFyKC0tb3JhbmdlLTUpOyB9XG4ub3JhbmdlLTYgeyBjb2xvcjogdmFyKC0tb3JhbmdlLTYpOyB9XG4ub3JhbmdlLTcgeyBjb2xvcjogdmFyKC0tb3JhbmdlLTcpOyB9XG4ub3JhbmdlLTggeyBjb2xvcjogdmFyKC0tb3JhbmdlLTgpOyB9XG4ub3JhbmdlLTkgeyBjb2xvcjogdmFyKC0tb3JhbmdlLTkpOyB9XG4ub3JhbmdlLTEwIHsgY29sb3I6IHZhcigtLW9yYW5nZS0xMCk7IH1cbi5vcmFuZ2UtMTEgeyBjb2xvcjogdmFyKC0tb3JhbmdlLTExKTsgfVxuXG4uZ29sZC0wIHsgY29sb3I6IHZhcigtLWdvbGQtMCk7IH1cbi5nb2xkLTEgeyBjb2xvcjogdmFyKC0tZ29sZC0xKTsgfVxuLmdvbGQtMiB7IGNvbG9yOiB2YXIoLS1nb2xkLTIpOyB9XG4uZ29sZC0zIHsgY29sb3I6IHZhcigtLWdvbGQtMyk7IH1cbi5nb2xkLTQgeyBjb2xvcjogdmFyKC0tZ29sZC00KTsgfVxuLmdvbGQtNSB7IGNvbG9yOiB2YXIoLS1nb2xkLTUpOyB9XG4uZ29sZC02IHsgY29sb3I6IHZhcigtLWdvbGQtNik7IH1cbi5nb2xkLTcgeyBjb2xvcjogdmFyKC0tZ29sZC03KTsgfVxuLmdvbGQtOCB7IGNvbG9yOiB2YXIoLS1nb2xkLTgpOyB9XG4uZ29sZC05IHsgY29sb3I6IHZhcigtLWdvbGQtOSk7IH1cbi5nb2xkLTEwIHsgY29sb3I6IHZhcigtLWdvbGQtMTApOyB9XG4uZ29sZC0xMSB7IGNvbG9yOiB2YXIoLS1nb2xkLTExKTsgfVxuXG4ueWVsbG93LTAgeyBjb2xvcjogdmFyKC0teWVsbG93LTApOyB9XG4ueWVsbG93LTEgeyBjb2xvcjogdmFyKC0teWVsbG93LTEpOyB9XG4ueWVsbG93LTIgeyBjb2xvcjogdmFyKC0teWVsbG93LTIpOyB9XG4ueWVsbG93LTMgeyBjb2xvcjogdmFyKC0teWVsbG93LTMpOyB9XG4ueWVsbG93LTQgeyBjb2xvcjogdmFyKC0teWVsbG93LTQpOyB9XG4ueWVsbG93LTUgeyBjb2xvcjogdmFyKC0teWVsbG93LTUpOyB9XG4ueWVsbG93LTYgeyBjb2xvcjogdmFyKC0teWVsbG93LTYpOyB9XG4ueWVsbG93LTcgeyBjb2xvcjogdmFyKC0teWVsbG93LTcpOyB9XG4ueWVsbG93LTggeyBjb2xvcjogdmFyKC0teWVsbG93LTgpOyB9XG4ueWVsbG93LTkgeyBjb2xvcjogdmFyKC0teWVsbG93LTkpOyB9XG4ueWVsbG93LTEwIHsgY29sb3I6IHZhcigtLXllbGxvdy0xMCk7IH1cbi55ZWxsb3ctMTEgeyBjb2xvcjogdmFyKC0teWVsbG93LTExKTsgfVxuXG4uZ3JlZW4tMCB7IGNvbG9yOiB2YXIoLS1ncmVlbi0wKTsgfVxuLmdyZWVuLTEgeyBjb2xvcjogdmFyKC0tZ3JlZW4tMSk7IH1cbi5ncmVlbi0yIHsgY29sb3I6IHZhcigtLWdyZWVuLTIpOyB9XG4uZ3JlZW4tMyB7IGNvbG9yOiB2YXIoLS1ncmVlbi0zKTsgfVxuLmdyZWVuLTQgeyBjb2xvcjogdmFyKC0tZ3JlZW4tNCk7IH1cbi5ncmVlbi01IHsgY29sb3I6IHZhcigtLWdyZWVuLTUpOyB9XG4uZ3JlZW4tNiB7IGNvbG9yOiB2YXIoLS1ncmVlbi02KTsgfVxuLmdyZWVuLTcgeyBjb2xvcjogdmFyKC0tZ3JlZW4tNyk7IH1cbi5ncmVlbi04IHsgY29sb3I6IHZhcigtLWdyZWVuLTgpOyB9XG4uZ3JlZW4tOSB7IGNvbG9yOiB2YXIoLS1ncmVlbi05KTsgfVxuLmdyZWVuLTEwIHsgY29sb3I6IHZhcigtLWdyZWVuLTEwKTsgfVxuLmdyZWVuLTExIHsgY29sb3I6IHZhcigtLWdyZWVuLTExKTsgfVxuXG4ubGltZS0wIHsgY29sb3I6IHZhcigtLWxpbWUtMCk7IH1cbi5saW1lLTEgeyBjb2xvcjogdmFyKC0tbGltZS0xKTsgfVxuLmxpbWUtMiB7IGNvbG9yOiB2YXIoLS1saW1lLTIpOyB9XG4ubGltZS0zIHsgY29sb3I6IHZhcigtLWxpbWUtMyk7IH1cbi5saW1lLTQgeyBjb2xvcjogdmFyKC0tbGltZS00KTsgfVxuLmxpbWUtNSB7IGNvbG9yOiB2YXIoLS1saW1lLTUpOyB9XG4ubGltZS02IHsgY29sb3I6IHZhcigtLWxpbWUtNik7IH1cbi5saW1lLTcgeyBjb2xvcjogdmFyKC0tbGltZS03KTsgfVxuLmxpbWUtOCB7IGNvbG9yOiB2YXIoLS1saW1lLTgpOyB9XG4ubGltZS05IHsgY29sb3I6IHZhcigtLWxpbWUtOSk7IH1cbi5saW1lLTEwIHsgY29sb3I6IHZhcigtLWxpbWUtMTApOyB9XG4ubGltZS0xMSB7IGNvbG9yOiB2YXIoLS1saW1lLTExKTsgfVxuXG4udGVhbC0wIHsgY29sb3I6IHZhcigtLXRlYWwtMCk7IH1cbi50ZWFsLTEgeyBjb2xvcjogdmFyKC0tdGVhbC0xKTsgfVxuLnRlYWwtMiB7IGNvbG9yOiB2YXIoLS10ZWFsLTIpOyB9XG4udGVhbC0zIHsgY29sb3I6IHZhcigtLXRlYWwtMyk7IH1cbi50ZWFsLTQgeyBjb2xvcjogdmFyKC0tdGVhbC00KTsgfVxuLnRlYWwtNSB7IGNvbG9yOiB2YXIoLS10ZWFsLTUpOyB9XG4udGVhbC02IHsgY29sb3I6IHZhcigtLXRlYWwtNik7IH1cbi50ZWFsLTcgeyBjb2xvcjogdmFyKC0tdGVhbC03KTsgfVxuLnRlYWwtOCB7IGNvbG9yOiB2YXIoLS10ZWFsLTgpOyB9XG4udGVhbC05IHsgY29sb3I6IHZhcigtLXRlYWwtOSk7IH1cbi50ZWFsLTEwIHsgY29sb3I6IHZhcigtLXRlYWwtMTApOyB9XG4udGVhbC0xMSB7IGNvbG9yOiB2YXIoLS10ZWFsLTExKTsgfVxuXG4uY3lhbi0wIHsgY29sb3I6IHZhcigtLWN5YW4tMCk7IH1cbi5jeWFuLTEgeyBjb2xvcjogdmFyKC0tY3lhbi0xKTsgfVxuLmN5YW4tMiB7IGNvbG9yOiB2YXIoLS1jeWFuLTIpOyB9XG4uY3lhbi0zIHsgY29sb3I6IHZhcigtLWN5YW4tMyk7IH1cbi5jeWFuLTQgeyBjb2xvcjogdmFyKC0tY3lhbi00KTsgfVxuLmN5YW4tNSB7IGNvbG9yOiB2YXIoLS1jeWFuLTUpOyB9XG4uY3lhbi02IHsgY29sb3I6IHZhcigtLWN5YW4tNik7IH1cbi5jeWFuLTcgeyBjb2xvcjogdmFyKC0tY3lhbi03KTsgfVxuLmN5YW4tOCB7IGNvbG9yOiB2YXIoLS1jeWFuLTgpOyB9XG4uY3lhbi05IHsgY29sb3I6IHZhcigtLWN5YW4tOSk7IH1cbi5jeWFuLTEwIHsgY29sb3I6IHZhcigtLWN5YW4tMTApOyB9XG4uY3lhbi0xMSB7IGNvbG9yOiB2YXIoLS1jeWFuLTExKTsgfVxuXG4vKiBCYWNrZ3JvdW5kIGNvbG9ycyAqL1xuXG4uYmctdGludC0wIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGludC0wKTsgfVxuLmJnLXRpbnQtMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbnQtMSk7IH1cbi5iZy10aW50LTIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW50LTIpOyB9XG4uYmctdGludC0zIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGludC0zKTsgfVxuLmJnLXRpbnQtNCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbnQtNCk7IH1cbi5iZy10aW50LTUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW50LTUpOyB9XG4uYmctdGludC02IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGludC02KTsgfVxuLmJnLXRpbnQtNyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbnQtNyk7IH1cbi5iZy10aW50LTggeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW50LTgpOyB9XG4uYmctdGludC05IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGludC05KTsgfVxuLmJnLXRpbnQtMTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW50LTEwKTsgfVxuLmJnLXRpbnQtMTEgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aW50LTExKTsgfVxuXG4uYmctc2hhZG93LTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaGFkb3ctMCk7IH1cbi5iZy1zaGFkb3ctMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNoYWRvdy0xKTsgfVxuLmJnLXNoYWRvdy0yIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2hhZG93LTIpOyB9XG4uYmctc2hhZG93LTMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaGFkb3ctMyk7IH1cbi5iZy1zaGFkb3ctNCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNoYWRvdy00KTsgfVxuLmJnLXNoYWRvdy01IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2hhZG93LTUpOyB9XG4uYmctc2hhZG93LTYgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaGFkb3ctNik7IH1cbi5iZy1zaGFkb3ctNyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNoYWRvdy03KTsgfVxuLmJnLXNoYWRvdy04IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2hhZG93LTgpOyB9XG4uYmctc2hhZG93LTkgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaGFkb3ctOSk7IH1cbi5iZy1zaGFkb3ctMTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaGFkb3ctMTApOyB9XG4uYmctc2hhZG93LTExIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2hhZG93LTExKTsgfVxuXG4uYmctYmxhY2ssXG4uYmctZ3JheS0wIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JheS0wKTsgfVxuLmJnLWdyYXktMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYXktMSk7IH1cbi5iZy1ncmF5LTIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmF5LTIpOyB9XG4uYmctZ3JheS0zIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JheS0zKTsgfVxuLmJnLWdyYXktNCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYXktNCk7IH1cbi5iZy1ncmF5LTUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmF5LTUpOyB9XG4uYmctZ3JheS02IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JheS02KTsgfVxuLmJnLWdyYXktNyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYXktNyk7IH1cbi5iZy1ncmF5LTggeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmF5LTgpOyB9XG4uYmctZ3JheS05IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JheS05KTsgfVxuLmJnLWdyYXktMTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmF5LTEwKTsgfVxuLmJnLXdoaXRlLFxuLmJnLWdyYXktMTEgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmF5LTExKTsgfVxuXG4uYmctc2xhdGUtZ3JheS0wIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2xhdGUtZ3JheS0wKTsgfVxuLmJnLXNsYXRlLWdyYXktMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNsYXRlLWdyYXktMSk7IH1cbi5iZy1zbGF0ZS1ncmF5LTIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTIpOyB9XG4uYmctc2xhdGUtZ3JheS0zIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2xhdGUtZ3JheS0zKTsgfVxuLmJnLXNsYXRlLWdyYXktNCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNsYXRlLWdyYXktNCk7IH1cbi5iZy1zbGF0ZS1ncmF5LTUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTUpOyB9XG4uYmctc2xhdGUtZ3JheS02IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2xhdGUtZ3JheS02KTsgfVxuLmJnLXNsYXRlLWdyYXktNyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNsYXRlLWdyYXktNyk7IH1cbi5iZy1zbGF0ZS1ncmF5LTggeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTgpOyB9XG4uYmctc2xhdGUtZ3JheS05IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2xhdGUtZ3JheS05KTsgfVxuLmJnLXNsYXRlLWdyYXktMTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTEwKTsgfVxuLmJnLXNsYXRlLWdyYXktMTEgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zbGF0ZS1ncmF5LTExKTsgfVxuXG4uYmctYmx1ZS0wIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmx1ZS0wKTsgfVxuLmJnLWJsdWUtMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsdWUtMSk7IH1cbi5iZy1ibHVlLTIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibHVlLTIpOyB9XG4uYmctYmx1ZS0zIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmx1ZS0zKTsgfVxuLmJnLWJsdWUtNCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsdWUtNCk7IH1cbi5iZy1ibHVlLTUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibHVlLTUpOyB9XG4uYmctYmx1ZS02IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmx1ZS02KTsgfVxuLmJnLWJsdWUtNyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsdWUtNyk7IH1cbi5iZy1ibHVlLTggeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibHVlLTgpOyB9XG4uYmctYmx1ZS05IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmx1ZS05KTsgfVxuLmJnLWJsdWUtMTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibHVlLTEwKTsgfVxuLmJnLWJsdWUtMTEgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibHVlLTExKTsgfVxuXG4uYmctaW5kaWdvLTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbmRpZ28tMCk7IH1cbi5iZy1pbmRpZ28tMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWluZGlnby0xKTsgfVxuLmJnLWluZGlnby0yIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5kaWdvLTIpOyB9XG4uYmctaW5kaWdvLTMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbmRpZ28tMyk7IH1cbi5iZy1pbmRpZ28tNCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWluZGlnby00KTsgfVxuLmJnLWluZGlnby01IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5kaWdvLTUpOyB9XG4uYmctaW5kaWdvLTYgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbmRpZ28tNik7IH1cbi5iZy1pbmRpZ28tNyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWluZGlnby03KTsgfVxuLmJnLWluZGlnby04IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5kaWdvLTgpOyB9XG4uYmctaW5kaWdvLTkgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbmRpZ28tOSk7IH1cbi5iZy1pbmRpZ28tMTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbmRpZ28tMTApOyB9XG4uYmctaW5kaWdvLTExIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5kaWdvLTExKTsgfVxuXG4uYmctdmlvbGV0LTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12aW9sZXQtMCk7IH1cbi5iZy12aW9sZXQtMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZpb2xldC0xKTsgfVxuLmJnLXZpb2xldC0yIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdmlvbGV0LTIpOyB9XG4uYmctdmlvbGV0LTMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12aW9sZXQtMyk7IH1cbi5iZy12aW9sZXQtNCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZpb2xldC00KTsgfVxuLmJnLXZpb2xldC01IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdmlvbGV0LTUpOyB9XG4uYmctdmlvbGV0LTYgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12aW9sZXQtNik7IH1cbi5iZy12aW9sZXQtNyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZpb2xldC03KTsgfVxuLmJnLXZpb2xldC04IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdmlvbGV0LTgpOyB9XG4uYmctdmlvbGV0LTkgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12aW9sZXQtOSk7IH1cbi5iZy12aW9sZXQtMTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12aW9sZXQtMTApOyB9XG4uYmctdmlvbGV0LTExIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdmlvbGV0LTExKTsgfVxuXG4uYmctbWFnZW50YS0wIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWFnZW50YS0wKTsgfVxuLmJnLW1hZ2VudGEtMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1hZ2VudGEtMSk7IH1cbi5iZy1tYWdlbnRhLTIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTIpOyB9XG4uYmctbWFnZW50YS0zIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWFnZW50YS0zKTsgfVxuLmJnLW1hZ2VudGEtNCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1hZ2VudGEtNCk7IH1cbi5iZy1tYWdlbnRhLTUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTUpOyB9XG4uYmctbWFnZW50YS02IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWFnZW50YS02KTsgfVxuLmJnLW1hZ2VudGEtNyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1hZ2VudGEtNyk7IH1cbi5iZy1tYWdlbnRhLTggeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTgpOyB9XG4uYmctbWFnZW50YS05IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWFnZW50YS05KTsgfVxuLmJnLW1hZ2VudGEtMTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTEwKTsgfVxuLmJnLW1hZ2VudGEtMTEgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTExKTsgfVxuXG4uYmctcmVkLTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yZWQtMCk7IH1cbi5iZy1yZWQtMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJlZC0xKTsgfVxuLmJnLXJlZC0yIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmVkLTIpOyB9XG4uYmctcmVkLTMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yZWQtMyk7IH1cbi5iZy1yZWQtNCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJlZC00KTsgfVxuLmJnLXJlZC01IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmVkLTUpOyB9XG4uYmctcmVkLTYgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yZWQtNik7IH1cbi5iZy1yZWQtNyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJlZC03KTsgfVxuLmJnLXJlZC04IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmVkLTgpOyB9XG4uYmctcmVkLTkgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yZWQtOSk7IH1cbi5iZy1yZWQtMTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yZWQtMTApOyB9XG4uYmctcmVkLTExIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmVkLTExKTsgfVxuXG4uYmctcmVkLW9yYW5nZS0wIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmVkLW9yYW5nZS0wKTsgfVxuLmJnLXJlZC1vcmFuZ2UtMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJlZC1vcmFuZ2UtMSk7IH1cbi5iZy1yZWQtb3JhbmdlLTIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTIpOyB9XG4uYmctcmVkLW9yYW5nZS0zIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmVkLW9yYW5nZS0zKTsgfVxuLmJnLXJlZC1vcmFuZ2UtNCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJlZC1vcmFuZ2UtNCk7IH1cbi5iZy1yZWQtb3JhbmdlLTUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTUpOyB9XG4uYmctcmVkLW9yYW5nZS02IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmVkLW9yYW5nZS02KTsgfVxuLmJnLXJlZC1vcmFuZ2UtNyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJlZC1vcmFuZ2UtNyk7IH1cbi5iZy1yZWQtb3JhbmdlLTggeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTgpOyB9XG4uYmctcmVkLW9yYW5nZS05IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmVkLW9yYW5nZS05KTsgfVxuLmJnLXJlZC1vcmFuZ2UtMTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTEwKTsgfVxuLmJnLXJlZC1vcmFuZ2UtMTEgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTExKTsgfVxuXG4uYmctb3JhbmdlLTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1vcmFuZ2UtMCk7IH1cbi5iZy1vcmFuZ2UtMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLW9yYW5nZS0xKTsgfVxuLmJnLW9yYW5nZS0yIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tb3JhbmdlLTIpOyB9XG4uYmctb3JhbmdlLTMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1vcmFuZ2UtMyk7IH1cbi5iZy1vcmFuZ2UtNCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLW9yYW5nZS00KTsgfVxuLmJnLW9yYW5nZS01IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tb3JhbmdlLTUpOyB9XG4uYmctb3JhbmdlLTYgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1vcmFuZ2UtNik7IH1cbi5iZy1vcmFuZ2UtNyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLW9yYW5nZS03KTsgfVxuLmJnLW9yYW5nZS04IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tb3JhbmdlLTgpOyB9XG4uYmctb3JhbmdlLTkgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1vcmFuZ2UtOSk7IH1cbi5iZy1vcmFuZ2UtMTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1vcmFuZ2UtMTApOyB9XG4uYmctb3JhbmdlLTExIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tb3JhbmdlLTExKTsgfVxuXG4uYmctZ29sZC0wIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ29sZC0wKTsgfVxuLmJnLWdvbGQtMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdvbGQtMSk7IH1cbi5iZy1nb2xkLTIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb2xkLTIpOyB9XG4uYmctZ29sZC0zIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ29sZC0zKTsgfVxuLmJnLWdvbGQtNCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdvbGQtNCk7IH1cbi5iZy1nb2xkLTUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb2xkLTUpOyB9XG4uYmctZ29sZC02IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ29sZC02KTsgfVxuLmJnLWdvbGQtNyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdvbGQtNyk7IH1cbi5iZy1nb2xkLTggeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb2xkLTgpOyB9XG4uYmctZ29sZC05IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ29sZC05KTsgfVxuLmJnLWdvbGQtMTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb2xkLTEwKTsgfVxuLmJnLWdvbGQtMTEgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb2xkLTExKTsgfVxuXG4uYmcteWVsbG93LTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS15ZWxsb3ctMCk7IH1cbi5iZy15ZWxsb3ctMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXllbGxvdy0xKTsgfVxuLmJnLXllbGxvdy0yIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWVsbG93LTIpOyB9XG4uYmcteWVsbG93LTMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS15ZWxsb3ctMyk7IH1cbi5iZy15ZWxsb3ctNCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXllbGxvdy00KTsgfVxuLmJnLXllbGxvdy01IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWVsbG93LTUpOyB9XG4uYmcteWVsbG93LTYgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS15ZWxsb3ctNik7IH1cbi5iZy15ZWxsb3ctNyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXllbGxvdy03KTsgfVxuLmJnLXllbGxvdy04IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWVsbG93LTgpOyB9XG4uYmcteWVsbG93LTkgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS15ZWxsb3ctOSk7IH1cbi5iZy15ZWxsb3ctMTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS15ZWxsb3ctMTApOyB9XG4uYmcteWVsbG93LTExIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWVsbG93LTExKTsgfVxuXG4uYmctZ3JlZW4tMCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuLTApOyB9XG4uYmctZ3JlZW4tMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuLTEpOyB9XG4uYmctZ3JlZW4tMiB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuLTIpOyB9XG4uYmctZ3JlZW4tMyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuLTMpOyB9XG4uYmctZ3JlZW4tNCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuLTQpOyB9XG4uYmctZ3JlZW4tNSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuLTUpOyB9XG4uYmctZ3JlZW4tNiB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuLTYpOyB9XG4uYmctZ3JlZW4tNyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuLTcpOyB9XG4uYmctZ3JlZW4tOCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuLTgpOyB9XG4uYmctZ3JlZW4tOSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuLTkpOyB9XG4uYmctZ3JlZW4tMTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmVlbi0xMCk7IH1cbi5iZy1ncmVlbi0xMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuLTExKTsgfVxuXG4uYmctbGltZS0wIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGltZS0wKTsgfVxuLmJnLWxpbWUtMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpbWUtMSk7IH1cbi5iZy1saW1lLTIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saW1lLTIpOyB9XG4uYmctbGltZS0zIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGltZS0zKTsgfVxuLmJnLWxpbWUtNCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpbWUtNCk7IH1cbi5iZy1saW1lLTUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saW1lLTUpOyB9XG4uYmctbGltZS02IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGltZS02KTsgfVxuLmJnLWxpbWUtNyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpbWUtNyk7IH1cbi5iZy1saW1lLTggeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saW1lLTgpOyB9XG4uYmctbGltZS05IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGltZS05KTsgfVxuLmJnLWxpbWUtMTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saW1lLTEwKTsgfVxuLmJnLWxpbWUtMTEgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saW1lLTExKTsgfVxuXG4uYmctdGVhbC0wIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVhbC0wKTsgfVxuLmJnLXRlYWwtMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlYWwtMSk7IH1cbi5iZy10ZWFsLTIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZWFsLTIpOyB9XG4uYmctdGVhbC0zIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVhbC0zKTsgfVxuLmJnLXRlYWwtNCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlYWwtNCk7IH1cbi5iZy10ZWFsLTUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZWFsLTUpOyB9XG4uYmctdGVhbC02IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVhbC02KTsgfVxuLmJnLXRlYWwtNyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlYWwtNyk7IH1cbi5iZy10ZWFsLTggeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZWFsLTgpOyB9XG4uYmctdGVhbC05IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVhbC05KTsgfVxuLmJnLXRlYWwtMTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZWFsLTEwKTsgfVxuLmJnLXRlYWwtMTEgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZWFsLTExKTsgfVxuXG4uYmctY3lhbi0wIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3lhbi0wKTsgfVxuLmJnLWN5YW4tMSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN5YW4tMSk7IH1cbi5iZy1jeWFuLTIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeWFuLTIpOyB9XG4uYmctY3lhbi0zIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3lhbi0zKTsgfVxuLmJnLWN5YW4tNCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN5YW4tNCk7IH1cbi5iZy1jeWFuLTUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeWFuLTUpOyB9XG4uYmctY3lhbi02IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3lhbi02KTsgfVxuLmJnLWN5YW4tNyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN5YW4tNyk7IH1cbi5iZy1jeWFuLTggeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeWFuLTgpOyB9XG4uYmctY3lhbi05IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3lhbi05KTsgfVxuLmJnLWN5YW4tMTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeWFuLTEwKTsgfVxuLmJnLWN5YW4tMTEgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeWFuLTExKTsgfVxuXG4uZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmx1ZS01KTtcbiAgY29sb3I6IHZhcigtLWdyYXktMTEpO1xufVxuXG4uYmx1ZS1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmx1ZS0zKTtcbiAgY29sb3I6IHZhcigtLWJsdWUtOSk7XG59XG5cbi5ibHVlLWxpZ2h0IHtcbiAgY29sb3I6IHZhcigtLWJsdWUtMyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsdWUtMTApO1xufVxuXG4uaW5kaWdvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5kaWdvLTUpO1xuICBjb2xvcjogdmFyKC0tZ3JheS0xMSk7XG59XG5cbi5pbmRpZ28tZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWluZGlnby0zKTtcbiAgY29sb3I6IHZhcigtLWluZGlnby05KTtcbn1cblxuLmluZGlnby1saWdodCB7XG4gIGNvbG9yOiB2YXIoLS1pbmRpZ28tMyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWluZGlnby0xMCk7XG59XG5cbi52aW9sZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12aW9sZXQtNSk7XG4gIGNvbG9yOiB2YXIoLS1ncmF5LTExKTtcbn1cblxuLnZpb2xldC1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdmlvbGV0LTMpO1xuICBjb2xvcjogdmFyKC0tdmlvbGV0LTkpO1xufVxuXG4udmlvbGV0LWxpZ2h0IHtcbiAgY29sb3I6IHZhcigtLXZpb2xldC0zKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdmlvbGV0LTEwKTtcbn1cblxuLm1hZ2VudGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTUpO1xuICBjb2xvcjogdmFyKC0tZ3JheS0xMSk7XG59XG5cbi5tYWdlbnRhLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tYWdlbnRhLTMpO1xuICBjb2xvcjogdmFyKC0tbWFnZW50YS05KTtcbn1cblxuLm1hZ2VudGEtbGlnaHQge1xuICBjb2xvcjogdmFyKC0tbWFnZW50YS0zKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWFnZW50YS0xMCk7XG59XG5cbi5yZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yZWQtNSk7XG4gIGNvbG9yOiB2YXIoLS1ncmF5LTExKTtcbn1cblxuLnJlZC1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmVkLTMpO1xuICBjb2xvcjogdmFyKC0tcmVkLTkpO1xufVxuXG4ucmVkLWxpZ2h0IHtcbiAgY29sb3I6IHZhcigtLXJlZC0zKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmVkLTEwKTtcbn1cblxuLnJlZC1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTUpO1xuICBjb2xvcjogdmFyKC0tZ3JheS0xMSk7XG59XG5cbi5yZWQtb3JhbmdlLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yZWQtb3JhbmdlLTMpO1xuICBjb2xvcjogdmFyKC0tcmVkLW9yYW5nZS05KTtcbn1cblxuLnJlZC1vcmFuZ2UtbGlnaHQge1xuICBjb2xvcjogdmFyKC0tcmVkLW9yYW5nZS0zKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcmVkLW9yYW5nZS0xMCk7XG59XG5cbi5vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1vcmFuZ2UtNSk7XG4gIGNvbG9yOiB2YXIoLS1ncmF5LTExKTtcbn1cblxuLm9yYW5nZS1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tb3JhbmdlLTMpO1xuICBjb2xvcjogdmFyKC0tb3JhbmdlLTkpO1xufVxuXG4ub3JhbmdlLWxpZ2h0IHtcbiAgY29sb3I6IHZhcigtLW9yYW5nZS0zKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tb3JhbmdlLTEwKTtcbn1cblxuLmdvbGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb2xkLTUpO1xuICBjb2xvcjogdmFyKC0tZ3JheS0xMSk7XG59XG5cbi5nb2xkLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb2xkLTMpO1xuICBjb2xvcjogdmFyKC0tZ29sZC05KTtcbn1cblxuLmdvbGQtbGlnaHQge1xuICBjb2xvcjogdmFyKC0tZ29sZC0zKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ29sZC0xMCk7XG59XG5cbi55ZWxsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS15ZWxsb3ctNSk7XG4gIGNvbG9yOiB2YXIoLS1ncmF5LTExKTtcbn1cblxuLnllbGxvdy1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWVsbG93LTMpO1xuICBjb2xvcjogdmFyKC0teWVsbG93LTkpO1xufVxuXG4ueWVsbG93LWxpZ2h0IHtcbiAgY29sb3I6IHZhcigtLXllbGxvdy0zKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWVsbG93LTEwKTtcbn1cblxuLmdyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JlZW4tNSk7XG4gIGNvbG9yOiB2YXIoLS1ncmF5LTExKTtcbn1cblxuLmdyZWVuLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmVlbi0zKTtcbiAgY29sb3I6IHZhcigtLWdyZWVuLTkpO1xufVxuXG4uZ3JlZW4tbGlnaHQge1xuICBjb2xvcjogdmFyKC0tZ3JlZW4tMyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuLTEwKTtcbn1cblxuLmxpbWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saW1lLTUpO1xuICBjb2xvcjogdmFyKC0tZ3JheS0xMSk7XG59XG5cbi5saW1lLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saW1lLTMpO1xuICBjb2xvcjogdmFyKC0tbGltZS05KTtcbn1cblxuLmxpbWUtbGlnaHQge1xuICBjb2xvcjogdmFyKC0tbGltZS0zKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGltZS0xMCk7XG59XG5cbi50ZWFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVhbC01KTtcbiAgY29sb3I6IHZhcigtLWdyYXktMTEpO1xufVxuXG4udGVhbC1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVhbC0zKTtcbiAgY29sb3I6IHZhcigtLXRlYWwtOSk7XG59XG5cbi50ZWFsLWxpZ2h0IHtcbiAgY29sb3I6IHZhcigtLXRlYWwtMyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlYWwtMTApO1xufVxuXG4uY3lhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN5YW4tNSk7XG4gIGNvbG9yOiB2YXIoLS1ncmF5LTExKTtcbn1cblxuLmN5YW4tZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN5YW4tMyk7XG4gIGNvbG9yOiB2YXIoLS1jeWFuLTkpO1xufVxuXG4uY3lhbi1saWdodCB7XG4gIGNvbG9yOiB2YXIoLS1jeWFuLTMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeWFuLTEwKTtcbn1cbiIsIi8qIFxuICBcbiAgIFNLSU5TOlBTRVVET1xuXG4gICBDdXN0b21pemUgdGhlIGNvbG9yIG9mIGFuIGVsZW1lbnQgd2hlblxuICAgaXQgaXMgZm9jdXNlZCBvciBob3ZlcmVkIG92ZXIuIFRoaXMgaXMgYSBsYXJnZXIgZmlsZS4gRmVlbFxuICAgZnJlZSB0byByZW1vdmUgYW5kIGVkaXQgY29sb3JzIHRoYXQgYXJlbid0IG5lZWRlZC5cbiBcbiAqL1xuXG4uaG92ZXItb3ZlcmxheS10aW50LTA6aG92ZXIgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC0wKTsgfVxuLmhvdmVyLW92ZXJsYXktdGludC0xOmhvdmVyIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXRpbnQtMSk7IH1cbi5ob3Zlci1vdmVybGF5LXRpbnQtMjpob3ZlciB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTIpOyB9XG4uaG92ZXItb3ZlcmxheS10aW50LTM6aG92ZXIgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC0zKTsgfVxuLmhvdmVyLW92ZXJsYXktdGludC00OmhvdmVyIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXRpbnQtNCk7IH1cbi5ob3Zlci1vdmVybGF5LXRpbnQtNTpob3ZlciB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTUpOyB9XG4uaG92ZXItb3ZlcmxheS10aW50LTY6aG92ZXIgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC02KTsgfVxuLmhvdmVyLW92ZXJsYXktdGludC03OmhvdmVyIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXRpbnQtNyk7IH1cbi5ob3Zlci1vdmVybGF5LXRpbnQtODpob3ZlciB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTgpOyB9XG4uaG92ZXItb3ZlcmxheS10aW50LTk6aG92ZXIgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC05KTsgfVxuLmhvdmVyLW92ZXJsYXktdGludC0xMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTEwKTsgfVxuLmhvdmVyLW92ZXJsYXktdGludC0xMTpob3ZlciB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTExKTsgfVxuXG4uaG92ZXItb3ZlcmxheS1zaGFkb3ctMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctMCk7IH1cbi5ob3Zlci1vdmVybGF5LXNoYWRvdy0xOmhvdmVyIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy0xKTsgfVxuLmhvdmVyLW92ZXJsYXktc2hhZG93LTI6aG92ZXIgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTIpOyB9XG4uaG92ZXItb3ZlcmxheS1zaGFkb3ctMzpob3ZlciB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctMyk7IH1cbi5ob3Zlci1vdmVybGF5LXNoYWRvdy00OmhvdmVyIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy00KTsgfVxuLmhvdmVyLW92ZXJsYXktc2hhZG93LTU6aG92ZXIgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTUpOyB9XG4uaG92ZXItb3ZlcmxheS1zaGFkb3ctNjpob3ZlciB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctNik7IH1cbi5ob3Zlci1vdmVybGF5LXNoYWRvdy03OmhvdmVyIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy03KTsgfVxuLmhvdmVyLW92ZXJsYXktc2hhZG93LTg6aG92ZXIgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTgpOyB9XG4uaG92ZXItb3ZlcmxheS1zaGFkb3ctOTpob3ZlciB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctOSk7IH1cbi5ob3Zlci1vdmVybGF5LXNoYWRvdy0xMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctMTApOyB9XG4uaG92ZXItb3ZlcmxheS1zaGFkb3ctMTE6aG92ZXIgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTExKTsgfVxuXG4uaG92ZXItZ3JheS0wOmhvdmVyIHsgY29sb3I6IHZhciggLS1ncmF5LTApOyB9XG4uaG92ZXItZ3JheS0xOmhvdmVyIHsgY29sb3I6IHZhciggLS1ncmF5LTEpOyB9XG4uaG92ZXItZ3JheS0yOmhvdmVyIHsgY29sb3I6IHZhciggLS1ncmF5LTIpOyB9XG4uaG92ZXItZ3JheS0zOmhvdmVyIHsgY29sb3I6IHZhciggLS1ncmF5LTMpOyB9XG4uaG92ZXItZ3JheS00OmhvdmVyIHsgY29sb3I6IHZhciggLS1ncmF5LTQpOyB9XG4uaG92ZXItZ3JheS01OmhvdmVyIHsgY29sb3I6IHZhciggLS1ncmF5LTUpOyB9XG4uaG92ZXItZ3JheS02OmhvdmVyIHsgY29sb3I6IHZhciggLS1ncmF5LTYpOyB9XG4uaG92ZXItZ3JheS03OmhvdmVyIHsgY29sb3I6IHZhciggLS1ncmF5LTcpOyB9XG4uaG92ZXItZ3JheS04OmhvdmVyIHsgY29sb3I6IHZhciggLS1ncmF5LTgpOyB9XG4uaG92ZXItZ3JheS05OmhvdmVyIHsgY29sb3I6IHZhciggLS1ncmF5LTkpOyB9XG4uaG92ZXItZ3JheS0xMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0tZ3JheS0xMCk7IH1cbi5ob3Zlci1ncmF5LTExOmhvdmVyIHsgY29sb3I6IHZhciggLS1ncmF5LTExKTsgfVxuXG4uaG92ZXItc2xhdGUtZ3JheS0wOmhvdmVyIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTApOyB9XG4uaG92ZXItc2xhdGUtZ3JheS0xOmhvdmVyIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTEpOyB9XG4uaG92ZXItc2xhdGUtZ3JheS0yOmhvdmVyIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTIpOyB9XG4uaG92ZXItc2xhdGUtZ3JheS0zOmhvdmVyIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTMpOyB9XG4uaG92ZXItc2xhdGUtZ3JheS00OmhvdmVyIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTQpOyB9XG4uaG92ZXItc2xhdGUtZ3JheS01OmhvdmVyIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTUpOyB9XG4uaG92ZXItc2xhdGUtZ3JheS02OmhvdmVyIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTYpOyB9XG4uaG92ZXItc2xhdGUtZ3JheS03OmhvdmVyIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTcpOyB9XG4uaG92ZXItc2xhdGUtZ3JheS04OmhvdmVyIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTgpOyB9XG4uaG92ZXItc2xhdGUtZ3JheS05OmhvdmVyIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTkpOyB9XG4uaG92ZXItc2xhdGUtZ3JheS0xMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0tc2xhdGUtZ3JheS0xMCk7IH1cbi5ob3Zlci1zbGF0ZS1ncmF5LTExOmhvdmVyIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTExKTsgfVxuXG4uaG92ZXItYmx1ZS0wOmhvdmVyIHsgY29sb3I6IHZhciggLS1ibHVlLTApOyB9XG4uaG92ZXItYmx1ZS0xOmhvdmVyIHsgY29sb3I6IHZhciggLS1ibHVlLTEpOyB9XG4uaG92ZXItYmx1ZS0yOmhvdmVyIHsgY29sb3I6IHZhciggLS1ibHVlLTIpOyB9XG4uaG92ZXItYmx1ZS0zOmhvdmVyIHsgY29sb3I6IHZhciggLS1ibHVlLTMpOyB9XG4uaG92ZXItYmx1ZS00OmhvdmVyIHsgY29sb3I6IHZhciggLS1ibHVlLTQpOyB9XG4uaG92ZXItYmx1ZS01OmhvdmVyIHsgY29sb3I6IHZhciggLS1ibHVlLTUpOyB9XG4uaG92ZXItYmx1ZS02OmhvdmVyIHsgY29sb3I6IHZhciggLS1ibHVlLTYpOyB9XG4uaG92ZXItYmx1ZS03OmhvdmVyIHsgY29sb3I6IHZhciggLS1ibHVlLTcpOyB9XG4uaG92ZXItYmx1ZS04OmhvdmVyIHsgY29sb3I6IHZhciggLS1ibHVlLTgpOyB9XG4uaG92ZXItYmx1ZS05OmhvdmVyIHsgY29sb3I6IHZhciggLS1ibHVlLTkpOyB9XG4uaG92ZXItYmx1ZS0xMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0tYmx1ZS0xMCk7IH1cbi5ob3Zlci1ibHVlLTExOmhvdmVyIHsgY29sb3I6IHZhciggLS1ibHVlLTExKTsgfVxuXG4uaG92ZXItaW5kaWdvLTA6aG92ZXIgeyBjb2xvcjogdmFyKCAtLWluZGlnby0wKTsgfVxuLmhvdmVyLWluZGlnby0xOmhvdmVyIHsgY29sb3I6IHZhciggLS1pbmRpZ28tMSk7IH1cbi5ob3Zlci1pbmRpZ28tMjpob3ZlciB7IGNvbG9yOiB2YXIoIC0taW5kaWdvLTIpOyB9XG4uaG92ZXItaW5kaWdvLTM6aG92ZXIgeyBjb2xvcjogdmFyKCAtLWluZGlnby0zKTsgfVxuLmhvdmVyLWluZGlnby00OmhvdmVyIHsgY29sb3I6IHZhciggLS1pbmRpZ28tNCk7IH1cbi5ob3Zlci1pbmRpZ28tNTpob3ZlciB7IGNvbG9yOiB2YXIoIC0taW5kaWdvLTUpOyB9XG4uaG92ZXItaW5kaWdvLTY6aG92ZXIgeyBjb2xvcjogdmFyKCAtLWluZGlnby02KTsgfVxuLmhvdmVyLWluZGlnby03OmhvdmVyIHsgY29sb3I6IHZhciggLS1pbmRpZ28tNyk7IH1cbi5ob3Zlci1pbmRpZ28tODpob3ZlciB7IGNvbG9yOiB2YXIoIC0taW5kaWdvLTgpOyB9XG4uaG92ZXItaW5kaWdvLTk6aG92ZXIgeyBjb2xvcjogdmFyKCAtLWluZGlnby05KTsgfVxuLmhvdmVyLWluZGlnby0xMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0taW5kaWdvLTEwKTsgfVxuLmhvdmVyLWluZGlnby0xMTpob3ZlciB7IGNvbG9yOiB2YXIoIC0taW5kaWdvLTExKTsgfVxuXG4uaG92ZXItdmlvbGV0LTA6aG92ZXIgeyBjb2xvcjogdmFyKCAtLXZpb2xldC0wKTsgfVxuLmhvdmVyLXZpb2xldC0xOmhvdmVyIHsgY29sb3I6IHZhciggLS12aW9sZXQtMSk7IH1cbi5ob3Zlci12aW9sZXQtMjpob3ZlciB7IGNvbG9yOiB2YXIoIC0tdmlvbGV0LTIpOyB9XG4uaG92ZXItdmlvbGV0LTM6aG92ZXIgeyBjb2xvcjogdmFyKCAtLXZpb2xldC0zKTsgfVxuLmhvdmVyLXZpb2xldC00OmhvdmVyIHsgY29sb3I6IHZhciggLS12aW9sZXQtNCk7IH1cbi5ob3Zlci12aW9sZXQtNTpob3ZlciB7IGNvbG9yOiB2YXIoIC0tdmlvbGV0LTUpOyB9XG4uaG92ZXItdmlvbGV0LTY6aG92ZXIgeyBjb2xvcjogdmFyKCAtLXZpb2xldC02KTsgfVxuLmhvdmVyLXZpb2xldC03OmhvdmVyIHsgY29sb3I6IHZhciggLS12aW9sZXQtNyk7IH1cbi5ob3Zlci12aW9sZXQtODpob3ZlciB7IGNvbG9yOiB2YXIoIC0tdmlvbGV0LTgpOyB9XG4uaG92ZXItdmlvbGV0LTk6aG92ZXIgeyBjb2xvcjogdmFyKCAtLXZpb2xldC05KTsgfVxuLmhvdmVyLXZpb2xldC0xMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0tdmlvbGV0LTEwKTsgfVxuLmhvdmVyLXZpb2xldC0xMTpob3ZlciB7IGNvbG9yOiB2YXIoIC0tdmlvbGV0LTExKTsgfVxuXG4uaG92ZXItbWFnZW50YS0wOmhvdmVyIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTApOyB9XG4uaG92ZXItbWFnZW50YS0xOmhvdmVyIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTEpOyB9XG4uaG92ZXItbWFnZW50YS0yOmhvdmVyIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTIpOyB9XG4uaG92ZXItbWFnZW50YS0zOmhvdmVyIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTMpOyB9XG4uaG92ZXItbWFnZW50YS00OmhvdmVyIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTQpOyB9XG4uaG92ZXItbWFnZW50YS01OmhvdmVyIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTUpOyB9XG4uaG92ZXItbWFnZW50YS02OmhvdmVyIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTYpOyB9XG4uaG92ZXItbWFnZW50YS03OmhvdmVyIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTcpOyB9XG4uaG92ZXItbWFnZW50YS04OmhvdmVyIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTgpOyB9XG4uaG92ZXItbWFnZW50YS05OmhvdmVyIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTkpOyB9XG4uaG92ZXItbWFnZW50YS0xMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0tbWFnZW50YS0xMCk7IH1cbi5ob3Zlci1tYWdlbnRhLTExOmhvdmVyIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTExKTsgfVxuXG4uaG92ZXItcmVkLTA6aG92ZXIgeyBjb2xvcjogdmFyKCAtLXJlZC0wKTsgfVxuLmhvdmVyLXJlZC0xOmhvdmVyIHsgY29sb3I6IHZhciggLS1yZWQtMSk7IH1cbi5ob3Zlci1yZWQtMjpob3ZlciB7IGNvbG9yOiB2YXIoIC0tcmVkLTIpOyB9XG4uaG92ZXItcmVkLTM6aG92ZXIgeyBjb2xvcjogdmFyKCAtLXJlZC0zKTsgfVxuLmhvdmVyLXJlZC00OmhvdmVyIHsgY29sb3I6IHZhciggLS1yZWQtNCk7IH1cbi5ob3Zlci1yZWQtNTpob3ZlciB7IGNvbG9yOiB2YXIoIC0tcmVkLTUpOyB9XG4uaG92ZXItcmVkLTY6aG92ZXIgeyBjb2xvcjogdmFyKCAtLXJlZC02KTsgfVxuLmhvdmVyLXJlZC03OmhvdmVyIHsgY29sb3I6IHZhciggLS1yZWQtNyk7IH1cbi5ob3Zlci1yZWQtODpob3ZlciB7IGNvbG9yOiB2YXIoIC0tcmVkLTgpOyB9XG4uaG92ZXItcmVkLTk6aG92ZXIgeyBjb2xvcjogdmFyKCAtLXJlZC05KTsgfVxuLmhvdmVyLXJlZC0xMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0tcmVkLTEwKTsgfVxuLmhvdmVyLXJlZC0xMTpob3ZlciB7IGNvbG9yOiB2YXIoIC0tcmVkLTExKTsgfVxuXG4uaG92ZXItcmVkLW9yYW5nZS0wOmhvdmVyIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTApOyB9XG4uaG92ZXItcmVkLW9yYW5nZS0xOmhvdmVyIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTEpOyB9XG4uaG92ZXItcmVkLW9yYW5nZS0yOmhvdmVyIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTIpOyB9XG4uaG92ZXItcmVkLW9yYW5nZS0zOmhvdmVyIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTMpOyB9XG4uaG92ZXItcmVkLW9yYW5nZS00OmhvdmVyIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTQpOyB9XG4uaG92ZXItcmVkLW9yYW5nZS01OmhvdmVyIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTUpOyB9XG4uaG92ZXItcmVkLW9yYW5nZS02OmhvdmVyIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTYpOyB9XG4uaG92ZXItcmVkLW9yYW5nZS03OmhvdmVyIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTcpOyB9XG4uaG92ZXItcmVkLW9yYW5nZS04OmhvdmVyIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTgpOyB9XG4uaG92ZXItcmVkLW9yYW5nZS05OmhvdmVyIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTkpOyB9XG4uaG92ZXItcmVkLW9yYW5nZS0xMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0tcmVkLW9yYW5nZS0xMCk7IH1cbi5ob3Zlci1yZWQtb3JhbmdlLTExOmhvdmVyIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTExKTsgfVxuXG4uaG92ZXItb3JhbmdlLTA6aG92ZXIgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS0wKTsgfVxuLmhvdmVyLW9yYW5nZS0xOmhvdmVyIHsgY29sb3I6IHZhciggLS1vcmFuZ2UtMSk7IH1cbi5ob3Zlci1vcmFuZ2UtMjpob3ZlciB7IGNvbG9yOiB2YXIoIC0tb3JhbmdlLTIpOyB9XG4uaG92ZXItb3JhbmdlLTM6aG92ZXIgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS0zKTsgfVxuLmhvdmVyLW9yYW5nZS00OmhvdmVyIHsgY29sb3I6IHZhciggLS1vcmFuZ2UtNCk7IH1cbi5ob3Zlci1vcmFuZ2UtNTpob3ZlciB7IGNvbG9yOiB2YXIoIC0tb3JhbmdlLTUpOyB9XG4uaG92ZXItb3JhbmdlLTY6aG92ZXIgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS02KTsgfVxuLmhvdmVyLW9yYW5nZS03OmhvdmVyIHsgY29sb3I6IHZhciggLS1vcmFuZ2UtNyk7IH1cbi5ob3Zlci1vcmFuZ2UtODpob3ZlciB7IGNvbG9yOiB2YXIoIC0tb3JhbmdlLTgpOyB9XG4uaG92ZXItb3JhbmdlLTk6aG92ZXIgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS05KTsgfVxuLmhvdmVyLW9yYW5nZS0xMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0tb3JhbmdlLTEwKTsgfVxuLmhvdmVyLW9yYW5nZS0xMTpob3ZlciB7IGNvbG9yOiB2YXIoIC0tb3JhbmdlLTExKTsgfVxuXG4uaG92ZXItZ29sZC0wOmhvdmVyIHsgY29sb3I6IHZhciggLS1nb2xkLTApOyB9XG4uaG92ZXItZ29sZC0xOmhvdmVyIHsgY29sb3I6IHZhciggLS1nb2xkLTEpOyB9XG4uaG92ZXItZ29sZC0yOmhvdmVyIHsgY29sb3I6IHZhciggLS1nb2xkLTIpOyB9XG4uaG92ZXItZ29sZC0zOmhvdmVyIHsgY29sb3I6IHZhciggLS1nb2xkLTMpOyB9XG4uaG92ZXItZ29sZC00OmhvdmVyIHsgY29sb3I6IHZhciggLS1nb2xkLTQpOyB9XG4uaG92ZXItZ29sZC01OmhvdmVyIHsgY29sb3I6IHZhciggLS1nb2xkLTUpOyB9XG4uaG92ZXItZ29sZC02OmhvdmVyIHsgY29sb3I6IHZhciggLS1nb2xkLTYpOyB9XG4uaG92ZXItZ29sZC03OmhvdmVyIHsgY29sb3I6IHZhciggLS1nb2xkLTcpOyB9XG4uaG92ZXItZ29sZC04OmhvdmVyIHsgY29sb3I6IHZhciggLS1nb2xkLTgpOyB9XG4uaG92ZXItZ29sZC05OmhvdmVyIHsgY29sb3I6IHZhciggLS1nb2xkLTkpOyB9XG4uaG92ZXItZ29sZC0xMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0tZ29sZC0xMCk7IH1cbi5ob3Zlci1nb2xkLTExOmhvdmVyIHsgY29sb3I6IHZhciggLS1nb2xkLTExKTsgfVxuXG4uaG92ZXIteWVsbG93LTA6aG92ZXIgeyBjb2xvcjogdmFyKCAtLXllbGxvdy0wKTsgfVxuLmhvdmVyLXllbGxvdy0xOmhvdmVyIHsgY29sb3I6IHZhciggLS15ZWxsb3ctMSk7IH1cbi5ob3Zlci15ZWxsb3ctMjpob3ZlciB7IGNvbG9yOiB2YXIoIC0teWVsbG93LTIpOyB9XG4uaG92ZXIteWVsbG93LTM6aG92ZXIgeyBjb2xvcjogdmFyKCAtLXllbGxvdy0zKTsgfVxuLmhvdmVyLXllbGxvdy00OmhvdmVyIHsgY29sb3I6IHZhciggLS15ZWxsb3ctNCk7IH1cbi5ob3Zlci15ZWxsb3ctNTpob3ZlciB7IGNvbG9yOiB2YXIoIC0teWVsbG93LTUpOyB9XG4uaG92ZXIteWVsbG93LTY6aG92ZXIgeyBjb2xvcjogdmFyKCAtLXllbGxvdy02KTsgfVxuLmhvdmVyLXllbGxvdy03OmhvdmVyIHsgY29sb3I6IHZhciggLS15ZWxsb3ctNyk7IH1cbi5ob3Zlci15ZWxsb3ctODpob3ZlciB7IGNvbG9yOiB2YXIoIC0teWVsbG93LTgpOyB9XG4uaG92ZXIteWVsbG93LTk6aG92ZXIgeyBjb2xvcjogdmFyKCAtLXllbGxvdy05KTsgfVxuLmhvdmVyLXllbGxvdy0xMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0teWVsbG93LTEwKTsgfVxuLmhvdmVyLXllbGxvdy0xMTpob3ZlciB7IGNvbG9yOiB2YXIoIC0teWVsbG93LTExKTsgfVxuXG4uaG92ZXItZ3JlZW4tMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0tZ3JlZW4tMCk7IH1cbi5ob3Zlci1ncmVlbi0xOmhvdmVyIHsgY29sb3I6IHZhciggLS1ncmVlbi0xKTsgfVxuLmhvdmVyLWdyZWVuLTI6aG92ZXIgeyBjb2xvcjogdmFyKCAtLWdyZWVuLTIpOyB9XG4uaG92ZXItZ3JlZW4tMzpob3ZlciB7IGNvbG9yOiB2YXIoIC0tZ3JlZW4tMyk7IH1cbi5ob3Zlci1ncmVlbi00OmhvdmVyIHsgY29sb3I6IHZhciggLS1ncmVlbi00KTsgfVxuLmhvdmVyLWdyZWVuLTU6aG92ZXIgeyBjb2xvcjogdmFyKCAtLWdyZWVuLTUpOyB9XG4uaG92ZXItZ3JlZW4tNjpob3ZlciB7IGNvbG9yOiB2YXIoIC0tZ3JlZW4tNik7IH1cbi5ob3Zlci1ncmVlbi03OmhvdmVyIHsgY29sb3I6IHZhciggLS1ncmVlbi03KTsgfVxuLmhvdmVyLWdyZWVuLTg6aG92ZXIgeyBjb2xvcjogdmFyKCAtLWdyZWVuLTgpOyB9XG4uaG92ZXItZ3JlZW4tOTpob3ZlciB7IGNvbG9yOiB2YXIoIC0tZ3JlZW4tOSk7IH1cbi5ob3Zlci1ncmVlbi0xMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0tZ3JlZW4tMTApOyB9XG4uaG92ZXItZ3JlZW4tMTE6aG92ZXIgeyBjb2xvcjogdmFyKCAtLWdyZWVuLTExKTsgfVxuXG4uaG92ZXItbGltZS0wOmhvdmVyIHsgY29sb3I6IHZhciggLS1saW1lLTApOyB9XG4uaG92ZXItbGltZS0xOmhvdmVyIHsgY29sb3I6IHZhciggLS1saW1lLTEpOyB9XG4uaG92ZXItbGltZS0yOmhvdmVyIHsgY29sb3I6IHZhciggLS1saW1lLTIpOyB9XG4uaG92ZXItbGltZS0zOmhvdmVyIHsgY29sb3I6IHZhciggLS1saW1lLTMpOyB9XG4uaG92ZXItbGltZS00OmhvdmVyIHsgY29sb3I6IHZhciggLS1saW1lLTQpOyB9XG4uaG92ZXItbGltZS01OmhvdmVyIHsgY29sb3I6IHZhciggLS1saW1lLTUpOyB9XG4uaG92ZXItbGltZS02OmhvdmVyIHsgY29sb3I6IHZhciggLS1saW1lLTYpOyB9XG4uaG92ZXItbGltZS03OmhvdmVyIHsgY29sb3I6IHZhciggLS1saW1lLTcpOyB9XG4uaG92ZXItbGltZS04OmhvdmVyIHsgY29sb3I6IHZhciggLS1saW1lLTgpOyB9XG4uaG92ZXItbGltZS05OmhvdmVyIHsgY29sb3I6IHZhciggLS1saW1lLTkpOyB9XG4uaG92ZXItbGltZS0xMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0tbGltZS0xMCk7IH1cbi5ob3Zlci1saW1lLTExOmhvdmVyIHsgY29sb3I6IHZhciggLS1saW1lLTExKTsgfVxuXG4uaG92ZXItdGVhbC0wOmhvdmVyIHsgY29sb3I6IHZhciggLS10ZWFsLTApOyB9XG4uaG92ZXItdGVhbC0xOmhvdmVyIHsgY29sb3I6IHZhciggLS10ZWFsLTEpOyB9XG4uaG92ZXItdGVhbC0yOmhvdmVyIHsgY29sb3I6IHZhciggLS10ZWFsLTIpOyB9XG4uaG92ZXItdGVhbC0zOmhvdmVyIHsgY29sb3I6IHZhciggLS10ZWFsLTMpOyB9XG4uaG92ZXItdGVhbC00OmhvdmVyIHsgY29sb3I6IHZhciggLS10ZWFsLTQpOyB9XG4uaG92ZXItdGVhbC01OmhvdmVyIHsgY29sb3I6IHZhciggLS10ZWFsLTUpOyB9XG4uaG92ZXItdGVhbC02OmhvdmVyIHsgY29sb3I6IHZhciggLS10ZWFsLTYpOyB9XG4uaG92ZXItdGVhbC03OmhvdmVyIHsgY29sb3I6IHZhciggLS10ZWFsLTcpOyB9XG4uaG92ZXItdGVhbC04OmhvdmVyIHsgY29sb3I6IHZhciggLS10ZWFsLTgpOyB9XG4uaG92ZXItdGVhbC05OmhvdmVyIHsgY29sb3I6IHZhciggLS10ZWFsLTkpOyB9XG4uaG92ZXItdGVhbC0xMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0tdGVhbC0xMCk7IH1cbi5ob3Zlci10ZWFsLTExOmhvdmVyIHsgY29sb3I6IHZhciggLS10ZWFsLTExKTsgfVxuXG4uaG92ZXItY3lhbi0wOmhvdmVyIHsgY29sb3I6IHZhciggLS1jeWFuLTApOyB9XG4uaG92ZXItY3lhbi0xOmhvdmVyIHsgY29sb3I6IHZhciggLS1jeWFuLTEpOyB9XG4uaG92ZXItY3lhbi0yOmhvdmVyIHsgY29sb3I6IHZhciggLS1jeWFuLTIpOyB9XG4uaG92ZXItY3lhbi0zOmhvdmVyIHsgY29sb3I6IHZhciggLS1jeWFuLTMpOyB9XG4uaG92ZXItY3lhbi00OmhvdmVyIHsgY29sb3I6IHZhciggLS1jeWFuLTQpOyB9XG4uaG92ZXItY3lhbi01OmhvdmVyIHsgY29sb3I6IHZhciggLS1jeWFuLTUpOyB9XG4uaG92ZXItY3lhbi02OmhvdmVyIHsgY29sb3I6IHZhciggLS1jeWFuLTYpOyB9XG4uaG92ZXItY3lhbi03OmhvdmVyIHsgY29sb3I6IHZhciggLS1jeWFuLTcpOyB9XG4uaG92ZXItY3lhbi04OmhvdmVyIHsgY29sb3I6IHZhciggLS1jeWFuLTgpOyB9XG4uaG92ZXItY3lhbi05OmhvdmVyIHsgY29sb3I6IHZhciggLS1jeWFuLTkpOyB9XG4uaG92ZXItY3lhbi0xMDpob3ZlciB7IGNvbG9yOiB2YXIoIC0tY3lhbi0xMCk7IH1cbi5ob3Zlci1jeWFuLTExOmhvdmVyIHsgY29sb3I6IHZhciggLS1jeWFuLTExKTsgfVxuXG4vKiBCYWNrZ3JvdW5kIGNvbG9ycyAqL1xuXG4uaG92ZXItYmctb3ZlcmxheS10aW50LTA6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTApOyB9XG4uaG92ZXItYmctb3ZlcmxheS10aW50LTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTEpOyB9XG4uaG92ZXItYmctb3ZlcmxheS10aW50LTI6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTIpOyB9XG4uaG92ZXItYmctb3ZlcmxheS10aW50LTM6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTMpOyB9XG4uaG92ZXItYmctb3ZlcmxheS10aW50LTQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTQpOyB9XG4uaG92ZXItYmctb3ZlcmxheS10aW50LTU6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTUpOyB9XG4uaG92ZXItYmctb3ZlcmxheS10aW50LTY6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTYpOyB9XG4uaG92ZXItYmctb3ZlcmxheS10aW50LTc6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTcpOyB9XG4uaG92ZXItYmctb3ZlcmxheS10aW50LTg6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTgpOyB9XG4uaG92ZXItYmctb3ZlcmxheS10aW50LTk6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTkpOyB9XG4uaG92ZXItYmctb3ZlcmxheS10aW50LTEwOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC0xMCk7IH1cbi5ob3Zlci1iZy1vdmVybGF5LXRpbnQtMTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTExKTsgfVxuXG4uaG92ZXItYmctb3ZlcmxheS1zaGFkb3ctMDpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy0wKTsgfVxuLmhvdmVyLWJnLW92ZXJsYXktc2hhZG93LTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctMSk7IH1cbi5ob3Zlci1iZy1vdmVybGF5LXNoYWRvdy0yOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTIpOyB9XG4uaG92ZXItYmctb3ZlcmxheS1zaGFkb3ctMzpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy0zKTsgfVxuLmhvdmVyLWJnLW92ZXJsYXktc2hhZG93LTQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctNCk7IH1cbi5ob3Zlci1iZy1vdmVybGF5LXNoYWRvdy01OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTUpOyB9XG4uaG92ZXItYmctb3ZlcmxheS1zaGFkb3ctNjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy02KTsgfVxuLmhvdmVyLWJnLW92ZXJsYXktc2hhZG93LTc6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctNyk7IH1cbi5ob3Zlci1iZy1vdmVybGF5LXNoYWRvdy04OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTgpOyB9XG4uaG92ZXItYmctb3ZlcmxheS1zaGFkb3ctOTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy05KTsgfVxuLmhvdmVyLWJnLW92ZXJsYXktc2hhZG93LTEwOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTEwKTsgfVxuLmhvdmVyLWJnLW92ZXJsYXktc2hhZG93LTExOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTExKTsgfVxuXG4uaG92ZXItYmctZ3JheS0wOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyYXktMCk7IH1cbi5ob3Zlci1iZy1ncmF5LTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JheS0xKTsgfVxuLmhvdmVyLWJnLWdyYXktMjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmF5LTIpOyB9XG4uaG92ZXItYmctZ3JheS0zOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyYXktMyk7IH1cbi5ob3Zlci1iZy1ncmF5LTQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JheS00KTsgfVxuLmhvdmVyLWJnLWdyYXktNTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmF5LTUpOyB9XG4uaG92ZXItYmctZ3JheS02OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyYXktNik7IH1cbi5ob3Zlci1iZy1ncmF5LTc6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JheS03KTsgfVxuLmhvdmVyLWJnLWdyYXktODpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmF5LTgpOyB9XG4uaG92ZXItYmctZ3JheS05OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyYXktOSk7IH1cbi5ob3Zlci1iZy1ncmF5LTEwOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyYXktMTApOyB9XG4uaG92ZXItYmctZ3JheS0xMTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmF5LTExKTsgfVxuXG4uaG92ZXItYmctc2xhdGUtZ3JheS0wOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXNsYXRlLWdyYXktMCk7IH1cbi5ob3Zlci1iZy1zbGF0ZS1ncmF5LTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tc2xhdGUtZ3JheS0xKTsgfVxuLmhvdmVyLWJnLXNsYXRlLWdyYXktMjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTIpOyB9XG4uaG92ZXItYmctc2xhdGUtZ3JheS0zOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXNsYXRlLWdyYXktMyk7IH1cbi5ob3Zlci1iZy1zbGF0ZS1ncmF5LTQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tc2xhdGUtZ3JheS00KTsgfVxuLmhvdmVyLWJnLXNsYXRlLWdyYXktNTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTUpOyB9XG4uaG92ZXItYmctc2xhdGUtZ3JheS02OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXNsYXRlLWdyYXktNik7IH1cbi5ob3Zlci1iZy1zbGF0ZS1ncmF5LTc6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tc2xhdGUtZ3JheS03KTsgfVxuLmhvdmVyLWJnLXNsYXRlLWdyYXktODpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTgpOyB9XG4uaG92ZXItYmctc2xhdGUtZ3JheS05OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXNsYXRlLWdyYXktOSk7IH1cbi5ob3Zlci1iZy1zbGF0ZS1ncmF5LTEwOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXNsYXRlLWdyYXktMTApOyB9XG4uaG92ZXItYmctc2xhdGUtZ3JheS0xMTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTExKTsgfVxuXG4uaG92ZXItYmctYmx1ZS0wOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWJsdWUtMCk7IH1cbi5ob3Zlci1iZy1ibHVlLTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tYmx1ZS0xKTsgfVxuLmhvdmVyLWJnLWJsdWUtMjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ibHVlLTIpOyB9XG4uaG92ZXItYmctYmx1ZS0zOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWJsdWUtMyk7IH1cbi5ob3Zlci1iZy1ibHVlLTQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tYmx1ZS00KTsgfVxuLmhvdmVyLWJnLWJsdWUtNTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ibHVlLTUpOyB9XG4uaG92ZXItYmctYmx1ZS02OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWJsdWUtNik7IH1cbi5ob3Zlci1iZy1ibHVlLTc6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tYmx1ZS03KTsgfVxuLmhvdmVyLWJnLWJsdWUtODpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ibHVlLTgpOyB9XG4uaG92ZXItYmctYmx1ZS05OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWJsdWUtOSk7IH1cbi5ob3Zlci1iZy1ibHVlLTEwOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWJsdWUtMTApOyB9XG4uaG92ZXItYmctYmx1ZS0xMTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ibHVlLTExKTsgfVxuXG4uaG92ZXItYmctaW5kaWdvLTA6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTApOyB9XG4uaG92ZXItYmctaW5kaWdvLTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTEpOyB9XG4uaG92ZXItYmctaW5kaWdvLTI6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTIpOyB9XG4uaG92ZXItYmctaW5kaWdvLTM6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTMpOyB9XG4uaG92ZXItYmctaW5kaWdvLTQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTQpOyB9XG4uaG92ZXItYmctaW5kaWdvLTU6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTUpOyB9XG4uaG92ZXItYmctaW5kaWdvLTY6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTYpOyB9XG4uaG92ZXItYmctaW5kaWdvLTc6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTcpOyB9XG4uaG92ZXItYmctaW5kaWdvLTg6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTgpOyB9XG4uaG92ZXItYmctaW5kaWdvLTk6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTkpOyB9XG4uaG92ZXItYmctaW5kaWdvLTEwOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWluZGlnby0xMCk7IH1cbi5ob3Zlci1iZy1pbmRpZ28tMTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTExKTsgfVxuXG4uaG92ZXItYmctdmlvbGV0LTA6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTApOyB9XG4uaG92ZXItYmctdmlvbGV0LTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTEpOyB9XG4uaG92ZXItYmctdmlvbGV0LTI6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTIpOyB9XG4uaG92ZXItYmctdmlvbGV0LTM6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTMpOyB9XG4uaG92ZXItYmctdmlvbGV0LTQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTQpOyB9XG4uaG92ZXItYmctdmlvbGV0LTU6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTUpOyB9XG4uaG92ZXItYmctdmlvbGV0LTY6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTYpOyB9XG4uaG92ZXItYmctdmlvbGV0LTc6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTcpOyB9XG4uaG92ZXItYmctdmlvbGV0LTg6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTgpOyB9XG4uaG92ZXItYmctdmlvbGV0LTk6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTkpOyB9XG4uaG92ZXItYmctdmlvbGV0LTEwOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXZpb2xldC0xMCk7IH1cbi5ob3Zlci1iZy12aW9sZXQtMTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTExKTsgfVxuXG4uaG92ZXItYmctbWFnZW50YS0wOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW1hZ2VudGEtMCk7IH1cbi5ob3Zlci1iZy1tYWdlbnRhLTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbWFnZW50YS0xKTsgfVxuLmhvdmVyLWJnLW1hZ2VudGEtMjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1tYWdlbnRhLTIpOyB9XG4uaG92ZXItYmctbWFnZW50YS0zOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW1hZ2VudGEtMyk7IH1cbi5ob3Zlci1iZy1tYWdlbnRhLTQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbWFnZW50YS00KTsgfVxuLmhvdmVyLWJnLW1hZ2VudGEtNTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1tYWdlbnRhLTUpOyB9XG4uaG92ZXItYmctbWFnZW50YS02OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW1hZ2VudGEtNik7IH1cbi5ob3Zlci1iZy1tYWdlbnRhLTc6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbWFnZW50YS03KTsgfVxuLmhvdmVyLWJnLW1hZ2VudGEtODpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1tYWdlbnRhLTgpOyB9XG4uaG92ZXItYmctbWFnZW50YS05OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW1hZ2VudGEtOSk7IH1cbi5ob3Zlci1iZy1tYWdlbnRhLTEwOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW1hZ2VudGEtMTApOyB9XG4uaG92ZXItYmctbWFnZW50YS0xMTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1tYWdlbnRhLTExKTsgfVxuXG4uaG92ZXItYmctcmVkLTA6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTApOyB9XG4uaG92ZXItYmctcmVkLTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTEpOyB9XG4uaG92ZXItYmctcmVkLTI6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTIpOyB9XG4uaG92ZXItYmctcmVkLTM6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTMpOyB9XG4uaG92ZXItYmctcmVkLTQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTQpOyB9XG4uaG92ZXItYmctcmVkLTU6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTUpOyB9XG4uaG92ZXItYmctcmVkLTY6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTYpOyB9XG4uaG92ZXItYmctcmVkLTc6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTcpOyB9XG4uaG92ZXItYmctcmVkLTg6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTgpOyB9XG4uaG92ZXItYmctcmVkLTk6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTkpOyB9XG4uaG92ZXItYmctcmVkLTEwOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC0xMCk7IH1cbi5ob3Zlci1iZy1yZWQtMTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTExKTsgfVxuXG4uaG92ZXItYmctcmVkLW9yYW5nZS0wOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC1vcmFuZ2UtMCk7IH1cbi5ob3Zlci1iZy1yZWQtb3JhbmdlLTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLW9yYW5nZS0xKTsgfVxuLmhvdmVyLWJnLXJlZC1vcmFuZ2UtMjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTIpOyB9XG4uaG92ZXItYmctcmVkLW9yYW5nZS0zOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC1vcmFuZ2UtMyk7IH1cbi5ob3Zlci1iZy1yZWQtb3JhbmdlLTQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLW9yYW5nZS00KTsgfVxuLmhvdmVyLWJnLXJlZC1vcmFuZ2UtNTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTUpOyB9XG4uaG92ZXItYmctcmVkLW9yYW5nZS02OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC1vcmFuZ2UtNik7IH1cbi5ob3Zlci1iZy1yZWQtb3JhbmdlLTc6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLW9yYW5nZS03KTsgfVxuLmhvdmVyLWJnLXJlZC1vcmFuZ2UtODpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTgpOyB9XG4uaG92ZXItYmctcmVkLW9yYW5nZS05OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC1vcmFuZ2UtOSk7IH1cbi5ob3Zlci1iZy1yZWQtb3JhbmdlLTEwOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC1vcmFuZ2UtMTApOyB9XG4uaG92ZXItYmctcmVkLW9yYW5nZS0xMTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTExKTsgfVxuXG4uaG92ZXItYmctb3JhbmdlLTA6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3JhbmdlLTApOyB9XG4uaG92ZXItYmctb3JhbmdlLTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3JhbmdlLTEpOyB9XG4uaG92ZXItYmctb3JhbmdlLTI6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3JhbmdlLTIpOyB9XG4uaG92ZXItYmctb3JhbmdlLTM6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3JhbmdlLTMpOyB9XG4uaG92ZXItYmctb3JhbmdlLTQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3JhbmdlLTQpOyB9XG4uaG92ZXItYmctb3JhbmdlLTU6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3JhbmdlLTUpOyB9XG4uaG92ZXItYmctb3JhbmdlLTY6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3JhbmdlLTYpOyB9XG4uaG92ZXItYmctb3JhbmdlLTc6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3JhbmdlLTcpOyB9XG4uaG92ZXItYmctb3JhbmdlLTg6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3JhbmdlLTgpOyB9XG4uaG92ZXItYmctb3JhbmdlLTk6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3JhbmdlLTkpOyB9XG4uaG92ZXItYmctb3JhbmdlLTEwOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW9yYW5nZS0xMCk7IH1cbi5ob3Zlci1iZy1vcmFuZ2UtMTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3JhbmdlLTExKTsgfVxuXG4uaG92ZXItYmctZ29sZC0wOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdvbGQtMCk7IH1cbi5ob3Zlci1iZy1nb2xkLTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ29sZC0xKTsgfVxuLmhvdmVyLWJnLWdvbGQtMjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1nb2xkLTIpOyB9XG4uaG92ZXItYmctZ29sZC0zOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdvbGQtMyk7IH1cbi5ob3Zlci1iZy1nb2xkLTQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ29sZC00KTsgfVxuLmhvdmVyLWJnLWdvbGQtNTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1nb2xkLTUpOyB9XG4uaG92ZXItYmctZ29sZC02OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdvbGQtNik7IH1cbi5ob3Zlci1iZy1nb2xkLTc6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ29sZC03KTsgfVxuLmhvdmVyLWJnLWdvbGQtODpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1nb2xkLTgpOyB9XG4uaG92ZXItYmctZ29sZC05OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdvbGQtOSk7IH1cbi5ob3Zlci1iZy1nb2xkLTEwOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdvbGQtMTApOyB9XG4uaG92ZXItYmctZ29sZC0xMTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1nb2xkLTExKTsgfVxuXG4uaG92ZXItYmcteWVsbG93LTA6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0teWVsbG93LTApOyB9XG4uaG92ZXItYmcteWVsbG93LTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0teWVsbG93LTEpOyB9XG4uaG92ZXItYmcteWVsbG93LTI6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0teWVsbG93LTIpOyB9XG4uaG92ZXItYmcteWVsbG93LTM6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0teWVsbG93LTMpOyB9XG4uaG92ZXItYmcteWVsbG93LTQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0teWVsbG93LTQpOyB9XG4uaG92ZXItYmcteWVsbG93LTU6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0teWVsbG93LTUpOyB9XG4uaG92ZXItYmcteWVsbG93LTY6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0teWVsbG93LTYpOyB9XG4uaG92ZXItYmcteWVsbG93LTc6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0teWVsbG93LTcpOyB9XG4uaG92ZXItYmcteWVsbG93LTg6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0teWVsbG93LTgpOyB9XG4uaG92ZXItYmcteWVsbG93LTk6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0teWVsbG93LTkpOyB9XG4uaG92ZXItYmcteWVsbG93LTEwOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXllbGxvdy0xMCk7IH1cbi5ob3Zlci1iZy15ZWxsb3ctMTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0teWVsbG93LTExKTsgfVxuXG4uaG92ZXItYmctZ3JlZW4tMDpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmVlbi0wKTsgfVxuLmhvdmVyLWJnLWdyZWVuLTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JlZW4tMSk7IH1cbi5ob3Zlci1iZy1ncmVlbi0yOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTIpOyB9XG4uaG92ZXItYmctZ3JlZW4tMzpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmVlbi0zKTsgfVxuLmhvdmVyLWJnLWdyZWVuLTQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JlZW4tNCk7IH1cbi5ob3Zlci1iZy1ncmVlbi01OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTUpOyB9XG4uaG92ZXItYmctZ3JlZW4tNjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmVlbi02KTsgfVxuLmhvdmVyLWJnLWdyZWVuLTc6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JlZW4tNyk7IH1cbi5ob3Zlci1iZy1ncmVlbi04OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTgpOyB9XG4uaG92ZXItYmctZ3JlZW4tOTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmVlbi05KTsgfVxuLmhvdmVyLWJnLWdyZWVuLTEwOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTEwKTsgfVxuLmhvdmVyLWJnLWdyZWVuLTExOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTExKTsgfVxuXG4uaG92ZXItYmctbGltZS0wOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWxpbWUtMCk7IH1cbi5ob3Zlci1iZy1saW1lLTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbGltZS0xKTsgfVxuLmhvdmVyLWJnLWxpbWUtMjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1saW1lLTIpOyB9XG4uaG92ZXItYmctbGltZS0zOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWxpbWUtMyk7IH1cbi5ob3Zlci1iZy1saW1lLTQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbGltZS00KTsgfVxuLmhvdmVyLWJnLWxpbWUtNTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1saW1lLTUpOyB9XG4uaG92ZXItYmctbGltZS02OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWxpbWUtNik7IH1cbi5ob3Zlci1iZy1saW1lLTc6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbGltZS03KTsgfVxuLmhvdmVyLWJnLWxpbWUtODpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1saW1lLTgpOyB9XG4uaG92ZXItYmctbGltZS05OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWxpbWUtOSk7IH1cbi5ob3Zlci1iZy1saW1lLTEwOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWxpbWUtMTApOyB9XG4uaG92ZXItYmctbGltZS0xMTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1saW1lLTExKTsgfVxuXG4uaG92ZXItYmctdGVhbC0wOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXRlYWwtMCk7IH1cbi5ob3Zlci1iZy10ZWFsLTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdGVhbC0xKTsgfVxuLmhvdmVyLWJnLXRlYWwtMjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS10ZWFsLTIpOyB9XG4uaG92ZXItYmctdGVhbC0zOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXRlYWwtMyk7IH1cbi5ob3Zlci1iZy10ZWFsLTQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdGVhbC00KTsgfVxuLmhvdmVyLWJnLXRlYWwtNTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS10ZWFsLTUpOyB9XG4uaG92ZXItYmctdGVhbC02OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXRlYWwtNik7IH1cbi5ob3Zlci1iZy10ZWFsLTc6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdGVhbC03KTsgfVxuLmhvdmVyLWJnLXRlYWwtODpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS10ZWFsLTgpOyB9XG4uaG92ZXItYmctdGVhbC05OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXRlYWwtOSk7IH1cbi5ob3Zlci1iZy10ZWFsLTEwOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXRlYWwtMTApOyB9XG4uaG92ZXItYmctdGVhbC0xMTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS10ZWFsLTExKTsgfVxuXG4uaG92ZXItYmctY3lhbi0wOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWN5YW4tMCk7IH1cbi5ob3Zlci1iZy1jeWFuLTE6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tY3lhbi0xKTsgfVxuLmhvdmVyLWJnLWN5YW4tMjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1jeWFuLTIpOyB9XG4uaG92ZXItYmctY3lhbi0zOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWN5YW4tMyk7IH1cbi5ob3Zlci1iZy1jeWFuLTQ6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tY3lhbi00KTsgfVxuLmhvdmVyLWJnLWN5YW4tNTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1jeWFuLTUpOyB9XG4uaG92ZXItYmctY3lhbi02OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWN5YW4tNik7IH1cbi5ob3Zlci1iZy1jeWFuLTc6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tY3lhbi03KTsgfVxuLmhvdmVyLWJnLWN5YW4tODpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1jeWFuLTgpOyB9XG4uaG92ZXItYmctY3lhbi05OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWN5YW4tOSk7IH1cbi5ob3Zlci1iZy1jeWFuLTEwOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWN5YW4tMTApOyB9XG4uaG92ZXItYmctY3lhbi0xMTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1jeWFuLTExKTsgfVxuXG4uZm9jdXMtb3ZlcmxheS10aW50LTA6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC0wKTsgfVxuLmZvY3VzLW92ZXJsYXktdGludC0xOmZvY3VzIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXRpbnQtMSk7IH1cbi5mb2N1cy1vdmVybGF5LXRpbnQtMjpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTIpOyB9XG4uZm9jdXMtb3ZlcmxheS10aW50LTM6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC0zKTsgfVxuLmZvY3VzLW92ZXJsYXktdGludC00OmZvY3VzIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXRpbnQtNCk7IH1cbi5mb2N1cy1vdmVybGF5LXRpbnQtNTpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTUpOyB9XG4uZm9jdXMtb3ZlcmxheS10aW50LTY6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC02KTsgfVxuLmZvY3VzLW92ZXJsYXktdGludC03OmZvY3VzIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXRpbnQtNyk7IH1cbi5mb2N1cy1vdmVybGF5LXRpbnQtODpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTgpOyB9XG4uZm9jdXMtb3ZlcmxheS10aW50LTk6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC05KTsgfVxuLmZvY3VzLW92ZXJsYXktdGludC0xMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTEwKTsgfVxuLmZvY3VzLW92ZXJsYXktdGludC0xMTpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTExKTsgfVxuXG4uZm9jdXMtb3ZlcmxheS1zaGFkb3ctMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctMCk7IH1cbi5mb2N1cy1vdmVybGF5LXNoYWRvdy0xOmZvY3VzIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy0xKTsgfVxuLmZvY3VzLW92ZXJsYXktc2hhZG93LTI6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTIpOyB9XG4uZm9jdXMtb3ZlcmxheS1zaGFkb3ctMzpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctMyk7IH1cbi5mb2N1cy1vdmVybGF5LXNoYWRvdy00OmZvY3VzIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy00KTsgfVxuLmZvY3VzLW92ZXJsYXktc2hhZG93LTU6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTUpOyB9XG4uZm9jdXMtb3ZlcmxheS1zaGFkb3ctNjpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctNik7IH1cbi5mb2N1cy1vdmVybGF5LXNoYWRvdy03OmZvY3VzIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy03KTsgfVxuLmZvY3VzLW92ZXJsYXktc2hhZG93LTg6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTgpOyB9XG4uZm9jdXMtb3ZlcmxheS1zaGFkb3ctOTpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctOSk7IH1cbi5mb2N1cy1vdmVybGF5LXNoYWRvdy0xMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctMTApOyB9XG4uZm9jdXMtb3ZlcmxheS1zaGFkb3ctMTE6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTExKTsgfVxuXG4uZm9jdXMtZ3JheS0wOmZvY3VzIHsgY29sb3I6IHZhciggLS1ncmF5LTApOyB9XG4uZm9jdXMtZ3JheS0xOmZvY3VzIHsgY29sb3I6IHZhciggLS1ncmF5LTEpOyB9XG4uZm9jdXMtZ3JheS0yOmZvY3VzIHsgY29sb3I6IHZhciggLS1ncmF5LTIpOyB9XG4uZm9jdXMtZ3JheS0zOmZvY3VzIHsgY29sb3I6IHZhciggLS1ncmF5LTMpOyB9XG4uZm9jdXMtZ3JheS00OmZvY3VzIHsgY29sb3I6IHZhciggLS1ncmF5LTQpOyB9XG4uZm9jdXMtZ3JheS01OmZvY3VzIHsgY29sb3I6IHZhciggLS1ncmF5LTUpOyB9XG4uZm9jdXMtZ3JheS02OmZvY3VzIHsgY29sb3I6IHZhciggLS1ncmF5LTYpOyB9XG4uZm9jdXMtZ3JheS03OmZvY3VzIHsgY29sb3I6IHZhciggLS1ncmF5LTcpOyB9XG4uZm9jdXMtZ3JheS04OmZvY3VzIHsgY29sb3I6IHZhciggLS1ncmF5LTgpOyB9XG4uZm9jdXMtZ3JheS05OmZvY3VzIHsgY29sb3I6IHZhciggLS1ncmF5LTkpOyB9XG4uZm9jdXMtZ3JheS0xMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tZ3JheS0xMCk7IH1cbi5mb2N1cy1ncmF5LTExOmZvY3VzIHsgY29sb3I6IHZhciggLS1ncmF5LTExKTsgfVxuXG4uZm9jdXMtc2xhdGUtZ3JheS0wOmZvY3VzIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTApOyB9XG4uZm9jdXMtc2xhdGUtZ3JheS0xOmZvY3VzIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTEpOyB9XG4uZm9jdXMtc2xhdGUtZ3JheS0yOmZvY3VzIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTIpOyB9XG4uZm9jdXMtc2xhdGUtZ3JheS0zOmZvY3VzIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTMpOyB9XG4uZm9jdXMtc2xhdGUtZ3JheS00OmZvY3VzIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTQpOyB9XG4uZm9jdXMtc2xhdGUtZ3JheS01OmZvY3VzIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTUpOyB9XG4uZm9jdXMtc2xhdGUtZ3JheS02OmZvY3VzIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTYpOyB9XG4uZm9jdXMtc2xhdGUtZ3JheS03OmZvY3VzIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTcpOyB9XG4uZm9jdXMtc2xhdGUtZ3JheS04OmZvY3VzIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTgpOyB9XG4uZm9jdXMtc2xhdGUtZ3JheS05OmZvY3VzIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTkpOyB9XG4uZm9jdXMtc2xhdGUtZ3JheS0xMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tc2xhdGUtZ3JheS0xMCk7IH1cbi5mb2N1cy1zbGF0ZS1ncmF5LTExOmZvY3VzIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTExKTsgfVxuXG4uZm9jdXMtYmx1ZS0wOmZvY3VzIHsgY29sb3I6IHZhciggLS1ibHVlLTApOyB9XG4uZm9jdXMtYmx1ZS0xOmZvY3VzIHsgY29sb3I6IHZhciggLS1ibHVlLTEpOyB9XG4uZm9jdXMtYmx1ZS0yOmZvY3VzIHsgY29sb3I6IHZhciggLS1ibHVlLTIpOyB9XG4uZm9jdXMtYmx1ZS0zOmZvY3VzIHsgY29sb3I6IHZhciggLS1ibHVlLTMpOyB9XG4uZm9jdXMtYmx1ZS00OmZvY3VzIHsgY29sb3I6IHZhciggLS1ibHVlLTQpOyB9XG4uZm9jdXMtYmx1ZS01OmZvY3VzIHsgY29sb3I6IHZhciggLS1ibHVlLTUpOyB9XG4uZm9jdXMtYmx1ZS02OmZvY3VzIHsgY29sb3I6IHZhciggLS1ibHVlLTYpOyB9XG4uZm9jdXMtYmx1ZS03OmZvY3VzIHsgY29sb3I6IHZhciggLS1ibHVlLTcpOyB9XG4uZm9jdXMtYmx1ZS04OmZvY3VzIHsgY29sb3I6IHZhciggLS1ibHVlLTgpOyB9XG4uZm9jdXMtYmx1ZS05OmZvY3VzIHsgY29sb3I6IHZhciggLS1ibHVlLTkpOyB9XG4uZm9jdXMtYmx1ZS0xMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tYmx1ZS0xMCk7IH1cbi5mb2N1cy1ibHVlLTExOmZvY3VzIHsgY29sb3I6IHZhciggLS1ibHVlLTExKTsgfVxuXG4uZm9jdXMtaW5kaWdvLTA6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLWluZGlnby0wKTsgfVxuLmZvY3VzLWluZGlnby0xOmZvY3VzIHsgY29sb3I6IHZhciggLS1pbmRpZ28tMSk7IH1cbi5mb2N1cy1pbmRpZ28tMjpmb2N1cyB7IGNvbG9yOiB2YXIoIC0taW5kaWdvLTIpOyB9XG4uZm9jdXMtaW5kaWdvLTM6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLWluZGlnby0zKTsgfVxuLmZvY3VzLWluZGlnby00OmZvY3VzIHsgY29sb3I6IHZhciggLS1pbmRpZ28tNCk7IH1cbi5mb2N1cy1pbmRpZ28tNTpmb2N1cyB7IGNvbG9yOiB2YXIoIC0taW5kaWdvLTUpOyB9XG4uZm9jdXMtaW5kaWdvLTY6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLWluZGlnby02KTsgfVxuLmZvY3VzLWluZGlnby03OmZvY3VzIHsgY29sb3I6IHZhciggLS1pbmRpZ28tNyk7IH1cbi5mb2N1cy1pbmRpZ28tODpmb2N1cyB7IGNvbG9yOiB2YXIoIC0taW5kaWdvLTgpOyB9XG4uZm9jdXMtaW5kaWdvLTk6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLWluZGlnby05KTsgfVxuLmZvY3VzLWluZGlnby0xMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0taW5kaWdvLTEwKTsgfVxuLmZvY3VzLWluZGlnby0xMTpmb2N1cyB7IGNvbG9yOiB2YXIoIC0taW5kaWdvLTExKTsgfVxuXG4uZm9jdXMtdmlvbGV0LTA6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLXZpb2xldC0wKTsgfVxuLmZvY3VzLXZpb2xldC0xOmZvY3VzIHsgY29sb3I6IHZhciggLS12aW9sZXQtMSk7IH1cbi5mb2N1cy12aW9sZXQtMjpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tdmlvbGV0LTIpOyB9XG4uZm9jdXMtdmlvbGV0LTM6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLXZpb2xldC0zKTsgfVxuLmZvY3VzLXZpb2xldC00OmZvY3VzIHsgY29sb3I6IHZhciggLS12aW9sZXQtNCk7IH1cbi5mb2N1cy12aW9sZXQtNTpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tdmlvbGV0LTUpOyB9XG4uZm9jdXMtdmlvbGV0LTY6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLXZpb2xldC02KTsgfVxuLmZvY3VzLXZpb2xldC03OmZvY3VzIHsgY29sb3I6IHZhciggLS12aW9sZXQtNyk7IH1cbi5mb2N1cy12aW9sZXQtODpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tdmlvbGV0LTgpOyB9XG4uZm9jdXMtdmlvbGV0LTk6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLXZpb2xldC05KTsgfVxuLmZvY3VzLXZpb2xldC0xMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tdmlvbGV0LTEwKTsgfVxuLmZvY3VzLXZpb2xldC0xMTpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tdmlvbGV0LTExKTsgfVxuXG4uZm9jdXMtbWFnZW50YS0wOmZvY3VzIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTApOyB9XG4uZm9jdXMtbWFnZW50YS0xOmZvY3VzIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTEpOyB9XG4uZm9jdXMtbWFnZW50YS0yOmZvY3VzIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTIpOyB9XG4uZm9jdXMtbWFnZW50YS0zOmZvY3VzIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTMpOyB9XG4uZm9jdXMtbWFnZW50YS00OmZvY3VzIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTQpOyB9XG4uZm9jdXMtbWFnZW50YS01OmZvY3VzIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTUpOyB9XG4uZm9jdXMtbWFnZW50YS02OmZvY3VzIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTYpOyB9XG4uZm9jdXMtbWFnZW50YS03OmZvY3VzIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTcpOyB9XG4uZm9jdXMtbWFnZW50YS04OmZvY3VzIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTgpOyB9XG4uZm9jdXMtbWFnZW50YS05OmZvY3VzIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTkpOyB9XG4uZm9jdXMtbWFnZW50YS0xMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tbWFnZW50YS0xMCk7IH1cbi5mb2N1cy1tYWdlbnRhLTExOmZvY3VzIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTExKTsgfVxuXG4uZm9jdXMtcmVkLTA6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLXJlZC0wKTsgfVxuLmZvY3VzLXJlZC0xOmZvY3VzIHsgY29sb3I6IHZhciggLS1yZWQtMSk7IH1cbi5mb2N1cy1yZWQtMjpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tcmVkLTIpOyB9XG4uZm9jdXMtcmVkLTM6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLXJlZC0zKTsgfVxuLmZvY3VzLXJlZC00OmZvY3VzIHsgY29sb3I6IHZhciggLS1yZWQtNCk7IH1cbi5mb2N1cy1yZWQtNTpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tcmVkLTUpOyB9XG4uZm9jdXMtcmVkLTY6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLXJlZC02KTsgfVxuLmZvY3VzLXJlZC03OmZvY3VzIHsgY29sb3I6IHZhciggLS1yZWQtNyk7IH1cbi5mb2N1cy1yZWQtODpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tcmVkLTgpOyB9XG4uZm9jdXMtcmVkLTk6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLXJlZC05KTsgfVxuLmZvY3VzLXJlZC0xMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tcmVkLTEwKTsgfVxuLmZvY3VzLXJlZC0xMTpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tcmVkLTExKTsgfVxuXG4uZm9jdXMtcmVkLW9yYW5nZS0wOmZvY3VzIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTApOyB9XG4uZm9jdXMtcmVkLW9yYW5nZS0xOmZvY3VzIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTEpOyB9XG4uZm9jdXMtcmVkLW9yYW5nZS0yOmZvY3VzIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTIpOyB9XG4uZm9jdXMtcmVkLW9yYW5nZS0zOmZvY3VzIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTMpOyB9XG4uZm9jdXMtcmVkLW9yYW5nZS00OmZvY3VzIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTQpOyB9XG4uZm9jdXMtcmVkLW9yYW5nZS01OmZvY3VzIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTUpOyB9XG4uZm9jdXMtcmVkLW9yYW5nZS02OmZvY3VzIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTYpOyB9XG4uZm9jdXMtcmVkLW9yYW5nZS03OmZvY3VzIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTcpOyB9XG4uZm9jdXMtcmVkLW9yYW5nZS04OmZvY3VzIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTgpOyB9XG4uZm9jdXMtcmVkLW9yYW5nZS05OmZvY3VzIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTkpOyB9XG4uZm9jdXMtcmVkLW9yYW5nZS0xMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tcmVkLW9yYW5nZS0xMCk7IH1cbi5mb2N1cy1yZWQtb3JhbmdlLTExOmZvY3VzIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTExKTsgfVxuXG4uZm9jdXMtb3JhbmdlLTA6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS0wKTsgfVxuLmZvY3VzLW9yYW5nZS0xOmZvY3VzIHsgY29sb3I6IHZhciggLS1vcmFuZ2UtMSk7IH1cbi5mb2N1cy1vcmFuZ2UtMjpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tb3JhbmdlLTIpOyB9XG4uZm9jdXMtb3JhbmdlLTM6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS0zKTsgfVxuLmZvY3VzLW9yYW5nZS00OmZvY3VzIHsgY29sb3I6IHZhciggLS1vcmFuZ2UtNCk7IH1cbi5mb2N1cy1vcmFuZ2UtNTpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tb3JhbmdlLTUpOyB9XG4uZm9jdXMtb3JhbmdlLTY6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS02KTsgfVxuLmZvY3VzLW9yYW5nZS03OmZvY3VzIHsgY29sb3I6IHZhciggLS1vcmFuZ2UtNyk7IH1cbi5mb2N1cy1vcmFuZ2UtODpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tb3JhbmdlLTgpOyB9XG4uZm9jdXMtb3JhbmdlLTk6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS05KTsgfVxuLmZvY3VzLW9yYW5nZS0xMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tb3JhbmdlLTEwKTsgfVxuLmZvY3VzLW9yYW5nZS0xMTpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tb3JhbmdlLTExKTsgfVxuXG4uZm9jdXMtZ29sZC0wOmZvY3VzIHsgY29sb3I6IHZhciggLS1nb2xkLTApOyB9XG4uZm9jdXMtZ29sZC0xOmZvY3VzIHsgY29sb3I6IHZhciggLS1nb2xkLTEpOyB9XG4uZm9jdXMtZ29sZC0yOmZvY3VzIHsgY29sb3I6IHZhciggLS1nb2xkLTIpOyB9XG4uZm9jdXMtZ29sZC0zOmZvY3VzIHsgY29sb3I6IHZhciggLS1nb2xkLTMpOyB9XG4uZm9jdXMtZ29sZC00OmZvY3VzIHsgY29sb3I6IHZhciggLS1nb2xkLTQpOyB9XG4uZm9jdXMtZ29sZC01OmZvY3VzIHsgY29sb3I6IHZhciggLS1nb2xkLTUpOyB9XG4uZm9jdXMtZ29sZC02OmZvY3VzIHsgY29sb3I6IHZhciggLS1nb2xkLTYpOyB9XG4uZm9jdXMtZ29sZC03OmZvY3VzIHsgY29sb3I6IHZhciggLS1nb2xkLTcpOyB9XG4uZm9jdXMtZ29sZC04OmZvY3VzIHsgY29sb3I6IHZhciggLS1nb2xkLTgpOyB9XG4uZm9jdXMtZ29sZC05OmZvY3VzIHsgY29sb3I6IHZhciggLS1nb2xkLTkpOyB9XG4uZm9jdXMtZ29sZC0xMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tZ29sZC0xMCk7IH1cbi5mb2N1cy1nb2xkLTExOmZvY3VzIHsgY29sb3I6IHZhciggLS1nb2xkLTExKTsgfVxuXG4uZm9jdXMteWVsbG93LTA6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLXllbGxvdy0wKTsgfVxuLmZvY3VzLXllbGxvdy0xOmZvY3VzIHsgY29sb3I6IHZhciggLS15ZWxsb3ctMSk7IH1cbi5mb2N1cy15ZWxsb3ctMjpmb2N1cyB7IGNvbG9yOiB2YXIoIC0teWVsbG93LTIpOyB9XG4uZm9jdXMteWVsbG93LTM6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLXllbGxvdy0zKTsgfVxuLmZvY3VzLXllbGxvdy00OmZvY3VzIHsgY29sb3I6IHZhciggLS15ZWxsb3ctNCk7IH1cbi5mb2N1cy15ZWxsb3ctNTpmb2N1cyB7IGNvbG9yOiB2YXIoIC0teWVsbG93LTUpOyB9XG4uZm9jdXMteWVsbG93LTY6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLXllbGxvdy02KTsgfVxuLmZvY3VzLXllbGxvdy03OmZvY3VzIHsgY29sb3I6IHZhciggLS15ZWxsb3ctNyk7IH1cbi5mb2N1cy15ZWxsb3ctODpmb2N1cyB7IGNvbG9yOiB2YXIoIC0teWVsbG93LTgpOyB9XG4uZm9jdXMteWVsbG93LTk6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLXllbGxvdy05KTsgfVxuLmZvY3VzLXllbGxvdy0xMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0teWVsbG93LTEwKTsgfVxuLmZvY3VzLXllbGxvdy0xMTpmb2N1cyB7IGNvbG9yOiB2YXIoIC0teWVsbG93LTExKTsgfVxuXG4uZm9jdXMtZ3JlZW4tMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tZ3JlZW4tMCk7IH1cbi5mb2N1cy1ncmVlbi0xOmZvY3VzIHsgY29sb3I6IHZhciggLS1ncmVlbi0xKTsgfVxuLmZvY3VzLWdyZWVuLTI6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLWdyZWVuLTIpOyB9XG4uZm9jdXMtZ3JlZW4tMzpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tZ3JlZW4tMyk7IH1cbi5mb2N1cy1ncmVlbi00OmZvY3VzIHsgY29sb3I6IHZhciggLS1ncmVlbi00KTsgfVxuLmZvY3VzLWdyZWVuLTU6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLWdyZWVuLTUpOyB9XG4uZm9jdXMtZ3JlZW4tNjpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tZ3JlZW4tNik7IH1cbi5mb2N1cy1ncmVlbi03OmZvY3VzIHsgY29sb3I6IHZhciggLS1ncmVlbi03KTsgfVxuLmZvY3VzLWdyZWVuLTg6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLWdyZWVuLTgpOyB9XG4uZm9jdXMtZ3JlZW4tOTpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tZ3JlZW4tOSk7IH1cbi5mb2N1cy1ncmVlbi0xMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tZ3JlZW4tMTApOyB9XG4uZm9jdXMtZ3JlZW4tMTE6Zm9jdXMgeyBjb2xvcjogdmFyKCAtLWdyZWVuLTExKTsgfVxuXG4uZm9jdXMtbGltZS0wOmZvY3VzIHsgY29sb3I6IHZhciggLS1saW1lLTApOyB9XG4uZm9jdXMtbGltZS0xOmZvY3VzIHsgY29sb3I6IHZhciggLS1saW1lLTEpOyB9XG4uZm9jdXMtbGltZS0yOmZvY3VzIHsgY29sb3I6IHZhciggLS1saW1lLTIpOyB9XG4uZm9jdXMtbGltZS0zOmZvY3VzIHsgY29sb3I6IHZhciggLS1saW1lLTMpOyB9XG4uZm9jdXMtbGltZS00OmZvY3VzIHsgY29sb3I6IHZhciggLS1saW1lLTQpOyB9XG4uZm9jdXMtbGltZS01OmZvY3VzIHsgY29sb3I6IHZhciggLS1saW1lLTUpOyB9XG4uZm9jdXMtbGltZS02OmZvY3VzIHsgY29sb3I6IHZhciggLS1saW1lLTYpOyB9XG4uZm9jdXMtbGltZS03OmZvY3VzIHsgY29sb3I6IHZhciggLS1saW1lLTcpOyB9XG4uZm9jdXMtbGltZS04OmZvY3VzIHsgY29sb3I6IHZhciggLS1saW1lLTgpOyB9XG4uZm9jdXMtbGltZS05OmZvY3VzIHsgY29sb3I6IHZhciggLS1saW1lLTkpOyB9XG4uZm9jdXMtbGltZS0xMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tbGltZS0xMCk7IH1cbi5mb2N1cy1saW1lLTExOmZvY3VzIHsgY29sb3I6IHZhciggLS1saW1lLTExKTsgfVxuXG4uZm9jdXMtdGVhbC0wOmZvY3VzIHsgY29sb3I6IHZhciggLS10ZWFsLTApOyB9XG4uZm9jdXMtdGVhbC0xOmZvY3VzIHsgY29sb3I6IHZhciggLS10ZWFsLTEpOyB9XG4uZm9jdXMtdGVhbC0yOmZvY3VzIHsgY29sb3I6IHZhciggLS10ZWFsLTIpOyB9XG4uZm9jdXMtdGVhbC0zOmZvY3VzIHsgY29sb3I6IHZhciggLS10ZWFsLTMpOyB9XG4uZm9jdXMtdGVhbC00OmZvY3VzIHsgY29sb3I6IHZhciggLS10ZWFsLTQpOyB9XG4uZm9jdXMtdGVhbC01OmZvY3VzIHsgY29sb3I6IHZhciggLS10ZWFsLTUpOyB9XG4uZm9jdXMtdGVhbC02OmZvY3VzIHsgY29sb3I6IHZhciggLS10ZWFsLTYpOyB9XG4uZm9jdXMtdGVhbC03OmZvY3VzIHsgY29sb3I6IHZhciggLS10ZWFsLTcpOyB9XG4uZm9jdXMtdGVhbC04OmZvY3VzIHsgY29sb3I6IHZhciggLS10ZWFsLTgpOyB9XG4uZm9jdXMtdGVhbC05OmZvY3VzIHsgY29sb3I6IHZhciggLS10ZWFsLTkpOyB9XG4uZm9jdXMtdGVhbC0xMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tdGVhbC0xMCk7IH1cbi5mb2N1cy10ZWFsLTExOmZvY3VzIHsgY29sb3I6IHZhciggLS10ZWFsLTExKTsgfVxuXG4uZm9jdXMtY3lhbi0wOmZvY3VzIHsgY29sb3I6IHZhciggLS1jeWFuLTApOyB9XG4uZm9jdXMtY3lhbi0xOmZvY3VzIHsgY29sb3I6IHZhciggLS1jeWFuLTEpOyB9XG4uZm9jdXMtY3lhbi0yOmZvY3VzIHsgY29sb3I6IHZhciggLS1jeWFuLTIpOyB9XG4uZm9jdXMtY3lhbi0zOmZvY3VzIHsgY29sb3I6IHZhciggLS1jeWFuLTMpOyB9XG4uZm9jdXMtY3lhbi00OmZvY3VzIHsgY29sb3I6IHZhciggLS1jeWFuLTQpOyB9XG4uZm9jdXMtY3lhbi01OmZvY3VzIHsgY29sb3I6IHZhciggLS1jeWFuLTUpOyB9XG4uZm9jdXMtY3lhbi02OmZvY3VzIHsgY29sb3I6IHZhciggLS1jeWFuLTYpOyB9XG4uZm9jdXMtY3lhbi03OmZvY3VzIHsgY29sb3I6IHZhciggLS1jeWFuLTcpOyB9XG4uZm9jdXMtY3lhbi04OmZvY3VzIHsgY29sb3I6IHZhciggLS1jeWFuLTgpOyB9XG4uZm9jdXMtY3lhbi05OmZvY3VzIHsgY29sb3I6IHZhciggLS1jeWFuLTkpOyB9XG4uZm9jdXMtY3lhbi0xMDpmb2N1cyB7IGNvbG9yOiB2YXIoIC0tY3lhbi0xMCk7IH1cbi5mb2N1cy1jeWFuLTExOmZvY3VzIHsgY29sb3I6IHZhciggLS1jeWFuLTExKTsgfVxuXG4vKiBCYWNrZ3JvdW5kIGNvbG9ycyAqL1xuXG4uZm9jdXMtYmctb3ZlcmxheS10aW50LTA6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTApOyB9XG4uZm9jdXMtYmctb3ZlcmxheS10aW50LTE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTEpOyB9XG4uZm9jdXMtYmctb3ZlcmxheS10aW50LTI6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTIpOyB9XG4uZm9jdXMtYmctb3ZlcmxheS10aW50LTM6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTMpOyB9XG4uZm9jdXMtYmctb3ZlcmxheS10aW50LTQ6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTQpOyB9XG4uZm9jdXMtYmctb3ZlcmxheS10aW50LTU6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTUpOyB9XG4uZm9jdXMtYmctb3ZlcmxheS10aW50LTY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTYpOyB9XG4uZm9jdXMtYmctb3ZlcmxheS10aW50LTc6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTcpOyB9XG4uZm9jdXMtYmctb3ZlcmxheS10aW50LTg6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTgpOyB9XG4uZm9jdXMtYmctb3ZlcmxheS10aW50LTk6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTkpOyB9XG4uZm9jdXMtYmctb3ZlcmxheS10aW50LTEwOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC0xMCk7IH1cbi5mb2N1cy1iZy1vdmVybGF5LXRpbnQtMTE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTExKTsgfVxuXG4uZm9jdXMtYmctb3ZlcmxheS1zaGFkb3ctMDpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy0wKTsgfVxuLmZvY3VzLWJnLW92ZXJsYXktc2hhZG93LTE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctMSk7IH1cbi5mb2N1cy1iZy1vdmVybGF5LXNoYWRvdy0yOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTIpOyB9XG4uZm9jdXMtYmctb3ZlcmxheS1zaGFkb3ctMzpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy0zKTsgfVxuLmZvY3VzLWJnLW92ZXJsYXktc2hhZG93LTQ6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctNCk7IH1cbi5mb2N1cy1iZy1vdmVybGF5LXNoYWRvdy01OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTUpOyB9XG4uZm9jdXMtYmctb3ZlcmxheS1zaGFkb3ctNjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy02KTsgfVxuLmZvY3VzLWJnLW92ZXJsYXktc2hhZG93LTc6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctNyk7IH1cbi5mb2N1cy1iZy1vdmVybGF5LXNoYWRvdy04OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTgpOyB9XG4uZm9jdXMtYmctb3ZlcmxheS1zaGFkb3ctOTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy05KTsgfVxuLmZvY3VzLWJnLW92ZXJsYXktc2hhZG93LTEwOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTEwKTsgfVxuLmZvY3VzLWJnLW92ZXJsYXktc2hhZG93LTExOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTExKTsgfVxuXG4uZm9jdXMtYmctZ3JheS0wOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyYXktMCk7IH1cbi5mb2N1cy1iZy1ncmF5LTE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JheS0xKTsgfVxuLmZvY3VzLWJnLWdyYXktMjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmF5LTIpOyB9XG4uZm9jdXMtYmctZ3JheS0zOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyYXktMyk7IH1cbi5mb2N1cy1iZy1ncmF5LTQ6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JheS00KTsgfVxuLmZvY3VzLWJnLWdyYXktNTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmF5LTUpOyB9XG4uZm9jdXMtYmctZ3JheS02OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyYXktNik7IH1cbi5mb2N1cy1iZy1ncmF5LTc6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JheS03KTsgfVxuLmZvY3VzLWJnLWdyYXktODpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmF5LTgpOyB9XG4uZm9jdXMtYmctZ3JheS05OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyYXktOSk7IH1cbi5mb2N1cy1iZy1ncmF5LTEwOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyYXktMTApOyB9XG4uZm9jdXMtYmctZ3JheS0xMTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmF5LTExKTsgfVxuXG4uZm9jdXMtYmctc2xhdGUtZ3JheS0wOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXNsYXRlLWdyYXktMCk7IH1cbi5mb2N1cy1iZy1zbGF0ZS1ncmF5LTE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tc2xhdGUtZ3JheS0xKTsgfVxuLmZvY3VzLWJnLXNsYXRlLWdyYXktMjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTIpOyB9XG4uZm9jdXMtYmctc2xhdGUtZ3JheS0zOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXNsYXRlLWdyYXktMyk7IH1cbi5mb2N1cy1iZy1zbGF0ZS1ncmF5LTQ6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tc2xhdGUtZ3JheS00KTsgfVxuLmZvY3VzLWJnLXNsYXRlLWdyYXktNTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTUpOyB9XG4uZm9jdXMtYmctc2xhdGUtZ3JheS02OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXNsYXRlLWdyYXktNik7IH1cbi5mb2N1cy1iZy1zbGF0ZS1ncmF5LTc6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tc2xhdGUtZ3JheS03KTsgfVxuLmZvY3VzLWJnLXNsYXRlLWdyYXktODpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTgpOyB9XG4uZm9jdXMtYmctc2xhdGUtZ3JheS05OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXNsYXRlLWdyYXktOSk7IH1cbi5mb2N1cy1iZy1zbGF0ZS1ncmF5LTEwOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXNsYXRlLWdyYXktMTApOyB9XG4uZm9jdXMtYmctc2xhdGUtZ3JheS0xMTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTExKTsgfVxuXG4uZm9jdXMtYmctYmx1ZS0wOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWJsdWUtMCk7IH1cbi5mb2N1cy1iZy1ibHVlLTE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tYmx1ZS0xKTsgfVxuLmZvY3VzLWJnLWJsdWUtMjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ibHVlLTIpOyB9XG4uZm9jdXMtYmctYmx1ZS0zOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWJsdWUtMyk7IH1cbi5mb2N1cy1iZy1ibHVlLTQ6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tYmx1ZS00KTsgfVxuLmZvY3VzLWJnLWJsdWUtNTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ibHVlLTUpOyB9XG4uZm9jdXMtYmctYmx1ZS02OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWJsdWUtNik7IH1cbi5mb2N1cy1iZy1ibHVlLTc6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tYmx1ZS03KTsgfVxuLmZvY3VzLWJnLWJsdWUtODpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ibHVlLTgpOyB9XG4uZm9jdXMtYmctYmx1ZS05OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWJsdWUtOSk7IH1cbi5mb2N1cy1iZy1ibHVlLTEwOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWJsdWUtMTApOyB9XG4uZm9jdXMtYmctYmx1ZS0xMTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ibHVlLTExKTsgfVxuXG4uZm9jdXMtYmctaW5kaWdvLTA6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTApOyB9XG4uZm9jdXMtYmctaW5kaWdvLTE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTEpOyB9XG4uZm9jdXMtYmctaW5kaWdvLTI6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTIpOyB9XG4uZm9jdXMtYmctaW5kaWdvLTM6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTMpOyB9XG4uZm9jdXMtYmctaW5kaWdvLTQ6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTQpOyB9XG4uZm9jdXMtYmctaW5kaWdvLTU6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTUpOyB9XG4uZm9jdXMtYmctaW5kaWdvLTY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTYpOyB9XG4uZm9jdXMtYmctaW5kaWdvLTc6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTcpOyB9XG4uZm9jdXMtYmctaW5kaWdvLTg6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTgpOyB9XG4uZm9jdXMtYmctaW5kaWdvLTk6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTkpOyB9XG4uZm9jdXMtYmctaW5kaWdvLTEwOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWluZGlnby0xMCk7IH1cbi5mb2N1cy1iZy1pbmRpZ28tMTE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTExKTsgfVxuXG4uZm9jdXMtYmctdmlvbGV0LTA6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTApOyB9XG4uZm9jdXMtYmctdmlvbGV0LTE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTEpOyB9XG4uZm9jdXMtYmctdmlvbGV0LTI6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTIpOyB9XG4uZm9jdXMtYmctdmlvbGV0LTM6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTMpOyB9XG4uZm9jdXMtYmctdmlvbGV0LTQ6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTQpOyB9XG4uZm9jdXMtYmctdmlvbGV0LTU6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTUpOyB9XG4uZm9jdXMtYmctdmlvbGV0LTY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTYpOyB9XG4uZm9jdXMtYmctdmlvbGV0LTc6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTcpOyB9XG4uZm9jdXMtYmctdmlvbGV0LTg6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTgpOyB9XG4uZm9jdXMtYmctdmlvbGV0LTk6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTkpOyB9XG4uZm9jdXMtYmctdmlvbGV0LTEwOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXZpb2xldC0xMCk7IH1cbi5mb2N1cy1iZy12aW9sZXQtMTE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTExKTsgfVxuXG4uZm9jdXMtYmctbWFnZW50YS0wOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW1hZ2VudGEtMCk7IH1cbi5mb2N1cy1iZy1tYWdlbnRhLTE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbWFnZW50YS0xKTsgfVxuLmZvY3VzLWJnLW1hZ2VudGEtMjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1tYWdlbnRhLTIpOyB9XG4uZm9jdXMtYmctbWFnZW50YS0zOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW1hZ2VudGEtMyk7IH1cbi5mb2N1cy1iZy1tYWdlbnRhLTQ6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbWFnZW50YS00KTsgfVxuLmZvY3VzLWJnLW1hZ2VudGEtNTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1tYWdlbnRhLTUpOyB9XG4uZm9jdXMtYmctbWFnZW50YS02OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW1hZ2VudGEtNik7IH1cbi5mb2N1cy1iZy1tYWdlbnRhLTc6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbWFnZW50YS03KTsgfVxuLmZvY3VzLWJnLW1hZ2VudGEtODpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1tYWdlbnRhLTgpOyB9XG4uZm9jdXMtYmctbWFnZW50YS05OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW1hZ2VudGEtOSk7IH1cbi5mb2N1cy1iZy1tYWdlbnRhLTEwOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW1hZ2VudGEtMTApOyB9XG4uZm9jdXMtYmctbWFnZW50YS0xMTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1tYWdlbnRhLTExKTsgfVxuXG4uZm9jdXMtYmctcmVkLTA6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTApOyB9XG4uZm9jdXMtYmctcmVkLTE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTEpOyB9XG4uZm9jdXMtYmctcmVkLTI6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTIpOyB9XG4uZm9jdXMtYmctcmVkLTM6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTMpOyB9XG4uZm9jdXMtYmctcmVkLTQ6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTQpOyB9XG4uZm9jdXMtYmctcmVkLTU6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTUpOyB9XG4uZm9jdXMtYmctcmVkLTY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTYpOyB9XG4uZm9jdXMtYmctcmVkLTc6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTcpOyB9XG4uZm9jdXMtYmctcmVkLTg6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTgpOyB9XG4uZm9jdXMtYmctcmVkLTk6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTkpOyB9XG4uZm9jdXMtYmctcmVkLTEwOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC0xMCk7IH1cbi5mb2N1cy1iZy1yZWQtMTE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTExKTsgfVxuLmZvY3VzLWJnLXJlZC1vcmFuZ2UtMDpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTApOyB9XG4uZm9jdXMtYmctcmVkLW9yYW5nZS0xOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC1vcmFuZ2UtMSk7IH1cbi5mb2N1cy1iZy1yZWQtb3JhbmdlLTI6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLW9yYW5nZS0yKTsgfVxuLmZvY3VzLWJnLXJlZC1vcmFuZ2UtMzpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTMpOyB9XG4uZm9jdXMtYmctcmVkLW9yYW5nZS00OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC1vcmFuZ2UtNCk7IH1cbi5mb2N1cy1iZy1yZWQtb3JhbmdlLTU6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLW9yYW5nZS01KTsgfVxuLmZvY3VzLWJnLXJlZC1vcmFuZ2UtNjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTYpOyB9XG4uZm9jdXMtYmctcmVkLW9yYW5nZS03OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC1vcmFuZ2UtNyk7IH1cbi5mb2N1cy1iZy1yZWQtb3JhbmdlLTg6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLW9yYW5nZS04KTsgfVxuLmZvY3VzLWJnLXJlZC1vcmFuZ2UtOTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTkpOyB9XG4uZm9jdXMtYmctcmVkLW9yYW5nZS0xMDpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTEwKTsgfVxuLmZvY3VzLWJnLXJlZC1vcmFuZ2UtMTE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLW9yYW5nZS0xMSk7IH1cblxuLmZvY3VzLWJnLW9yYW5nZS0wOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW9yYW5nZS0wKTsgfVxuLmZvY3VzLWJnLW9yYW5nZS0xOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW9yYW5nZS0xKTsgfVxuLmZvY3VzLWJnLW9yYW5nZS0yOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW9yYW5nZS0yKTsgfVxuLmZvY3VzLWJnLW9yYW5nZS0zOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW9yYW5nZS0zKTsgfVxuLmZvY3VzLWJnLW9yYW5nZS00OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW9yYW5nZS00KTsgfVxuLmZvY3VzLWJnLW9yYW5nZS01OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW9yYW5nZS01KTsgfVxuLmZvY3VzLWJnLW9yYW5nZS02OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW9yYW5nZS02KTsgfVxuLmZvY3VzLWJnLW9yYW5nZS03OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW9yYW5nZS03KTsgfVxuLmZvY3VzLWJnLW9yYW5nZS04OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW9yYW5nZS04KTsgfVxuLmZvY3VzLWJnLW9yYW5nZS05OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW9yYW5nZS05KTsgfVxuLmZvY3VzLWJnLW9yYW5nZS0xMDpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vcmFuZ2UtMTApOyB9XG4uZm9jdXMtYmctb3JhbmdlLTExOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW9yYW5nZS0xMSk7IH1cblxuLmZvY3VzLWJnLWdvbGQtMDpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1nb2xkLTApOyB9XG4uZm9jdXMtYmctZ29sZC0xOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdvbGQtMSk7IH1cbi5mb2N1cy1iZy1nb2xkLTI6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ29sZC0yKTsgfVxuLmZvY3VzLWJnLWdvbGQtMzpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1nb2xkLTMpOyB9XG4uZm9jdXMtYmctZ29sZC00OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdvbGQtNCk7IH1cbi5mb2N1cy1iZy1nb2xkLTU6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ29sZC01KTsgfVxuLmZvY3VzLWJnLWdvbGQtNjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1nb2xkLTYpOyB9XG4uZm9jdXMtYmctZ29sZC03OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdvbGQtNyk7IH1cbi5mb2N1cy1iZy1nb2xkLTg6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ29sZC04KTsgfVxuLmZvY3VzLWJnLWdvbGQtOTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1nb2xkLTkpOyB9XG4uZm9jdXMtYmctZ29sZC0xMDpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1nb2xkLTEwKTsgfVxuLmZvY3VzLWJnLWdvbGQtMTE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ29sZC0xMSk7IH1cbi5mb2N1cy1iZy15ZWxsb3ctMDpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS15ZWxsb3ctMCk7IH1cbi5mb2N1cy1iZy15ZWxsb3ctMTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS15ZWxsb3ctMSk7IH1cbi5mb2N1cy1iZy15ZWxsb3ctMjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS15ZWxsb3ctMik7IH1cbi5mb2N1cy1iZy15ZWxsb3ctMzpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS15ZWxsb3ctMyk7IH1cbi5mb2N1cy1iZy15ZWxsb3ctNDpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS15ZWxsb3ctNCk7IH1cbi5mb2N1cy1iZy15ZWxsb3ctNTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS15ZWxsb3ctNSk7IH1cbi5mb2N1cy1iZy15ZWxsb3ctNjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS15ZWxsb3ctNik7IH1cbi5mb2N1cy1iZy15ZWxsb3ctNzpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS15ZWxsb3ctNyk7IH1cbi5mb2N1cy1iZy15ZWxsb3ctODpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS15ZWxsb3ctOCk7IH1cbi5mb2N1cy1iZy15ZWxsb3ctOTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS15ZWxsb3ctOSk7IH1cbi5mb2N1cy1iZy15ZWxsb3ctMTA6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0teWVsbG93LTEwKTsgfVxuLmZvY3VzLWJnLXllbGxvdy0xMTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS15ZWxsb3ctMTEpOyB9XG5cbi5mb2N1cy1iZy1ncmVlbi0wOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTApOyB9XG4uZm9jdXMtYmctZ3JlZW4tMTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmVlbi0xKTsgfVxuLmZvY3VzLWJnLWdyZWVuLTI6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JlZW4tMik7IH1cbi5mb2N1cy1iZy1ncmVlbi0zOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTMpOyB9XG4uZm9jdXMtYmctZ3JlZW4tNDpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmVlbi00KTsgfVxuLmZvY3VzLWJnLWdyZWVuLTU6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JlZW4tNSk7IH1cbi5mb2N1cy1iZy1ncmVlbi02OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTYpOyB9XG4uZm9jdXMtYmctZ3JlZW4tNzpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmVlbi03KTsgfVxuLmZvY3VzLWJnLWdyZWVuLTg6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JlZW4tOCk7IH1cbi5mb2N1cy1iZy1ncmVlbi05OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTkpOyB9XG4uZm9jdXMtYmctZ3JlZW4tMTA6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JlZW4tMTApOyB9XG4uZm9jdXMtYmctZ3JlZW4tMTE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JlZW4tMTEpOyB9XG5cbi5mb2N1cy1iZy1saW1lLTA6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbGltZS0wKTsgfVxuLmZvY3VzLWJnLWxpbWUtMTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1saW1lLTEpOyB9XG4uZm9jdXMtYmctbGltZS0yOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWxpbWUtMik7IH1cbi5mb2N1cy1iZy1saW1lLTM6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbGltZS0zKTsgfVxuLmZvY3VzLWJnLWxpbWUtNDpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1saW1lLTQpOyB9XG4uZm9jdXMtYmctbGltZS01OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWxpbWUtNSk7IH1cbi5mb2N1cy1iZy1saW1lLTY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbGltZS02KTsgfVxuLmZvY3VzLWJnLWxpbWUtNzpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1saW1lLTcpOyB9XG4uZm9jdXMtYmctbGltZS04OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWxpbWUtOCk7IH1cbi5mb2N1cy1iZy1saW1lLTk6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbGltZS05KTsgfVxuLmZvY3VzLWJnLWxpbWUtMTA6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbGltZS0xMCk7IH1cbi5mb2N1cy1iZy1saW1lLTExOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWxpbWUtMTEpOyB9XG5cbi5mb2N1cy1iZy10ZWFsLTA6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdGVhbC0wKTsgfVxuLmZvY3VzLWJnLXRlYWwtMTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS10ZWFsLTEpOyB9XG4uZm9jdXMtYmctdGVhbC0yOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXRlYWwtMik7IH1cbi5mb2N1cy1iZy10ZWFsLTM6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdGVhbC0zKTsgfVxuLmZvY3VzLWJnLXRlYWwtNDpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS10ZWFsLTQpOyB9XG4uZm9jdXMtYmctdGVhbC01OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXRlYWwtNSk7IH1cbi5mb2N1cy1iZy10ZWFsLTY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdGVhbC02KTsgfVxuLmZvY3VzLWJnLXRlYWwtNzpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS10ZWFsLTcpOyB9XG4uZm9jdXMtYmctdGVhbC04OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXRlYWwtOCk7IH1cbi5mb2N1cy1iZy10ZWFsLTk6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdGVhbC05KTsgfVxuLmZvY3VzLWJnLXRlYWwtMTA6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdGVhbC0xMCk7IH1cbi5mb2N1cy1iZy10ZWFsLTExOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXRlYWwtMTEpOyB9XG5cbi5mb2N1cy1iZy1jeWFuLTA6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tY3lhbi0wKTsgfVxuLmZvY3VzLWJnLWN5YW4tMTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1jeWFuLTEpOyB9XG4uZm9jdXMtYmctY3lhbi0yOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWN5YW4tMik7IH1cbi5mb2N1cy1iZy1jeWFuLTM6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tY3lhbi0zKTsgfVxuLmZvY3VzLWJnLWN5YW4tNDpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1jeWFuLTQpOyB9XG4uZm9jdXMtYmctY3lhbi01OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWN5YW4tNSk7IH1cbi5mb2N1cy1iZy1jeWFuLTY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tY3lhbi02KTsgfVxuLmZvY3VzLWJnLWN5YW4tNzpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1jeWFuLTcpOyB9XG4uZm9jdXMtYmctY3lhbi04OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWN5YW4tOCk7IH1cbi5mb2N1cy1iZy1jeWFuLTk6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tY3lhbi05KTsgfVxuLmZvY3VzLWJnLWN5YW4tMTA6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tY3lhbi0xMCk7IH1cbi5mb2N1cy1iZy1jeWFuLTExOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWN5YW4tMTEpOyB9XG5cblxuLmFjdGl2ZS1vdmVybGF5LXRpbnQtMDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC0wKTsgfVxuLmFjdGl2ZS1vdmVybGF5LXRpbnQtMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC0xKTsgfVxuLmFjdGl2ZS1vdmVybGF5LXRpbnQtMjphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC0yKTsgfVxuLmFjdGl2ZS1vdmVybGF5LXRpbnQtMzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC0zKTsgfVxuLmFjdGl2ZS1vdmVybGF5LXRpbnQtNDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC00KTsgfVxuLmFjdGl2ZS1vdmVybGF5LXRpbnQtNTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC01KTsgfVxuLmFjdGl2ZS1vdmVybGF5LXRpbnQtNjphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC02KTsgfVxuLmFjdGl2ZS1vdmVybGF5LXRpbnQtNzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC03KTsgfVxuLmFjdGl2ZS1vdmVybGF5LXRpbnQtODphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC04KTsgfVxuLmFjdGl2ZS1vdmVybGF5LXRpbnQtOTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC05KTsgfVxuLmFjdGl2ZS1vdmVybGF5LXRpbnQtMTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXRpbnQtMTApOyB9XG4uYWN0aXZlLW92ZXJsYXktdGludC0xMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC0xMSk7IH1cblxuLmFjdGl2ZS1vdmVybGF5LXNoYWRvdy0wOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctMCk7IH1cbi5hY3RpdmUtb3ZlcmxheS1zaGFkb3ctMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTEpOyB9XG4uYWN0aXZlLW92ZXJsYXktc2hhZG93LTI6YWN0aXZlIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy0yKTsgfVxuLmFjdGl2ZS1vdmVybGF5LXNoYWRvdy0zOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctMyk7IH1cbi5hY3RpdmUtb3ZlcmxheS1zaGFkb3ctNDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTQpOyB9XG4uYWN0aXZlLW92ZXJsYXktc2hhZG93LTU6YWN0aXZlIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy01KTsgfVxuLmFjdGl2ZS1vdmVybGF5LXNoYWRvdy02OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctNik7IH1cbi5hY3RpdmUtb3ZlcmxheS1zaGFkb3ctNzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW92ZXJsYXktc2hhZG93LTcpOyB9XG4uYWN0aXZlLW92ZXJsYXktc2hhZG93LTg6YWN0aXZlIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy04KTsgfVxuLmFjdGl2ZS1vdmVybGF5LXNoYWRvdy05OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctOSk7IH1cbi5hY3RpdmUtb3ZlcmxheS1zaGFkb3ctMTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy0xMCk7IH1cbi5hY3RpdmUtb3ZlcmxheS1zaGFkb3ctMTE6YWN0aXZlIHsgY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy0xMSk7IH1cblxuLmFjdGl2ZS1ncmF5LTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1ncmF5LTApOyB9XG4uYWN0aXZlLWdyYXktMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWdyYXktMSk7IH1cbi5hY3RpdmUtZ3JheS0yOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tZ3JheS0yKTsgfVxuLmFjdGl2ZS1ncmF5LTM6YWN0aXZlIHsgY29sb3I6IHZhciggLS1ncmF5LTMpOyB9XG4uYWN0aXZlLWdyYXktNDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWdyYXktNCk7IH1cbi5hY3RpdmUtZ3JheS01OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tZ3JheS01KTsgfVxuLmFjdGl2ZS1ncmF5LTY6YWN0aXZlIHsgY29sb3I6IHZhciggLS1ncmF5LTYpOyB9XG4uYWN0aXZlLWdyYXktNzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWdyYXktNyk7IH1cbi5hY3RpdmUtZ3JheS04OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tZ3JheS04KTsgfVxuLmFjdGl2ZS1ncmF5LTk6YWN0aXZlIHsgY29sb3I6IHZhciggLS1ncmF5LTkpOyB9XG4uYWN0aXZlLWdyYXktMTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1ncmF5LTEwKTsgfVxuLmFjdGl2ZS1ncmF5LTExOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tZ3JheS0xMSk7IH1cblxuLmFjdGl2ZS1zbGF0ZS1ncmF5LTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTApOyB9XG4uYWN0aXZlLXNsYXRlLWdyYXktMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXNsYXRlLWdyYXktMSk7IH1cbi5hY3RpdmUtc2xhdGUtZ3JheS0yOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tc2xhdGUtZ3JheS0yKTsgfVxuLmFjdGl2ZS1zbGF0ZS1ncmF5LTM6YWN0aXZlIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTMpOyB9XG4uYWN0aXZlLXNsYXRlLWdyYXktNDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXNsYXRlLWdyYXktNCk7IH1cbi5hY3RpdmUtc2xhdGUtZ3JheS01OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tc2xhdGUtZ3JheS01KTsgfVxuLmFjdGl2ZS1zbGF0ZS1ncmF5LTY6YWN0aXZlIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTYpOyB9XG4uYWN0aXZlLXNsYXRlLWdyYXktNzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXNsYXRlLWdyYXktNyk7IH1cbi5hY3RpdmUtc2xhdGUtZ3JheS04OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tc2xhdGUtZ3JheS04KTsgfVxuLmFjdGl2ZS1zbGF0ZS1ncmF5LTk6YWN0aXZlIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTkpOyB9XG4uYWN0aXZlLXNsYXRlLWdyYXktMTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTEwKTsgfVxuLmFjdGl2ZS1zbGF0ZS1ncmF5LTExOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tc2xhdGUtZ3JheS0xMSk7IH1cblxuLmFjdGl2ZS1ibHVlLTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1ibHVlLTApOyB9XG4uYWN0aXZlLWJsdWUtMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWJsdWUtMSk7IH1cbi5hY3RpdmUtYmx1ZS0yOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tYmx1ZS0yKTsgfVxuLmFjdGl2ZS1ibHVlLTM6YWN0aXZlIHsgY29sb3I6IHZhciggLS1ibHVlLTMpOyB9XG4uYWN0aXZlLWJsdWUtNDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWJsdWUtNCk7IH1cbi5hY3RpdmUtYmx1ZS01OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tYmx1ZS01KTsgfVxuLmFjdGl2ZS1ibHVlLTY6YWN0aXZlIHsgY29sb3I6IHZhciggLS1ibHVlLTYpOyB9XG4uYWN0aXZlLWJsdWUtNzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWJsdWUtNyk7IH1cbi5hY3RpdmUtYmx1ZS04OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tYmx1ZS04KTsgfVxuLmFjdGl2ZS1ibHVlLTk6YWN0aXZlIHsgY29sb3I6IHZhciggLS1ibHVlLTkpOyB9XG4uYWN0aXZlLWJsdWUtMTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1ibHVlLTEwKTsgfVxuLmFjdGl2ZS1ibHVlLTExOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tYmx1ZS0xMSk7IH1cblxuLmFjdGl2ZS1pbmRpZ28tMDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWluZGlnby0wKTsgfVxuLmFjdGl2ZS1pbmRpZ28tMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWluZGlnby0xKTsgfVxuLmFjdGl2ZS1pbmRpZ28tMjphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWluZGlnby0yKTsgfVxuLmFjdGl2ZS1pbmRpZ28tMzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWluZGlnby0zKTsgfVxuLmFjdGl2ZS1pbmRpZ28tNDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWluZGlnby00KTsgfVxuLmFjdGl2ZS1pbmRpZ28tNTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWluZGlnby01KTsgfVxuLmFjdGl2ZS1pbmRpZ28tNjphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWluZGlnby02KTsgfVxuLmFjdGl2ZS1pbmRpZ28tNzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWluZGlnby03KTsgfVxuLmFjdGl2ZS1pbmRpZ28tODphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWluZGlnby04KTsgfVxuLmFjdGl2ZS1pbmRpZ28tOTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWluZGlnby05KTsgfVxuLmFjdGl2ZS1pbmRpZ28tMTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1pbmRpZ28tMTApOyB9XG4uYWN0aXZlLWluZGlnby0xMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWluZGlnby0xMSk7IH1cblxuLmFjdGl2ZS12aW9sZXQtMDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXZpb2xldC0wKTsgfVxuLmFjdGl2ZS12aW9sZXQtMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXZpb2xldC0xKTsgfVxuLmFjdGl2ZS12aW9sZXQtMjphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXZpb2xldC0yKTsgfVxuLmFjdGl2ZS12aW9sZXQtMzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXZpb2xldC0zKTsgfVxuLmFjdGl2ZS12aW9sZXQtNDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXZpb2xldC00KTsgfVxuLmFjdGl2ZS12aW9sZXQtNTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXZpb2xldC01KTsgfVxuLmFjdGl2ZS12aW9sZXQtNjphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXZpb2xldC02KTsgfVxuLmFjdGl2ZS12aW9sZXQtNzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXZpb2xldC03KTsgfVxuLmFjdGl2ZS12aW9sZXQtODphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXZpb2xldC04KTsgfVxuLmFjdGl2ZS12aW9sZXQtOTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXZpb2xldC05KTsgfVxuLmFjdGl2ZS12aW9sZXQtMTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS12aW9sZXQtMTApOyB9XG4uYWN0aXZlLXZpb2xldC0xMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXZpb2xldC0xMSk7IH1cblxuLmFjdGl2ZS1tYWdlbnRhLTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTApOyB9XG4uYWN0aXZlLW1hZ2VudGEtMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW1hZ2VudGEtMSk7IH1cbi5hY3RpdmUtbWFnZW50YS0yOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tbWFnZW50YS0yKTsgfVxuLmFjdGl2ZS1tYWdlbnRhLTM6YWN0aXZlIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTMpOyB9XG4uYWN0aXZlLW1hZ2VudGEtNDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW1hZ2VudGEtNCk7IH1cbi5hY3RpdmUtbWFnZW50YS01OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tbWFnZW50YS01KTsgfVxuLmFjdGl2ZS1tYWdlbnRhLTY6YWN0aXZlIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTYpOyB9XG4uYWN0aXZlLW1hZ2VudGEtNzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW1hZ2VudGEtNyk7IH1cbi5hY3RpdmUtbWFnZW50YS04OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tbWFnZW50YS04KTsgfVxuLmFjdGl2ZS1tYWdlbnRhLTk6YWN0aXZlIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTkpOyB9XG4uYWN0aXZlLW1hZ2VudGEtMTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1tYWdlbnRhLTEwKTsgfVxuLmFjdGl2ZS1tYWdlbnRhLTExOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tbWFnZW50YS0xMSk7IH1cblxuLmFjdGl2ZS1yZWQtMDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXJlZC0wKTsgfVxuLmFjdGl2ZS1yZWQtMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXJlZC0xKTsgfVxuLmFjdGl2ZS1yZWQtMjphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXJlZC0yKTsgfVxuLmFjdGl2ZS1yZWQtMzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXJlZC0zKTsgfVxuLmFjdGl2ZS1yZWQtNDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXJlZC00KTsgfVxuLmFjdGl2ZS1yZWQtNTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXJlZC01KTsgfVxuLmFjdGl2ZS1yZWQtNjphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXJlZC02KTsgfVxuLmFjdGl2ZS1yZWQtNzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXJlZC03KTsgfVxuLmFjdGl2ZS1yZWQtODphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXJlZC04KTsgfVxuLmFjdGl2ZS1yZWQtOTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXJlZC05KTsgfVxuLmFjdGl2ZS1yZWQtMTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1yZWQtMTApOyB9XG4uYWN0aXZlLXJlZC0xMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXJlZC0xMSk7IH1cblxuLmFjdGl2ZS1yZWQtb3JhbmdlLTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTApOyB9XG4uYWN0aXZlLXJlZC1vcmFuZ2UtMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXJlZC1vcmFuZ2UtMSk7IH1cbi5hY3RpdmUtcmVkLW9yYW5nZS0yOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tcmVkLW9yYW5nZS0yKTsgfVxuLmFjdGl2ZS1yZWQtb3JhbmdlLTM6YWN0aXZlIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTMpOyB9XG4uYWN0aXZlLXJlZC1vcmFuZ2UtNDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXJlZC1vcmFuZ2UtNCk7IH1cbi5hY3RpdmUtcmVkLW9yYW5nZS01OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tcmVkLW9yYW5nZS01KTsgfVxuLmFjdGl2ZS1yZWQtb3JhbmdlLTY6YWN0aXZlIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTYpOyB9XG4uYWN0aXZlLXJlZC1vcmFuZ2UtNzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXJlZC1vcmFuZ2UtNyk7IH1cbi5hY3RpdmUtcmVkLW9yYW5nZS04OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tcmVkLW9yYW5nZS04KTsgfVxuLmFjdGl2ZS1yZWQtb3JhbmdlLTk6YWN0aXZlIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTkpOyB9XG4uYWN0aXZlLXJlZC1vcmFuZ2UtMTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTEwKTsgfVxuLmFjdGl2ZS1yZWQtb3JhbmdlLTExOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tcmVkLW9yYW5nZS0xMSk7IH1cblxuLmFjdGl2ZS1vcmFuZ2UtMDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS0wKTsgfVxuLmFjdGl2ZS1vcmFuZ2UtMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS0xKTsgfVxuLmFjdGl2ZS1vcmFuZ2UtMjphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS0yKTsgfVxuLmFjdGl2ZS1vcmFuZ2UtMzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS0zKTsgfVxuLmFjdGl2ZS1vcmFuZ2UtNDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS00KTsgfVxuLmFjdGl2ZS1vcmFuZ2UtNTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS01KTsgfVxuLmFjdGl2ZS1vcmFuZ2UtNjphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS02KTsgfVxuLmFjdGl2ZS1vcmFuZ2UtNzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS03KTsgfVxuLmFjdGl2ZS1vcmFuZ2UtODphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS04KTsgfVxuLmFjdGl2ZS1vcmFuZ2UtOTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS05KTsgfVxuLmFjdGl2ZS1vcmFuZ2UtMTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1vcmFuZ2UtMTApOyB9XG4uYWN0aXZlLW9yYW5nZS0xMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLW9yYW5nZS0xMSk7IH1cblxuLmFjdGl2ZS1nb2xkLTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1nb2xkLTApOyB9XG4uYWN0aXZlLWdvbGQtMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWdvbGQtMSk7IH1cbi5hY3RpdmUtZ29sZC0yOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tZ29sZC0yKTsgfVxuLmFjdGl2ZS1nb2xkLTM6YWN0aXZlIHsgY29sb3I6IHZhciggLS1nb2xkLTMpOyB9XG4uYWN0aXZlLWdvbGQtNDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWdvbGQtNCk7IH1cbi5hY3RpdmUtZ29sZC01OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tZ29sZC01KTsgfVxuLmFjdGl2ZS1nb2xkLTY6YWN0aXZlIHsgY29sb3I6IHZhciggLS1nb2xkLTYpOyB9XG4uYWN0aXZlLWdvbGQtNzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWdvbGQtNyk7IH1cbi5hY3RpdmUtZ29sZC04OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tZ29sZC04KTsgfVxuLmFjdGl2ZS1nb2xkLTk6YWN0aXZlIHsgY29sb3I6IHZhciggLS1nb2xkLTkpOyB9XG4uYWN0aXZlLWdvbGQtMTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1nb2xkLTEwKTsgfVxuLmFjdGl2ZS1nb2xkLTExOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tZ29sZC0xMSk7IH1cblxuLmFjdGl2ZS15ZWxsb3ctMDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXllbGxvdy0wKTsgfVxuLmFjdGl2ZS15ZWxsb3ctMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXllbGxvdy0xKTsgfVxuLmFjdGl2ZS15ZWxsb3ctMjphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXllbGxvdy0yKTsgfVxuLmFjdGl2ZS15ZWxsb3ctMzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXllbGxvdy0zKTsgfVxuLmFjdGl2ZS15ZWxsb3ctNDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXllbGxvdy00KTsgfVxuLmFjdGl2ZS15ZWxsb3ctNTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXllbGxvdy01KTsgfVxuLmFjdGl2ZS15ZWxsb3ctNjphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXllbGxvdy02KTsgfVxuLmFjdGl2ZS15ZWxsb3ctNzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXllbGxvdy03KTsgfVxuLmFjdGl2ZS15ZWxsb3ctODphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXllbGxvdy04KTsgfVxuLmFjdGl2ZS15ZWxsb3ctOTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXllbGxvdy05KTsgfVxuLmFjdGl2ZS15ZWxsb3ctMTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS15ZWxsb3ctMTApOyB9XG4uYWN0aXZlLXllbGxvdy0xMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXllbGxvdy0xMSk7IH1cblxuLmFjdGl2ZS1ncmVlbi0wOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tZ3JlZW4tMCk7IH1cbi5hY3RpdmUtZ3JlZW4tMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWdyZWVuLTEpOyB9XG4uYWN0aXZlLWdyZWVuLTI6YWN0aXZlIHsgY29sb3I6IHZhciggLS1ncmVlbi0yKTsgfVxuLmFjdGl2ZS1ncmVlbi0zOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tZ3JlZW4tMyk7IH1cbi5hY3RpdmUtZ3JlZW4tNDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWdyZWVuLTQpOyB9XG4uYWN0aXZlLWdyZWVuLTU6YWN0aXZlIHsgY29sb3I6IHZhciggLS1ncmVlbi01KTsgfVxuLmFjdGl2ZS1ncmVlbi02OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tZ3JlZW4tNik7IH1cbi5hY3RpdmUtZ3JlZW4tNzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWdyZWVuLTcpOyB9XG4uYWN0aXZlLWdyZWVuLTg6YWN0aXZlIHsgY29sb3I6IHZhciggLS1ncmVlbi04KTsgfVxuLmFjdGl2ZS1ncmVlbi05OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tZ3JlZW4tOSk7IH1cbi5hY3RpdmUtZ3JlZW4tMTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1ncmVlbi0xMCk7IH1cbi5hY3RpdmUtZ3JlZW4tMTE6YWN0aXZlIHsgY29sb3I6IHZhciggLS1ncmVlbi0xMSk7IH1cblxuLmFjdGl2ZS1saW1lLTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1saW1lLTApOyB9XG4uYWN0aXZlLWxpbWUtMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWxpbWUtMSk7IH1cbi5hY3RpdmUtbGltZS0yOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tbGltZS0yKTsgfVxuLmFjdGl2ZS1saW1lLTM6YWN0aXZlIHsgY29sb3I6IHZhciggLS1saW1lLTMpOyB9XG4uYWN0aXZlLWxpbWUtNDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWxpbWUtNCk7IH1cbi5hY3RpdmUtbGltZS01OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tbGltZS01KTsgfVxuLmFjdGl2ZS1saW1lLTY6YWN0aXZlIHsgY29sb3I6IHZhciggLS1saW1lLTYpOyB9XG4uYWN0aXZlLWxpbWUtNzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWxpbWUtNyk7IH1cbi5hY3RpdmUtbGltZS04OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tbGltZS04KTsgfVxuLmFjdGl2ZS1saW1lLTk6YWN0aXZlIHsgY29sb3I6IHZhciggLS1saW1lLTkpOyB9XG4uYWN0aXZlLWxpbWUtMTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1saW1lLTEwKTsgfVxuLmFjdGl2ZS1saW1lLTExOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tbGltZS0xMSk7IH1cblxuLmFjdGl2ZS10ZWFsLTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS10ZWFsLTApOyB9XG4uYWN0aXZlLXRlYWwtMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXRlYWwtMSk7IH1cbi5hY3RpdmUtdGVhbC0yOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tdGVhbC0yKTsgfVxuLmFjdGl2ZS10ZWFsLTM6YWN0aXZlIHsgY29sb3I6IHZhciggLS10ZWFsLTMpOyB9XG4uYWN0aXZlLXRlYWwtNDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXRlYWwtNCk7IH1cbi5hY3RpdmUtdGVhbC01OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tdGVhbC01KTsgfVxuLmFjdGl2ZS10ZWFsLTY6YWN0aXZlIHsgY29sb3I6IHZhciggLS10ZWFsLTYpOyB9XG4uYWN0aXZlLXRlYWwtNzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLXRlYWwtNyk7IH1cbi5hY3RpdmUtdGVhbC04OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tdGVhbC04KTsgfVxuLmFjdGl2ZS10ZWFsLTk6YWN0aXZlIHsgY29sb3I6IHZhciggLS10ZWFsLTkpOyB9XG4uYWN0aXZlLXRlYWwtMTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS10ZWFsLTEwKTsgfVxuLmFjdGl2ZS10ZWFsLTExOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tdGVhbC0xMSk7IH1cblxuLmFjdGl2ZS1jeWFuLTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1jeWFuLTApOyB9XG4uYWN0aXZlLWN5YW4tMTphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWN5YW4tMSk7IH1cbi5hY3RpdmUtY3lhbi0yOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tY3lhbi0yKTsgfVxuLmFjdGl2ZS1jeWFuLTM6YWN0aXZlIHsgY29sb3I6IHZhciggLS1jeWFuLTMpOyB9XG4uYWN0aXZlLWN5YW4tNDphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWN5YW4tNCk7IH1cbi5hY3RpdmUtY3lhbi01OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tY3lhbi01KTsgfVxuLmFjdGl2ZS1jeWFuLTY6YWN0aXZlIHsgY29sb3I6IHZhciggLS1jeWFuLTYpOyB9XG4uYWN0aXZlLWN5YW4tNzphY3RpdmUgeyBjb2xvcjogdmFyKCAtLWN5YW4tNyk7IH1cbi5hY3RpdmUtY3lhbi04OmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tY3lhbi04KTsgfVxuLmFjdGl2ZS1jeWFuLTk6YWN0aXZlIHsgY29sb3I6IHZhciggLS1jeWFuLTkpOyB9XG4uYWN0aXZlLWN5YW4tMTA6YWN0aXZlIHsgY29sb3I6IHZhciggLS1jeWFuLTEwKTsgfVxuLmFjdGl2ZS1jeWFuLTExOmFjdGl2ZSB7IGNvbG9yOiB2YXIoIC0tY3lhbi0xMSk7IH1cblxuLyogQmFja2dyb3VuZCBjb2xvcnMgKi9cblxuLmFjdGl2ZS1iZy1vdmVybGF5LXRpbnQtMDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTApOyB9XG4uYWN0aXZlLWJnLW92ZXJsYXktdGludC0xOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXRpbnQtMSk7IH1cbi5hY3RpdmUtYmctb3ZlcmxheS10aW50LTI6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC0yKTsgfVxuLmFjdGl2ZS1iZy1vdmVybGF5LXRpbnQtMzphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTMpOyB9XG4uYWN0aXZlLWJnLW92ZXJsYXktdGludC00OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXRpbnQtNCk7IH1cbi5hY3RpdmUtYmctb3ZlcmxheS10aW50LTU6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC01KTsgfVxuLmFjdGl2ZS1iZy1vdmVybGF5LXRpbnQtNjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTYpOyB9XG4uYWN0aXZlLWJnLW92ZXJsYXktdGludC03OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXRpbnQtNyk7IH1cbi5hY3RpdmUtYmctb3ZlcmxheS10aW50LTg6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC04KTsgfVxuLmFjdGl2ZS1iZy1vdmVybGF5LXRpbnQtOTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTkpOyB9XG4uYWN0aXZlLWJnLW92ZXJsYXktdGludC0xMDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS10aW50LTEwKTsgfVxuLmFjdGl2ZS1iZy1vdmVybGF5LXRpbnQtMTE6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW92ZXJsYXktdGludC0xMSk7IH1cblxuLmFjdGl2ZS1iZy1vdmVybGF5LXNoYWRvdy0wOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy0wKTsgfVxuLmFjdGl2ZS1iZy1vdmVybGF5LXNoYWRvdy0xOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy0xKTsgfVxuLmFjdGl2ZS1iZy1vdmVybGF5LXNoYWRvdy0yOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy0yKTsgfVxuLmFjdGl2ZS1iZy1vdmVybGF5LXNoYWRvdy0zOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy0zKTsgfVxuLmFjdGl2ZS1iZy1vdmVybGF5LXNoYWRvdy00OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy00KTsgfVxuLmFjdGl2ZS1iZy1vdmVybGF5LXNoYWRvdy01OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy01KTsgfVxuLmFjdGl2ZS1iZy1vdmVybGF5LXNoYWRvdy02OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy02KTsgfVxuLmFjdGl2ZS1iZy1vdmVybGF5LXNoYWRvdy03OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy03KTsgfVxuLmFjdGl2ZS1iZy1vdmVybGF5LXNoYWRvdy04OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy04KTsgfVxuLmFjdGl2ZS1iZy1vdmVybGF5LXNoYWRvdy05OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy05KTsgfVxuLmFjdGl2ZS1iZy1vdmVybGF5LXNoYWRvdy0xMDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3ZlcmxheS1zaGFkb3ctMTApOyB9XG4uYWN0aXZlLWJnLW92ZXJsYXktc2hhZG93LTExOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vdmVybGF5LXNoYWRvdy0xMSk7IH1cblxuLmFjdGl2ZS1iZy1ncmF5LTA6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyYXktMCk7IH1cbi5hY3RpdmUtYmctZ3JheS0xOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmF5LTEpOyB9XG4uYWN0aXZlLWJnLWdyYXktMjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JheS0yKTsgfVxuLmFjdGl2ZS1iZy1ncmF5LTM6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyYXktMyk7IH1cbi5hY3RpdmUtYmctZ3JheS00OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmF5LTQpOyB9XG4uYWN0aXZlLWJnLWdyYXktNTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JheS01KTsgfVxuLmFjdGl2ZS1iZy1ncmF5LTY6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyYXktNik7IH1cbi5hY3RpdmUtYmctZ3JheS03OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmF5LTcpOyB9XG4uYWN0aXZlLWJnLWdyYXktODphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JheS04KTsgfVxuLmFjdGl2ZS1iZy1ncmF5LTk6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyYXktOSk7IH1cbi5hY3RpdmUtYmctZ3JheS0xMDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JheS0xMCk7IH1cbi5hY3RpdmUtYmctZ3JheS0xMTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ3JheS0xMSk7IH1cblxuLmFjdGl2ZS1iZy1zbGF0ZS1ncmF5LTA6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXNsYXRlLWdyYXktMCk7IH1cbi5hY3RpdmUtYmctc2xhdGUtZ3JheS0xOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTEpOyB9XG4uYWN0aXZlLWJnLXNsYXRlLWdyYXktMjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tc2xhdGUtZ3JheS0yKTsgfVxuLmFjdGl2ZS1iZy1zbGF0ZS1ncmF5LTM6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXNsYXRlLWdyYXktMyk7IH1cbi5hY3RpdmUtYmctc2xhdGUtZ3JheS00OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTQpOyB9XG4uYWN0aXZlLWJnLXNsYXRlLWdyYXktNTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tc2xhdGUtZ3JheS01KTsgfVxuLmFjdGl2ZS1iZy1zbGF0ZS1ncmF5LTY6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXNsYXRlLWdyYXktNik7IH1cbi5hY3RpdmUtYmctc2xhdGUtZ3JheS03OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1zbGF0ZS1ncmF5LTcpOyB9XG4uYWN0aXZlLWJnLXNsYXRlLWdyYXktODphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tc2xhdGUtZ3JheS04KTsgfVxuLmFjdGl2ZS1iZy1zbGF0ZS1ncmF5LTk6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXNsYXRlLWdyYXktOSk7IH1cbi5hY3RpdmUtYmctc2xhdGUtZ3JheS0xMDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tc2xhdGUtZ3JheS0xMCk7IH1cbi5hY3RpdmUtYmctc2xhdGUtZ3JheS0xMTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tc2xhdGUtZ3JheS0xMSk7IH1cblxuLmFjdGl2ZS1iZy1ibHVlLTA6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWJsdWUtMCk7IH1cbi5hY3RpdmUtYmctYmx1ZS0xOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ibHVlLTEpOyB9XG4uYWN0aXZlLWJnLWJsdWUtMjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tYmx1ZS0yKTsgfVxuLmFjdGl2ZS1iZy1ibHVlLTM6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWJsdWUtMyk7IH1cbi5hY3RpdmUtYmctYmx1ZS00OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ibHVlLTQpOyB9XG4uYWN0aXZlLWJnLWJsdWUtNTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tYmx1ZS01KTsgfVxuLmFjdGl2ZS1iZy1ibHVlLTY6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWJsdWUtNik7IH1cbi5hY3RpdmUtYmctYmx1ZS03OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ibHVlLTcpOyB9XG4uYWN0aXZlLWJnLWJsdWUtODphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tYmx1ZS04KTsgfVxuLmFjdGl2ZS1iZy1ibHVlLTk6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWJsdWUtOSk7IH1cbi5hY3RpdmUtYmctYmx1ZS0xMDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tYmx1ZS0xMCk7IH1cbi5hY3RpdmUtYmctYmx1ZS0xMTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tYmx1ZS0xMSk7IH1cblxuLmFjdGl2ZS1iZy1pbmRpZ28tMDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTApOyB9XG4uYWN0aXZlLWJnLWluZGlnby0xOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1pbmRpZ28tMSk7IH1cbi5hY3RpdmUtYmctaW5kaWdvLTI6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWluZGlnby0yKTsgfVxuLmFjdGl2ZS1iZy1pbmRpZ28tMzphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTMpOyB9XG4uYWN0aXZlLWJnLWluZGlnby00OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1pbmRpZ28tNCk7IH1cbi5hY3RpdmUtYmctaW5kaWdvLTU6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWluZGlnby01KTsgfVxuLmFjdGl2ZS1iZy1pbmRpZ28tNjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTYpOyB9XG4uYWN0aXZlLWJnLWluZGlnby03OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1pbmRpZ28tNyk7IH1cbi5hY3RpdmUtYmctaW5kaWdvLTg6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWluZGlnby04KTsgfVxuLmFjdGl2ZS1iZy1pbmRpZ28tOTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTkpOyB9XG4uYWN0aXZlLWJnLWluZGlnby0xMDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0taW5kaWdvLTEwKTsgfVxuLmFjdGl2ZS1iZy1pbmRpZ28tMTE6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWluZGlnby0xMSk7IH1cblxuLmFjdGl2ZS1iZy12aW9sZXQtMDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTApOyB9XG4uYWN0aXZlLWJnLXZpb2xldC0xOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS12aW9sZXQtMSk7IH1cbi5hY3RpdmUtYmctdmlvbGV0LTI6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXZpb2xldC0yKTsgfVxuLmFjdGl2ZS1iZy12aW9sZXQtMzphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTMpOyB9XG4uYWN0aXZlLWJnLXZpb2xldC00OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS12aW9sZXQtNCk7IH1cbi5hY3RpdmUtYmctdmlvbGV0LTU6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXZpb2xldC01KTsgfVxuLmFjdGl2ZS1iZy12aW9sZXQtNjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTYpOyB9XG4uYWN0aXZlLWJnLXZpb2xldC03OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS12aW9sZXQtNyk7IH1cbi5hY3RpdmUtYmctdmlvbGV0LTg6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXZpb2xldC04KTsgfVxuLmFjdGl2ZS1iZy12aW9sZXQtOTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTkpOyB9XG4uYWN0aXZlLWJnLXZpb2xldC0xMDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdmlvbGV0LTEwKTsgfVxuLmFjdGl2ZS1iZy12aW9sZXQtMTE6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXZpb2xldC0xMSk7IH1cblxuLmFjdGl2ZS1iZy1tYWdlbnRhLTA6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW1hZ2VudGEtMCk7IH1cbi5hY3RpdmUtYmctbWFnZW50YS0xOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1tYWdlbnRhLTEpOyB9XG4uYWN0aXZlLWJnLW1hZ2VudGEtMjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbWFnZW50YS0yKTsgfVxuLmFjdGl2ZS1iZy1tYWdlbnRhLTM6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW1hZ2VudGEtMyk7IH1cbi5hY3RpdmUtYmctbWFnZW50YS00OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1tYWdlbnRhLTQpOyB9XG4uYWN0aXZlLWJnLW1hZ2VudGEtNTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbWFnZW50YS01KTsgfVxuLmFjdGl2ZS1iZy1tYWdlbnRhLTY6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW1hZ2VudGEtNik7IH1cbi5hY3RpdmUtYmctbWFnZW50YS03OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1tYWdlbnRhLTcpOyB9XG4uYWN0aXZlLWJnLW1hZ2VudGEtODphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbWFnZW50YS04KTsgfVxuLmFjdGl2ZS1iZy1tYWdlbnRhLTk6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW1hZ2VudGEtOSk7IH1cbi5hY3RpdmUtYmctbWFnZW50YS0xMDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbWFnZW50YS0xMCk7IH1cbi5hY3RpdmUtYmctbWFnZW50YS0xMTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbWFnZW50YS0xMSk7IH1cblxuLmFjdGl2ZS1iZy1yZWQtMDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTApOyB9XG4uYWN0aXZlLWJnLXJlZC0xOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1yZWQtMSk7IH1cbi5hY3RpdmUtYmctcmVkLTI6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC0yKTsgfVxuLmFjdGl2ZS1iZy1yZWQtMzphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTMpOyB9XG4uYWN0aXZlLWJnLXJlZC00OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1yZWQtNCk7IH1cbi5hY3RpdmUtYmctcmVkLTU6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC01KTsgfVxuLmFjdGl2ZS1iZy1yZWQtNjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTYpOyB9XG4uYWN0aXZlLWJnLXJlZC03OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1yZWQtNyk7IH1cbi5hY3RpdmUtYmctcmVkLTg6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC04KTsgfVxuLmFjdGl2ZS1iZy1yZWQtOTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTkpOyB9XG4uYWN0aXZlLWJnLXJlZC0xMDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLTEwKTsgfVxuLmFjdGl2ZS1iZy1yZWQtMTE6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC0xMSk7IH1cbi5hY3RpdmUtYmctcmVkLW9yYW5nZS0wOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTApOyB9XG4uYWN0aXZlLWJnLXJlZC1vcmFuZ2UtMTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLW9yYW5nZS0xKTsgfVxuLmFjdGl2ZS1iZy1yZWQtb3JhbmdlLTI6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC1vcmFuZ2UtMik7IH1cbi5hY3RpdmUtYmctcmVkLW9yYW5nZS0zOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTMpOyB9XG4uYWN0aXZlLWJnLXJlZC1vcmFuZ2UtNDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLW9yYW5nZS00KTsgfVxuLmFjdGl2ZS1iZy1yZWQtb3JhbmdlLTU6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC1vcmFuZ2UtNSk7IH1cbi5hY3RpdmUtYmctcmVkLW9yYW5nZS02OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTYpOyB9XG4uYWN0aXZlLWJnLXJlZC1vcmFuZ2UtNzphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tcmVkLW9yYW5nZS03KTsgfVxuLmFjdGl2ZS1iZy1yZWQtb3JhbmdlLTg6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC1vcmFuZ2UtOCk7IH1cbi5hY3RpdmUtYmctcmVkLW9yYW5nZS05OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1yZWQtb3JhbmdlLTkpOyB9XG4uYWN0aXZlLWJnLXJlZC1vcmFuZ2UtMTA6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC1vcmFuZ2UtMTApOyB9XG4uYWN0aXZlLWJnLXJlZC1vcmFuZ2UtMTE6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXJlZC1vcmFuZ2UtMTEpOyB9XG5cbi5hY3RpdmUtYmctb3JhbmdlLTA6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW9yYW5nZS0wKTsgfVxuLmFjdGl2ZS1iZy1vcmFuZ2UtMTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3JhbmdlLTEpOyB9XG4uYWN0aXZlLWJnLW9yYW5nZS0yOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vcmFuZ2UtMik7IH1cbi5hY3RpdmUtYmctb3JhbmdlLTM6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW9yYW5nZS0zKTsgfVxuLmFjdGl2ZS1iZy1vcmFuZ2UtNDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3JhbmdlLTQpOyB9XG4uYWN0aXZlLWJnLW9yYW5nZS01OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vcmFuZ2UtNSk7IH1cbi5hY3RpdmUtYmctb3JhbmdlLTY6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW9yYW5nZS02KTsgfVxuLmFjdGl2ZS1iZy1vcmFuZ2UtNzphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tb3JhbmdlLTcpOyB9XG4uYWN0aXZlLWJnLW9yYW5nZS04OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vcmFuZ2UtOCk7IH1cbi5hY3RpdmUtYmctb3JhbmdlLTk6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW9yYW5nZS05KTsgfVxuLmFjdGl2ZS1iZy1vcmFuZ2UtMTA6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLW9yYW5nZS0xMCk7IH1cbi5hY3RpdmUtYmctb3JhbmdlLTExOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1vcmFuZ2UtMTEpOyB9XG5cbi5hY3RpdmUtYmctZ29sZC0wOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1nb2xkLTApOyB9XG4uYWN0aXZlLWJnLWdvbGQtMTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ29sZC0xKTsgfVxuLmFjdGl2ZS1iZy1nb2xkLTI6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdvbGQtMik7IH1cbi5hY3RpdmUtYmctZ29sZC0zOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1nb2xkLTMpOyB9XG4uYWN0aXZlLWJnLWdvbGQtNDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ29sZC00KTsgfVxuLmFjdGl2ZS1iZy1nb2xkLTU6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdvbGQtNSk7IH1cbi5hY3RpdmUtYmctZ29sZC02OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1nb2xkLTYpOyB9XG4uYWN0aXZlLWJnLWdvbGQtNzphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tZ29sZC03KTsgfVxuLmFjdGl2ZS1iZy1nb2xkLTg6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdvbGQtOCk7IH1cbi5hY3RpdmUtYmctZ29sZC05OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1nb2xkLTkpOyB9XG4uYWN0aXZlLWJnLWdvbGQtMTA6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdvbGQtMTApOyB9XG4uYWN0aXZlLWJnLWdvbGQtMTE6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdvbGQtMTEpOyB9XG4uYWN0aXZlLWJnLXllbGxvdy0wOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS15ZWxsb3ctMCk7IH1cbi5hY3RpdmUtYmcteWVsbG93LTE6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXllbGxvdy0xKTsgfVxuLmFjdGl2ZS1iZy15ZWxsb3ctMjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0teWVsbG93LTIpOyB9XG4uYWN0aXZlLWJnLXllbGxvdy0zOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS15ZWxsb3ctMyk7IH1cbi5hY3RpdmUtYmcteWVsbG93LTQ6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXllbGxvdy00KTsgfVxuLmFjdGl2ZS1iZy15ZWxsb3ctNTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0teWVsbG93LTUpOyB9XG4uYWN0aXZlLWJnLXllbGxvdy02OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS15ZWxsb3ctNik7IH1cbi5hY3RpdmUtYmcteWVsbG93LTc6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXllbGxvdy03KTsgfVxuLmFjdGl2ZS1iZy15ZWxsb3ctODphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0teWVsbG93LTgpOyB9XG4uYWN0aXZlLWJnLXllbGxvdy05OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS15ZWxsb3ctOSk7IH1cbi5hY3RpdmUtYmcteWVsbG93LTEwOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS15ZWxsb3ctMTApOyB9XG4uYWN0aXZlLWJnLXllbGxvdy0xMTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0teWVsbG93LTExKTsgfVxuXG4uYWN0aXZlLWJnLWdyZWVuLTA6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTApOyB9XG4uYWN0aXZlLWJnLWdyZWVuLTE6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTEpOyB9XG4uYWN0aXZlLWJnLWdyZWVuLTI6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTIpOyB9XG4uYWN0aXZlLWJnLWdyZWVuLTM6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTMpOyB9XG4uYWN0aXZlLWJnLWdyZWVuLTQ6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTQpOyB9XG4uYWN0aXZlLWJnLWdyZWVuLTU6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTUpOyB9XG4uYWN0aXZlLWJnLWdyZWVuLTY6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTYpOyB9XG4uYWN0aXZlLWJnLWdyZWVuLTc6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTcpOyB9XG4uYWN0aXZlLWJnLWdyZWVuLTg6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTgpOyB9XG4uYWN0aXZlLWJnLWdyZWVuLTk6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTkpOyB9XG4uYWN0aXZlLWJnLWdyZWVuLTEwOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1ncmVlbi0xMCk7IH1cbi5hY3RpdmUtYmctZ3JlZW4tMTE6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWdyZWVuLTExKTsgfVxuXG4uYWN0aXZlLWJnLWxpbWUtMDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbGltZS0wKTsgfVxuLmFjdGl2ZS1iZy1saW1lLTE6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWxpbWUtMSk7IH1cbi5hY3RpdmUtYmctbGltZS0yOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1saW1lLTIpOyB9XG4uYWN0aXZlLWJnLWxpbWUtMzphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbGltZS0zKTsgfVxuLmFjdGl2ZS1iZy1saW1lLTQ6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWxpbWUtNCk7IH1cbi5hY3RpdmUtYmctbGltZS01OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1saW1lLTUpOyB9XG4uYWN0aXZlLWJnLWxpbWUtNjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbGltZS02KTsgfVxuLmFjdGl2ZS1iZy1saW1lLTc6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWxpbWUtNyk7IH1cbi5hY3RpdmUtYmctbGltZS04OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1saW1lLTgpOyB9XG4uYWN0aXZlLWJnLWxpbWUtOTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tbGltZS05KTsgfVxuLmFjdGl2ZS1iZy1saW1lLTEwOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1saW1lLTEwKTsgfVxuLmFjdGl2ZS1iZy1saW1lLTExOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1saW1lLTExKTsgfVxuXG4uYWN0aXZlLWJnLXRlYWwtMDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdGVhbC0wKTsgfVxuLmFjdGl2ZS1iZy10ZWFsLTE6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXRlYWwtMSk7IH1cbi5hY3RpdmUtYmctdGVhbC0yOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS10ZWFsLTIpOyB9XG4uYWN0aXZlLWJnLXRlYWwtMzphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdGVhbC0zKTsgfVxuLmFjdGl2ZS1iZy10ZWFsLTQ6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXRlYWwtNCk7IH1cbi5hY3RpdmUtYmctdGVhbC01OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS10ZWFsLTUpOyB9XG4uYWN0aXZlLWJnLXRlYWwtNjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdGVhbC02KTsgfVxuLmFjdGl2ZS1iZy10ZWFsLTc6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXRlYWwtNyk7IH1cbi5hY3RpdmUtYmctdGVhbC04OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS10ZWFsLTgpOyB9XG4uYWN0aXZlLWJnLXRlYWwtOTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tdGVhbC05KTsgfVxuLmFjdGl2ZS1iZy10ZWFsLTEwOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS10ZWFsLTEwKTsgfVxuLmFjdGl2ZS1iZy10ZWFsLTExOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS10ZWFsLTExKTsgfVxuXG4uYWN0aXZlLWJnLWN5YW4tMDphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tY3lhbi0wKTsgfVxuLmFjdGl2ZS1iZy1jeWFuLTE6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWN5YW4tMSk7IH1cbi5hY3RpdmUtYmctY3lhbi0yOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1jeWFuLTIpOyB9XG4uYWN0aXZlLWJnLWN5YW4tMzphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tY3lhbi0zKTsgfVxuLmFjdGl2ZS1iZy1jeWFuLTQ6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWN5YW4tNCk7IH1cbi5hY3RpdmUtYmctY3lhbi01OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1jeWFuLTUpOyB9XG4uYWN0aXZlLWJnLWN5YW4tNjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tY3lhbi02KTsgfVxuLmFjdGl2ZS1iZy1jeWFuLTc6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWN5YW4tNyk7IH1cbi5hY3RpdmUtYmctY3lhbi04OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1jeWFuLTgpOyB9XG4uYWN0aXZlLWJnLWN5YW4tOTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoIC0tY3lhbi05KTsgfVxuLmFjdGl2ZS1iZy1jeWFuLTEwOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1jeWFuLTEwKTsgfVxuLmFjdGl2ZS1iZy1jeWFuLTExOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhciggLS1jeWFuLTExKTsgfVxuXG4iLCIvKlxuICAgU1BBQ0lOR1xuICAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvbGF5b3V0L3NwYWNpbmcvXG5cbiAgIEFuIGVpZ2h0IHN0ZXAgcG93ZXJzIG9mIHR3byBzY2FsZSByYW5naW5nIGZyb20gMCB0byAxNnJlbS5cblxuICAgQmFzZTpcbiAgICAgcCA9IHBhZGRpbmdcbiAgICAgbSA9IG1hcmdpblxuXG4gICBNb2RpZmllcnM6XG4gICAgIGEgPSBhbGxcbiAgICAgeSA9IHZlcnRpY2FsXG4gICAgIHggPSBob3Jpem9udGFsXG4gICAgIHQgPSB0b3BcbiAgICAgciA9IHJpZ2h0XG4gICAgIGIgPSBib3R0b21cbiAgICAgbCA9IGxlZnRcblxuICAgICAwID0gbm9uZVxuICAgICAxID0gMXN0IHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICAyID0gMm5kIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICAzID0gM3JkIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICA0ID0gNHRoIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICA1ID0gNXRoIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICA2ID0gNnRoIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICA3ID0gN3RoIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICA4ID0gOHRoIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICA5ID0gOXRoIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtcyA9IHNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG5cbi5wMCB7IHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMCwgMCk7IH1cbi5wMSB7IHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSwgMnB4KTsgfVxuLnAyIHsgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yLCA0cHgpOyB9XG4ucDMgeyBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7IH1cbi5wNCB7IHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7IH1cbi5wNSB7IHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNSwgMzJweCk7IH1cbi5wNiB7IHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNiwgNjRweCk7IH1cbi5wNyB7IHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpOyB9XG4ucDggeyBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTsgfVxuLnA5IHsgcGFkZGluZzogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7IH1cblxuLnBsMCB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuLnBsMSB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0xLCAycHgpOyB9XG4ucGwyIHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7IH1cbi5wbDMgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMywgOHB4KTsgfVxuLnBsNCB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy00LCAxNnB4KTsgfVxuLnBsNSB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy01LCAzMnB4KTsgfVxuLnBsNiB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy02LCA2NHB4KTsgfVxuLnBsNyB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7IH1cbi5wbDggeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpOyB9XG4ucGw5IHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTsgfVxuXG4ucHIwIHsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuLnByMSB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMSwgMnB4KTsgfVxuLnByMiB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuLnByMyB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMywgOHB4KTsgfVxuLnByNCB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7IH1cbi5wcjUgeyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4ucHI2IHsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy02LCA2NHB4KTsgfVxuLnByNyB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpOyB9XG4ucHI4IHsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbi5wcjkgeyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTsgfVxuXG4ucGIwIHsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMCwgMCk7IH1cbi5wYjEgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xLCAycHgpOyB9XG4ucGIyIHsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuLnBiMyB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7IH1cbi5wYjQgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00LCAxNnB4KTsgfVxuLnBiNSB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4ucGI2IHsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNiwgNjRweCk7IH1cbi5wYjcgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7IH1cbi5wYjggeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbi5wYjkgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7IH1cblxuLnB0MCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTAsIDApOyB9XG4ucHQxIHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMSwgMnB4KTsgfVxuLnB0MiB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7IH1cbi5wdDMgeyBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0zLCA4cHgpOyB9XG4ucHQ0IHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7IH1cbi5wdDUgeyBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy01LCAzMnB4KTsgfVxuLnB0NiB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpOyB9XG4ucHQ3IHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpOyB9XG4ucHQ4IHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpOyB9XG4ucHQ5IHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpOyB9XG5cbi5weTAge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0wLCAwKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMCwgMCk7XG59XG4ucHkxIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMSwgMnB4KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMSwgMnB4KTtcbn1cbi5weTIge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0yLCA0cHgpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yLCA0cHgpO1xufVxuLnB5MyB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7XG59XG4ucHk0IHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpO1xufVxuLnB5NSB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy01LCAzMnB4KTtcbn1cbi5weTYge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy02LCA2NHB4KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNiwgNjRweCk7XG59XG4ucHk3IHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7XG59XG4ucHk4IHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7XG59XG4ucHk5IHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7XG59XG5cbi5weDAge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMCwgMCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMCwgMCk7XG59XG4ucHgxIHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTEsIDRweCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMSwgNHB4KTtcbn1cbi5weDIge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMiwgNHB4KTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy0yLCA0cHgpO1xufVxuLnB4MyB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0zLCA4cHgpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7XG59XG4ucHg0IHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpO1xufVxuLnB4NSB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy01LCAzMnB4KTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy01LCAzMnB4KTtcbn1cbi5weDYge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNiwgNjRweCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNiwgNjRweCk7XG59XG4ucHg3IHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7XG59XG4ucHg4IHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7XG59XG4ucHg5IHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7XG59XG5cbi5tMCB7IG1hcmdpbjogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuLm0xIHsgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7IH1cbi5tMiB7IG1hcmdpbjogdmFyKC0tc3BhY2luZy0yLCA0cHgpOyB9XG4ubTMgeyBtYXJnaW46IHZhcigtLXNwYWNpbmctMywgOHB4KTsgfVxuLm00IHsgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpOyB9XG4ubTUgeyBtYXJnaW46IHZhcigtLXNwYWNpbmctNSwgMzJweCk7IH1cbi5tNiB7IG1hcmdpbjogdmFyKC0tc3BhY2luZy02LCA2NHB4KTsgfVxuLm03IHsgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTsgfVxuLm04IHsgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTsgfVxuLm05IHsgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTsgfVxuXG4ubWwwIHsgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMCwgMCk7IH1cbi5tbDEgeyBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0xLCAycHgpOyB9XG4ubWwyIHsgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuLm1sMyB7IG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7IH1cbi5tbDQgeyBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy00LCAxNnB4KTsgfVxuLm1sNSB7IG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4ubWw2IHsgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNiwgNjRweCk7IH1cbi5tbDcgeyBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7IH1cbi5tbDggeyBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbi5tbDkgeyBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7IH1cblxuLm1yMCB7IG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuLm1yMSB7IG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0xLCAycHgpOyB9XG4ubXIyIHsgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7IH1cbi5tcjMgeyBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMywgOHB4KTsgfVxuLm1yNCB7IG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy00LCAxNnB4KTsgfVxuLm1yNSB7IG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy01LCAzMnB4KTsgfVxuLm1yNiB7IG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy02LCA2NHB4KTsgfVxuLm1yNyB7IG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7IH1cbi5tcjggeyBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpOyB9XG4ubXI5IHsgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTsgfVxuXG4ubWIwIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuLm1iMSB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSwgNHB4KTsgfVxuLm1iMiB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuLm1iMyB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMywgOHB4KTsgfVxuLm1iNCB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNCwgMTZweCk7IH1cbi5tYjUgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4ubWI2IHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy02LCA2NHB4KTsgfVxuLm1iNyB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNywgMTI4cHgpOyB9XG4ubWI4IHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbi5tYjkgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTsgfVxuXG4ubXQwIHsgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuLm10MSB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMSwgMnB4KTsgfVxuLm10MiB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuLm10MyB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMywgOHB4KTsgfVxuLm10NCB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7IH1cbi5tdDUgeyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4ubXQ2IHsgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy02LCA2NHB4KTsgfVxuLm10NyB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpOyB9XG4ubXQ4IHsgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbi5tdDkgeyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTsgfVxuXG4ubXkwICAge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTAsIDApO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTAsIDApO1xufVxuLm15MSAge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEsIDRweCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSwgNHB4KTtcbn1cbi5teTIgIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yLCA0cHgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7XG59XG4ubXkzICAge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMywgOHB4KTtcbn1cbi5teTQgICB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNCwgMTZweCk7XG59XG4ubXk1ICAge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpO1xufVxuLm15NiAgIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy02LCA2NHB4KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy02LCA2NHB4KTtcbn1cbi5teTcgIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNywgMTI4cHgpO1xufVxuLm15OCAge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7XG59XG4ubXk5ICB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTtcbn1cblxuLm14MCAgIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMCwgMCk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0wLCAwKTtcbn1cbi5teDEgICB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0xLCAycHgpO1xufVxuLm14MiAgIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMiwgNHB4KTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7XG59XG4ubXgzICAge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0zLCA4cHgpO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMywgOHB4KTtcbn1cbi5teDQgICB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7XG59XG4ubXg1ICAge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy01LCAzMnB4KTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpO1xufVxuLm14NiAgIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNiwgNjRweCk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy02LCA2NHB4KTtcbn1cbi5teDcgIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpO1xufVxuLm14OCAge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7XG59XG4ubXg5ICB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTtcbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgLnAwLXMgeyBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTAsIDApOyB9XG4gIC5wMS1zIHsgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xLCAycHgpOyB9XG4gIC5wMi1zIHsgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yLCA0cHgpOyB9XG4gIC5wMy1zIHsgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zLCA4cHgpOyB9XG4gIC5wNC1zIHsgcGFkZGluZzogdmFyKC0tc3BhY2luZy00LCAxNnB4KTsgfVxuICAucDUtcyB7IHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNSwgMzJweCk7IH1cbiAgLnA2LXMgeyBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpOyB9XG4gIC5wNy1zIHsgcGFkZGluZzogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7IH1cbiAgLnA4LXMgeyBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTsgfVxuICAucDktcyB7IHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpOyB9XG5cbiAgLnBsMC1zIHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTAsIDApOyB9XG4gIC5wbDEtcyB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0xLCAycHgpOyB9XG4gIC5wbDItcyB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0yLCA0cHgpOyB9XG4gIC5wbDMtcyB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0zLCA4cHgpOyB9XG4gIC5wbDQtcyB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy00LCAxNnB4KTsgfVxuICAucGw1LXMgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNSwgMzJweCk7IH1cbiAgLnBsNi1zIHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpOyB9XG4gIC5wbDctcyB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7IH1cbiAgLnBsOC1zIHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTsgfVxuICAucGw5LXMgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpOyB9XG5cbiAgLnByMC1zIHsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuICAucHIxLXMgeyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7IH1cbiAgLnByMi1zIHsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy0yLCA0cHgpOyB9XG4gIC5wcjMtcyB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMywgOHB4KTsgfVxuICAucHI0LXMgeyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpOyB9XG4gIC5wcjUtcyB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNSwgMzJweCk7IH1cbiAgLnByNi1zIHsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy02LCA2NHB4KTsgfVxuICAucHI3LXMgeyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTsgfVxuICAucHI4LXMgeyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTsgfVxuICAucHI5LXMgeyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTsgfVxuXG4gIC5wYjAtcyAgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuICAucGIxLXMgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xLCAycHgpOyB9XG4gIC5wYjItcyB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7IH1cbiAgLnBiMy1zICB7ICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0zLCA4cHgpOyB9XG4gIC5wYjQtcyAgeyAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNCwgMTZweCk7IH1cbiAgLnBiNS1zICB7ICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy01LCAzMnB4KTsgfVxuICAucGI2LXMgIHsgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpOyB9XG4gIC5wYjctcyB7ICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7IH1cbiAgLnBiOC1zIHsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpOyB9XG4gIC5wYjktcyB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTsgfVxuXG4gIC5wdDAtcyAgeyAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMCwgMCk7IH1cbiAgLnB0MS1zIHsgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7IH1cbiAgLnB0Mi1zIHsgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7IH1cbiAgLnB0My1zICB7ICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0zLCA4cHgpOyB9XG4gIC5wdDQtcyAgeyAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7IH1cbiAgLnB0NS1zICB7ICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy01LCAzMnB4KTsgfVxuICAucHQ2LXMgIHsgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpOyB9XG4gIC5wdDctcyB7ICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7IH1cbiAgLnB0OC1zIHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpOyB9XG4gIC5wdDktcyB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTsgfVxuXG4gIC5weTAtcyB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMCwgMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMCwgMCk7XG4gIH1cbiAgLnB5MS1zIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0xLCAycHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7XG4gIH1cbiAgLnB5Mi1zIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0yLCA0cHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7XG4gIH1cbiAgLnB5My1zIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0zLCA4cHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7XG4gIH1cbiAgLnB5NC1zIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy00LCAxNnB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00LCAxNnB4KTtcbiAgfVxuICAucHk1LXMge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpO1xuICB9XG4gIC5weTYtcyB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNiwgNjRweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNiwgNjRweCk7XG4gIH1cbiAgLnB5Ny1zIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNywgMTI4cHgpO1xuICB9XG4gIC5weTgtcyB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTtcbiAgfVxuICAucHk5LXMge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7XG4gIH1cblxuICAucHgwLXMge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0wLCAwKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTAsIDApO1xuICB9XG4gIC5weDEtcyB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy0xLCAycHgpO1xuICB9XG4gIC5weDItcyB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy0yLCA0cHgpO1xuICB9XG4gIC5weDMtcyB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy0zLCA4cHgpO1xuICB9XG4gIC5weDQtcyB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7XG4gIH1cbiAgLnB4NS1zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNSwgMzJweCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy01LCAzMnB4KTtcbiAgfVxuICAucHg2LXMge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy02LCA2NHB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpO1xuICB9XG4gIC5weDctcyB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTtcbiAgfVxuICAucHg4LXMge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7XG4gIH1cbiAgLnB4OS1zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpO1xuICB9XG5cbiAgLm0wLXMgIHsgIG1hcmdpbjogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuICAubTEtcyB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctMSwgMnB4KTsgfVxuICAubTItcyB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuICAubTMtcyAgeyAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7IH1cbiAgLm00LXMgIHsgIG1hcmdpbjogdmFyKC0tc3BhY2luZy00LCAxNnB4KTsgfVxuICAubTUtcyAgeyAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4gIC5tNi1zICB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctNiwgNjRweCk7IH1cbiAgLm03LXMgeyAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTsgfVxuICAubTgtcyB7IG1hcmdpbjogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbiAgLm05LXMgeyBtYXJnaW46IHZhcigtLXNwYWNpbmctOSwgNTEycHgpOyB9XG5cbiAgLm1sMC1zICB7ICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuICAubWwxLXMgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMSwgMnB4KTsgfVxuICAubWwyLXMgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuICAubWwzLXMgIHsgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7IH1cbiAgLm1sNC1zICB7ICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy00LCAxNnB4KTsgfVxuICAubWw1LXMgIHsgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4gIC5tbDYtcyAgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNiwgNjRweCk7IH1cbiAgLm1sNy1zIHsgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTsgfVxuICAubWw4LXMgeyBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbiAgLm1sOS1zIHsgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpOyB9XG5cbiAgLm1yMC1zICB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMCwgMCk7IH1cbiAgLm1yMS1zIHsgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0xLCAycHgpOyB9XG4gIC5tcjItcyB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuICAubXIzLXMgIHsgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0zLCA4cHgpOyB9XG4gIC5tcjQtcyAgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpOyB9XG4gIC5tcjUtcyAgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4gIC5tcjYtcyAgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpOyB9XG4gIC5tcjctcyB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpOyB9XG4gIC5tcjgtcyB7IG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbiAgLm1yOS1zIHsgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTsgfVxuXG4gIC5tYjAtcyAgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuICAubWIxLXMgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xLCAycHgpOyB9XG4gIC5tYjItcyB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7IH1cbiAgLm1iMy1zICB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7IH1cbiAgLm1iNC1zICB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpOyB9XG4gIC5tYjUtcyAgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy01LCAzMnB4KTsgfVxuICAubWI2LXMgIHsgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNiwgNjRweCk7IH1cbiAgLm1iNy1zIHsgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNywgMTI4cHgpOyB9XG4gIC5tYjgtcyB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTsgfVxuICAubWI5LXMgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTsgfVxuXG4gIC5tdDAtcyAgeyAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuICAubXQxLXMgIHsgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMSwgMnB4KTsgfVxuICAubXQyLXMgeyAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yLCA0cHgpOyB9XG4gIC5tdDMtcyAgeyAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0zLCA4cHgpOyB9XG4gIC5tdDQtcyAgeyAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00LCAxNnB4KTsgfVxuICAubXQ1LXMgIHsgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNSwgMzJweCk7IH1cbiAgLm10Ni1zICB7ICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpOyB9XG4gIC5tdDctcyB7ICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTsgfVxuICAubXQ4LXMgeyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTsgfVxuICAubXQ5LXMgeyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTsgfVxuXG4gIC5teTAtcyAgIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTAsIDApO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMCwgMCk7XG4gIH1cbiAgLm15MS1zICB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xLCAycHgpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSwgMnB4KTtcbiAgfVxuICAubXkyLXMgIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yLCA0cHgpO1xuICB9XG4gIC5teTMtcyAgIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0zLCA4cHgpO1xuICB9XG4gIC5teTQtcyAgIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNCwgMTZweCk7XG4gIH1cbiAgLm15NS1zICAge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNSwgMzJweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy01LCAzMnB4KTtcbiAgfVxuICAubXk2LXMgICB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy02LCA2NHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpO1xuICB9XG4gIC5teTctcyAge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNywgMTI4cHgpO1xuICB9XG4gIC5teTgtcyAge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpO1xuICB9XG4gIC5teTktcyAge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctOSwgNTEycHgpO1xuICB9XG5cbiAgLm14MC1zICAge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTAsIDApO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0wLCAwKTtcbiAgfVxuICAubXgxLXMgICB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMSwgNHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMSwgNHB4KTtcbiAgfVxuICAubXgyLXMgICB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMiwgNHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMiwgNHB4KTtcbiAgfVxuICAubXgzLXMgICB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMywgOHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMywgOHB4KTtcbiAgfVxuICAubXg0LXMgICB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpO1xuICB9XG4gIC5teDUtcyAgIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy01LCAzMnB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNSwgMzJweCk7XG4gIH1cbiAgLm14Ni1zICAge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy02LCA2NHB4KTtcbiAgfVxuICAubXg3LXMgIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTtcbiAgfVxuICAubXg4LXMgIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTtcbiAgfVxuICAubXg5LXMgIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTtcbiAgfVxuXG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG4gIC5wMC1tICB7ICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTAsIDApOyB9XG4gIC5wMS1tIHsgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSwgMnB4KTsgfVxuICAucDItbSB7ICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7IH1cbiAgLnAzLW0gIHsgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMywgOHB4KTsgfVxuICAucDQtbSAgeyAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00LCAxNnB4KTsgfVxuICAucDUtbSAgeyAgcGFkZGluZzogdmFyKC0tc3BhY2luZy01LCAzMnB4KTsgfVxuICAucDYtbSAgeyAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02LCA2NHB4KTsgfVxuICAucDctbSB7ICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTsgfVxuICAucDgtbSB7IHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpOyB9XG4gIC5wOS1tIHsgcGFkZGluZzogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7IH1cblxuICAucGwwLW0gIHsgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuICAucGwxLW0geyAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7IH1cbiAgLnBsMi1tIHsgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0yLCA0cHgpOyB9XG4gIC5wbDMtbSAgeyAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7IH1cbiAgLnBsNC1tICB7ICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7IH1cbiAgLnBsNS1tICB7ICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNSwgMzJweCk7IH1cbiAgLnBsNi1tICB7ICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNiwgNjRweCk7IH1cbiAgLnBsNy1tIHsgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7IH1cbiAgLnBsOC1tIHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTsgfVxuICAucGw5LW0geyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpOyB9XG5cbiAgLnByMC1tICB7ICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTAsIDApOyB9XG4gIC5wcjEtbSAgeyAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy0xLCAycHgpOyB9XG4gIC5wcjItbSB7ICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7IH1cbiAgLnByMy1tICB7ICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7IH1cbiAgLnByNC1tICB7ICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpOyB9XG4gIC5wcjUtbSAgeyAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy01LCAzMnB4KTsgfVxuICAucHI2LW0gIHsgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNiwgNjRweCk7IH1cbiAgLnByNy1tIHsgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpOyB9XG4gIC5wcjgtbSB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpOyB9XG4gIC5wcjktbSB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpOyB9XG5cbiAgLnBiMC1tICB7ICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuICAucGIxLW0geyAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMSwgMnB4KTsgfVxuICAucGIyLW0geyAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuICAucGIzLW0gIHsgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7IH1cbiAgLnBiNC1tICB7ICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00LCAxNnB4KTsgfVxuICAucGI1LW0gIHsgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4gIC5wYjYtbSAgeyAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNiwgNjRweCk7IH1cbiAgLnBiNy1tIHsgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTsgfVxuICAucGI4LW0geyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbiAgLnBiOS1tIHsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctOSwgNTEycHgpOyB9XG5cbiAgLnB0MC1tICB7ICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuICAucHQxLW0geyAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMSwgMnB4KTsgfVxuICAucHQyLW0geyAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuICAucHQzLW0gIHsgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7IH1cbiAgLnB0NC1tICB7ICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy00LCAxNnB4KTsgfVxuICAucHQ1LW0gIHsgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4gIC5wdDYtbSAgeyAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNiwgNjRweCk7IH1cbiAgLnB0Ny1tIHsgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTsgfVxuICAucHQ4LW0geyBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbiAgLnB0OS1tIHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpOyB9XG5cbiAgLnB5MC1tIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0wLCAwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0wLCAwKTtcbiAgfVxuICAucHkxLW0ge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMSwgMnB4KTtcbiAgfVxuICAucHkyLW0ge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMiwgNHB4KTtcbiAgfVxuICAucHkzLW0ge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMywgOHB4KTtcbiAgfVxuICAucHk0LW0ge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpO1xuICB9XG4gIC5weTUtbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNSwgMzJweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNSwgMzJweCk7XG4gIH1cbiAgLnB5Ni1tIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy02LCA2NHB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy02LCA2NHB4KTtcbiAgfVxuICAucHk3LW0ge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7XG4gIH1cbiAgLnB5OC1tIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpO1xuICB9XG4gIC5weTktbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTtcbiAgfVxuXG4gIC5weDAtbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTAsIDApO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMCwgMCk7XG4gIH1cbiAgLnB4MS1tIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMSwgMnB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7XG4gIH1cbiAgLnB4Mi1tIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMiwgNHB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7XG4gIH1cbiAgLnB4My1tIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMywgOHB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7XG4gIH1cbiAgLnB4NC1tIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy00LCAxNnB4KTtcbiAgfVxuICAucHg1LW0ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy01LCAzMnB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpO1xuICB9XG4gIC5weDYtbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNiwgNjRweCk7XG4gIH1cbiAgLnB4Ny1tIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpO1xuICB9XG4gIC5weDgtbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTtcbiAgfVxuICAucHg5LW0ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7XG4gIH1cblxuICAubTAtbSAgeyAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTAsIDApOyB9XG4gIC5tMS1tIHsgIG1hcmdpbjogdmFyKC0tc3BhY2luZy0xLCAycHgpOyB9XG4gIC5tMi1tIHsgIG1hcmdpbjogdmFyKC0tc3BhY2luZy0yLCA0cHgpOyB9XG4gIC5tMy1tICB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctMywgOHB4KTsgfVxuICAubTQtbSAgeyAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpOyB9XG4gIC5tNS1tICB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctNSwgMzJweCk7IH1cbiAgLm02LW0gIHsgIG1hcmdpbjogdmFyKC0tc3BhY2luZy02LCA2NHB4KTsgfVxuICAubTctbSB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctNywgMTI4cHgpOyB9XG4gIC5tOC1tIHsgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTsgfVxuICAubTktbSB7IG1hcmdpbjogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7IH1cblxuICAubWwwLW0gIHsgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTAsIDApOyB9XG4gIC5tbDEtbSAgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMSwgMnB4KTsgfVxuICAubWwyLW0geyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuICAubWwzLW0gIHsgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7IH1cbiAgLm1sNC1tICB7ICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy00LCAxNnB4KTsgfVxuICAubWw1LW0gIHsgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4gIC5tbDYtbSAgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNiwgNjRweCk7IH1cbiAgLm1sNy1tIHsgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTsgfVxuICAubWw4LW0geyBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbiAgLm1sOS1tIHsgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpOyB9XG5cbiAgLm1yMC1tICB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMCwgMCk7IH1cbiAgLm1yMS1tIHsgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0xLCA0cHgpOyB9XG4gIC5tcjItbSB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuICAubXIzLW0gIHsgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0zLCA4cHgpOyB9XG4gIC5tcjQtbSAgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpOyB9XG4gIC5tcjUtbSAgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4gIC5tcjYtbSAgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpOyB9XG4gIC5tcjctbSB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpOyB9XG4gIC5tcjgtbSB7IG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbiAgLm1yOS1tIHsgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTsgfVxuXG4gIC5tYjAtbSAgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuICAubWIxLW0geyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xLCAycHgpOyB9XG4gIC5tYjItbSB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7IH1cbiAgLm1iMy1tICB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7IH1cbiAgLm1iNC1tICB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpOyB9XG4gIC5tYjUtbSAgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy01LCAzMnB4KTsgfVxuICAubWI2LW0gIHsgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNiwgNjRweCk7IH1cbiAgLm1iNy1tIHsgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNywgMTI4cHgpOyB9XG4gIC5tYjgtbSB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpOyB9XG4gIC5tYjktbSB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctOSwgNTEycHgpOyB9XG5cbiAgLm10MC1tICB7ICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTAsIDApOyB9XG4gIC5tdDEtbSB7ICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7IH1cbiAgLm10Mi1tIHsgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuICAubXQzLW0gIHsgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMywgOHB4KTsgfVxuICAubXQ0LW0gIHsgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7IH1cbiAgLm10NS1tICB7ICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4gIC5tdDYtbSAgeyAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy02LCA2NHB4KTsgfVxuICAubXQ3LW0geyAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7IH1cbiAgLm10OC1tIHsgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbiAgLm10OS1tIHsgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7IH1cblxuICAubXkwLW0ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMCwgMCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0wLCAwKTtcbiAgfVxuICAubXkxLW0ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMSwgMnB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7XG4gIH1cbiAgLm15Mi1tIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yLCA0cHgpO1xuICB9XG4gIC5teTMtbSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0zLCA4cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMywgOHB4KTtcbiAgfVxuICAubXk0LW0ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00LCAxNnB4KTtcbiAgfVxuICAubXk1LW0ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNSwgMzJweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy01LCAzMnB4KTtcbiAgfVxuICAubXk2LW0ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNiwgNjRweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy02LCA2NHB4KTtcbiAgfVxuICAubXk3LW0ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNywgMTI4cHgpO1xuICB9XG4gIC5teTgtbSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7XG4gIH1cbiAgLm15OS1tIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTtcbiAgfVxuXG4gIC5teDAtbSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMCwgMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTAsIDApO1xuICB9XG4gIC5teDEtbSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMSwgMnB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMSwgMnB4KTtcbiAgfVxuICAubXgyLW0ge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7XG4gIH1cbiAgLm14My1tIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0zLCA4cHgpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0zLCA4cHgpO1xuICB9XG4gIC5teDQtbSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpO1xuICB9XG4gIC5teDUtbSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNSwgMzJweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpO1xuICB9XG4gIC5teDYtbSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNiwgNjRweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpO1xuICB9XG4gIC5teDctbSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7XG4gIH1cbiAgLm14OC1tIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTtcbiAgfVxuICAubXg5LW0ge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpO1xuICB9XG5cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLnAwLWwgIHsgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMCwgMCk7IH1cbiAgLnAxLWwgeyAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xLCAycHgpOyB9XG4gIC5wMi1sIHsgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuICAucDMtbCAgeyAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zLCA4cHgpOyB9XG4gIC5wNC1sICB7ICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpOyB9XG4gIC5wNS1sICB7ICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4gIC5wNi1sICB7ICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpOyB9XG4gIC5wNy1sIHsgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpOyB9XG4gIC5wOC1sIHsgcGFkZGluZzogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbiAgLnA5LWwgeyBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTsgfVxuXG4gIC5wbDAtbCB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuICAucGwxLWwgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMSwgMnB4KTsgfVxuICAucGwyLWwgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuICAucGwzLWwgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMywgOHB4KTsgfVxuICAucGw0LWwgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7IH1cbiAgLnBsNS1sIHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4gIC5wbDYtbCB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy02LCA2NHB4KTsgfVxuICAucGw3LWwgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpOyB9XG4gIC5wbDgtbCB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbiAgLnBsOS1sIHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTsgfVxuXG4gIC5wcjAtbCB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMCwgMCk7IH1cbiAgLnByMS1sIHsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy0xLCAycHgpOyB9XG4gIC5wcjItbCB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuICAucHIzLWwgeyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7IH1cbiAgLnByNC1sIHsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy00LCAxNnB4KTsgfVxuICAucHI1LWwgeyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4gIC5wcjYtbCB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNiwgNjRweCk7IH1cbiAgLnByNy1sIHsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7IH1cbiAgLnByOC1sIHsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbiAgLnByOS1sIHsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7IH1cblxuICAucGIwLWwgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuICAucGIxLWwgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xLCAycHgpOyB9XG4gIC5wYjItbCB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7IH1cbiAgLnBiMy1sIHsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMywgOHB4KTsgfVxuICAucGI0LWwgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00LCAxNnB4KTsgfVxuICAucGI1LWwgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy01LCAzMnB4KTsgfVxuICAucGI2LWwgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy02LCA2NHB4KTsgfVxuICAucGI3LWwgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7IH1cbiAgLnBiOC1sIHsgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpOyB9XG4gIC5wYjktbCB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTsgfVxuXG4gIC5wdDAtbCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTAsIDApOyB9XG4gIC5wdDEtbCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7IH1cbiAgLnB0Mi1sIHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuICAucHQzLWwgeyBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0zLCA4cHgpOyB9XG4gIC5wdDQtbCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpOyB9XG4gIC5wdDUtbCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4gIC5wdDYtbCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpOyB9XG4gIC5wdDctbCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTsgfVxuICAucHQ4LWwgeyBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbiAgLnB0OS1sIHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpOyB9XG5cbiAgLnB5MC1sIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0wLCAwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0wLCAwKTtcbiAgfVxuICAucHkxLWwge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMSwgMnB4KTtcbiAgfVxuICAucHkyLWwge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMiwgNHB4KTtcbiAgfVxuICAucHkzLWwge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMywgOHB4KTtcbiAgfVxuICAucHk0LWwge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpO1xuICB9XG4gIC5weTUtbCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNSwgMzJweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNSwgMzJweCk7XG4gIH1cbiAgLnB5Ni1sIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy02LCA2NHB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy02LCA2NHB4KTtcbiAgfVxuICAucHk3LWwge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7XG4gIH1cbiAgLnB5OC1sIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpO1xuICB9XG4gIC5weTktbCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTtcbiAgfVxuXG4gIC5weDAtbCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTAsIDApO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMCwgMCk7XG4gIH1cbiAgLnB4MS1sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMSwgMnB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7XG4gIH1cbiAgLnB4Mi1sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMiwgNHB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7XG4gIH1cbiAgLnB4My1sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMywgOHB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7XG4gIH1cbiAgLnB4NC1sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy00LCAxNnB4KTtcbiAgfVxuICAucHg1LWwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy01LCAzMnB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpO1xuICB9XG4gIC5weDYtbCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNiwgNjRweCk7XG4gIH1cbiAgLnB4Ny1sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpO1xuICB9XG4gIC5weDgtbCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTtcbiAgfVxuICAucHg5LWwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7XG4gIH1cblxuICAubTAtbCAgeyAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTAsIDApOyB9XG4gIC5tMS1sIHsgIG1hcmdpbjogdmFyKC0tc3BhY2luZy0xLCAycHgpOyB9XG4gIC5tMi1sIHsgIG1hcmdpbjogdmFyKC0tc3BhY2luZy0yLCA0cHgpOyB9XG4gIC5tMy1sICB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctMywgOHB4KTsgfVxuICAubTQtbCAgeyAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpOyB9XG4gIC5tNS1sICB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctNSwgMzJweCk7IH1cbiAgLm02LWwgIHsgIG1hcmdpbjogdmFyKC0tc3BhY2luZy02LCA2NHB4KTsgfVxuICAubTctbCB7ICBtYXJnaW46IHZhcigtLXNwYWNpbmctNywgMTI4cHgpOyB9XG4gIC5tOC1sIHsgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTsgfVxuICAubTktbCB7IG1hcmdpbjogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7IH1cblxuICAubWwwLWwgIHsgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTAsIDApOyB9XG4gIC5tbDEtbCB7ICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0zLCAycHgpOyB9XG4gIC5tbDItbCB7ICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0yLCA0cHgpOyB9XG4gIC5tbDMtbCAgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMywgOHB4KTsgfVxuICAubWw0LWwgIHsgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpOyB9XG4gIC5tbDUtbCAgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNSwgMzJweCk7IH1cbiAgLm1sNi1sICB7ICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy02LCA2NHB4KTsgfVxuICAubWw3LWwgeyAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpOyB9XG4gIC5tbDgtbCB7IG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTsgfVxuICAubWw5LWwgeyBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7IH1cblxuICAubXIwLWwgIHsgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0wLCAwKTsgfVxuICAubXIxLWwgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7IH1cbiAgLm1yMi1sIHsgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0yLCA0cHgpOyB9XG4gIC5tcjMtbCAgeyAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7IH1cbiAgLm1yNC1sICB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7IH1cbiAgLm1yNS1sICB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNSwgMzJweCk7IH1cbiAgLm1yNi1sICB7ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNiwgNjRweCk7IH1cbiAgLm1yNy1sIHsgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7IH1cbiAgLm1yOC1sIHsgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTgsIDI1NnB4KTsgfVxuICAubXI5LWwgeyBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpOyB9XG5cbiAgLm1iMC1sICB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTAsIDApOyB9XG4gIC5tYjEtbCB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7IH1cbiAgLm1iMi1sIHsgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMiwgNHB4KTsgfVxuICAubWIzLWwgIHsgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMywgOHB4KTsgfVxuICAubWI0LWwgIHsgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNCwgMTZweCk7IH1cbiAgLm1iNS1sICB7ICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpOyB9XG4gIC5tYjYtbCAgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy02LCA2NHB4KTsgfVxuICAubWI3LWwgeyAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy03LCAxMjhweCk7IH1cbiAgLm1iOC1sIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7IH1cbiAgLm1iOS1sIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7IH1cblxuICAubXQwLWwgeyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTAsIDApOyB9XG4gIC5tdDEtbCB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMSwgMnB4KTsgfVxuICAubXQyLWwgeyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTIsIDRweCk7IH1cbiAgLm10My1sIHsgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0zLCA4cHgpOyB9XG4gIC5tdDQtbCB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNCwgMTZweCk7IH1cbiAgLm10NS1sIHsgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy01LCAzMnB4KTsgfVxuICAubXQ2LWwgeyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpOyB9XG4gIC5tdDctbCB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpOyB9XG4gIC5tdDgtbCB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpOyB9XG4gIC5tdDktbCB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOSwgNTEycHgpOyB9XG5cbiAgLm15MC1sIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTAsIDApO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMCwgMCk7XG4gIH1cbiAgLm15MS1sIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xLCAycHgpO1xuICB9XG4gIC5teTItbCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yLCA0cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMiwgNHB4KTtcbiAgfVxuICAubXkzLWwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMywgOHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTMsIDhweCk7XG4gIH1cbiAgLm15NC1sIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNCwgMTZweCk7XG4gIH1cbiAgLm15NS1sIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNSwgMzJweCk7XG4gIH1cbiAgLm15Ni1sIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNiwgNjRweCk7XG4gIH1cbiAgLm15Ny1sIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTtcbiAgfVxuICAubXk4LWwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpO1xuICB9XG4gIC5teTktbCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7XG4gIH1cblxuICAubXgwLWwge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTAsIDApO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0wLCAwKTtcbiAgfVxuICAubXgxLWwge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEsIDJweCk7XG4gIH1cbiAgLm14Mi1sIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0yLCA0cHgpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0yLCA0cHgpO1xuICB9XG4gIC5teDMtbCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMywgOHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMywgOHB4KTtcbiAgfVxuICAubXg0LWwge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQsIDE2cHgpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy00LCAxNnB4KTtcbiAgfVxuICAubXg1LWwge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTUsIDMycHgpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy01LCAzMnB4KTtcbiAgfVxuICAubXg2LWwge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTYsIDY0cHgpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy02LCA2NHB4KTtcbiAgfVxuICAubXg3LWwge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTcsIDEyOHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNywgMTI4cHgpO1xuICB9XG4gIC5teDgtbCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctOCwgMjU2cHgpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy04LCAyNTZweCk7XG4gIH1cbiAgLm14OS1sIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy05LCA1MTJweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTksIDUxMnB4KTtcbiAgfVxufVxuXG4iLCIvKlxuICAgTkVHQVRJVkUgTUFSR0lOU1xuXG4gICBCYXNlOlxuICAgICBuID0gbmVnYXRpdmVcblxuICAgTW9kaWZpZXJzOlxuICAgICBhID0gYWxsXG4gICAgIHQgPSB0b3BcbiAgICAgciA9IHJpZ2h0XG4gICAgIGIgPSBib3R0b21cbiAgICAgbCA9IGxlZnRcblxuICAgICAxID0gMXN0IHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICAyID0gMm5kIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICAzID0gM3JkIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICA0ID0gNHRoIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICA1ID0gNXRoIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICA2ID0gNnRoIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuICAgICA3ID0gN3RoIHN0ZXAgaW4gc3BhY2luZyBzY2FsZVxuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtcyA9IHNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG5cblxuLm5hMSB7IG1hcmdpbjogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMSkpOyB9XG4ubmEyIHsgbWFyZ2luOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0yKSk7IH1cbi5uYTMgeyBtYXJnaW46IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTMpKTsgfVxuLm5hNCB7IG1hcmdpbjogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNCkpOyB9XG4ubmE1IHsgbWFyZ2luOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy01KSk7IH1cbi5uYTYgeyBtYXJnaW46IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTYpKTsgfVxuLm5hNyB7IG1hcmdpbjogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNykpOyB9XG5cbi5ubDEgeyBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMSkpOyB9XG4ubmwyIHsgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTIpKTsgfVxuLm5sMyB7IG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0zKSk7IH1cbi5ubDQgeyBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNCkpOyB9XG4ubmw1IHsgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTUpKTsgfVxuLm5sNiB7IG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy02KSk7IH1cbi5ubDcgeyBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNykpOyB9XG5cbi5ucjEgeyBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTEpKTsgfVxuLm5yMiB7IG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMikpOyB9XG4ubnIzIHsgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0zKSk7IH1cbi5ucjQgeyBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTQpKTsgfVxuLm5yNSB7IG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNSkpOyB9XG4ubnI2IHsgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy02KSk7IH1cbi5ucjcgeyBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTcpKTsgfVxuXG4ubmIxIHsgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMSkpOyB9XG4ubmIyIHsgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMikpOyB9XG4ubmIzIHsgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMykpOyB9XG4ubmI0IHsgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNCkpOyB9XG4ubmI1IHsgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNSkpOyB9XG4ubmI2IHsgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNikpOyB9XG4ubmI3IHsgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNykpOyB9XG5cbi5udDEgeyBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0xKSk7IH1cbi5udDIgeyBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0yKSk7IH1cbi5udDMgeyBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0zKSk7IH1cbi5udDQgeyBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy00KSk7IH1cbi5udDUgeyBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy01KSk7IH1cbi5udDYgeyBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy02KSk7IH1cbi5udDcgeyBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy03KSk7IH1cblxuQGNvbnRhaW5lciAoLS1icmVha3BvaW50LTIpIHtcblxuICAubmExLXMgeyBtYXJnaW46IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTEpKTsgfVxuICAubmEyLXMgeyBtYXJnaW46IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTIpKTsgfVxuICAubmEzLXMgeyBtYXJnaW46IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTMpKTsgfVxuICAubmE0LXMgeyBtYXJnaW46IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTQpKTsgfVxuICAubmE1LXMgeyBtYXJnaW46IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTUpKTsgfVxuICAubmE2LXMgeyBtYXJnaW46IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTYpKTsgfVxuICAubmE3LXMgeyBtYXJnaW46IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTcpKTsgfVxuXG4gIC5ubDEtcyB7IG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0xKSk7IH1cbiAgLm5sMi1zIHsgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTIpKTsgfVxuICAubmwzLXMgeyBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMykpOyB9XG4gIC5ubDQtcyB7IG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy00KSk7IH1cbiAgLm5sNS1zIHsgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTUpKTsgfVxuICAubmw2LXMgeyBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNikpOyB9XG4gIC5ubDctcyB7IG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy03KSk7IH1cblxuICAubnIxLXMgeyBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTEpKTsgfVxuICAubnIyLXMgeyBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTIpKTsgfVxuICAubnIzLXMgeyBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTMpKTsgfVxuICAubnI0LXMgeyBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTQpKTsgfVxuICAubnI1LXMgeyBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTUpKTsgfVxuICAubnI2LXMgeyBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTYpKTsgfVxuICAubnI3LXMgeyBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTcpKTsgfVxuXG4gIC5uYjEtcyB7IG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTEpKTsgfVxuICAubmIyLXMgeyBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0yKSk7IH1cbiAgLm5iMy1zIHsgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMykpOyB9XG4gIC5uYjQtcyB7IG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTQpKTsgfVxuICAubmI1LXMgeyBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy01KSk7IH1cbiAgLm5iNi1zIHsgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNikpOyB9XG4gIC5uYjctcyB7IG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTcpKTsgfVxuXG4gIC5udDEtcyB7IG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTEpKTsgfVxuICAubnQyLXMgeyBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0yKSk7IH1cbiAgLm50My1zIHsgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMykpOyB9XG4gIC5udDQtcyB7IG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTQpKTsgfVxuICAubnQ1LXMgeyBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy01KSk7IH1cbiAgLm50Ni1zIHsgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNikpOyB9XG4gIC5udDctcyB7IG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTcpKTsgfVxuXG59XG5cbkBjb250YWluZXIgKC0tYnJlYWtwb2ludC0zKSB7XG4gIC5uYTEtbSB7IG1hcmdpbjogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMSkpOyB9XG4gIC5uYTItbSB7IG1hcmdpbjogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMikpOyB9XG4gIC5uYTMtbSB7IG1hcmdpbjogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMykpOyB9XG4gIC5uYTQtbSB7IG1hcmdpbjogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNCkpOyB9XG4gIC5uYTUtbSB7IG1hcmdpbjogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNSkpOyB9XG4gIC5uYTYtbSB7IG1hcmdpbjogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNikpOyB9XG4gIC5uYTctbSB7IG1hcmdpbjogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNykpOyB9XG5cbiAgLm5sMS1tIHsgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTEpKTsgfVxuICAubmwyLW0geyBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMikpOyB9XG4gIC5ubDMtbSB7IG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0zKSk7IH1cbiAgLm5sNC1tIHsgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTQpKTsgfVxuICAubmw1LW0geyBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNSkpOyB9XG4gIC5ubDYtbSB7IG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy02KSk7IH1cbiAgLm5sNy1tIHsgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTcpKTsgfVxuXG4gIC5ucjEtbSB7IG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMSkpOyB9XG4gIC5ucjItbSB7IG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMikpOyB9XG4gIC5ucjMtbSB7IG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMykpOyB9XG4gIC5ucjQtbSB7IG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNCkpOyB9XG4gIC5ucjUtbSB7IG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNSkpOyB9XG4gIC5ucjYtbSB7IG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNikpOyB9XG4gIC5ucjctbSB7IG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNykpOyB9XG5cbiAgLm5iMS1tIHsgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMSkpOyB9XG4gIC5uYjItbSB7IG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTIpKTsgfVxuICAubmIzLW0geyBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0zKSk7IH1cbiAgLm5iNC1tIHsgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNCkpOyB9XG4gIC5uYjUtbSB7IG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTUpKTsgfVxuICAubmI2LW0geyBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy02KSk7IH1cbiAgLm5iNy1tIHsgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNykpOyB9XG5cbiAgLm50MS1tIHsgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMSkpOyB9XG4gIC5udDItbSB7IG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTIpKTsgfVxuICAubnQzLW0geyBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0zKSk7IH1cbiAgLm50NC1tIHsgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNCkpOyB9XG4gIC5udDUtbSB7IG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTUpKTsgfVxuICAubnQ2LW0geyBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy02KSk7IH1cbiAgLm50Ny1tIHsgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNykpOyB9XG5cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLm5hMS1sIHsgbWFyZ2luOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0xKSk7IH1cbiAgLm5hMi1sIHsgbWFyZ2luOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0yKSk7IH1cbiAgLm5hMy1sIHsgbWFyZ2luOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0zKSk7IH1cbiAgLm5hNC1sIHsgbWFyZ2luOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy00KSk7IH1cbiAgLm5hNS1sIHsgbWFyZ2luOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy01KSk7IH1cbiAgLm5hNi1sIHsgbWFyZ2luOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy02KSk7IH1cbiAgLm5hNy1sIHsgbWFyZ2luOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy03KSk7IH1cblxuICAubmwxLWwgeyBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMSkpOyB9XG4gIC5ubDItbCB7IG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0yKSk7IH1cbiAgLm5sMy1sIHsgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTMpKTsgfVxuICAubmw0LWwgeyBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNCkpOyB9XG4gIC5ubDUtbCB7IG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy01KSk7IH1cbiAgLm5sNi1sIHsgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTYpKTsgfVxuICAubmw3LWwgeyBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNykpOyB9XG5cbiAgLm5yMS1sIHsgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0xKSk7IH1cbiAgLm5yMi1sIHsgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0yKSk7IH1cbiAgLm5yMy1sIHsgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0zKSk7IH1cbiAgLm5yNC1sIHsgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy00KSk7IH1cbiAgLm5yNS1sIHsgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy01KSk7IH1cbiAgLm5yNi1sIHsgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy02KSk7IH1cbiAgLm5yNy1sIHsgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy03KSk7IH1cblxuICAubmIxLWwgeyBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0xKSk7IH1cbiAgLm5iMi1sIHsgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMikpOyB9XG4gIC5uYjMtbCB7IG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTMpKTsgfVxuICAubmI0LWwgeyBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy00KSk7IH1cbiAgLm5iNS1sIHsgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNSkpOyB9XG4gIC5uYjYtbCB7IG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTYpKTsgfVxuICAubmI3LWwgeyBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy03KSk7IH1cblxuICAubnQxLWwgeyBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0xKSk7IH1cbiAgLm50Mi1sIHsgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMikpOyB9XG4gIC5udDMtbCB7IG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTMpKTsgfVxuICAubnQ0LWwgeyBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy00KSk7IH1cbiAgLm50NS1sIHsgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctNSkpOyB9XG4gIC5udDYtbCB7IG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zcGFjaW5nLTYpKTsgfVxuICAubnQ3LWwgeyBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy03KSk7IH1cbn1cblxuIiwiLypcblxuICBUQUJMRVNcbiAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvZWxlbWVudHMvdGFibGVzL1xuXG4qL1xuXG4uY29sbGFwc2Uge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbi5zdHJpcGVkLS1saWdodDpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYXktMTApO1xufVxuXG4uc3RyaXBlZC0tZGFyazpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYXktMCk7XG59XG4iLCIvKlxuXG4gICBURVhUIERFQ09SQVRJT05cbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL3R5cG9ncmFwaHkvdGV4dC1kZWNvcmF0aW9uL1xuXG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1zID0gc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cbi5zdHJpa2UgICAgICAgeyB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuLnVuZGVybGluZSAgICB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4ubm8tdW5kZXJsaW5lIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4iLCIvKlxuXG4gIFRFWFQgQUxJR05cbiAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvdHlwb2dyYXBoeS90ZXh0LWFsaWduL1xuXG4gIEJhc2VcbiAgICB0ID0gdGV4dC1hbGlnblxuXG4gIE1vZGlmaWVyc1xuICAgIGwgPSBsZWZ0XG4gICAgciA9IHJpZ2h0XG4gICAgYyA9IGNlbnRlclxuICAgIGogPSBqdXN0aWZ5XG5cbiAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgICAtcyA9IHNtYWxsXG4gICAgLW0gID0gbWVkaXVtXG4gICAgLWwgID0gbGFyZ2VcblxuKi9cblxuLnRsICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbi50ciAgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuLnRjICB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuLnRqICB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgLnRsLXMgIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAudHItcyAgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAudGMtcyAgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnRqLXMgIHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NDhlbSkge1xuICAudGwtbSAgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC50ci1tICB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC50Yy1tICB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudGotbSAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG4gIC50bC1sICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnRyLWwgIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnRjLWwgIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC50ai1sICB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbn1cblxuIiwiLypcblxuICAgVEVYVCBUUkFOU0ZPUk1cbiAgIERvY3M6IGh0dHA6Ly90YWNoeW9ucy5pby9kb2NzL3R5cG9ncmFwaHkvdGV4dC10cmFuc2Zvcm0vXG5cbiAgIEJhc2U6XG4gICAgIHR0ID0gdGV4dC10cmFuc2Zvcm1cblxuICAgTW9kaWZpZXJzXG4gICAgIGMgPSBjYXBpdGFsaXplXG4gICAgIGwgPSBsb3dlcmNhc2VcbiAgICAgdSA9IHVwcGVyY2FzZVxuICAgICBuID0gbm9uZVxuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtcyA9IHNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG4udHRjIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbi50dGwgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4udHR1IHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuLnR0biB7IHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDozMGVtKSB7XG4gIC50dGMtcyB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC50dGwtcyB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cbiAgLnR0dS1zIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAudHRuLXMgeyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NDhlbSkge1xuICAudHRjLW0geyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAudHRsLW0geyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4gIC50dHUtbSB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnR0bi1tIHsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLnR0Yy1sIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgLnR0bC1sIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuICAudHR1LWwgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC50dG4tbCB7IHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG59XG4iLCIvKiBcblxuICAgVFlQRSBTQ0FMRVxuICAgRG9jczogaHR0cDovL3RhY2h5b25zLmlvL2RvY3MvdHlwZS1zY2FsZVxuXG4gICBCYXNlOlxuICAgIGYgPSBmb250LXNpemVcblxuICAgTW9kaWZpZXJzXG4gICAgIDEgPSAxc3Qgc3RlcCBpbiBzaXplIHNjYWxlXG4gICAgIDIgPSAybmQgc3RlcCBpbiBzaXplIHNjYWxlXG4gICAgIDMgPSAzcmQgc3RlcCBpbiBzaXplIHNjYWxlXG4gICAgIDQgPSA0dGggc3RlcCBpbiBzaXplIHNjYWxlXG4gICAgIDUgPSA1dGggc3RlcCBpbiBzaXplIHNjYWxlXG4gICAgIDYgPSA2dGggc3RlcCBpbiBzaXplIHNjYWxlXG4gICAgIDcgPSA3dGggc3RlcCBpbiBzaXplIHNjYWxlXG4gICAgIDggPSA4dGggc3RlcCBpbiBzaXplIHNjYWxlXG4gICAgIDkgPSA5dGggc3RlcCBpbiBzaXplIHNjYWxlXG4gICAgIDEwID0gMTB0aCBzdGVwIGluIHNpemUgc2NhbGVcbiAgICAgMTEgPSAxMXRoIHN0ZXAgaW4gc2l6ZSBzY2FsZVxuICAgICAxMiA9IDEydGggc3RlcCBpbiBzaXplIHNjYWxlXG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1zID0gc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG4qL1xuXG4vKiBUeXBlIFNjYWxlICovXG5cbi5mMSB7IGZvbnQtc2l6ZTogIHZhcigtLWZvbnQtc2l6ZS0xLCAuNzVyZW0pOyB9XG4uZjIgeyBmb250LXNpemU6ICB2YXIoLS1mb250LXNpemUtMiwgLjg3NXJlbSk7IH1cbi5mMyB7IGZvbnQtc2l6ZTogIHZhcigtLWZvbnQtc2l6ZS0zLCAxcmVtKTsgfVxuLmY0IHsgZm9udC1zaXplOiAgdmFyKC0tZm9udC1zaXplLTQsIDEuMTI1cmVtKTsgfVxuLmY1IHsgZm9udC1zaXplOiAgdmFyKC0tZm9udC1zaXplLTUsIDEuMjVyZW0pOyB9XG4uZjYgeyBmb250LXNpemU6ICB2YXIoLS1mb250LXNpemUtNiwgMS41cmVtKTsgfVxuLmY3IHsgZm9udC1zaXplOiAgdmFyKC0tZm9udC1zaXplLTcsIDJyZW0pOyB9IFxuLmY4IHsgZm9udC1zaXplOiAgdmFyKC0tZm9udC1zaXplLTgsIDNyZW0pOyB9IFxuLmY5IHsgZm9udC1zaXplOiAgdmFyKC0tZm9udC1zaXplLTksIDRyZW0pOyB9IFxuLmYxMCB7IGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTEwLCA2cmVtKTsgfSBcbi5mMTEgeyBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xMSwgOHJlbSk7IH0gXG4uZjEyIHsgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTIsIDEycmVtKTsgfSBcblxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6MzBlbSl7XG4gIC5mMS1zIHsgZm9udC1zaXplOiAgdmFyKC0tZm9udC1zaXplLTEsIC43NXJlbSk7IH1cbiAgLmYyLXMgeyBmb250LXNpemU6ICB2YXIoLS1mb250LXNpemUtMiwgLjg3NXJlbSk7IH1cbiAgLmYzLXMgeyBmb250LXNpemU6ICB2YXIoLS1mb250LXNpemUtMywgMXJlbSk7IH1cbiAgLmY0LXMgeyBmb250LXNpemU6ICB2YXIoLS1mb250LXNpemUtNCwgMS4xMjVyZW0pOyB9XG4gIC5mNS1zIHsgZm9udC1zaXplOiAgdmFyKC0tZm9udC1zaXplLTUsIDEuMjVyZW0pOyB9XG4gIC5mNi1zIHsgZm9udC1zaXplOiAgdmFyKC0tZm9udC1zaXplLTYsIDEuNXJlbSk7IH1cbiAgLmY3LXMgeyBmb250LXNpemU6ICB2YXIoLS1mb250LXNpemUtNywgMnJlbSk7IH0gXG4gIC5mOC1zIHsgZm9udC1zaXplOiAgdmFyKC0tZm9udC1zaXplLTgsIDNyZW0pOyB9IFxuICAuZjktcyB7IGZvbnQtc2l6ZTogIHZhcigtLWZvbnQtc2l6ZS05LCA0cmVtKTsgfSBcbiAgLmYxMC1zIHsgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTAsIDZyZW0pOyB9IFxuICAuZjExLXMgeyBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xMSwgOHJlbSk7IH0gXG4gIC5mMTItcyB7IGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTEyLCAxMnJlbSk7IH0gXG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG4gIC5mMS1tIHsgZm9udC1zaXplOiAgdmFyKC0tZm9udC1zaXplLTEsIC43NXJlbSk7IH1cbiAgLmYyLW0geyBmb250LXNpemU6ICB2YXIoLS1mb250LXNpemUtMiwgLjg3NXJlbSk7IH1cbiAgLmYzLW0geyBmb250LXNpemU6ICB2YXIoLS1mb250LXNpemUtMywgMXJlbSk7IH1cbiAgLmY0LW0geyBmb250LXNpemU6ICB2YXIoLS1mb250LXNpemUtNCwgMS4xMjVyZW0pOyB9XG4gIC5mNS1tIHsgZm9udC1zaXplOiAgdmFyKC0tZm9udC1zaXplLTUsIDEuMjVyZW0pOyB9XG4gIC5mNi1tIHsgZm9udC1zaXplOiAgdmFyKC0tZm9udC1zaXplLTYsIDEuNXJlbSk7IH1cbiAgLmY3LW0geyBmb250LXNpemU6ICB2YXIoLS1mb250LXNpemUtNywgMnJlbSk7IH0gXG4gIC5mOC1tIHsgZm9udC1zaXplOiAgdmFyKC0tZm9udC1zaXplLTgsIDNyZW0pOyB9IFxuICAuZjktbSB7IGZvbnQtc2l6ZTogIHZhcigtLWZvbnQtc2l6ZS05LCA0cmVtKTsgfSBcbiAgLmYxMC1tIHsgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTAsIDZyZW0pOyB9IFxuICAuZjExLW0geyBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xMSwgOHJlbSk7IH0gXG4gIC5mMTItbSB7IGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTEyLCAxMnJlbSk7IH0gXG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG4gIC5mMS1sIHsgZm9udC1zaXplOiAgdmFyKC0tZm9udC1zaXplLTEsIC43NXJlbSk7IH1cbiAgLmYyLWwgeyBmb250LXNpemU6ICB2YXIoLS1mb250LXNpemUtMiwgLjg3NXJlbSk7IH1cbiAgLmYzLWwgeyBmb250LXNpemU6ICB2YXIoLS1mb250LXNpemUtMywgMXJlbSk7IH1cbiAgLmY0LWwgeyBmb250LXNpemU6ICB2YXIoLS1mb250LXNpemUtNCwgMS4xMjVyZW0pOyB9XG4gIC5mNS1sIHsgZm9udC1zaXplOiAgdmFyKC0tZm9udC1zaXplLTUsIDEuMjVyZW0pOyB9XG4gIC5mNi1sIHsgZm9udC1zaXplOiAgdmFyKC0tZm9udC1zaXplLTYsIDEuNXJlbSk7IH1cbiAgLmY3LWwgeyBmb250LXNpemU6ICB2YXIoLS1mb250LXNpemUtNywgMnJlbSk7IH0gXG4gIC5mOC1sIHsgZm9udC1zaXplOiAgdmFyKC0tZm9udC1zaXplLTgsIDNyZW0pOyB9IFxuICAuZjktbCB7IGZvbnQtc2l6ZTogIHZhcigtLWZvbnQtc2l6ZS05LCA0cmVtKTsgfSBcbiAgLmYxMC1sIHsgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTAsIDZyZW0pOyB9IFxuICAuZjExLWwgeyBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xMSwgOHJlbSk7IH0gXG4gIC5mMTItbCB7IGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTEyLCAxMnJlbSk7IH0gXG59XG4iLCIvKlxuXG4gICBUWVBPR1JBUEhZXG4gICBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy90eXBvZ3JhcGh5L21lYXN1cmUvXG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1zID0gc21hbGxcbiAgICAgLW0gID0gbWVkaXVtXG4gICAgIC1sICA9IGxhcmdlXG5cbiovXG5cblxuLyogTWVhc3VyZSBpcyBsaW1pdGVkIHRvIDY2IGNoYXJhY3RlcnMgKi9cbi5tZWFzdXJlIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1tZWFzdXJlLCA2NmNoKTtcbn1cblxuLyogTWVhc3VyZSBpcyBsaW1pdGVkIHRvIH44MCBjaGFyYWN0ZXJzICovXG4ubWVhc3VyZS13aWRlIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1tZWFzdXJlLXdpZGUsIDgwY2gpO1xufVxuXG4vKiBNZWFzdXJlIGlzIGxpbWl0ZWQgdG8gNDUgY2hhcmFjdGVycyAqL1xuLm1lYXN1cmUtbmFycm93IHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1tZWFzdXJlLW5hcnJvdywgNDVjaCk7XG59XG5cbi8qIEJvb2sgcGFyYWdyYXBoIHN0eWxlIC0gcGFyYWdyYXBocyBhcmUgaW5kZW50ZWQgd2l0aCBubyB2ZXJ0aWNhbCBzcGFjaW5nLiAqL1xuLmluZGVudCB7XG4gIHRleHQtaW5kZW50OiAxZW07XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zbWFsbC1jYXBzIHtcbiAgZm9udC12YXJpYW50OiBzbWFsbC1jYXBzO1xufVxuXG4vKiBDb21iaW5lIHRoaXMgY2xhc3Mgd2l0aCBhIHdpZHRoIHRvIHRydW5jYXRlIHRleHQgKG9yIGp1c3QgbGVhdmUgYXMgaXMgdG8gdHJ1bmNhdGUgYXQgd2lkdGggb2YgY29udGFpbmluZyBlbGVtZW50LiAqL1xuXG4udHJ1bmNhdGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgLm1lYXN1cmUtcyB7IG1heC13aWR0aDogdmFyKC0tbWVhc3VyZSwgNjZjaCk7IH1cbiAgLm1lYXN1cmUtd2lkZS1zIHsgbWF4LXdpZHRoOiB2YXIoLS1tZWFzdXJlLXdpZGUsIDgwY2gpOyB9XG4gIC5tZWFzdXJlLW5hcnJvdy1zIHsgbWF4LXdpZHRoOiB2YXIoLS1tZWFzdXJlLW5hcnJvdywgNDVjaCk7IH1cbiAgLnNtYWxsLWNhcHMtcyB7IGZvbnQtdmFyaWFudDogc21hbGwtY2FwczsgfVxuICAuaW5kZW50LXMge1xuICAgIHRleHQtaW5kZW50OiAxZW07XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC50cnVuY2F0ZS1zIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjQ4ZW0pIHtcbiAgLm1lYXN1cmUtbSB7IG1heC13aWR0aDogdmFyKC0tbWVhc3VyZSwgNjZjaCk7IH1cbiAgLm1lYXN1cmUtd2lkZS1tIHsgbWF4LXdpZHRoOiB2YXIoLS1tZWFzdXJlLXdpZGUsIDgwY2gpOyB9XG4gIC5tZWFzdXJlLW5hcnJvdy1tIHsgbWF4LXdpZHRoOiB2YXIoLS1tZWFzdXJlLW5hcnJvdywgNDVjaCk7IH1cbiAgLnNtYWxsLWNhcHMtbSB7IGZvbnQtdmFyaWFudDogc21hbGwtY2FwczsgfVxuICAuaW5kZW50LW0ge1xuICAgIHRleHQtaW5kZW50OiAxZW07XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC50cnVuY2F0ZS1tIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLm1lYXN1cmUtbCB7IG1heC13aWR0aDogdmFyKC0tbWVhc3VyZSwgNjZjaCk7IH1cbiAgLm1lYXN1cmUtd2lkZS1sIHsgbWF4LXdpZHRoOiB2YXIoLS1tZWFzdXJlLXdpZGUsIDgwY2gpOyB9XG4gIC5tZWFzdXJlLW5hcnJvdy1sIHsgbWF4LXdpZHRoOiB2YXIoLS1tZWFzdXJlLW5hcnJvdywgNDVjaCk7IH1cbiAgLnNtYWxsLWNhcHMtbCB7IGZvbnQtdmFyaWFudDogc21hbGwtY2FwczsgfVxuICAuaW5kZW50LWwge1xuICAgIHRleHQtaW5kZW50OiAxZW07XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC50cnVuY2F0ZS1sIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cbn1cbiIsIi8qXG5cbiAgIFVUSUxJVElFU1xuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtcyA9IHNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG4uY2VudGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLm1yLWF1dG8geyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbi5tbC1hdXRvIHsgbWFyZ2luLWxlZnQ6ICBhdXRvOyB9XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDozMGVtKXtcbiAgLmNlbnRlci1zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgLm1yLWF1dG8tcyB7IG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAubWwtYXV0by1zIHsgbWFyZ2luLWxlZnQ6ICBhdXRvOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKXtcbiAgLmNlbnRlci1tIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgLm1yLWF1dG8tbSB7IG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAubWwtYXV0by1tIHsgbWFyZ2luLWxlZnQ6ICBhdXRvOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKXtcbiAgLmNlbnRlci1sIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgLm1yLWF1dG8tbCB7IG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAubWwtYXV0by1sIHsgbWFyZ2luLWxlZnQ6ICBhdXRvOyB9XG59XG4iLCIvKlxuXG4gICBWSVNJQklMSVRZXG5cbiAgIE1lZGlhIFF1ZXJ5IEV4dGVuc2lvbnM6XG4gICAgIC1zICA9IHNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG5cbi8qXG4gICAgVGV4dCB0aGF0IGlzIGhpZGRlbiBidXQgYWNjZXNzaWJsZVxuICAgIFJlZjogaHR0cHM6Ly9hY2Nlc3NpYmlsaXR5LjE4Zi5nb3YvaGlkZGVuLWNvbnRlbnQvXG4qL1xuXG4uY2xpcCB7XG4gIGJvcmRlcjogMDsgXG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7IFxuICBoZWlnaHQ6IDFweDsgXG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6MzBlbSkge1xuICAuY2xpcC1zIHtcbiAgICBib3JkZXI6IDA7IFxuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7IFxuICAgIGhlaWdodDogMXB4OyBcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo0OGVtKSB7XG4gIC5jbGlwLW0ge1xuICAgIGJvcmRlcjogMDsgXG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTsgXG4gICAgaGVpZ2h0OiAxcHg7IFxuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gIH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLmNsaXAtbCB7XG4gICAgYm9yZGVyOiAwOyBcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApOyBcbiAgICBoZWlnaHQ6IDFweDsgXG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgfVxufVxuXG4iLCIvKlxuXG4gICBXSElURSBTUEFDRVxuXG4gICBNZWRpYSBRdWVyeSBFeHRlbnNpb25zOlxuICAgICAtcyA9IHNtYWxsXG4gICAgIC1tICA9IG1lZGl1bVxuICAgICAtbCAgPSBsYXJnZVxuXG4qL1xuXG5cbi53cy1ub3JtYWwgeyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG4ubm93cmFwIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuLnByZSB7IHdoaXRlLXNwYWNlOiBwcmU7IH1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgLndzLW5vcm1hbC1zIHsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAubm93cmFwLXMgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5wcmUtcyB7IHdoaXRlLXNwYWNlOiBwcmU7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjQ4ZW0pIHtcbiAgLndzLW5vcm1hbC1tIHsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAubm93cmFwLW0geyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5wcmUtbSB7IHdoaXRlLXNwYWNlOiBwcmU7IH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjY0ZW0pIHtcbiAgLndzLW5vcm1hbC1sIHsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAubm93cmFwLWwgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5wcmUtbCB7IHdoaXRlLXNwYWNlOiBwcmU7IH1cbn1cblxuIiwiLypcblxuICAgVkVSVElDQUwgQUxJR05cblxuICAgTWVkaWEgUXVlcnkgRXh0ZW5zaW9uczpcbiAgICAgLXMgPSBzbWFsbFxuICAgICAtbSAgPSBtZWRpdW1cbiAgICAgLWwgID0gbGFyZ2VcblxuKi9cblxuLnYtYmFzZSAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbi52LW1pZCAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuLnYtdG9wICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4udi1idG0gICAgICB7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOjMwZW0pIHtcbiAgLnYtYmFzZS1zICAgICB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuICAudi1taWQtcyAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAudi10b3AtcyAgICAgIHsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAudi1idG0tcyAgICAgIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxufVxuXG5AY29udGFpbmVyIChtaW4td2lkdGg6NDhlbSkge1xuICAudi1iYXNlLW0gICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gIC52LW1pZC1tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC52LXRvcC1tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC52LWJ0bS1tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDo2NGVtKSB7XG4gIC52LWJhc2UtbCAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiAgLnYtbWlkLWwgICAgICB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLnYtdG9wLWwgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLnYtYnRtLWwgICAgICB7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbn1cbiIsIi8qXG5cbiAgSE9WRVIgRUZGRUNUU1xuICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy90aGVtZXMvaG92ZXJzL1xuXG4gICAgLSBEaW1cbiAgICAtIEdsb3dcbiAgICAtIEhpZGUgQ2hpbGRcbiAgICAtIFVuZGVybGluZSB0ZXh0XG4gICAgLSBHcm93XG4gICAgLSBQb2ludGVyXG4gICAgLSBTaGFkb3dcbiAgICAtIENvbG9yc1xuXG4qL1xuXG4vKlxuXG4gIERpbSBlbGVtZW50IG9uIGhvdmVyIGJ5IGFkZGluZyB0aGUgZGltIGNsYXNzLlxuXG4qL1xuLmRpbSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluO1xufVxuLmRpbTpob3Zlcixcbi5kaW06Zm9jdXMge1xuICBvcGFjaXR5OiAuNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW47XG59XG4uZGltOmFjdGl2ZSB7XG4gIG9wYWNpdHk6IC44OyBcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2Utb3V0O1xufVxuXG4vKlxuXG4gIEFuaW1hdGUgb3BhY2l0eSB0byAxMDAlIG9uIGhvdmVyIGJ5IGFkZGluZyB0aGUgZ2xvdyBjbGFzcy5cblxuKi9cbi5nbG93IHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW47XG59XG4uZ2xvdzpob3Zlcixcbi5nbG93OmZvY3VzIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW47XG59XG5cbi8qXG5cbiAgSGlkZSBjaGlsZCAmIHJldmVhbCBvbiBob3ZlcjpcblxuICBQdXQgdGhlIGhpZGUtY2hpbGQgY2xhc3Mgb24gYSBwYXJlbnQgZWxlbWVudCBhbmQgYW55IG5lc3RlZCBlbGVtZW50IHdpdGggdGhlXG4gIGNoaWxkIGNsYXNzIHdpbGwgYmUgaGlkZGVuIGFuZCBkaXNwbGF5ZWQgb24gaG92ZXIgb3IgZm9jdXMuXG5cbiAgPGRpdiBjbGFzcz1cImhpZGUtY2hpbGRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2hpbGRcIj4gSGlkZGVuIHVudGlsIGhvdmVyIG9yIGZvY3VzIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjaGlsZFwiPiBIaWRkZW4gdW50aWwgaG92ZXIgb3IgZm9jdXMgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNoaWxkXCI+IEhpZGRlbiB1bnRpbCBob3ZlciBvciBmb2N1cyA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY2hpbGRcIj4gSGlkZGVuIHVudGlsIGhvdmVyIG9yIGZvY3VzIDwvZGl2PlxuICA8L2Rpdj5cbiovXG5cbi5oaWRlLWNoaWxkIC5jaGlsZCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluO1xufVxuLmhpZGUtY2hpbGQ6aG92ZXIgIC5jaGlsZCxcbi5oaWRlLWNoaWxkOmZvY3VzICAuY2hpbGQsXG4uaGlkZS1jaGlsZDphY3RpdmUgLmNoaWxkIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW47XG59XG5cbi51bmRlcmxpbmUtaG92ZXI6aG92ZXIsXG4udW5kZXJsaW5lLWhvdmVyOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qIENhbiBjb21iaW5lIHRoaXMgd2l0aCBvdmVyZmxvdy1oaWRkZW4gdG8gbWFrZSBiYWNrZ3JvdW5kIGltYWdlcyBncm93IG9uIGhvdmVyXG4gKiBldmVuIGlmIHlvdSBhcmUgdXNpbmcgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAqL1xuXG4uZ3JvdyB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1vdXQ7XG59XG5cbi5ncm93OmhvdmVyLFxuLmdyb3c6Zm9jdXMge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuXG4uZ3JvdzphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKC45MCk7XG59XG5cbi5ncm93LWxhcmdlIHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzIGVhc2UtaW4tb3V0O1xufVxuXG4uZ3Jvdy1sYXJnZTpob3Zlcixcbi5ncm93LWxhcmdlOmZvY3VzIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xufVxuXG4uZ3Jvdy1sYXJnZTphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKC45NSk7XG59XG5cbi8qIEFkZCBwb2ludGVyIG9uIGhvdmVyICovXG5cbi5wb2ludGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udHJhbnMtYWxsIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG59XG5cbi8qIFxuICogVE9ETzogVGVzdCBhbmQgcmVuYW1lXG4gICBBZGQgc2hhZG93IG9uIGhvdmVyLlxuXG4gICBQZXJmb3JtYW50IGJveC1zaGFkb3cgYW5pbWF0aW9uIHBhdHRlcm4gZnJvbSBcbiAgIGh0dHA6Ly90b2JpYXNhaGxpbi5jb20vYmxvZy9ob3ctdG8tYW5pbWF0ZS1ib3gtc2hhZG93LyBcblxuLnNoYWRvdy1ob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xufVxuXG4uc2hhZG93LWhvdmVyOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDE2cHggMnB4IHJnYmEoIDAsIDAsIDAsIC4yICk7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG59XG5cbi5zaGFkb3ctaG92ZXI6aG92ZXI6OmFmdGVyLFxuLnNoYWRvdy1ob3Zlcjpmb2N1czo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuKi9cblxuLyogQ29tYmluZSB3aXRoIGNsYXNzZXMgaW4gc2tpbnMgYW5kIHNraW5zLXBzZXVkbyBmb3IgXG4gKiBtYW55IGRpZmZlcmVudCB0cmFuc2l0aW9uIHBvc3NpYmlsaXRpZXMuICovXG5cbi50cmFucy1iZyB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlLWluLW91dDsgXG59XG5cbi50cmFucy1jb2xvciB7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4yNXMgZWFzZS1pbi1vdXQ7IFxufVxuXG4uaG92ZXItZmlsdGVyLW5vbmU6aG92ZXIgeyBmaWx0ZXI6IG5vbmU7IH1cblxuLmhvdmVyLWZpbHRlci1ibHVyLW5vbmU6aG92ZXIgeyBmaWx0ZXI6IGJsdXIoMCk7IH1cbi5ob3Zlci1maWx0ZXItYmx1cjpob3ZlciB7IGZpbHRlcjogYmx1cig5NnB4KTsgfVxuXG4uaG92ZXItZ3JheXNjYWxlLTA6aG92ZXIgeyBmaWx0ZXI6IGdyYXlzY2FsZSgwKTsgfVxuLmhvdmVyLWdyYXlzY2FsZS01MDpob3ZlciB7IGZpbHRlcjogZ3JheXNjYWxlKDUwJSk7IH1cbi5ob3Zlci1ncmF5c2NhbGUtMTAwOmhvdmVyIHsgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7IH1cbiIsIi8qXG5cbiAgWi1JTkRFWFxuXG4gIEJhc2VcbiAgICB6ID0gei1pbmRleFxuXG4gIE1vZGlmaWVyc1xuICAgIC0wID0gbGl0ZXJhbCB2YWx1ZSAwXG4gICAgLTEgPSBsaXRlcmFsIHZhbHVlIDFcbiAgICAtMiA9IGxpdGVyYWwgdmFsdWUgMlxuICAgIC0zID0gbGl0ZXJhbCB2YWx1ZSAzXG4gICAgLTQgPSBsaXRlcmFsIHZhbHVlIDRcbiAgICAtNSA9IGxpdGVyYWwgdmFsdWUgNVxuICAgIC05OTkgPSBsaXRlcmFsIHZhbHVlIDk5OVxuICAgIC05OTk5ID0gbGl0ZXJhbCB2YWx1ZSA5OTk5XG5cbiAgICAtbWF4ID0gbGFyZ2VzdCBhY2NlcHRlZCB6LWluZGV4IHZhbHVlIGFzIGludGVnZXJcblxuICAgIC1pbmhlcml0ID0gc3RyaW5nIHZhbHVlIGluaGVyaXRcbiAgICAtaW5pdGlhbCA9IHN0cmluZyB2YWx1ZSBpbml0aWFsXG4gICAgLXVuc2V0ID0gc3RyaW5nIHZhbHVlIHVuc2V0XG5cbiAgTUROOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi9kb2NzL1dlYi9DU1Mvei1pbmRleFxuICBTcGVjOiBodHRwOi8vd3d3LnczLm9yZy9UUi9DU1MyL3ppbmRleC5odG1sXG4gIEFydGljbGVzOlxuICAgIGh0dHBzOi8vcGhpbGlwd2FsdG9uLmNvbS9hcnRpY2xlcy93aGF0LW5vLW9uZS10b2xkLXlvdS1hYm91dC16LWluZGV4L1xuXG4gIFRpcHMgb24gZXh0ZW5kaW5nOlxuICBUaGVyZSBtaWdodCBiZSBhIHRpbWUgd29ydGggdXNpbmcgbmVnYXRpdmUgei1pbmRleCB2YWx1ZXMuXG4gIE9yIGlmIHlvdSBhcmUgdXNpbmcgdGFjaHlvbnMgd2l0aCBhbm90aGVyIHByb2plY3QsIHlvdSBtaWdodCBuZWVkIHRvXG4gIGFkanVzdCB0aGVzZSB2YWx1ZXMgdG8gc3VpdCB5b3VyIG5lZWRzLlxuXG4qL1xuXG4uei0wIHsgei1pbmRleDogMDsgfVxuLnotMSB7IHotaW5kZXg6IDE7IH1cbi56LTIgeyB6LWluZGV4OiAyOyB9XG4uei0zIHsgei1pbmRleDogMzsgfVxuLnotNCB7IHotaW5kZXg6IDQ7IH1cbi56LTUgeyB6LWluZGV4OiA1OyB9XG5cbi56LTk5OSB7IHotaW5kZXg6IDk5OTsgfVxuLnotOTk5OSB7IHotaW5kZXg6IDk5OTk7IH1cblxuLnotbWF4IHtcbiAgei1pbmRleDogMjE0NzQ4MzY0Nztcbn1cblxuLnotaW5oZXJpdCB7IHotaW5kZXg6IGluaGVyaXQ7IH1cbi56LWluaXRpYWwgeyB6LWluZGV4OiBpbml0aWFsOyB9XG4uei11bnNldCB7IHotaW5kZXg6IHVuc2V0OyB9XG5cbiIsIi8qXG5cbiAgICBORVNURURcbiAgICBUYWNoeW9ucyBtb2R1bGUgZm9yIHN0eWxpbmcgbmVzdGVkIGVsZW1lbnRzXG4gICAgdGhhdCBhcmUgZ2VuZXJhdGVkIGJ5IGEgY21zLlxuXG4qL1xuXG4ubmVzdGVkLWNvcHktbGluZS1oZWlnaHQgcCxcbi5uZXN0ZWQtY29weS1saW5lLWhlaWdodCB1bCxcbi5uZXN0ZWQtY29weS1saW5lLWhlaWdodCBvbCB7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ib2R5LCAxLjUpO1xufVxuXG4ubmVzdGVkLWhlYWRsaW5lLWxpbmUtaGVpZ2h0IGgxLFxuLm5lc3RlZC1oZWFkbGluZS1saW5lLWhlaWdodCBoMixcbi5uZXN0ZWQtaGVhZGxpbmUtbGluZS1oZWlnaHQgaDMsXG4ubmVzdGVkLWhlYWRsaW5lLWxpbmUtaGVpZ2h0IGg0LFxuLm5lc3RlZC1oZWFkbGluZS1saW5lLWhlaWdodCBoNSxcbi5uZXN0ZWQtaGVhZGxpbmUtbGluZS1oZWlnaHQgaDYge1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGl0bGUsIDEuMjUpO1xufVxuXG4ubmVzdGVkLWxpc3QtcmVzZXQgdWwsXG4ubmVzdGVkLWxpc3QtcmVzZXQgb2wge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5uZXN0ZWQtY29weS1pbmRlbnQgcCtwIHtcbiAgdGV4dC1pbmRlbnQ6IDFlbTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm5lc3RlZC1jb3B5LXNlcGFyYXRvciBwK3Age1xuICBtYXJnaW4tdG9wOiAxLjVlbTtcbn1cblxuLm5lc3RlZC1pbWcgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5uZXN0ZWQtbGlua3MgYSB7XG4gIGNvbG9yOiB2YXIoLS1ibHVlLTUpO1xuICB0cmFuc2l0aW9uOiBjb2xvciAuMTVzIGVhc2UtaW47XG59XG5cbi5uZXN0ZWQtbGlua3MgYTpob3Zlcixcbi5uZXN0ZWQtbGlua3MgYTpmb2N1cyB7XG4gIGNvbG9yOiB2YXIoLS1ibHVlLTMpO1xuICB0cmFuc2l0aW9uOiBjb2xvciAuMTVzIGVhc2UtaW47XG59XG5cbiIsIi8qXG5cbiAgU1RZTEVTXG5cbiAgQWRkIGN1c3RvbSBzdHlsZXMgaGVyZS5cblxuKi9cblxuXG4vKlxuXG5Gb250cyBcblxuKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSmFjayBJbnB1dCc7XG4gIHNyYzogdXJsKCcvYXNzZXRzL2ZvbnRzL2phY2tpbnB1dC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7XG4gIHNyYzogdXJsKCcvYXNzZXRzL2ZvbnRzL3JvYm90by1tb25vLWxhdGluLTQwMC1ub3JtYWwud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7XG4gIHNyYzogdXJsKCcvYXNzZXRzL2ZvbnRzL3JvYm90by1tb25vLWxhdGluLTQwMC1pdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7XG4gIHNyYzogdXJsKCcvYXNzZXRzL2ZvbnRzL3JvYm90by1tb25vLWxhdGluLTcwMC1ub3JtYWwud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7XG4gIHNyYzogdXJsKCcvYXNzZXRzL2ZvbnRzL3JvYm90by1tb25vLWxhdGluLTcwMC1pdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5cbi8qXG5cbkFuaW1hdGlvbnMgXG5cbiovXG5cbkBrZXlmcmFtZXMgZmxhc2hNYWdlbnRhIHtcblxuICAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWFnZW50YS04KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYXktMTEpO1xuICB9XG5cbn1cblxuQGtleWZyYW1lcyBmbGFzaEdyZWVuIHtcblxuICAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JlZW4tOCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmF5LTExKTtcbiAgfVxuXG59XG5cbkBrZXlmcmFtZXMgcHVsc2VHcmVlbiB7XG5cbiAgMCUsXG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYXktMTEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmVlbi03KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlQmx1ZSB7XG5cbiAgMCUsXG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYXktMTEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibHVlLTcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2VPcmFuZ2Uge1xuXG4gIDAlLFxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmF5LTExKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWVsbG93LTcpO1xuICB9XG59XG5cbi5mbGFzaC1tYWdlbnRhIHtcbiAgYW5pbWF0aW9uOiBmbGFzaE1hZ2VudGEgMC4zcyBlYXNlLWluLW91dCBmb3J3YXJkcztcbn1cblxuLmZsYXNoLWdyZWVuIHtcbiAgYW5pbWF0aW9uOiBmbGFzaEdyZWVuIDAuM3MgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XG59XG5cbi5wdWxzZS1ibHVlIHtcbiAgYW5pbWF0aW9uOiBwdWxzZUJsdWUgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuLnB1bHNlLWdyZWVuIHtcbiAgYW5pbWF0aW9uOiBwdWxzZUdyZWVuIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5wdWxzZS1vcmFuZ2Uge1xuICBhbmltYXRpb246IHB1bHNlT3JhbmdlIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59IiwiLypcblxuICBERUJVRyBDSElMRFJFTlxuICBEb2NzOiBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy9kZWJ1Zy9cblxuICBKdXN0IGFkZCB0aGUgZGVidWcgY2xhc3MgdG8gYW55IGVsZW1lbnQgdG8gc2VlIG91dGxpbmVzIG9uIGl0c1xuICBjaGlsZHJlbi5cblxuKi9cblxuLmRlYnVnICogeyBcbiAgLS1kZWJ1Zy1jb2xvcjogMTI4IDAgOTA7XG4gIC0tZGVidWctb3BhY2l0eTogLjg7XG4gIG91dGxpbmU6IDFweCBzb2xpZCByYmcodmFyKC0tZGVidWctY29sb3IsIDEyOCAwIDkwKSAvICgtLWRlYnVnLW9wYWNpdHksIC44KSk7IFxufVxuXG5cbiIsIi8qIFxuXG4gICBERUJVRyBHUklEXG4gICBodHRwOi8vdGFjaHlvbnMuaW8vZG9jcy9kZWJ1Zy1ncmlkL1xuXG4gICBDYW4gYmUgdXNlZnVsIGZvciBkZWJ1Z2dpbmcgbGF5b3V0IGlzc3Vlc1xuICAgb3IgaGVscGluZyB0byBtYWtlIHN1cmUgdGhpbmdzIGxpbmUgdXAgcGVyZmVjdGx5LlxuICAgSnVzdCB0YWNrIHRoaXMgY2xhc3Mgb250byBhIHBhcmVudCBlbGVtZW50XG5cbiovXG5cbi5kZWJ1Zy1ncmlkIHtcbiAgLS1ncmlkLXNpemU6IDE2cHg7IFxuICAtLWdyaWQtY29sb3I6IHZhcigtLW1hZ2VudGEtOSk7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogXG4gICAgcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgwZGVnLCB2YXIoLS1ncmlkLWNvbG9yKSwgdmFyKC0tZ3JpZC1jb2xvcikgMXB4LCB0cmFuc3BhcmVudCAxcHgsIHRyYW5zcGFyZW50IHZhcigtLWdyaWQtc2l6ZSkpLCBcbiAgICByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1ncmlkLWNvbG9yKSwgdmFyKC0tZ3JpZC1jb2xvcikgMXB4LCB0cmFuc3BhcmVudCAxcHgsIHRyYW5zcGFyZW50IHZhcigtLWdyaWQtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgdmFyKC0tZ3JpZC1zaXplKTtcbn1cblxuIl19 */