/*! HTML5 Boilerplate v9.0.1 | MIT License | https://html5boilerplate.com/ */

/* main.css 3.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
 * Extends the .visually-hidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * The use of `table` rather than `block` is only necessary if using
 * `::before` to contain the top-margins of child elements.
 */

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

.clearfix::after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}


@font-face {
	font-family: 'icomoon';
	src:	url(../fonts/icomoon.eot);
	src:	url(../fonts/icomoon.eot#iefix) format('embedded-opentype'),
			url(../fonts/icomoon.ttf) format('truetype'),
			url(../fonts/icomoon.woff) format('woff'),
			url(../fonts/icomoon.svg#icomoon) format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: 'icomoon' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-home:before {
	content: "\E900";
}
.icon-home2:before {
	content: "\E901";
}
.icon-home3:before {
	content: "\E902";
}
.icon-office:before {
	content: "\E903";
}
.icon-newspaper:before {
	content: "\E904";
}
.icon-pencil:before {
	content: "\E905";
}
.icon-pencil2:before {
	content: "\E906";
}
.icon-quill:before {
	content: "\E907";
}
.icon-pen:before {
	content: "\E908";
}
.icon-blog:before {
	content: "\E909";
}
.icon-eyedropper:before {
	content: "\E90A";
}
.icon-droplet:before {
	content: "\E90B";
}
.icon-paint-format:before {
	content: "\E90C";
}
.icon-image:before {
	content: "\E90D";
}
.icon-images:before {
	content: "\E90E";
}
.icon-camera:before {
	content: "\E90F";
}
.icon-headphones:before {
	content: "\E910";
}
.icon-music:before {
	content: "\E911";
}
.icon-play:before {
	content: "\E912";
}
.icon-film:before {
	content: "\E913";
}
.icon-video-camera:before {
	content: "\E914";
}
.icon-dice:before {
	content: "\E915";
}
.icon-pacman:before {
	content: "\E916";
}
.icon-spades:before {
	content: "\E917";
}
.icon-clubs:before {
	content: "\E918";
}
.icon-diamonds:before {
	content: "\E919";
}
.icon-bullhorn:before {
	content: "\E91A";
}
.icon-connection:before {
	content: "\E91B";
}
.icon-podcast:before {
	content: "\E91C";
}
.icon-feed:before {
	content: "\E91D";
}
.icon-mic:before {
	content: "\E91E";
}
.icon-book:before {
	content: "\E91F";
}
.icon-books:before {
	content: "\E920";
}
.icon-library:before {
	content: "\E921";
}
.icon-file-text:before {
	content: "\E922";
}
.icon-profile:before {
	content: "\E923";
}
.icon-file-empty:before {
	content: "\E924";
}
.icon-files-empty:before {
	content: "\E925";
}
.icon-file-text2:before {
	content: "\E926";
}
.icon-file-picture:before {
	content: "\E927";
}
.icon-file-music:before {
	content: "\E928";
}
.icon-file-play:before {
	content: "\E929";
}
.icon-file-video:before {
	content: "\E92A";
}
.icon-file-zip:before {
	content: "\E92B";
}
.icon-copy:before {
	content: "\E92C";
}
.icon-paste:before {
	content: "\E92D";
}
.icon-stack:before {
	content: "\E92E";
}
.icon-folder:before {
	content: "\E92F";
}
.icon-folder-open:before {
	content: "\E930";
}
.icon-folder-plus:before {
	content: "\E931";
}
.icon-folder-minus:before {
	content: "\E932";
}
.icon-folder-download:before {
	content: "\E933";
}
.icon-folder-upload:before {
	content: "\E934";
}
.icon-price-tag:before {
	content: "\E935";
}
.icon-price-tags:before {
	content: "\E936";
}
.icon-barcode:before {
	content: "\E937";
}
.icon-qrcode:before {
	content: "\E938";
}
.icon-ticket:before {
	content: "\E939";
}
.icon-cart:before {
	content: "\E93A";
}
.icon-coin-dollar:before {
	content: "\E93B";
}
.icon-coin-euro:before {
	content: "\E93C";
}
.icon-coin-pound:before {
	content: "\E93D";
}
.icon-coin-yen:before {
	content: "\E93E";
}
.icon-credit-card:before {
	content: "\E93F";
}
.icon-calculator:before {
	content: "\E940";
}
.icon-lifebuoy:before {
	content: "\E941";
}
.icon-phone:before {
	content: "\E942";
}
.icon-phone-hang-up:before {
	content: "\E943";
}
.icon-address-book:before {
	content: "\E944";
}
.icon-envelop:before {
	content: "\E945";
}
.icon-pushpin:before {
	content: "\E946";
}
.icon-location:before {
	content: "\E947";
}
.icon-location2:before {
	content: "\E948";
}
.icon-compass:before {
	content: "\E949";
}
.icon-compass2:before {
	content: "\E94A";
}
.icon-map:before {
	content: "\E94B";
}
.icon-map2:before {
	content: "\E94C";
}
.icon-history:before {
	content: "\E94D";
}
.icon-clock:before {
	content: "\E94E";
}
.icon-clock2:before {
	content: "\E94F";
}
.icon-alarm:before {
	content: "\E950";
}
.icon-bell:before {
	content: "\E951";
}
.icon-stopwatch:before {
	content: "\E952";
}
.icon-calendar:before {
	content: "\E953";
}
.icon-printer:before {
	content: "\E954";
}
.icon-keyboard:before {
	content: "\E955";
}
.icon-display:before {
	content: "\E956";
}
.icon-laptop:before {
	content: "\E957";
}
.icon-mobile:before {
	content: "\E958";
}
.icon-mobile2:before {
	content: "\E959";
}
.icon-tablet:before {
	content: "\E95A";
}
.icon-tv:before {
	content: "\E95B";
}
.icon-drawer:before {
	content: "\E95C";
}
.icon-drawer2:before {
	content: "\E95D";
}
.icon-box-add:before {
	content: "\E95E";
}
.icon-box-remove:before {
	content: "\E95F";
}
.icon-download:before {
	content: "\E960";
}
.icon-upload:before {
	content: "\E961";
}
.icon-floppy-disk:before {
	content: "\E962";
}
.icon-drive:before {
	content: "\E963";
}
.icon-database:before {
	content: "\E964";
}
.icon-undo:before {
	content: "\E965";
}
.icon-redo:before {
	content: "\E966";
}
.icon-undo2:before {
	content: "\E967";
}
.icon-redo2:before {
	content: "\E968";
}
.icon-forward:before {
	content: "\E969";
}
.icon-reply:before {
	content: "\E96A";
}
.icon-bubble:before {
	content: "\E96B";
}
.icon-bubbles:before {
	content: "\E96C";
}
.icon-bubbles2:before {
	content: "\E96D";
}
.icon-bubble2:before {
	content: "\E96E";
}
.icon-bubbles3:before {
	content: "\E96F";
}
.icon-bubbles4:before {
	content: "\E970";
}
.icon-user:before {
	content: "\E971";
}
.icon-users:before {
	content: "\E972";
}
.icon-user-plus:before {
	content: "\E973";
}
.icon-user-minus:before {
	content: "\E974";
}
.icon-user-check:before {
	content: "\E975";
}
.icon-user-tie:before {
	content: "\E976";
}
.icon-quotes-left:before {
	content: "\E977";
}
.icon-quotes-right:before {
	content: "\E978";
}
.icon-hour-glass:before {
	content: "\E979";
}
.icon-spinner:before {
	content: "\E97A";
}
.icon-spinner2:before {
	content: "\E97B";
}
.icon-spinner3:before {
	content: "\E97C";
}
.icon-spinner4:before {
	content: "\E97D";
}
.icon-spinner5:before {
	content: "\E97E";
}
.icon-spinner6:before {
	content: "\E97F";
}
.icon-spinner7:before {
	content: "\E980";
}
.icon-spinner8:before {
	content: "\E981";
}
.icon-spinner9:before {
	content: "\E982";
}
.icon-spinner10:before {
	content: "\E983";
}
.icon-spinner11:before {
	content: "\E984";
}
.icon-binoculars:before {
	content: "\E985";
}
.icon-search:before {
	content: "\E986";
}
.icon-zoom-in:before {
	content: "\E987";
}
.icon-zoom-out:before {
	content: "\E988";
}
.icon-enlarge:before {
	content: "\E989";
}
.icon-shrink:before {
	content: "\E98A";
}
.icon-enlarge2:before {
	content: "\E98B";
}
.icon-shrink2:before {
	content: "\E98C";
}
.icon-key:before {
	content: "\E98D";
}
.icon-key2:before {
	content: "\E98E";
}
.icon-lock:before {
	content: "\E98F";
}
.icon-unlocked:before {
	content: "\E990";
}
.icon-wrench:before {
	content: "\E991";
}
.icon-equalizer:before {
	content: "\E992";
}
.icon-equalizer2:before {
	content: "\E993";
}
.icon-cog:before {
	content: "\E994";
}
.icon-cogs:before {
	content: "\E995";
}
.icon-hammer:before {
	content: "\E996";
}
.icon-magic-wand:before {
	content: "\E997";
}
.icon-aid-kit:before {
	content: "\E998";
}
.icon-bug:before {
	content: "\E999";
}
.icon-pie-chart:before {
	content: "\E99A";
}
.icon-stats-dots:before {
	content: "\E99B";
}
.icon-stats-bars:before {
	content: "\E99C";
}
.icon-stats-bars2:before {
	content: "\E99D";
}
.icon-trophy:before {
	content: "\E99E";
}
.icon-gift:before {
	content: "\E99F";
}
.icon-glass:before {
	content: "\E9A0";
}
.icon-glass2:before {
	content: "\E9A1";
}
.icon-mug:before {
	content: "\E9A2";
}
.icon-spoon-knife:before {
	content: "\E9A3";
}
.icon-leaf:before {
	content: "\E9A4";
}
.icon-rocket:before {
	content: "\E9A5";
}
.icon-meter:before {
	content: "\E9A6";
}
.icon-meter2:before {
	content: "\E9A7";
}
.icon-hammer2:before {
	content: "\E9A8";
}
.icon-fire:before {
	content: "\E9A9";
}
.icon-lab:before {
	content: "\E9AA";
}
.icon-magnet:before {
	content: "\E9AB";
}
.icon-bin:before {
	content: "\E9AC";
}
.icon-bin2:before {
	content: "\E9AD";
}
.icon-briefcase:before {
	content: "\E9AE";
}
.icon-airplane:before {
	content: "\E9AF";
}
.icon-truck:before {
	content: "\E9B0";
}
.icon-road:before {
	content: "\E9B1";
}
.icon-accessibility:before {
	content: "\E9B2";
}
.icon-target:before {
	content: "\E9B3";
}
.icon-shield:before {
	content: "\E9B4";
}
.icon-power:before {
	content: "\E9B5";
}
.icon-switch:before {
	content: "\E9B6";
}
.icon-power-cord:before {
	content: "\E9B7";
}
.icon-clipboard:before {
	content: "\E9B8";
}
.icon-list-numbered:before {
	content: "\E9B9";
}
.icon-list:before {
	content: "\E9BA";
}
.icon-list2:before {
	content: "\E9BB";
}
.icon-tree:before {
	content: "\E9BC";
}
.icon-menu:before {
	content: "\E9BD";
}
.icon-menu2:before {
	content: "\E9BE";
}
.icon-menu3:before {
	content: "\E9BF";
}
.icon-menu4:before {
	content: "\E9C0";
}
.icon-cloud:before {
	content: "\E9C1";
}
.icon-cloud-download:before {
	content: "\E9C2";
}
.icon-cloud-upload:before {
	content: "\E9C3";
}
.icon-cloud-check:before {
	content: "\E9C4";
}
.icon-download2:before {
	content: "\E9C5";
}
.icon-upload2:before {
	content: "\E9C6";
}
.icon-download3:before {
	content: "\E9C7";
}
.icon-upload3:before {
	content: "\E9C8";
}
.icon-sphere:before {
	content: "\E9C9";
}
.icon-earth:before {
	content: "\E9CA";
}
.icon-link:before {
	content: "\E9CB";
}
.icon-flag:before {
	content: "\E9CC";
}
.icon-attachment:before {
	content: "\E9CD";
}
.icon-eye:before {
	content: "\E9CE";
}
.icon-eye-plus:before {
	content: "\E9CF";
}
.icon-eye-minus:before {
	content: "\E9D0";
}
.icon-eye-blocked:before {
	content: "\E9D1";
}
.icon-bookmark:before {
	content: "\E9D2";
}
.icon-bookmarks:before {
	content: "\E9D3";
}
.icon-sun:before {
	content: "\E9D4";
}
.icon-contrast:before {
	content: "\E9D5";
}
.icon-brightness-contrast:before {
	content: "\E9D6";
}
.icon-star-empty:before {
	content: "\E9D7";
}
.icon-star-half:before {
	content: "\E9D8";
}
.icon-star-full:before {
	content: "\E9D9";
}
.icon-heart:before {
	content: "\E9DA";
}
.icon-heart-broken:before {
	content: "\E9DB";
}
.icon-man:before {
	content: "\E9DC";
}
.icon-woman:before {
	content: "\E9DD";
}
.icon-man-woman:before {
	content: "\E9DE";
}
.icon-happy:before {
	content: "\E9DF";
}
.icon-happy2:before {
	content: "\E9E0";
}
.icon-smile:before {
	content: "\E9E1";
}
.icon-smile2:before {
	content: "\E9E2";
}
.icon-tongue:before {
	content: "\E9E3";
}
.icon-tongue2:before {
	content: "\E9E4";
}
.icon-sad:before {
	content: "\E9E5";
}
.icon-sad2:before {
	content: "\E9E6";
}
.icon-wink:before {
	content: "\E9E7";
}
.icon-wink2:before {
	content: "\E9E8";
}
.icon-grin:before {
	content: "\E9E9";
}
.icon-grin2:before {
	content: "\E9EA";
}
.icon-cool:before {
	content: "\E9EB";
}
.icon-cool2:before {
	content: "\E9EC";
}
.icon-angry:before {
	content: "\E9ED";
}
.icon-angry2:before {
	content: "\E9EE";
}
.icon-evil:before {
	content: "\E9EF";
}
.icon-evil2:before {
	content: "\E9F0";
}
.icon-shocked:before {
	content: "\E9F1";
}
.icon-shocked2:before {
	content: "\E9F2";
}
.icon-baffled:before {
	content: "\E9F3";
}
.icon-baffled2:before {
	content: "\E9F4";
}
.icon-confused:before {
	content: "\E9F5";
}
.icon-confused2:before {
	content: "\E9F6";
}
.icon-neutral:before {
	content: "\E9F7";
}
.icon-neutral2:before {
	content: "\E9F8";
}
.icon-hipster:before {
	content: "\E9F9";
}
.icon-hipster2:before {
	content: "\E9FA";
}
.icon-wondering:before {
	content: "\E9FB";
}
.icon-wondering2:before {
	content: "\E9FC";
}
.icon-sleepy:before {
	content: "\E9FD";
}
.icon-sleepy2:before {
	content: "\E9FE";
}
.icon-frustrated:before {
	content: "\E9FF";
}
.icon-frustrated2:before {
	content: "\EA00";
}
.icon-crying:before {
	content: "\EA01";
}
.icon-crying2:before {
	content: "\EA02";
}
.icon-point-up:before {
	content: "\EA03";
}
.icon-point-right:before {
	content: "\EA04";
}
.icon-point-down:before {
	content: "\EA05";
}
.icon-point-left:before {
	content: "\EA06";
}
.icon-warning:before {
	content: "\EA07";
}
.icon-notification:before {
	content: "\EA08";
}
.icon-question:before {
	content: "\EA09";
}
.icon-plus:before {
	content: "\EA0A";
}
.icon-minus:before {
	content: "\EA0B";
}
.icon-info:before {
	content: "\EA0C";
}
.icon-cancel-circle:before {
	content: "\EA0D";
}
.icon-blocked:before {
	content: "\EA0E";
}
.icon-cross:before {
	content: "\EA0F";
}
.icon-checkmark:before {
	content: "\EA10";
}
.icon-checkmark2:before {
	content: "\EA11";
}
.icon-spell-check:before {
	content: "\EA12";
}
.icon-enter:before {
	content: "\EA13";
}
.icon-exit:before {
	content: "\EA14";
}
.icon-play2:before {
	content: "\EA15";
}
.icon-pause:before {
	content: "\EA16";
}
.icon-stop:before {
	content: "\EA17";
}
.icon-previous:before {
	content: "\EA18";
}
.icon-next:before {
	content: "\EA19";
}
.icon-backward:before {
	content: "\EA1A";
}
.icon-forward2:before {
	content: "\EA1B";
}
.icon-play3:before {
	content: "\EA1C";
}
.icon-pause2:before {
	content: "\EA1D";
}
.icon-stop2:before {
	content: "\EA1E";
}
.icon-backward2:before {
	content: "\EA1F";
}
.icon-forward3:before {
	content: "\EA20";
}
.icon-first:before {
	content: "\EA21";
}
.icon-last:before {
	content: "\EA22";
}
.icon-previous2:before {
	content: "\EA23";
}
.icon-next2:before {
	content: "\EA24";
}
.icon-eject:before {
	content: "\EA25";
}
.icon-volume-high:before {
	content: "\EA26";
}
.icon-volume-medium:before {
	content: "\EA27";
}
.icon-volume-low:before {
	content: "\EA28";
}
.icon-volume-mute:before {
	content: "\EA29";
}
.icon-volume-mute2:before {
	content: "\EA2A";
}
.icon-volume-increase:before {
	content: "\EA2B";
}
.icon-volume-decrease:before {
	content: "\EA2C";
}
.icon-loop:before {
	content: "\EA2D";
}
.icon-loop2:before {
	content: "\EA2E";
}
.icon-infinite:before {
	content: "\EA2F";
}
.icon-shuffle:before {
	content: "\EA30";
}
.icon-arrow-up-left:before {
	content: "\EA31";
}
.icon-arrow-up:before {
	content: "\EA32";
}
.icon-arrow-up-right:before {
	content: "\EA33";
}
.icon-arrow-right:before {
	content: "\EA34";
}
.icon-arrow-down-right:before {
	content: "\EA35";
}
.icon-arrow-down:before {
	content: "\EA36";
}
.icon-arrow-down-left:before {
	content: "\EA37";
}
.icon-arrow-left:before {
	content: "\EA38";
}
.icon-arrow-up-left2:before {
	content: "\EA39";
}
.icon-arrow-up2:before {
	content: "\EA3A";
}
.icon-arrow-up-right2:before {
	content: "\EA3B";
}
.icon-arrow-right2:before {
	content: "\EA3C";
}
.icon-arrow-down-right2:before {
	content: "\EA3D";
}
.icon-arrow-down2:before {
	content: "\EA3E";
}
.icon-arrow-down-left2:before {
	content: "\EA3F";
}
.icon-arrow-left2:before {
	content: "\EA40";
}
.icon-circle-up:before {
	content: "\EA41";
}
.icon-circle-right:before {
	content: "\EA42";
}
.icon-circle-down:before {
	content: "\EA43";
}
.icon-circle-left:before {
	content: "\EA44";
}
.icon-tab:before {
	content: "\EA45";
}
.icon-move-up:before {
	content: "\EA46";
}
.icon-move-down:before {
	content: "\EA47";
}
.icon-sort-alpha-asc:before {
	content: "\EA48";
}
.icon-sort-alpha-desc:before {
	content: "\EA49";
}
.icon-sort-numeric-asc:before {
	content: "\EA4A";
}
.icon-sort-numberic-desc:before {
	content: "\EA4B";
}
.icon-sort-amount-asc:before {
	content: "\EA4C";
}
.icon-sort-amount-desc:before {
	content: "\EA4D";
}
.icon-command:before {
	content: "\EA4E";
}
.icon-shift:before {
	content: "\EA4F";
}
.icon-ctrl:before {
	content: "\EA50";
}
.icon-opt:before {
	content: "\EA51";
}
.icon-checkbox-checked:before {
	content: "\EA52";
}
.icon-checkbox-unchecked:before {
	content: "\EA53";
}
.icon-radio-checked:before {
	content: "\EA54";
}
.icon-radio-checked2:before {
	content: "\EA55";
}
.icon-radio-unchecked:before {
	content: "\EA56";
}
.icon-crop:before {
	content: "\EA57";
}
.icon-make-group:before {
	content: "\EA58";
}
.icon-ungroup:before {
	content: "\EA59";
}
.icon-scissors:before {
	content: "\EA5A";
}
.icon-filter:before {
	content: "\EA5B";
}
.icon-font:before {
	content: "\EA5C";
}
.icon-ligature:before {
	content: "\EA5D";
}
.icon-ligature2:before {
	content: "\EA5E";
}
.icon-text-height:before {
	content: "\EA5F";
}
.icon-text-width:before {
	content: "\EA60";
}
.icon-font-size:before {
	content: "\EA61";
}
.icon-bold:before {
	content: "\EA62";
}
.icon-underline:before {
	content: "\EA63";
}
.icon-italic:before {
	content: "\EA64";
}
.icon-strikethrough:before {
	content: "\EA65";
}
.icon-omega:before {
	content: "\EA66";
}
.icon-sigma:before {
	content: "\EA67";
}
.icon-page-break:before {
	content: "\EA68";
}
.icon-superscript:before {
	content: "\EA69";
}
.icon-subscript:before {
	content: "\EA6A";
}
.icon-superscript2:before {
	content: "\EA6B";
}
.icon-subscript2:before {
	content: "\EA6C";
}
.icon-text-color:before {
	content: "\EA6D";
}
.icon-pagebreak:before {
	content: "\EA6E";
}
.icon-clear-formatting:before {
	content: "\EA6F";
}
.icon-table:before {
	content: "\EA70";
}
.icon-table2:before {
	content: "\EA71";
}
.icon-insert-template:before {
	content: "\EA72";
}
.icon-pilcrow:before {
	content: "\EA73";
}
.icon-ltr:before {
	content: "\EA74";
}
.icon-rtl:before {
	content: "\EA75";
}
.icon-section:before {
	content: "\EA76";
}
.icon-paragraph-left:before {
	content: "\EA77";
}
.icon-paragraph-center:before {
	content: "\EA78";
}
.icon-paragraph-right:before {
	content: "\EA79";
}
.icon-paragraph-justify:before {
	content: "\EA7A";
}
.icon-indent-increase:before {
	content: "\EA7B";
}
.icon-indent-decrease:before {
	content: "\EA7C";
}
.icon-share:before {
	content: "\EA7D";
}
.icon-new-tab:before {
	content: "\EA7E";
}
.icon-embed:before {
	content: "\EA7F";
}
.icon-embed2:before {
	content: "\EA80";
}
.icon-terminal:before {
	content: "\EA81";
}
.icon-share2:before {
	content: "\EA82";
}
.icon-mail:before {
	content: "\EA83";
}
.icon-mail2:before {
	content: "\EA84";
}
.icon-mail3:before {
	content: "\EA85";
}
.icon-mail4:before {
	content: "\EA86";
}
.icon-amazon:before {
	content: "\EA87";
}
.icon-google:before {
	content: "\EA88";
}
.icon-google2:before {
	content: "\EA89";
}
.icon-google3:before {
	content: "\EA8A";
}
.icon-google-plus:before {
	content: "\EA8B";
}
.icon-google-plus2:before {
	content: "\EA8C";
}
.icon-google-plus3:before {
	content: "\EA8D";
}
.icon-hangouts:before {
	content: "\EA8E";
}
.icon-google-drive:before {
	content: "\EA8F";
}
.icon-facebook:before {
	content: "\EA90";
}
.icon-facebook2:before {
	content: "\EA91";
}
.icon-instagram:before {
	content: "\EA92";
}
.icon-whatsapp:before {
	content: "\EA93";
}
.icon-spotify:before {
	content: "\EA94";
}
.icon-telegram:before {
	content: "\EA95";
}
.icon-twitter:before {
	content: "\EA96";
}
.icon-vine:before {
	content: "\EA97";
}
.icon-vk:before {
	content: "\EA98";
}
.icon-renren:before {
	content: "\EA99";
}
.icon-sina-weibo:before {
	content: "\EA9A";
}
.icon-rss:before {
	content: "\EA9B";
}
.icon-rss2:before {
	content: "\EA9C";
}
.icon-youtube:before {
	content: "\EA9D";
}
.icon-youtube2:before {
	content: "\EA9E";
}
.icon-twitch:before {
	content: "\EA9F";
}
.icon-vimeo:before {
	content: "\EAA0";
}
.icon-vimeo2:before {
	content: "\EAA1";
}
.icon-lanyrd:before {
	content: "\EAA2";
}
.icon-flickr:before {
	content: "\EAA3";
}
.icon-flickr2:before {
	content: "\EAA4";
}
.icon-flickr3:before {
	content: "\EAA5";
}
.icon-flickr4:before {
	content: "\EAA6";
}
.icon-dribbble:before {
	content: "\EAA7";
}
.icon-behance:before {
	content: "\EAA8";
}
.icon-behance2:before {
	content: "\EAA9";
}
.icon-deviantart:before {
	content: "\EAAA";
}
.icon-500px:before {
	content: "\EAAB";
}
.icon-steam:before {
	content: "\EAAC";
}
.icon-steam2:before {
	content: "\EAAD";
}
.icon-dropbox:before {
	content: "\EAAE";
}
.icon-onedrive:before {
	content: "\EAAF";
}
.icon-github:before {
	content: "\EAB0";
}
.icon-npm:before {
	content: "\EAB1";
}
.icon-basecamp:before {
	content: "\EAB2";
}
.icon-trello:before {
	content: "\EAB3";
}
.icon-wordpress:before {
	content: "\EAB4";
}
.icon-joomla:before {
	content: "\EAB5";
}
.icon-ello:before {
	content: "\EAB6";
}
.icon-blogger:before {
	content: "\EAB7";
}
.icon-blogger2:before {
	content: "\EAB8";
}
.icon-tumblr:before {
	content: "\EAB9";
}
.icon-tumblr2:before {
	content: "\EABA";
}
.icon-yahoo:before {
	content: "\EABB";
}
.icon-yahoo2:before {
	content: "\EABC";
}
.icon-tux:before {
	content: "\EABD";
}
.icon-appleinc:before {
	content: "\EABE";
}
.icon-finder:before {
	content: "\EABF";
}
.icon-android:before {
	content: "\EAC0";
}
.icon-windows:before {
	content: "\EAC1";
}
.icon-windows8:before {
	content: "\EAC2";
}
.icon-soundcloud:before {
	content: "\EAC3";
}
.icon-soundcloud2:before {
	content: "\EAC4";
}
.icon-skype:before {
	content: "\EAC5";
}
.icon-reddit:before {
	content: "\EAC6";
}
.icon-hackernews:before {
	content: "\EAC7";
}
.icon-wikipedia:before {
	content: "\EAC8";
}
.icon-linkedin:before {
	content: "\EACA";
}
.icon-linkedin2:before {
	content: "\EAC9";
}
.icon-lastfm:before {
	content: "\EACB";
}
.icon-lastfm2:before {
	content: "\EACC";
}
.icon-delicious:before {
	content: "\EACD";
}
.icon-stumbleupon:before {
	content: "\EACE";
}
.icon-stumbleupon2:before {
	content: "\EACF";
}
.icon-stackoverflow:before {
	content: "\EAD0";
}
.icon-pinterest:before {
	content: "\EAD1";
}
.icon-pinterest2:before {
	content: "\EAD2";
}
.icon-xing:before {
	content: "\EAD3";
}
.icon-xing2:before {
	content: "\EAD4";
}
.icon-flattr:before {
	content: "\EAD5";
}
.icon-foursquare:before {
	content: "\EAD6";
}
.icon-yelp:before {
	content: "\EAD7";
}
.icon-paypal:before {
	content: "\EAD8";
}
.icon-chrome:before {
	content: "\EAD9";
}
.icon-firefox:before {
	content: "\EADA";
}
.icon-IE:before {
	content: "\EADB";
}
.icon-edge:before {
	content: "\EADC";
}
.icon-safari:before {
	content: "\EADD";
}
.icon-opera:before {
	content: "\EADE";
}
.icon-file-pdf:before {
	content: "\EADF";
}
.icon-file-openoffice:before {
	content: "\EAE0";
}
.icon-file-word:before {
	content: "\EAE1";
}
.icon-file-excel:before {
	content: "\EAE2";
}
.icon-libreoffice:before {
	content: "\EAE3";
}
.icon-html-five:before {
	content: "\EAE4";
}
.icon-html-five2:before {
	content: "\EAE5";
}
.icon-css3:before {
	content: "\EAE6";
}
.icon-git:before {
	content: "\EAE7";
}
.icon-codepen:before {
	content: "\EAE8";
}
.icon-svg:before {
	content: "\EAE9";
}
.icon-IcoMoon:before {
	content: "\EAEA";
}
.icon-tiktok:before {
	content: "\EAEC";
}
.icon-x:before {
	content: "\EAEB";
}
/*	==========================================================================
	INDIE.WEB RESET STYLES
	========================================================================== */

*,
*:before,
*:after {
	box-sizing: border-box; /* makes working with the box model WAY easier */
}

* {
	margin: 0;
}

html {
	line-height: 1.5
}

body {
	-webkit-font-smoothing: antialiased;
}

p {
	text-wrap: pretty;
}

input,
button,
textarea,
select {
	font: inherit;
}

/*	remove :focus outline on elements; add inner and outer box-shadow (to account for light and dark backgrounds) */
*:focus { 
	outline: 0 !important;
	box-shadow:
		0 0 0.5px 2px rgba(255,255,255,0.5), /* inner border */
		0 0 0.5px 4px rgba(0,0,0,0.5) !important /* outer border */
	;
}

/*	unless the HTML element has class "tabbing" (user is navigating using the TAB key - set in main.js), remove both outline and box-shadow */
html:not(.tabbing) *:focus,
html:not(.tabbing) *:focus-visible {
	outline: 0;
	box-shadow: none !important;
}

/*	remove Chrome yellow auto-complete background color */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	-webkit-transition: background-color 5000s ease-in-out 0s;
	transition: background-color 5000s ease-in-out 0s;
}

/*	prevent iOS browsers rounded corners */
input[type=text],
input[type=email],
input[type=password],
input[type=file],
input[type=submit],
input[type=reset],
input[type=button],
button[type=button],
button[type=submit],
button[type='reset'],
select,
textarea {
	border-radius: 0;
}
/*	==========================================================================
	INDIE.WEB BASE STYLES
	========================================================================== */

/*	INDIE.WEB BRANDING STYLES ---------- */

.indie {
	color: #666;
}

.web {
	color: #bb56ff;
}


/* 	GENERAL ---------- */

.pos-rel {
	position: relative;
}

.inner {
	position: relative;
	max-width: 60em; /* key responsive element */
	margin: auto;
	padding: 0 15px;
}

.width-15,
.width-20,
.width-25,
.width-30,
.width-33,
.width-40,
.width-50,
.width-60,
.width-66,
.width-70,
.width-75,
.width-80,
.width-100,
.flex-box {
	padding: 15px;
}

.width-15 {
	width: 15%;
}

.width-20 {
	width: 20%;
}

.width-25 {
	width: 25%;
}

.width-30 {
	width: 30%;
}

.width-33 {
	width: 33.3333%;
}

.width-40 {
	width: 40%;
}

.width-50 {
	width: 50%;
}

.width-60 {
	width: 60%;
}

.width-66 {
	width: 66.6666%;
}

.width-70 {
	width: 70%;
}

.width-75 {
	width: 75%;
}

.width-80 {
	width: 80%;
}

.width-100 {
	width: 100%;
}

.int-wrap {
	margin: 0 -15px;
	padding: 0 !important;
}

.int-wrap-7\.5 {
	margin: 0 -7.5px;
}

.int-wrap-7\.5 > * {
	padding-left: 7.5px;
	padding-right: 7.5px;
}

img {
	width: 100%;
}

.inner > div > .int-wrap.flex-container:first-child > div {
	padding-top: 0 !important; /* prevent inconsistent spacing between .width-x blocks when stacking vertically */
}

[class*=lte-],
[class*=gte-] {
	display: none;
}


/*	FLEXBOX ------ */

.flex-container {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	align-items: stretch;
}

.flex-container.space-around {
	justify-content: space-around;
}

.flex-container.space-between {
	justify-content: space-between;
}

.flex-container.space-evenly {
	justify-content: space-evenly;
}

.flex-container.flex-start {
	justify-content: flex-start;
}

.flex-container.center {
	justify-content: center;
}

.flex-container.flex-end {
	justify-content: flex-end;
}

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

/*	Vertical Alignment - apply to parent element to vertically center content */
/*	Conditions:
		- parent element must have 100% height
		- child content must be contained within a tag (text directly within the parent element will overflow in IE)
*/
.vert-center,
.vert-justify {
	height: 100%;
	display: flex;
	flex-direction: column; /* required for multiple items */
}

.vert-center {
	justify-content: center; /* required for multiple items */
}

.vert-justify{
	justify-content: space-between; /* required for multiple items */
}

.vert-center.center,
.vert-justify.center {
	align-items: center;
}

.flex-container > .vert-center,
.flex-container > .vert-justify {
	height: auto; /* remove 100% height - not suitable for flex-container child items */
}

/*	Potential Future Development: align-items: end allows items to be vertically aligned to the bottom - useful if we want a heading or some extra content contained at the top of one flex element but not in other(s) */


/*	FLOATS ------ */

.float-container {
	display: flow-root;
	margin-bottom: 15px;
}

.float-container + div {
	margin-top: -15px; /* addresses margin inconsistency where one a div directly follows a .float-container block */
}

.float-container:first-child {
	margin-top: 15px; /* addresses margin inconsistency where .float-container block is added as first element in a section */
}

/*	For greater styling flexibility, floated images will be wrapped in a div with either of the following classes */
.float-left:first-child,
.float-right:first-child {
	margin-top: 15px;
}

.float-container > *:not(div):last-child,
.float-container > .txt-wrap > *:last-child {
	margin-bottom: 15px; /* addresses margin inconsistency created by main > p:last-child rule */
}

/*	FLOAT BLOCK + TEXT BLOCK --- */

.float-container.int-wrap > .float-left,
.float-container.int-wrap > .float-right {
	margin-left: 0;
	margin-right: 0;
	padding-left: 15px;
	padding-right: 15px;
}

.float-container.int-wrap > .txt-wrap {
	margin: 0;
	padding: 0 15px;
}


/*	BACKGROUND WRAP ------ */

.bg-wrap {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-repeat: no-repeat;
	background-size: cover;
	/* background-position set in main.css */
}


/*	TEXT STYLES ---------- */

.upper {
	text-transform: uppercase;
}

.txt-left,
.txt-left * {
	text-align: left;
}

.txt-center,
.txt-center * {
	text-align: center;
}

.txt-right,
.txt-right * {
	text-align: right;
}

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

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

.top-15 {
	margin-top: 15px !important;
}

.bottom-15 {
	margin-bottom: 15px !important;
}

.top-30 {
	margin-top: 30px !important;
}

.bottom-30 {
	margin-bottom: 30px !important;
}

.top-45 {
	margin-top: 45px !important;
}

.bottom-45 {
	margin-bottom: 45px !important;
}

.top-60 {
	margin-top: 60px !important;
}

.bottom-60 {
	margin-bottom: 60px !important;
}

.top-75 {
	margin-top: 75px !important;
}

.bottom-75 {
	margin-bottom: 75px !important;
}

.top-90 {
	margin-top: 90px !important;
}

.bottom-90 {
	margin-bottom: 90px !important;
}

p:empty {
	display: none;
}

/*	Ensure correct margin if first paragraph on page is not preceded by a heading */
main > .inner:first-child > .width-100 > p:first-child {
	margin-top: 30px;
}

main a {
	word-wrap: break-word; /* prevent long links from breaking layouts */
}


/* 	FOOTER ---------- */

#footer-bottom p {
	margin: 0;
}


/*	Sticky Footer --- */

body {
	height: 100vh;

	display: flex;
	flex-direction: column;
}

header,
footer {
	flex: none;
}

main {
	width: 100%;
	flex: 1 0 auto;
}


/* 	FORMS ---------- */

label {
	display: block;
}

input[type=radio] + label,
input[type=checkbox] + label {
	display: inline-block;
}

input[type=date],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],

button[type=button],
button[type='reset'],
button[type=submit],

input[type=button],
input[type=file],
input[type='reset'],
input[type=submit],

select,
textarea {
	display: block;
	margin: 15px 0;
	border: 0;
}

input[type=date],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
select {
	height: 45px;
	padding: 0 15px !important;
}

input[type=date],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
select,
textarea {
	width: 100%;
}

input[type=radio],
input[type=checkbox] {
	vertical-align: middle;
	margin-top: 0;
	margin-right: 5px;
	margin-bottom: 3px;
}

button[type=button],
button[type='reset'],
button[type=submit],

input[type=button],
input[type=file],
input[type='reset'],
input[type=submit] {
	height: 45px;
	padding: 0 30px;
}

textarea {
	padding: 15px;
	line-height: 1.4;
}

form > .int-wrap-7\.5 > .third > input[type=submit],
form > .int-wrap-7\.5 > .third > button[type=submit] {
	width: 100%;
}

#loader img {
	width: auto;
}

#loader p {
	margin: 15px 0;
	padding: 0 15px;
}


/* 	GOOGLE RECAPTCHA V3 ------ */

.grecaptcha-badge {
	visibility: hidden;
}


/* 	==========================================================================
	INDIE.WEB BASE MEDIA QUERIES
	==========================================================================  */

/*	Screen Sizes 240px and smaller ---------- */
@media only screen 
and (max-width : 240px) {

	/*	GENERAL ---------- */
	
	.inner {
		padding: 22.5px 0;
	}
	
	.inner > * {
		font-size: 0.875rem;
	}
/*
	.width-20,
	.width-25,
	.width-30,
	.width-33,
	.width-40,
	.width-50,
	.width-60,
	.width-66,
	.width-75,
	.width-80,
	.width-100 {
		width: 100%;
		padding: 7.5px 15px;
	}
*/
	[class*='width-'] {
		padding: 7.5px 15px;
	}

	.lte-240 {
		display: initial;
	}

}


/*	Screen Sizes 240px and larger ---------- */
@media only screen 
and (min-width : 240px) {
	
	/*	GENERAL ---------- */
	
	.inner {
		padding: 15px;
	}
/*
	.width-15,
	.width-20,
	.width-25,
	.width-30,
	.width-33,
	.width-40,
	.width-50,
	.width-60,
	.width-66,
	.width-75,
	.width-80,
	.width-100 {
		width: 100%;
		padding: 15px;
	}
*/
	[class*='width-'] {
		padding: 15px;
	}

	.gte-240 {
		display: initial;
	}

}


/*	Screen Sizes 240px - 320px ---------- */
@media only screen 
and (min-width : 240px)
and (max-width : 320px) {

	/*	GENERAL ---------- */

	.inner > * {
		font-size: 0.9375rem;
	}
	
}


/*	Screen Sizes 320px and smaller ---------- */
@media only screen 
and (max-width : 320px) {

	/*	GENERAL ---------- */

	.lte-320 {
		display: initial;
	}


	/*	TEXT STYLES ---------- */
	
	h1,
	.h1 {
		font-size: 1.602em;
	}
	
	h2,
	.h2 {
		font-size: 1.424em;
	}
	
	h3,
	.h3 {
		font-size: 1.266em;
	}
	
	h4,
	.h4 {
		font-size: 1.125em;
	}
	
	h5,
	.h5,
	p,
	li {
		font-size: 1.0em;
	}
	
	h6,
	.h6,
	small,
	.small {
		font-size: 0.889em;
	}

}


/*	Screen Sizes 320px and larger ---------- */
@media only screen 
and (min-width : 320px) {

	/*	GENERAL ---------- */

	.gte-320 {
		display: initial;
	}

}


/*	Screen Sizes 320px - 480px ---------- */
@media only screen 
and (min-width : 320px) 
and (max-width : 480px) {

	/*	TEXT STYLES ---------- */
	
	h1,
	.h1 {
		font-size: 1.602em;
	}
	
	h2,
	.h2 {
		font-size: 1.424em;
	}
	
	h3,
	.h3 {
		font-size: 1.266em;
	}
	
	h4,
	.h4 {
		font-size: 1.125em;
	}
	
	h5,
	.h5,
	p,
	li {
		font-size: 1.0em;
	}
	
	h6,
	.h6,
	small,
	.small {
		font-size: 0.889em;
	}
	
}


/*	Screen Sizes 400px and smaller ---------- */
@media only screen 
and (max-width : 400px) {

	/*	GENERAL ---------- */

	.lte-400 {
		display: initial;
	}

	.flex-container:has(#uniform-width) > .flex-basis-20 {
		flex-basis: 100%;
	}


	/*	MAIN ---------- */
	
	main {
		text-align: center;
	}

	main ul,
	main ol {
		padding-left: 30px;
		text-align: left;
	}
	

	/*	FOOTER ---------- */
	
	footer {
		text-align: center;
	}


	/* 	FORMS ---------- */
	
	input[type=submit],
	button[type=submit] {
		margin-left: auto;
		margin-right: auto;
	}

	#loader .flex-container {
		justify-content: center;
	}
	
}


/*	Screen Sizes 400px and larger ---------- */
@media only screen 
and (min-width : 400px) {

	/*	GENERAL ---------- */

	.gte-400 {
		display: initial;
	}


	/*	MAIN ---------- */
	
	main {
		text-align: left;
	}

	main ul,
	main ol {
		padding-left: 45px;
	}

	
	/*	FOOTER ---------- */
	
	footer {
		text-align: left;
	}


	/* 	FORMS ---------- */
	
	form * {
		text-align: left !important;
	}

}


/*	Screen Sizes 480px - 640px ---------- */
@media only screen 
and (min-width : 480px) 
and (max-width : 640px) {

	/*	GENERAL ---------- */

	.flex-container:has(#uniform-width) > .flex-basis-20 {
		flex-basis: 50%;
	}

}


/*	Screen Sizes 480px and smaller ---------- */
@media only screen 
and (max-width : 480px) {

	/*	GENERAL ---------- */

	.lte-480 {
		display: initial;
	}

	.flex-container:has(#uniform-width) > .flex-basis-25 {
		flex-basis: 100%;
	}

	.flex-container:has(#uniform-width) > .flex-basis-33 {
		flex-basis: 100%;
	}

}


/*	Screen Sizes 480px and larger ---------- */
@media only screen 
and (min-width : 480px) {

	/*	GENERAL ---------- */

	.gte-480 {
		display: initial;
	}

}


/*	Screen Sizes 480px - 640px ---------- */
@media only screen 
and (min-width : 480px) 
and (max-width : 640px) {

	/*	TEXT STYLES ---------- */
	
	h1,
	.h1 {
		font-size: 2.074em;
	}
	
	h2,
	.h2 {
		font-size: 1.728em;
	}
	
	h3,
	.h3 {
		font-size: 1.44em;
	}
	
	h4,
	.h4 {
		font-size: 1.2em;
	}
	
	h5,
	.h5
	p,
	li {
		font-size: 1.0em;
	}
	
	h6,
	.h6
	small,
	.small {
		font-size: 0.833em;
	}

}


/*	Screen Sizes 480px - 720px ---------- */
@media only screen 
and (min-width : 480px) 
and (max-width : 720px) {

	/*	GENERAL ---------- */

	.flex-container:has(#uniform-width) > .flex-basis-25 {
		flex-basis: 50%;
	}

}


/*	Screen Sizes 480px - 800px ---------- */
@media only screen 
and (min-width : 480px) 
and (max-width : 800px) {

	/*	GENERAL ---------- */

	.flex-container:has(#uniform-width) > .flex-basis-33 {
		flex-basis: 50%;
	}

}


/*	Screen Sizes 560px and smaller ---------- */
@media only screen 
and (max-width : 560px) {

	/*	GENERAL ---------- */

	.lte-560 {
		display: initial;
	}
	
}


/*	Screen Sizes 560px and larger ---------- */
@media only screen 
and (min-width : 560px) {

	/*	GENERAL ---------- */

	.gte-560 {
		display: initial;
	}

}


/*	Screen Sizes 560px - 800px ---------- */
@media only screen 
and (min-width : 560px) 
and (max-width : 800px) {

}


/*	Screen Sizes 640px and smaller ---------- */
@media only screen 
and (max-width : 640px) {

	/*	GENERAL ---------- */

	[class*='width-']:not(.img),
	[class*='flex-basis-'],
	.float-container [class*='width-'] {
		width: 100%;
	}

	.float-left,
	.float-right {
		padding: 0;
	}

	.lte-640 {
		display: initial;
	}


	/* 	FOOTER ---------- */
	
	/*	FOOTER BOTTOM ------ */
	
	#footer-bottom .inner > div {
		padding: 7.5px 15px;
	}
	
}


/*	Screen Sizes 640px and larger ---------- */
@media only screen
and (min-width : 640px) {

	/*	GENERAL ---------- */

	.flex-basis-25 {
		flex-basis: 25%;
	}

	.flex-basis-30 {
		flex-basis: 30%;
	}

	.flex-basis-33 {
		flex-basis: 33.3333%;
	}

	.flex-basis-40 {
		flex-basis: 40%;
	}

	.flex-basis-50 {
		flex-basis: 50%;
	}

	.flex-basis-60 {
		flex-basis: 60%;
	}

	.flex-basis-66 {
		flex-basis: 66.6666%;
	}

	.flex-basis-70 {
		flex-basis: 70%;
	}

	.flex-basis-75 {
		flex-basis: 75%;
	}

	.flex-basis-80 {
		flex-basis: 80%;
	}

	.flex-basis-100 {
		flex-basis: 100%;
	}


	/*	FLOATS ------ */

	/*	Ensure any text element following a floated image is aligned correctly at the top */
	.float-container > div[class*="img-"] + *:not(div),
	.float-container > div[class*="img-"] + .txt-wrap > *:first-child {
		margin-top: 15px; 
	}
	
	.float-left {
		float: left;
		margin-right: 15px;
		padding: 0 15px 15px 0;
	}
	
	.float-right {
		float: right;
		margin-left: 15px;
		padding: 0 0 15px 15px;
	}

	/*	Not used in Standard Sections; useful for hard-coded custom work */
	.img-center {
		display: block;
		float: none;
		margin-left: auto;
		margin-right: auto;
		padding: 0;
	}

	.float-container.int-wrap > .txt-wrap {
		float: left;
	}


	.gte-640 {
		display: initial;
	}
	

	/*	FOOTER ---------- */

	/*	FOOTER TOP ------ */

	#footer-top > .inner > div > *:last-child {
		margin-bottom: 30px;
	}
	
	/*	FOOTER BOTTOM ------ */
	
	#footer-bottom {
		height: 60px;
	}
	
	#footer-bottom .inner,
	#footer-bottom .inner > div {
		padding-top: 0;
		padding-bottom: 0;
	}
	
	#footer-bottom .inner > div:last-child {
		text-align: right;
	}
	
	#footer-bottom .inner > div:first-child {
		text-align: left;
	}
	
	#footer-bottom p {
		line-height: 60px;
	}
	
}


/*	Screen Sizes 640px - 800px ---------- */
@media only screen
and (min-width : 640px)
and (max-width : 800px) {

	/*	GENERAL ---------- */

	.flex-container:has(#uniform-width) > .flex-basis-20 {
		flex-basis: 33.3333%;
	}


	/* 	TEXT STYLES ---------- */
	
	h1,
	.h1 {
		font-size: 2.441em;
	}
	
	h2,
	.h2 {
		font-size: 1.953em;
	}
	
	h3,
	.h3 {
		font-size: 1.563em;
	}
	
	h4,
	.h4 {
		font-size: 1.25em;
	}
	
	h5,
	.h5,
	p,
	li {
		font-size: 1.0em;
	}
	
	h6,
	.h6,
	small,
	.small {
		font-size: 0.8em;
	}


	/*	FOOTER ---------- */
	
	/*	FOOTER TOP ------ */
	
	#footer-top {
		font-size: 0.875em;
	}
	
}


/*	Screen Sizes 720px and smaller ---------- */
@media only screen 
and (max-width : 720px) {

	/*	GENERAL ---------- */

	.lte-720 {
		display: initial;
	}


	/*	FOOTER ---------- */
	
	/*	FOOTER BOTTOM ------ */

	#footer-bottom p {
		font-size: 0.75rem;
	}

}

/*	Screen Sizes 720px and larger ---------- */
@media only screen 
and (min-width : 720px) {

	/*	GENERAL ---------- */

	.gte-720 {
		display: initial;
	}


	/*	MAIN ---------- */

	.inner {
		padding: 30px 15px;
	}


	/*	FOOTER ---------- */
	
	/*	FOOTER BOTTOM ------ */

	#footer-bottom p {
		font-size: 0.875rem;
	}

}


/*	Screen Sizes 720px - 960px ---------- */
@media only screen 
and (min-width : 720px) 
and (max-width : 960px) {

	/*	GENERAL ---------- */

	.flex-container:has(#uniform-width) > .flex-basis-25 {
		flex-basis: 33.3333%;
	}

}


/*	Screen Sizes 800px and smaller ---------- */
@media only screen 
and (max-width : 800px) {

	/*	GENERAL ---------- */

	.lte-800 {
		display: initial;
	}
	
}


/*	Screen Sizes 800px and larger ---------- */
@media only screen 
and (min-width : 800px) {

	/*	GENERAL ---------- */

	.mobile {
		display: none !important; /* !important necessary to override #nav-main */
	}

	.gte-800 {
		display: initial;
	}

	.flex-container:has(#uniform-width) > .flex-basis-33 {
		flex-basis: 33.3333%;
	}

}


/*	Screen Sizes 800px - 880px ---------- */
@media only screen 
and (min-width : 800px) 
and (max-width : 880px) {

	/*	GENERAL ---------- */
	
	.inner > * {
		font-size: 0.875rem;
	}

	/*	TEXT STYLES ---------- */

	h1,
	.h1 {
		font-size: 3.157em;
	}
	
	h2,
	.h2 {
		font-size: 2.369em;
	}
	
	h3,
	.h3 {
		font-size: 1.777em;
	}
	
	h4,
	.h4 {
		font-size: 1.333em;
	}
	
	h5,
	.h5,
	p,
	main li {
		font-size: 1.0em;
	}

	h6,
	.h6,
	small,
	.small {
		font-size: 0.75em;
	}

}


/*	Screen Sizes 800px - 960px ---------- */
@media only screen 
and (min-width : 800px) 
and (max-width : 960px) {

	/*	GENERAL ---------- */

	.flex-container:has(#uniform-width) > .flex-basis-20 {
		flex-basis: 25%;
	}

}


/*	Screen Sizes 880px - 960px ---------- */
@media only screen 
and (min-width : 880px) 
and (max-width : 960px) {

	/*	GENERAL ---------- */
	
	.inner > * {
		font-size: 0.9375rem;
	}

	/*	TEXT STYLES ---------- */

	h1,
	.h1 {
		font-size: 3.157em;
	}
	
	h2,
	.h2 {
		font-size: 2.369em;
	}
	
	h3,
	.h3 {
		font-size: 1.777em;
	}
	
	h4,
	.h4 {
		font-size: 1.333em;
	}
	
	h5,
	.h5,
	p,
	main li {
		font-size: 1.0em;
	}

	h6,
	.h6,
	small,
	.small {
		font-size: 0.75em;
	}

}


/*	Screen Sizes 960px and smaller ---------- */
@media only screen 
and (max-width : 960px) {

	/*	GENERAL ---------- */

	.lte-960 {
		display: initial;
	}

}


/*	Screen Sizes 960px and larger ---------- */
@media only screen 
and (min-width : 960px) {

	/*	GENERAL ---------- */

	.gte-960 {
		display: initial;
	}

	.flex-container:has(#uniform-width) > .flex-basis-20 {
		flex-basis: 20%;
	}

	.flex-container:has(#uniform-width) > .flex-basis-25 {
		flex-basis: 25%;
	}

	
	/*	TEXT STYLES ---------- */

	h1,
	.h1 {
		font-size: 3.998em;
	}
	
	h2,
	.h2 {
		font-size: 2.827em;
	}
	
	h3,
	.h3 {
		font-size: 1.999em;
	}
	
	h4,
	.h4 {
		font-size: 1.414em;
	}
	
	h5,
	.h5,
	p,
	main li {
		font-size: 1.0em;
	}
	
	h6,
	.h6,
	small,
	.small {
		font-size: 0.707em;
	}

}


/*	Screen Sizes 1200px - 1360px ---------- */
@media only screen 
and (min-width : 1200px) 
and (max-width : 1360px) {

	/*	GENERAL ---------- */
	
	.inner {
		max-width: 65em;
		padding: 45px;
	}
	
}


/*	Screen Sizes 1360px - 1520px ---------- */
@media only screen 
and (min-width : 1360px) 
and (max-width : 1520px) {

	/*	GENERAL ---------- */
	
	.inner {
		max-width: 70em;
		padding: 60px;
	}
	
}


/*	Screen Sizes 1520px and larger ---------- */
@media only screen 
and (min-width : 1520px) {

	/*	GENERAL ---------- */
	
	.inner {
		padding-top: 75px;
		padding-bottom: 75px;
	}

}


/*	Screen Sizes 1520px - 1680px ---------- */
@media only screen 
and (min-width : 1520px)
and (max-width : 1680px) {

	/*	GENERAL ---------- */
	
	.inner {
		max-width: 75em;
		padding-left: 75px;
		padding-right: 75px;
	}

}


/*	Screen Sizes 1680px - 1920px ---------- */
@media only screen 
and (min-width : 1680px)
and (max-width : 1920px) {

	/*	GENERAL ---------- */
	
	.inner {
		max-width: 80em;
		padding-left: 90px;
		padding-right: 90px;
	}

}


/*	Screen Sizes 1920px and larger ---------- */
@media only screen 
and (min-width : 1920px) {

	/*	GENERAL ---------- */
	
	.inner {
		max-width: 90em;
		padding-left: 120px;
		padding-right: 120px;
	}

}
/*  ==========================================================================
	INDIE.WEB BANNER STYLES
	==========================================================================  */

/*  HEADER ---------- */

/*	BANNER ------ */

#banner:empty {
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	/* In order to be empty, #banner element MUST NOT have whitespace in it, i.e. <div id="banner"></div> (without line-break) */
}

#banner {
    position: relative;
	z-index: 1; /* ensure Banner (and any Slick Carousel items contained within) is/are displayed behind Main Nav */
    /* max-height set in media queries */
}

/* formerly #banner:not(.internal) */
#banner {
	overflow: hidden;
}

#banner:not(.internal) #banner-int-wrap {
	width: 100%;
	/* positioning for static banners */
	display: flex;
	flex-direction: column;
	justify-content: center;
	aspect-ratio: 1/1;
	/* max-height set in media queries */
}

#banner .bg-wrap {
	/* base styles set in .bg-wrap in base.css */
	overflow: hidden;
	/* background-color set in main.css */
}

/* pseudo element for fallback background color */
#banner:before {
	content: '';
    position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
	/* background-color set in main.css */
}

#banner .bg-wrap video {
	position: absolute;
	z-index: -1; /* ensure Banner Videos are displayed behind other Banner elements (e.g. Slick Dots and Slick Arrows) */
    top: 50% !important;
	min-height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

#banner span {
	width: 100%;
}

#banner .link-button {
	font-size: 1rem;
}


/*  ==========================================================================
	INDIE.WEB BANNER MEDIA QUERIES
	==========================================================================  */

/*	Screen Sizes 240px and smaller ---------- */
@media only screen 
and (max-width : 240px) {

	/*	HEADER ----------- */

	/*	BANNER ------ */

	#banner:not(.internal) {
		max-height: none !important;
	}

	#banner:not(.internal):before {
		bottom: auto;
		padding-bottom: 100%;
	}

	#banner:not(.internal) #banner-int-wrap {
		padding-bottom: 0;
	}

	#banner:not(.internal) .bg-wrap {
		position: relative;
		height: 0;
		padding-bottom: 100%;
	}

	#banner .txt-white {
		color: initial;
	}

	#banner .txt-shadow * {
		text-shadow: initial;
	}

}


/*  Screen Sizes 240px and larger ---------- */
@media only screen 
and (min-width : 240px) {

	/*	HEADER ---------- */

	/*	BANNER ------ */

	#banner:not(.internal) .txt-wrap {
		width: 100%;
	}

	#banner .txt-white {
		color: #fff;
	}

}


/*  Screen Sizes 320px and smaller ---------- */
@media only screen 
and (max-width : 320px) {

	/*	HEADER ---------- */

    /*	BANNER ------ */

	#banner .txt-wrap .inner > div {
		font-size: 0.875em;
    }

}


/*  Screen Sizes 320px and larger ---------- */
@media only screen 
and (min-width : 320px) {

	/*	HEADER ---------- */

    /*	BANNER ------ */

	#banner .logo {
		display: inline-block;
	}

}


/*  Screen Sizes 400px and smaller ---------- */
@media only screen 
and (max-width : 400px) {

	/*	HEADER ---------- */

    /*	BANNER ------ */

	#banner .txt-wrap .flex-container {
		justify-content: center;
	}

	#banner .txt-wrap * {
		text-align: center;
	}

	#banner .logo,
	#banner span {
		padding: 7.5px 15px;
	}

	#banner .link-button {
		margin: 7.5px 15px;
	}

}


/*  Screen Sizes 400px and larger ---------- */
@media only screen 
and (min-width : 400px) {

	/*	HEADER ---------- */

    /*	BANNER ------ */

	#banner .logo,
	#banner span {
		padding: 15px;
	}

	#banner .link-button {
		margin: 15px;
	}

}


/*	Screen Sizes 320px - 560px ---------- */
@media only screen 
and (min-width : 320px)
and (max-width : 560px) {

	/*	HEADER ----------- */

	/*	BANNER ------ */
	
	#banner .txt-wrap .inner > div {
		font-size: 1em;
	
	}

}


/*	Screen Sizes 560px and smaller ------------ */
@media only screen 
and (max-width : 560px) {

	/*  HEADER ---------- */

	/*  BANNER ------ */
	
	#banner {
		margin-top: 60px;
	}

}


/*	Screen Sizes 560px - 800px --------- */
@media only screen
and (min-width : 560px)
and (max-width : 800px) {

	/*	HEADER ---------- */

	/*	BANNER ------ */
	
	#banner {
		margin-top: 75px;
	}

	#banner .txt-wrap .inner > div {
		font-size: 1.125em;
	}

}


/*	Screen Sizes 800px and larger ---------- */
@media only screen
and (min-width : 800px) {

	/*	BANNER ------ */

	#banner {
		margin-top: 90px;
	}

	#banner .txt-wrap .inner > div {
		font-size: 1.125em;
	}

}


/*	Workaround for vh Bug on <= iOS7

/*	iPad with portrait orientation */
@media all and (device-width: 768px) and (device-height: 1024px) and (orientation:portrait) {

	#banner:not(.internal) {
		height: 844px; /* 1024px - 75px (nav bar height) - 105px (nominal height for browser bar) */
	}

}

/*	iPad with landscape orientation */
@media all and (device-width: 768px) and (device-height: 1024px) and (orientation:landscape) {

	#banner:not(.internal) {
		height: 573px; /* 768px - 90px (nav bar height) - 105px (nominal height for browser bar) */
	}

}
/*	==========================================================================
	INDIE.WEB NAV STYLES
	========================================================================== */

/*	NAV GENERAL ---------- */

nav ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

nav li {
	position: relative;
	margin: 0;
}

nav a {
	display: block;
}

nav li ul li {
	height: auto;
	overflow: hidden;
}

nav li ul a {
	line-height: 0px;
	transition:
		line-height 0.5s ease 0.5s,
		color 0.25s ease !important /* color included because only a single transition property can exist for an element; this overrides CSS Transitions section in main.css */
	;
}

nav li:hover > ul > li > a,
nav li:focus-within > ul > li > a,
nav li:active > ul > li > a,
nav li.parent.selected > ul > li > a,
nav li.selected > a {
/*	line-height: ; Set in main.css */
	transition:
		line-height 0.5s ease 0.5s,
		color 0.25s ease !important /* color included because only a single transition property can exist for an element; this overrides CSS Transitions section in main.css */
	;
}

nav li:focus,
#nav-main-container #phone-nav-ext {
	box-shadow: none !important; /* override base.css */
}

nav .has-children > a:after {
	content: '\276F';  /* encoded version of '❯' */
	display: inline-block;
	padding: 0 7.5px;

	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	transition: -webkit-transform 0.5s;
	transition: transform 0.5s;
	transition: transform 0.5s, -webkit-transform 0.5s;
}

nav .has-children:hover > a:after,
nav .has-children:focus > a:after,
nav li.has-children.parent.selected > a:after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	transition: -webkit-transform 0.5s;
	transition: transform 0.5s;
	transition: transform 0.5s, -webkit-transform 0.5s;

	font-style: normal; /* ensure rotated arrow looks normal */
}

/*	Sub-Nav Collapse Prevention --- */

nav .sub-nav-collapse-prevention {
	position: absolute;
	left: 0;
	width: 100%;
	visibility: hidden;
}

nav li:hover > ul > .sub-nav-collapse-prevention {
	height: 100vh;
	visibility: visible;
}


/*	NAV MAIN ---------- */

/*	CONTAINER ------ */

#nav-main-container {
	position: fixed;
	z-index: 100; /* ensure Main Nav is displayed in front of Banner */
	-webkit-backface-visibility: hidden; /* provides backwards compatibility for fixed position elements mobile devices */
	top: 0;
	width: 100%;

	display: flex;
	align-items: center;
}


/*	LOGO ------ */

#logo {
	max-width: 300px;
	height: 100%;
	white-space: nowrap;
	text-decoration: none;
}

#logo .vert-center > * {
	height: 100%;
}

#logo .vert-center > * > * {
	width: auto;
	max-width: 100%;
	height: 100%;
	max-height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}


/*	NAV ------ */

#nav-main li ul:hover {
	z-index: 10; /* still required? */
}


/*	RESPONSIVE NAV --- */

#nav-toggle {
	display: none;
}

#nav-icon {
	position: absolute;
	top: 50%;
	background: none !important;
	vertical-align: top;

	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

#nav-icon span {
	display: inline-block;
	width: 100%;
	height: 3px;

	-webkit-transform: translateX(0%) translateY(-50%);
	transform: translateX(0%) translateY(-50%);

	transition: background-color 0.3s;
}

#nav-icon span:before,
#nav-icon span:after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	right: 0;
	transition: top .3s, background-color 0.3s, -webkit-transform .3s;
	transition: top .3s, background-color 0.3s, transform .3s;
	transition: top .3s, background-color 0.3s, transform .3s, -webkit-transform .3s;
}

#nav-icon span:before {
	top: -7px;
}

#nav-icon span:after {
	top: 7px;
}

#nav-toggle:checked ~ #nav-icon span {
	background-color: rgba(255, 255, 255, 0) !important;
}

#nav-toggle:checked ~ #nav-icon span:before {
	top: 0;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

#nav-toggle:checked ~ #nav-icon span:after {
	top: 0;
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}


/*	==========================================================================
	INDIE.WEB NAV MEDIA QUERIES
	==========================================================================	*/

/*	Screen Sizes 240px and smaller ---------- */
@media only screen 
and (max-width : 240px) {
	
	/*	NAV MAIN ---------- */

	/*	CONTAINER, LOGO, NAV ------ */
	
	#nav-main-container,
	#logo,
	#nav-main {
		padding: 7.5px;
	}


	/*	NAV ------ */

	#nav-main {	
		min-width: 35px; /* combined (width: 20px) + ( (padding: 7.5px) x 2 ) */	
	}

	#nav-main div > ul {
		padding: 0 15px;
	}

	#nav-main li ul {
		padding-left: 15px;
	}


	/*	RESPONSIVE NAV --- */

	#nav-icon {
		right: 15px;
		width: 20px;
	}
	
	#nav-icon span {
		height: 2px;
	}
	
	#nav-icon span:before {
		top: -6px;
	}
	
	#nav-icon span:after {
		top: 6px;
	}

}


/*	Screen Sizes 240px and larger ---------- */
@media only screen 
and (min-width : 240px) {
	
	/*	NAV MAIN ---------- */

	/*	LOGO, PHONE ------ */
	
	#logo,
	#phone-nav-ext {
		padding: 0 15px;
	}

}


/*	Screen Sizes 240px - 320px ---------- */
@media only screen 
and (min-width : 240px)
and (max-width : 320px) {

	/*	NAV MAIN ---------- */

	/*	NAV ------ */

	#nav-main {	
		min-width: 52px; /* combined (width: 22px) + ( (padding: 15px) x 2 ) */	
	}


	/*	RESPONSIVE NAV --- */
	
	#nav-icon {
		right: 30px;
		width: 22px;
	}
	
	#nav-icon span {
		height: 2px;
	}
	
	#nav-icon span:before {
		top: -6px;
	}
	
	#nav-icon span:after {
		top: 6px;
	}
	
}


/*	Screen Sizes 240px - 800px ---------- */
@media only screen 
and (min-width : 240px)
and (max-width : 800px) {
	
	/*	NAV MAIN ---------- */

	/*	CONTAINER ------ */

	#nav-main-container {
		padding: 15px;
	}


	/*	NAV ------ */

	#nav-main div > ul {
		padding-left: 30px;
		padding-right: 30px;
	}

	#nav-main li ul {
		padding-left: 30px;
	}

}


/*	Screen Sizes 320px and smaller ---------- */
@media only screen 
and (max-width : 320px) {

	/*	NAV MAIN ---------- */

	/*	CONTAINER ------ */
	
	#nav-main-container a {
		font-size: 0.875em;
	}


	/*	NAV ------ */

	#nav-main > div > ul > li > a,
	#nav-main li:hover > ul > li > a {
		line-height: 40px;
	}

}


/*	Screen Sizes 320px - 640px ---------- */
@media only screen
and (min-width : 320px)
and (max-width : 640px) {
	
	/*	NAV MAIN ---------- */

	/*	NAV ------ */
	
	#nav-main > div > ul > li > a,
	#nav-main li:hover > ul > li > a {
		line-height: 45px;
	}

}


/*	Screen Sizes 320px - 800px ---------- */
@media only screen
and (min-width : 320px)
and (max-width : 800px) {
	
	/*	NAV MAIN ---------- */

	/*	NAV ------ */

	#nav-main {	
		min-width: 55px; /* combined (width: 25px) + ( (padding: 7.5px) x 2 ) */	
	}


	/*	RESPONSIVE NAV --- */
	
	#nav-icon {
		right: 30px;
		width: 25px;
	}
	
	#nav-icon span {
		height: 3px;
	}
	
	#nav-icon span:before {
		top: -7px;
	}
	
	#nav-icon span:after {
		top: 7px;
	}

}


/*	Screen Sizes 400px and smaller ---------- */
@media only screen 
and (max-width : 400px) {

	/*	NAV MAIN ---------- */

	/*	LOGO, NAV ------ */

	#logo,
	#nav-main {
		width: 50%;
	}
	
}


/*	Screen Sizes 560px and smaller ---------- */
@media only screen 
and (max-width : 560px) {

	/*	NAV MAIN ---------- */

	/*	CONTAINER ------ */

	#nav-main-container {
		height: 60px;
	}


	/*	NAV ------ */

	/*	RESPONSIVE NAV --- */

	#nav-collapse {
		top: 60px;
	}

	#nav-collapse > ul {
		padding-bottom: 60px;
	}
	
}


/*	Screen Sizes 560px - 800px ---------- */
@media only screen
and (min-width : 560px)
and (max-width : 800px) {

	/*	NAV MAIN ---------- */

	/*	CONTAINER ------ */

	#nav-main-container {
		height: 75px;
	}


	/*	NAV ------ */

	/*	RESPONSIVE NAV --- */

	#nav-collapse {
		top: 75px;
	}

	#nav-collapse > ul {
		padding-bottom: 75px;
	}

}


/*	Screen Sizes 640px and smaller ---------- */
@media only screen 
and (max-width : 640px) {

	/*	NAV MAIN ---------- */
	
	/*	NAV ------ */
	
	#nav-main {
		flex: 1; /* still required? */
	}
	
}


/*	Screen Sizes 640px - 800px ---------- */
@media only screen
and (min-width : 640px)
and (max-width : 800px) {

	/*	NAV MAIN ---------- */
	
	/*	NAV ------ */
	
	#nav-main {
		width: auto; /* still required? */
	}
	#nav-main li a {
		font-size: 1.25rem;
	}

	#nav-main > div > ul > li > a,
	#nav-main li:hover > ul > li > a {
		line-height: 60px;
	}
	
}


/*	Screen Sizes 800px and smaller ---------- */
@media only screen 
and (max-width : 800px) {

	/*	NAV MAIN ---------- */
	
	/*	NAV ------ */

	#nav-main {
		order: 3; /* initial value 0 */
	}


	/*	RESPONSIVE NAV --- */
	
	#nav-icon {
		display: inline-block;
		height: 30px;
	}

	#nav-toggle:checked ~ #nav-icon {
		position: absolute;
		-webkit-backface-visibility: hidden; /* provides backwards compatibility for fixed position elements mobile devices */
		left: auto;
	}

	#nav-collapse {
		position: fixed;
		-webkit-backface-visibility: hidden; /* provides backwards compatibility for fixed position elements mobile devices */
		left: 0;
		width: 100%;
		height: 100%;
		max-height: 0;
		padding: 0;
		overflow: hidden;
		text-align: left;

		-webkit-transition: all .65s ease-in-out;
		transition: all .65s ease-in-out;
	}

	#nav-toggle:checked ~ #nav-collapse {
		max-height: 1200px;
		overflow: auto;
	}


	/*	PHONE ------ */

	#phone-nav-ext {
		display: none;
	}
	
}


/*	Screen Sizes 800px and larger ---------- */
@media only screen 
and (min-width : 800px) {

	/*	NAV MAIN ---------- */
	
	/*	CONTAINER ------ */

	#nav-main-container {
		height: 90px;
		padding: 0 15px;
	}


	/*	LOGO ------ */

	#logo > * {
		padding-top: 15px;
		padding-bottom: 15px;
	}


	/*	NAV ------ */

	#nav-main {
		position: relative;
		text-align: center;

		flex: auto;
		order: 2;
	}

	#nav-main div > ul {
		height: 90px;
		padding: 0;
		white-space: nowrap; /* prevent menu items from wrapping */
		font-size: 0; /* prevent white-space between li items (important when setting background-color) */
	}

	#nav-main div > ul > li {
		height: 90px;
		display: inline-block;
		padding: 0 15px;
		vertical-align: top;
	}

	#nav-main > div > ul > li > a {
		line-height: 90px;
	}

	#nav-main > div > ul > li > ul {
		position: absolute;
		top: 90px;
		left: 0;
		height: initial;
		min-width: 100%;
	}

	#nav-main li ul {
		padding: 0 30px;
	}

	#nav-main li ul li {
		display: block;
		text-align: left;
	}

	#nav-main li:hover > ul > li > a,
	#nav-main li:hover > ul > li > a,
	#nav-main li:focus-within > ul > li > a,
	#nav-main li:active > ul > li > a,
	#nav-main .sub-nav-collapse-prevention:hover ~ li > a,
	html.tabbing #nav-main li:focus-within > ul > li > a {
		line-height: 60px;
	}

	.sub-nav-box-shadow {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
	}


	/*	RESPONSIVE NAV --- */
	
	#nav-icon {
		display: none;
	}
	
	#nav-collapse {
		position: relative;
		width: auto;
		height: auto;
		max-height: none;
		overflow: visible;
		background: none !important;
		text-align: right;
	}


	/*	PHONE ------ */
	
	#phone-nav-ext {
		order: 3;
	}
	
}


/*	Screen Sizes 800px - 880px ---------- */
@media only screen 
and (min-width : 800px) 
and (max-width : 880px) {

	/*	NAV MAIN ---------- */
	
	/*	NAV ------ */
	
	#nav-main div > ul {
		padding: 0 2.5px /* ensure consistent space around first and last menu items */
	}

	#nav-main div li {
		padding: 0 12.5px;
	}

}


/*	Screen Sizes 800px - 1040px ---------- */
@media only screen 
and (min-width : 800px) 
and (max-width : 1040px) {

	/*	NAV MAIN ---------- */
	
	/*	CONTAINER ------ */

	#nav-main-container a {
		font-size: 0.875rem;
	}

}


/*	Screen Sizes 880px - 1040px ---------- */
@media only screen 
and (min-width : 880px) 
and (max-width : 1040px) {

	/*	NAV MAIN ---------- */
	
	/*	NAV ------ */
	
	#nav-main li {
		padding: 0 15px;
	}

}


/*	Screen Sizes 1040px and larger ---------- */
@media only screen 
and (min-width : 1040px) {

	/*	NAV MAIN ---------- */
	
	/*	NAV ------ */
	
	#nav-main-container a {
		font-size: 1.0rem;
	}

}


/*	Screen Sizes 1520px and larger ---------- */
@media only screen 
and (min-width : 1520px) {

	/*	NAV MAIN ---------- */
	
	/* 	CONTAINER ------ */
	
	#nav-main-container {
		padding: 0 30px;
	}

}
/*  ==========================================================================
	INDIE.WEB CAROUSEL STYLES
	==========================================================================  */

/*	CAROUSEL CONTAINER --- */

.carousel-container {
	overflow: hidden;
}

section div[class*="width-"]:first-child > .carousel-container {
	margin-top: 30px;
}


/*	SLICK TRACK --- */

.carousel-container .slick-track {
	display: flex !important;
	flex-direction: row; /* is this necessary? */
}


/*	SLICK SLIDES --- */

.carousel-container .slick-slide {
	height: inherit !important;
}


/*	SLICK LOADING --- */

.slick-loading .slick-list {
	background: #fff url('https://assets.locomotive.works/sites/5f02b34b1b5fd500accef0ae/theme/images/components/ajax-loader.gif?a21746f5374859d98f7528e1857e3532') center center no-repeat;
}


/*	SLICK ARROWS --- */

.slick-slider .slick-arrow {
	position: absolute;
	z-index: 1000; /* ensure Slick Arrows are displayed in front of Slick Carousel items (which start at z-index: 1000 and work down) */
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	border: 0;
	background: none;
	font-size: 2.5em;
	cursor: pointer;
}

.slick-slider .slick-arrow:hover {
	background: none;
}

.slick-next {
	right: 0;
}


/*  SLICK DOTS (PAGER) --- */

.slick-dots {
	display: block;
	width: 100%;
	padding: 0;
	list-style: none;
	text-align: center;
}

.slick-dots li {
	position: relative;
	display: inline-block;
	width: 30px;
	height: 30px;
	margin: 0;
	padding: 0;
	cursor: pointer;
}

.slick-dots li button {
	display: block;
	width: 30px;
	height: 30px;
	margin: 0;
	border: 0;
	padding: 0;
	cursor: pointer;
	color: transparent;
	outline: none;
	background: transparent;
	font-size: 0;
	line-height: 0;
}

.slick-dots li button:hover {
	background: transparent;
}

.slick-dots li button:before {
	content: '\2022';
	display: block;
	top: 0;
	left: 0;
	width: 30px;
	height: 30px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-align: center;
	line-height: 30px;
	font-family: initial; /* resets font to Times New Roman (set it in normalize.css) for consistent sizing */
	font-size: 42px;
	/* color set in main.css */
	/* text-shadow set in main.css */
}

.slick-dots li.slick-active button:before {
	/* color set in main.css */
}

/*	SECTIONS SLICK DOTS (PAGER) --- */

.txt-white .slick-dots li button:before {
	color: #fff;
}


/*	 BANNER CAROUSEL ------ */

#banner .slick-list,
#banner .slick-track {
	height: 100%;
}

.banner-slide {
	float: left; /* necessary for Banner Module (i.e. not simply image) slides to be displayed */
	/* positioning for carousel banners */
	display: flex;
	flex-direction: column;
	justify-content: center;
	aspect-ratio: 1/1;
	/* max-height set in media queries */
}

/*	SLICK ARROWS --- */

#banner .slick-arrow {
	color: #fff;
	text-shadow: 0 0 5px rgba(0,0,0,0.75);
}

/*  SLICK DOTS (PAGER) --- */
/*	Other slick-dots styles set in media queries */

#banner .slick-dots {
	bottom: 0;
	z-index: 1000; /* ensure Slick Dots are displayed in front of Slick Carousel items (which start at z-index 1000 and work down) */
	font-family: auto; /* prevent variation of button:before bullet on account of global font-family */
}


/*  ==========================================================================
	INDIE.WEB CAROUSEL MEDIA QUERIES
	==========================================================================  */

/*	Screen Sizes 240px and smaller ---------- */
@media only screen 
and (max-width : 240px) {

	/*	HEADER ----------- */

	/*	BANNER ------ */

	#banner .banner-slide {
		height: 100%;
		max-height: none !important;
		justify-content: start;
	}

	#banner:not(.internal) #cycle-banner {
		position: relative;
	}

	/*	Carousel --- */

	/*	Slick Arrows */

	#banner:not(.internal) .slick-arrow {
		top: calc(50vw - 15px);
	}

	/*	Pager */

	#banner:not(.internal) .slick-dots {
		position: relative;
	}
	
	/* .pos-abs applied by JS when no .txt-wrap elements present - slick-dots remain in banner */
	#banner:not(.internal) .slick-dots.pos-abs {
		position: absolute;
	}

	/* harder shadow for better visibility against image backgrounds */
	#banner:not(.internal) .slick-dots.pos-abs li button:before {
		text-shadow: 0 0 5px rgba(0,0,0,0.75);
	}

}


/*  Screen Sizes 240px and larger ---------- */
@media only screen 
and (min-width : 240px) {

	/*	HEADER ---------- */

	/*	BANNER ------ */

	/*	Slick Arrows */

	#banner .slick-arrow {
		top: 50%;
	}

	/*	Carousel --- */

	/*	Pager */

	#banner .slick-dots {
		position: absolute;
	}

	/* harder shadow for better visibility against image backgrounds */
	#banner .slick-dots li button:before {
		text-shadow: 0 0 5px rgba(0,0,0,0.75);
	}

}


/*	Screen Sizes 240px - 400px ---------- */
@media only screen 
and (min-width : 240px)
and (max-width : 400px) {

	/*	HEADER ---------- */

	/*	BANNER ------ */

	#cycle-banner .txt-wrap {
		padding: 47.5px 15px;
	}

}


/*  Screen Sizes 400px and smaller ---------- */
@media only screen 
and (max-width : 400px) {

	/*	HEADER ---------- */

    /*	BANNER ------ */

	/*	Carousel --- */

	/*	Pager */

	#banner .slick-dots {
		margin: 15px 0;
	}

}


/*  Screen Sizes 400px and larger ---------- */
@media only screen 
and (min-width : 400px) {

	/*	HEADER ---------- */

    /*	BANNER ------ */

	/*	Carousel --- */

	/*	Pager */

	#banner .slick-dots {
		margin: 30px 0;
	}

}


/*	Screen Sizes 400px - 800px ---------- */
@media only screen 
and (min-width : 400px)
and (max-width : 800px) {

	/*	HEADER ---------- */

	/*	BANNER ------ */

	#cycle-banner .txt-wrap {
		padding: 75px 15px;
	}

}


/*	Screen Sizes 800px and smaller ---------- */
@media only screen
and (max-width : 800px) {

	/*	HEADER ---------- */

	/*	BANNER ------ */

	/*	Carousel --- */

	/*	Pager */

	#banner .slick-arrow {
		padding: 0 15px;
	}

}


/*	Screen Sizes 800px and larger ---------- */
@media only screen
and (min-width : 800px) {

	/*	BANNER ------ */

	#cycle-banner .txt-wrap {
		padding: 75px 45px;
	}

	/*	Carousel --- */

	/*	Pager */

	#banner .slick-arrow {
		padding: 0 30px;
	}

}
/*  ==========================================================================
	INDIE.WEB STANDARD SECTION STYLES
    ==========================================================================  */

/*	ANNOUNCEMENT SECTION ------ */

/*	GENERAL --- */

.section-announcement,
.section-announcement > * {
	position: fixed;
}

.section-announcement {
	z-index: 200; /* ensure Announcement Section is displayed in front of Main Nav + Banner */
	width: 100%;
	height: 100vh; /* ensure Announcement Section covers viewport */
	transform-style: preserve-3d;
	pointer-events: none; /* allow click-through to underlying elements */
}

.section-announcement > div {
	width: 100%;
}

.section-announcement label {
	pointer-events: all;
	cursor: pointer;
}

#announcement-toggle,
#announcement-toggle ~ label,
#announcement-wrap {
	display: none;
}

#announcement-toggle:checked ~ label,
#announcement-toggle:checked ~ #announcement-wrap {
	display: block;
}

.section-announcement .bg-wrap {
	z-index: -1;
}

/*	BAR --- */

.section-announcement .type-bar {
	z-index: 1; /* ensure Announcement Bar is displayed behind Close Button (label) */
	pointer-events: all;
}

.section-announcement .type-bar ~ label {
	z-index: 2; /* ensure Close Button (label) is displayed in front of Announcement Bar */
}

.section-announcement .type-bar.pos-top ~ label {
	top: 15px;
	right: 15px;
}

.section-announcement .type-bar.pos-bottom ~ label {
	bottom: 15px;
	right: 15px;
}

.section-announcement .type-bar .inner {
	padding-top: 0;
	padding-bottom: 0;
}

.section-announcement .type-bar.pos-top {
	top: 0;
}

.section-announcement .type-bar.pos-bottom {
	bottom: 0;
}

/*	POPUP --- */

.section-announcement .type-popup {
	z-index: 2; /* ensure Announcement Popup is displayed in front of blurred background (label) */
	height: 100%;
	background: rgba(0,0,0,0.5);
	backdrop-filter: blur(3px);
	pointer-events: none;
}

.section-announcement .type-popup ~ label {
	top: 0;
	left: 0;
	z-index: 1; /* ensure blurred background (label) is displayed behind Announcement Popup */
	width: 100%;
	height: 100%; /* ensure blurred background (label) covers viewport */
	transform-style: preserve-3d;
}

.section-announcement .type-popup ~ label i {
    position: fixed; /* top + left set in media queries */
	transform: translateZ(1px); /* ensure Close Button (label > i) is displayed in front of Announcement Popup */
}

.section-announcement .type-popup .inner {
	top: 50%;
	transform: translateY(-50%);
}

.section-announcement .type-popup .pos-rel {
	pointer-events: all;
}


/*	BANNER SECTION ---------- */

#banner .locomotive-section > span {
	display: none;
}


/*	GENERAL CONTENT SECTION ---------- */

main > .locomotive-sections > section {
	overflow: hidden; /* ensure backgrounds with blur + scale applied do not overflow the section */
}

/*	Ensure correct margin if first paragraph on page is not preceded by a heading */
main > .section-page-intro > .inner > .width-100 > p:first-child,
main > .locomotive-sections > section > .inner .width-100 > p:first-child {
	margin-top: 30px;
}


/*	SEPARATOR --- */

.locomotive-sections .separator {
	padding: 15px 0 !important;
}

.locomotive-sections .separator:first-child {
	padding-top: 0 !important;
}

.locomotive-sections .separator:last-child {
	padding-bottom: 0 !important;
}

.locomotive-sections .separator:only-child {
	padding-top: 15px !important;
	padding-bottom: 15px !important;
}

.locomotive-sections .separator:not(:first-child) > *:not(div):first-child {
	margin-top: 15px;
}

main:not(#contact) .merge.section-page-intro + .locomotive-sections > section:first-child > .inner > .flex-container:first-child > .width-100:first-child > .separator:first-child > *:not(div):first-child {
	margin-top: 0;
}


/*	SECTION BLOCK STYLES ------ */

.locomotive-sections [class*=width-] > [class*=width-],
.locomotive-sections [class*=width-] > .separator > [class*=width-] {
	padding: 0;
}

.locomotive-sections .center[class*=width-].center > *,
.locomotive-sections .center[class*=flex-basis-].center > * {
	margin-left: auto;
	margin-right: auto;
}

.locomotive-sections .right[class*=width-].right > *,
.locomotive-sections .right[class*=flex-basis-].right > * {
	margin-left: auto;
}


/*	BACKGROUND --- */

.bg-white {
	background-color: #fff;
}


/*	TEXT --- */

.txt-white,
.txt-white * {
	color: #fff;
}

.txt-white a {
	color: initial;
}

.txt-initial,
.txt-initial * {
	color: initial !important;
}

.txt-shadow :not(.p-button) {
	text-shadow: 0 0 0.25em rgba(0,0,0,0.75);
}

.txt-shadow .link-button {
	box-shadow: 0 0 15px rgba(0,0,0,0.5);
	text-shadow: initial;
}

.txt-shadow-disabled,
.txt-shadow-disabled * {
	text-shadow: none !important;
}


/*	IMAGE --- */

.locomotive-sections .img-block-wrap:first-child img {
	margin-top: 30px;
}

img.round {
	border-radius: 50%;
}


/*	LOGO --- */

.txt-shadow picture > * {
	filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.75));
}


/*	PAGE INTRO SECTION ---------- */

/* hide page intro content when banner is enabled */
/* hide page intro content when banner is not enabled */
main section:has(#banner-int-wrap),
#banner.internal section:not(:has(#banner-int-wrap)) {
    display: none;
}

.merge > .inner,
.merge > .inner > .width-100 {
    padding-bottom: 0 !important;
}

/*	Remove space between Sections */
.merge + *,
.merge + * > div:first-child,
.merge + section > .inner,
.merge + section > .inner > div:first-child,
.merge + section > .inner > .flex-container > div:first-child,
/*	Remove space between Page Intro Section and following content */
.merge.section-page-intro + .locomotive-sections > section:first-child > .inner,
.merge.section-page-intro + .locomotive-sections > section:first-child > .inner > div:first-child,
.merge.section-page-intro + .locomotive-sections > section:first-child > .inner > .flex-container > div:first-child {
    padding-top: 0 !important;
}


/*  ==========================================================================
	INDIE.WEB STANDARD SECTIONS MEDIA QUERIES
	==========================================================================  */

/*	Screen Sizes 240px and smaller ---------- */
@media only screen
and (max-width : 240px) {

	/*	ANNOUNCEMENT SECTION ------ */

	/*	POPUP --- */

	.section-announcement .type-popup ~ label i {
		top: 7.5px;
		right: 7.5px;
	}

}


/*	Screen Sizes 240px - 640px ---------- */
@media only screen
and (min-width : 240px)
and (max-width : 640px) {

	/*	ANNOUNCEMENT SECTION ------ */

	/*	POPUP --- */

	.section-announcement .type-popup ~ label i {
		top: 22.5px;
		right: 22.5px;
	}

}


/*	Screen Sizes 240px - 480px ---------- */
@media only screen
and (min-width : 240px)
and (max-width : 480px) {

	/*	ANNOUNCEMENT SECTION ------ */

	/*	POPUP --- */

	.section-announcement .type-popup .pos-rel {
		padding: 0 15px;
	}

}


/*	Screen Sizes 480px and larger ---------- */
@media only screen
and (min-width : 480px) {

	/*	ANNOUNCEMENT SECTION ------ */

	/*	POPUP --- */

	.section-announcement .type-popup .pos-rel {
		padding: 15px 30px;
	}

}


/*	Screen Sizes 640px and smaller ---------- */
@media only screen
and (max-width : 640px) {

	/*	GENERAL ---------- */

	.float-container.int-wrap.separator > div:first-child {
		padding-top: 15px;
	}

}


/*	Screen Sizes 640px and larger ---------- */
@media only screen
and (min-width : 640px) {

	/*	GENERAL ---------- */

	.float-container.int-wrap.separator > div {
		padding-top: 15px;
	}

	.section-announcement .type-popup ~ label i {
		top: 30px;
		right: 30px;
	}

}


/*	Screen Sizes 1200px - 1360px ---------- */
@media only screen
and (min-width : 1200px)
and (max-width : 1360px) {

	/*	GENERAL ---------- */

	main:not(#contact) .merge.section-page-intro p:last-child {
		margin-bottom: 45px;
	}
/*
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .locomotive-sections > section:first-child > .inner > div:first-child > *:not(div):first-child,
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .locomotive-sections > section:first-child > .inner > .flex-container:first-child > .width-100:first-child > *:not(div):first-child,
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .inner > div:first-child > *:not(div):first-child  {
		margin-top: -15px;
	}
*/
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .locomotive-sections > section:first-child {
		margin-top: -15px;
	}

}


/*	Screen Sizes 1360px - 1520px ---------- */
@media only screen
and (min-width : 1360px)
and (max-width : 1520px) {

	/*	GENERAL ---------- */

	main:not(#contact) .merge.section-page-intro p:last-child {
		margin-bottom: 60px;
	}
/*
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .locomotive-sections > section:first-child > .inner > div:first-child > *:not(div):first-child,
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .locomotive-sections > section:first-child > .inner > .flex-container:first-child > .width-100:first-child > *:not(div):first-child,
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .inner > div:first-child > *:not(div):first-child  {
		margin-top: -30px;
	}
*/
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .locomotive-sections > section:first-child {
		margin-top: -30px;
	}

}


/*	Screen Sizes 1520px and larger ---------- */
@media only screen
and (min-width : 1520px) {

	/*	GENERAL ---------- */

	main:not(#contact) .merge.section-page-intro p:last-child {
		margin-bottom: 75px;
	}
/*
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .locomotive-sections > section:first-child > .inner > div:first-child > *:not(div):first-child,
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .locomotive-sections > section:first-child > .inner > .flex-container:first-child > .width-100:first-child > *:not(div):first-child,
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .inner > div:first-child > *:not(div):first-child  {
		margin-top: -45px;
	}
*/
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .locomotive-sections > section:first-child {
		margin-top: -45px;
	}

}
/*	==========================================================================
	INDIE.WEB TESTIMONIALS MODULE STYLES
	========================================================================== */

.testimonial-wrap {
    height: 100%;
}

p.attestant {
    margin-left: 30px;
    margin-right: 30px;
    border-left: 5px solid transparent;
    padding-left: 30px;
}

/* 	==========================================================================
	INDIE.WEB TESTIMONIALS MODULE MEDIA QUERIES
	==========================================================================  */

/*	Screen Sizes 320px and smaller ---------- */
@media only screen 
and (max-width : 320px) {

	/*	GENERAL ---------- */
		
	p.attestant {
		margin-left: 15px;
        margin-right: 15px;
		padding-left: 15px;
	}

}
/*  ==========================================================================
	INDIE.WEB CUSTOM STYLES
	==========================================================================  */

/*  GENERAL ---------- */

html {
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
	color: #333;
}

::-moz-selection {
	background: #b3d4fc;
}

::selection {
	background: #b3d4fc;
}

.flex-container > img {
	-ms-grid-row-align: center;
	align-self: center;
}

[class*='width-'].int-wrap {
	margin: 0 !important;
}

/*
.box-wrap {
	position: relative;
	height: 0;
	padding-bottom: 100%;
}

.shadow {
	box-shadow: 0 0 15px rgba(0,0,0,0.25);
}

.shadow:hover {
	box-shadow: 0 0 15px rgba(0,0,0,0.5);
}

.img-wrap {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	overflow: hidden;
}

.img-wrap img {
	position: relative;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: 50% 0;
	object-position: 50% 0;
}

/*	Faux Table --- */
/*
.faux-table {
	font-size: 0.875em;
}

.faux-row {
	width: 100%;

	/* borders on rows (only): */
/*	margin: -1px 0; /* collapse top/bottom borders */
/*	border: 1px solid #; */ /*
}

.faux-row div {
	min-height: 45px;

	/* borders on cells (only): */
/*	border: 1px solid #; */ /*
	padding: 12.5px 15px;
	background: #fff;
	line-height: 20px;
}

.faux-table .head {
	height: 45px;
	background: ;
	font-weight: ;
	color: ;
	text-transform: ;
}
*/

/*	Responsive Video --- */

.responsive-video {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
}

.responsive-video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}


/*	TEXT STYLES ------ */

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 30px 0;
	font-family: Rufina-Stencil-Alt-02-Bold;
	letter-spacing: 0.025em;
}

span.h1,
span.h2,
span.h3 {
	font-family: Rufina-Stencil-Alt-02-Bold;
	letter-spacing: 0.025em;
}

span.h1,
span.h2,
span.h3,
span.h4,
span.h5,
span.h6 {
/*	font-weight: ;
	letter-spacing: ; 
	color: ; */
}

p {
	margin: 15px 0;
}

main ul,
main ol {
	margin: 15px 0;
}

main p:last-child,
main ul:last-child,
main ol:last-child {
	margin-bottom: 30px;
}

main li {
	margin: 7.5px 0;
}

blockquote {
	margin: 30px;
	border-left: 7.5px solid /*# */;
	padding-left: 30px;
    text-align: left;
    font-size: 1.25em;
	font-style: italic;
	font-weight: 300;
	color: #d88c99;
}

span.light {
	font-weight: 300;
}

span.normal {
	font-weight: 400;
}

span.semibold {
	font-weight: 500;
}

b,
strong,
span.bold {
	font-weight: 700;
}

hr {
	margin: 15px 0;
	border-top-color: #333;
}


/*	LINK STYLES ------ */

/*	GLOBAL --- */

a:active,
a:hover,
a:link,
a:visited {
	color: #d88c99;
	text-decoration: underline;
}

a:hover {
	color: #c45264;
}

a.link-button:active,
a.link-button:hover,
a.link-button:link,
a.link-button:visited {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	min-height: 45px;
	padding: 10px 30px;
	text-decoration: none;
    background-color: #ecc7cd;
/*	font-weight: ;*/
	color: #333;
}

a.link-button:hover {
    background-color: #333;
    color: #ecc7cd;
}

.toll-free-number {
	text-transform: uppercase;
}


/*	SECTIONS ---------- */

/*	Background Dark Grey ------ */

.bg-grey {
	background-color: #333;
	color: #fff;
}

.bg-grey blockquote {
	color: #ecc7cd;
}

.bg-grey a:active,
.bg-grey a:hover,
.bg-grey a:link,
.bg-grey a:visited {
	color: #ecc7cd;
}

.bg-grey a:hover {
	color: #d88c99;
}

.bg-grey .slick-dots li button:before {
	color: #fff;
}

.bg-grey .slick-dots li.slick-active button:before {
	color: #d88c99;
}


/*	Background Pink ------ */

.bg-pink {
	background-color: #ecc7cd;
}

.bg-pink blockquote {
	color: #fff;
}

.bg-pink a:active,
.bg-pink a:hover,
.bg-pink a:link,
.bg-pink a:visited {
	color: #d88c99;
}

.bg-pink a:hover {
	color: #fff;
}

.bg-pink .slick-dots li button:before {
	color: #333;
}

.bg-pink .slick-dots li.slick-active button:before {
	color: #fff;
}


/*	Background Image ------ */

.bg-wrap {
	background-position: 50% 50%;
}

/*	Parallax Scrolling --- */

section:has(.parallax-window) {
	overflow: hidden;
}

.parallax-window:before {
	content: '';
	position: absolute;
	z-index: -200; /* ensure pseudo element does not overlay parallax image */
	top: 0;
	bottom: 0;
	left: 0;
	right: 0; 
	overflow: hidden;
/*	background-color: #333; in case image fails to load - this overrides parallax image on mobile - remove entirely? */
	background-size: cover;
	background-repeat: no-repeat;
}


/*	HEADER ---------- */

/*	NAV ------ */

#nav-main-container,
#nav-collapse,
nav li ul {
	background: #fff;
}

#nav-main-container {
	z-index: 3000; /* compete with Slick Carousel items */
	box-shadow: 0 0 15px rgba(0,0,0,0.5);
}

#nav-icon span,
#nav-icon span:before,
#nav-icon span:after {
	background: #333;
}

nav a:link,
nav a:visited,
nav a:hover,
nav a:active,
#nav-main-container [id^=phone] {
	text-decoration: none;
	color: #333;
/*	font-weight: ;
	text-transform: ;
	letter-spacing: ;*/
}

nav a:hover,
nav .selected > a,
#nav-main-container [id^=phone]:hover {
	color: #d88c99;
}


/*	BANNER ------ */

#banner:before {
	background: #333; /* in case image fails to load */
}

#banner .link-button {
	background-color: #ecc7cd;
	color: #333;
}

#banner .link-button:hover {
	background-color: #d88c99;
/*	color: ;*/
}


/*	FOOTER ---------- */

/*	FOOTER TOP ------ */
/*
#footer-top {
	background: ;
	color: ;
}

#footer-top h3 {
	color: ;
}

#footer-top a:active,
#footer-top a:hover,
#footer-top a:link,
#footer-top a:visited {
	color: ;
	text-decoration: none;
}

#footer-top a:hover {
	color: ;
}
*/
#footer-logo {
	max-width: 75%;
	margin: 30px 0;
}

/* TO DO --- */
/* The below social styles should be simplified and the Template should simply use .social wrap as per the Standard Sections module --- */
#social,
.social-wrap {
	margin-left: -15px;
	margin-right: -15px;
}
#social a,
.social-wrap a {
	text-decoration: none;
	display: block;
}
#social a i,
.social-wrap a i {
	display: block;
	border-radius: 50%;
	padding: 15px;
}
/* --- */
ul.contact-info {
	list-style-type: none;
	padding: 0;
}

ul.contact-info li {
	margin: 30px 0;
}

ul.contact-info i {
	padding-right: 15px;
}

ul.contact-info a {
	text-decoration: none;
}

#footer-top .toll-free-number {
	font-size: 0.75em;
}


/*	FOOTER BOTTOM ------ */

#footer-bottom a {
	text-decoration: none;
}


/*  FORMS ---------- */

input[type=date],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
select,
textarea {
	background: #f5f5f5; /* default #f5f5f5 also found in form-submit.js */
}

button[type=button],
button[type='reset'],
button[type=submit],

input[type=button],
input[type=file],
input[type='reset'],
input[type=submit] {
	background: #ecc7cd;
	color: #333;
	font-weight: 400;
/*	text-transform: ;
	letter-spacing: ;*/
}

button[type=button]:hover,
button[type='reset']:hover,
button[type=submit]:hover,

input[type=button]:hover,
input[type=file]:hover,
input[type='reset']:hover,
input[type=submit]:hover {
	background: #333;
	color: #ecc7cd;
}


/*  FORM BROWSER RESETS ------ */

/*	customise Chrome form-field focus outline */
input:focus,
select:focus,
textarea:focus {
	outline: #222 1px solid !important;
}
/* */


/*  PLACEHOLDERS ------ */

/*  Placeholders (Standard) --- */

::-webkit-input-placeholder {
	color: #b8b8b8;
	opacity: 1;
}
:-moz-placeholder {
	color: #b8b8b8;
	opacity: 1;
}
::-moz-placeholder {
	color: #b8b8b8;
	opacity: 1;
}
:-ms-input-placeholder {
	color: #b8b8b8;
}
:placeholder {
	color: #b8b8b8;
}

/*  Placeholders :focus --- */

:focus::-webkit-input-placeholder {
	color: #999;
}
:focus:-moz-placeholder {
	color: #999;
}
:focus::-moz-placeholder {
	color: #999;
}
:focus:-ms-input-placeholder {
	color: #999;
}
:placeholder {
	color: #999;
}


/*	FORM ERRORS ------ */

input.error,
.show-errors input:required:invalid,
select.error,
.show-errors select:required:invalid,
textarea.error,
.show-errors textarea:required:invalid {
	background: #ffebeb;
}

select.error,
.show-errors select.error {
	color: #ff3b3b;
}

/*  Placeholders (Error) --- */

.error::-webkit-input-placeholder,
.show-errors .error::-webkit-input-placeholder {
	color: #ff7676;
	opacity: 1;
}
.error:-moz-placeholder,
.show-errors .error:-moz-placeholder  {
	color: #ff7676;
	opacity: 1;
}
.error::-moz-placeholder,
.show-errors .error::-moz-placeholder {
	color: #ff7676;
	opacity: 1;
}
.error:-ms-input-placeholder,
.show-errors .error:-ms-input-placeholder {
	color: #ff7676;
}
.error:placeholder,
.show-errors .error:placeholder {
	color: #ff7676;
}

/*  Placeholders (Error) :focus --- */

.error:focus::-webkit-input-placeholder,
.show-errors .error:focus::-webkit-input-placeholder {
	color: #ff3b3b;
}
.error:focus:-moz-placeholder,
.show-errors .error:focus:-moz-placeholder {
	color: #ff3b3b;
}
.error:focus::-moz-placeholder,
.show-errors .error:focus::-moz-placeholder {
	color: #ff3b3b;
}
.error:focus:-ms-input-placeholder,
.show-errors .error:focus:-ms-input-placeholder {
	color: #ff3b3b;
}
.error:placeholder,
.show-errors .error:placeholder {
	color: #ff3b3b;
}


/*	CSS TRANSITIONS ---------- */

a:link,
a:visited,
a:hover,
a:active,

button,
button:hover,
input,
input:hover {
	transition: background-color 0.25s ease, color 0.25s ease;
}


/*  PAGES ---------- */

/*	LOCK SCREEN ------ */

#lock-screen,
#lock-screen body,
#lock-screen .inner,
#lock-screen .inner > div {
	height: 100%;
}

#lock-screen .login-wrap {
	max-width: 300px;
}

#lock_screen img {
	max-width: 240px;
}

#lock-screen form {
	margin: 0 auto;
}

#lock-screen input[type='password'] {
	max-width: 300px;
}

#lock-screen input {
	margin-left: auto;
	margin-right: auto;
}


/*	HOME ------ */

/*	Services --- */

#home div[id*='services'] .flex-box img {
	-webkit-filter: contrast(0.6); /* temporary until icons finalised */
    filter: contrast(0.6); /* temporary until icons finalised */
}

/*	Pricing --- */

#home div[id*='pricing'] .flex-box img {
	-webkit-filter: contrast(0.6); /* temporary until icons finalised */
    filter: contrast(0.6); /* temporary until icons finalised */
}


/*	SERVICES ------ */

main#services .flex-box img {
	-webkit-filter: contrast(0.6); /* temporary until icons finalised */
    filter: contrast(0.6); /* temporary until icons finalised */
	margin-top: 15px;
}


/*  CONTACT ------ */

#google-map {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 25%;
}

#google-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}


/*  ==========================================================================
	INDIE.WEB CUSTOM MEDIA QUERIES
	==========================================================================  */

/*	Screen Sizes 240px and smaller ---------- */
@media only screen 
and (max-width : 240px) {

	/*	TEXT STYLES ---------- */
	
	blockquote {
		padding: 0 15px;
	}


	/*	HEADER ---------- */

	/*	BANNER ------ */

	#banner {
		background-color: #fff; /* match page background color for mobile */
	}

	/*	Carousel --- */

	.slick-arrow {
		padding: 0 15px;
	}

	/*	Pager */
	/*	Styles for both dot over page and dot over banner to account for <240px and =240px, respectively */
	#banner .slick-dots li button:before {
		color: #333; /* dot color over page */
	}
	#banner .slick-dots.pos-abs li button:before {
		color: #fff; /* dot color over banner */
	}
	
	#banner .slick-dots li.slick-active button:before {
		color: #d88c99; /* active dot color over page */
	}
	#banner .slick-dots.pos-abs li.slick-active button:before {
		color: #ecc7cd; /* active dot color over banner */
	}

}


/*	Screen Sizes 240px and larger ---------- */
@media only screen 
and (min-width : 240px) {

	/*	HEADER ---------- */
	
	/*	BANNER ------ */

	/*	Carousel --- */

	.slick-arrow {
		padding: 0 30px;
	}

	/*	Pager */

	#banner .slick-dots li button:before {
		color: #fff; /* dot color over banner */
	}
	
	#banner .slick-dots li.slick-active button:before {
		color: #ecc7cd; /* active dot color over banner */
	}

}


/* Screen Sizes	240px - 960px		--------- */
@media only screen 
and (min-width : 240px)
and (max-width : 960px) {

	/*	TEXT STYLES ---------- */

	blockquote {
		padding: 0 30px;
	}

}


/*	Screen Sizes 320px and smaller ---------- */
@media only screen 
and (max-width : 320px) {

	/*	GENERAL ---------- */
		
	blockquote {
		margin: 15px;
		padding-left: 15px;
	}


	/*	PAGES ---------- */

	/*  CONTACT ------ */

	#google-map {
		padding-bottom: 100%;
	}

}


/* Screen Sizes	320px - 560px		--------- */
@media only screen 
and (min-width : 320px)
and (max-width : 560px) {

	/*	PAGES ---------- */

	/*  CONTACT ------ */

	#google-map {
		padding-bottom: 50%;
	}

}


/*	Screen Sizes 400px and smaller ---------- */
@media only screen 
and (max-width : 400px) {

	/*	MAIN ---------- */

	main ul.contact-info {
		text-align: center;
	}
	

	/*	FOOTER ---------- */

	#footer-top .inner > div:nth-child(2) {
		text-align: center;
	}

	#social {
		justify-content: center;
	}

	#footer-top .inner > div:last-child {
		text-align: center;
	}

	#footer-top ul.contact-info .flex-container {
		justify-content: center;
	}

	/*	Affects Contact page info also */
	ul.contact-info .flex-container {
		flex-direction: column;
	}

	ul.contact-info i {
		padding-right: 0;
	}

	.icon-wrap {
		margin: 7.5px 0;
	}

}


/* Screen sizes 400px and larger ---------- */
@media only screen 
and (min-width : 400px) {

	/*	FOOTER ---------- */

	/*	FOOTER TOP ------ */

	#footer-top .contact-info .icon-wrap i {
		vertical-align: middle;
	}

}


/*	Screen Sizes 400px - 640px ---------- */
@media only screen 
and (min-width : 400px)
and (max-width : 640px) {

	/*	FOOTER ---------- */

	#footer-top .inner > div:nth-child(2) {
		text-align: left;
	}

	#footer-top #social {
		justify-content: flex-start;
	}

	#footer-top .inner > div:last-child {
		text-align: left;
	}

	#footer-top ul.contact-info .flex-container {
		justify-content: flex-start;
	}

}


/*	Screen Sizes 560px and smaller ---------- */
@media only screen 
and (max-width : 560px) {

	/*	HEADER ---------- */
	
	/*	BANNER ------ */

	#banner,
	#banner:not(.internal) #banner-int-wrap,
	#banner .banner-slide {
		max-height: calc(100vh - 60px);
	}

}


/*	Screen Sizes 560px - 800px ---------- */
@media only screen 
and (min-width : 560px)
and (max-width : 800px) {

	/*	HEADER ---------- */

	/*	Banner ------ */

	#banner,
	#banner:not(.internal) #banner-int-wrap,
	#banner .banner-slide {
		max-height: calc(100vh - 75px);
	}


	/*	PAGES ---------- */

	/*  CONTACT ------ */

	#google-map {
		padding-bottom: 33.3333%;
	}

}


/*	Screen sizes 640px and smaller ---------- */
@media only screen 
and (max-width : 640px) {

	/*	HEADER ---------- */

	/*	BANNER ------ */

	#banner .logo {
		max-width: 50%;
	}

}


/*	Screen Sizes 640px and larger ---------- */
@media only screen
and (min-width : 640px) {

	/*	FOOTER ---------- */

	#footer-top .inner > div:nth-child(2) {
		text-align: center;
	}

	#social {
		justify-content: center;
	}

	#footer-top .inner > div:last-child {
		text-align: right;
	}

	#footer-top ul.contact-info .flex-container {
		justify-content: flex-end;
	}
	
}


/*	Screen Sizes 640px - 960px ---------- */
@media only screen 
and (min-width : 640px)
and (max-width : 960px) {

	/*	PAGES ---------- */

	/*	HOME ------ */
/*
	#home #services .flex-box,
	#home #pricing .flex-box {
		width: 25%;
	}
*/
}


/*	Screen Sizes 800px and larger ---------- */
@media only screen
and (min-width : 800px) {

	/*	HEADER ---------- */

	/*	NAV ------ */

	/* sub-nav list */
/*	.sub-nav-box-shadow {
		box-shadow: 0 0 15px rgba(0,0,0,0.5);
		clip: rect(0px, 600px, 1200px, -15px); /* 600px and 1200px essentially set the maximum width and height (respectively) of the sub-nav element */ /*
		-webkit-clip-path: inset(0 -15px -15px -15px);
		clip-path: inset(0 -15px -15px -15px);
	}
*/

	/*	BANNER ------ */

	#banner,
	#banner:not(.internal) #banner-int-wrap,
	#banner .banner-slide {
		max-height: calc(100vh - 90px);
	}

}


/*	Screen Sizes 800px - 960px ---------- */
@media only screen 
and (min-width : 800px)
and (max-width : 960px) {

	/*	HEADER ---------- */

	/*	NAV ------ */

	/* provide more room for menu items */
	#phone {
		display: none;
	}

}


/*	Screen Sizes 960px and larger ---------- */
@media only screen
and (min-width : 960px ) {

	/*	TEXT STYLES ---------- */
	
	blockquote {
		padding: 0 60px;
	}


	/*	PAGES ---------- */

	/*	HOME ------ */
/*
	#home #services .flex-box,
	#home #pricing .flex-box {
		width: 20%;
	}
*/

}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL21udC9qL1VzZXJzL0x1a2UvcHJvamVjdC1ub2RlLW1vZHVsZXMvbm9kZV9tb2R1bGVzL2h0bWw1LWJvaWxlcnBsYXRlL2Rpc3QvY3NzL3N0eWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3ZlbmRvci9pY29tb29uLmNzcyIsIndlYnBhY2s6Ly8vLi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3Jlc2V0LmNzcyIsIndlYnBhY2s6Ly8vLi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Jhc2UuY3NzIiwid2VicGFjazovLy8uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY29tcG9uZW50cy9iYW5uZXIuY3NzIiwid2VicGFjazovLy8uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY29tcG9uZW50cy9uYXYuY3NzIiwid2VicGFjazovLy8uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY29tcG9uZW50cy9jYXJvdXNlbC5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL3NlY3Rpb25zLmNzcyIsIndlYnBhY2s6Ly8vLi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL21vZHVsZXMvdGVzdGltb25pYWxzLmNzcyIsIndlYnBhY2s6Ly8vLi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL21haW4uY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQ3JQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQztBQ2orQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4Qjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFDQUFxQztBQUNyQyxTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDO0FDeEVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwyQkFBMkI7QUFDM0I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7O0FBRUE7QUFDQSx5QkFBeUI7QUFDekI7O0FBRUE7QUFDQSxnQ0FBZ0M7QUFDaEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGNBQWM7QUFDZDs7QUFFQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUI7QUFDbkI7O0FBRUE7QUFDQSxrQkFBa0I7QUFDbEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdUJBQXVCO0FBQ3ZCOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsMkJBQTJCO0FBQzNCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxDO0FDci9DQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGdCQUFnQjtBQUNoQjs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsZ0JBQWdCO0FBQ2hCOztBQUVBLEM7QUM3U0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUhBQW1IO0FBQ25IO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsbUhBQW1IO0FBQ25IO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDZCQUE2QjtBQUM3Qjs7QUFFQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQjtBQUNwQjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxjQUFjO0FBQ2QscUNBQXFDO0FBQ3JDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0EsYUFBYTtBQUNiOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBLFk7QUFDQSxrQkFBa0I7QUFDbEI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUEsWTtBQUNBLGtCQUFrQjtBQUNsQjs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBLFk7QUFDQSxrQkFBa0I7QUFDbEI7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0EsVUFBVTtBQUNWOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0EsV0FBVztBQUNYOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0NBQXNDO0FBQ3RDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHNDQUFzQztBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEIsZUFBZTtBQUNmOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsQztBQ2x3QkE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZUFBZTtBQUNmLG1CQUFtQjtBQUNuQjs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBLEM7QUMzVkE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsY0FBYztBQUNkO0FBQ0EsZUFBZTtBQUNmO0FBQ0Esc0JBQXNCO0FBQ3RCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0EsWUFBWTtBQUNaOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQSxjQUFjO0FBQ2Q7QUFDQTs7QUFFQTtBQUNBLG9CQUFvQjtBQUNwQiw0QkFBNEI7QUFDNUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0Esa0JBQWtCO0FBQ2xCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxDO0FDL2FBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxDO0FDL0JBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0I7QUFDbEIsdUJBQXVCO0FBQ3ZCOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0I7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0EsVTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGVBQWU7QUFDZjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0Esa0JBQWtCO0FBQ2xCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBO0FBQ0EsK0JBQStCO0FBQy9CLDBCQUEwQjtBQUMxQjs7QUFFQTs7QUFFQTtBQUNBLCtCQUErQjtBQUMvQiwwQkFBMEI7QUFDMUI7OztBQUdBOztBQUVBO0FBQ0EsK0JBQStCO0FBQy9CLDBCQUEwQjtBQUMxQjtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBO0FBQ0EseUJBQXlCO0FBQ3pCOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLGNBQWM7QUFDZDs7QUFFQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsY0FBYztBQUNkOztBQUVBO0FBQ0EsaUJBQWlCO0FBQ2pCOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0M7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEMiLCJmaWxlIjoic3R5bGVzaGVldHMvYXBwbGljYXRpb24uYnVuZGxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBIVE1MNSBCb2lsZXJwbGF0ZSB2OS4wLjEgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vaHRtbDVib2lsZXJwbGF0ZS5jb20vICovXG5cbi8qIG1haW4uY3NzIDMuMC4wIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL2dpdGh1Yi5jb20vaDVicC9tYWluLmNzcyNyZWFkbWUgKi9cbi8qXG4gKiBXaGF0IGZvbGxvd3MgaXMgdGhlIHJlc3VsdCBvZiBtdWNoIHJlc2VhcmNoIG9uIGNyb3NzLWJyb3dzZXIgc3R5bGluZy5cbiAqIENyZWRpdCBsZWZ0IGlubGluZSBhbmQgYmlnIHRoYW5rcyB0byBOaWNvbGFzIEdhbGxhZ2hlciwgSm9uYXRoYW4gTmVhbCxcbiAqIEtyb2MgQ2FtZW4sIGFuZCB0aGUgSDVCUCBkZXYgY29tbXVuaXR5IGFuZCB0ZWFtLlxuICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlIHN0eWxlczogb3BpbmlvbmF0ZWQgZGVmYXVsdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmh0bWwge1xuICBjb2xvcjogIzIyMjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGV4dC1zaGFkb3cgaW4gc2VsZWN0aW9uIGhpZ2hsaWdodDpcbiAqIGh0dHBzOi8vdHdpdHRlci5jb20vbWlrZXRheWxyL3N0YXR1cy8xMjIyODgwNTMwMVxuICpcbiAqIEN1c3RvbWl6ZSB0aGUgYmFja2dyb3VuZCBjb2xvciB0byBtYXRjaCB5b3VyIGRlc2lnbi5cbiAqL1xuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qXG4gKiBBIGJldHRlciBsb29raW5nIGRlZmF1bHQgaG9yaXpvbnRhbCBydWxlXG4gKi9cblxuaHIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbjogMWVtIDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGdhcCBiZXR3ZWVuIGF1ZGlvLCBjYW52YXMsIGlmcmFtZXMsXG4gKiBpbWFnZXMsIHZpZGVvcyBhbmQgdGhlIGJvdHRvbSBvZiB0aGVpciBjb250YWluZXJzOlxuICogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvaXNzdWVzLzQ0MFxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgZmllbGRzZXQgc3R5bGVzLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qXG4gKiBBbGxvdyBvbmx5IHZlcnRpY2FsIHJlc2l6aW5nIG9mIHRleHRhcmVhcy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBdXRob3IncyBjdXN0b20gc3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVscGVyIGNsYXNzZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzXG4gKi9cblxuLmhpZGRlbixcbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKi9cblxuLnZpc3VhbGx5LWhpZGRlbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMXB4O1xuICAvKiAxICovXG59XG5cbi8qXG4gKiBFeHRlbmRzIHRoZSAudmlzdWFsbHktaGlkZGVuIGNsYXNzIHRvIGFsbG93IHRoZSBlbGVtZW50XG4gKiB0byBiZSBmb2N1c2FibGUgd2hlbiBuYXZpZ2F0ZWQgdG8gdmlhIHRoZSBrZXlib2FyZDpcbiAqIGh0dHBzOi8vd3d3LmRydXBhbC5vcmcvbm9kZS84OTc2MzhcbiAqL1xuXG4udmlzdWFsbHktaGlkZGVuLmZvY3VzYWJsZTphY3RpdmUsXG4udmlzdWFsbHktaGlkZGVuLmZvY3VzYWJsZTpmb2N1cyB7XG4gIGNsaXA6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vKlxuICogSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVycywgYnV0IG1haW50YWluIGxheW91dFxuICovXG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG4gKiBDbGVhcmZpeDogY29udGFpbiBmbG9hdHNcbiAqXG4gKiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuICogYDo6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cbiAqL1xuXG4uY2xlYXJmaXg6OmJlZm9yZSxcbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRVhBTVBMRSBNZWRpYSBRdWVyaWVzIGZvciBSZXNwb25zaXZlIERlc2lnbi5cbiAgIFRoZXNlIGV4YW1wbGVzIG92ZXJyaWRlIHRoZSBwcmltYXJ5ICgnbW9iaWxlIGZpcnN0Jykgc3R5bGVzLlxuICAgTW9kaWZ5IGFzIGNvbnRlbnQgcmVxdWlyZXMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM1ZW0pIHtcbiAgLyogU3R5bGUgYWRqdXN0bWVudHMgZm9yIHZpZXdwb3J0cyB0aGF0IG1lZXQgdGhlIGNvbmRpdGlvbiAqL1xufVxuXG5AbWVkaWEgcHJpbnQsXG4gICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMjUpLFxuICAobWluLXJlc29sdXRpb246IDEuMjVkcHB4KSxcbiAgKG1pbi1yZXNvbHV0aW9uOiAxMjBkcGkpIHtcbiAgLyogU3R5bGUgYWRqdXN0bWVudHMgZm9yIGhpZ2ggcmVzb2x1dGlvbiBkZXZpY2VzICovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcmludCBzdHlsZXMuXG4gICBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbiAgIGh0dHBzOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBwcmludCB7XG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIC8qIEJsYWNrIHByaW50cyBmYXN0ZXIgKi9cbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICBhW2hyZWZdOjphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gIH1cblxuICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgfVxuXG4gIC8qXG4gICAqIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAqIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YCBwc2V1ZG8gcHJvdG9jb2xcbiAgICovXG4gIGFbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIHByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG5cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG5cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMztcbiAgfVxuXG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbn1cblxuIiwiQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG5cdHNyYzpcdHVybCguLi9mb250cy9pY29tb29uLmVvdCk7XG5cdHNyYzpcdHVybCguLi9mb250cy9pY29tb29uLmVvdCNpZWZpeCkgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuXHRcdFx0dXJsKC4uL2ZvbnRzL2ljb21vb24udHRmKSBmb3JtYXQoJ3RydWV0eXBlJyksXG5cdFx0XHR1cmwoLi4vZm9udHMvaWNvbW9vbi53b2ZmKSBmb3JtYXQoJ3dvZmYnKSxcblx0XHRcdHVybCguLi9mb250cy9pY29tb29uLnN2ZyNpY29tb29uKSBmb3JtYXQoJ3N2ZycpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtZGlzcGxheTogYmxvY2s7XG59XG5cbltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG5cdGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcblx0c3BlYWs6IG5vbmU7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRsaW5lLWhlaWdodDogMTtcblxuXHQvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5pY29uLWhvbWU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MDBcIjtcbn1cbi5pY29uLWhvbWUyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTAxXCI7XG59XG4uaWNvbi1ob21lMzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkwMlwiO1xufVxuLmljb24tb2ZmaWNlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTAzXCI7XG59XG4uaWNvbi1uZXdzcGFwZXI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MDRcIjtcbn1cbi5pY29uLXBlbmNpbDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkwNVwiO1xufVxuLmljb24tcGVuY2lsMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkwNlwiO1xufVxuLmljb24tcXVpbGw6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MDdcIjtcbn1cbi5pY29uLXBlbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkwOFwiO1xufVxuLmljb24tYmxvZzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkwOVwiO1xufVxuLmljb24tZXllZHJvcHBlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkwQVwiO1xufVxuLmljb24tZHJvcGxldDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkwQlwiO1xufVxuLmljb24tcGFpbnQtZm9ybWF0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTBDXCI7XG59XG4uaWNvbi1pbWFnZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkwRFwiO1xufVxuLmljb24taW1hZ2VzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTBFXCI7XG59XG4uaWNvbi1jYW1lcmE6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MEZcIjtcbn1cbi5pY29uLWhlYWRwaG9uZXM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MTBcIjtcbn1cbi5pY29uLW11c2ljOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTExXCI7XG59XG4uaWNvbi1wbGF5OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTEyXCI7XG59XG4uaWNvbi1maWxtOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTEzXCI7XG59XG4uaWNvbi12aWRlby1jYW1lcmE6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MTRcIjtcbn1cbi5pY29uLWRpY2U6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MTVcIjtcbn1cbi5pY29uLXBhY21hbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkxNlwiO1xufVxuLmljb24tc3BhZGVzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTE3XCI7XG59XG4uaWNvbi1jbHViczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkxOFwiO1xufVxuLmljb24tZGlhbW9uZHM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MTlcIjtcbn1cbi5pY29uLWJ1bGxob3JuOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTFBXCI7XG59XG4uaWNvbi1jb25uZWN0aW9uOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTFCXCI7XG59XG4uaWNvbi1wb2RjYXN0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTFDXCI7XG59XG4uaWNvbi1mZWVkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTFEXCI7XG59XG4uaWNvbi1taWM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MUVcIjtcbn1cbi5pY29uLWJvb2s6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MUZcIjtcbn1cbi5pY29uLWJvb2tzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTIwXCI7XG59XG4uaWNvbi1saWJyYXJ5OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTIxXCI7XG59XG4uaWNvbi1maWxlLXRleHQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MjJcIjtcbn1cbi5pY29uLXByb2ZpbGU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MjNcIjtcbn1cbi5pY29uLWZpbGUtZW1wdHk6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MjRcIjtcbn1cbi5pY29uLWZpbGVzLWVtcHR5OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTI1XCI7XG59XG4uaWNvbi1maWxlLXRleHQyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTI2XCI7XG59XG4uaWNvbi1maWxlLXBpY3R1cmU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MjdcIjtcbn1cbi5pY29uLWZpbGUtbXVzaWM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MjhcIjtcbn1cbi5pY29uLWZpbGUtcGxheTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkyOVwiO1xufVxuLmljb24tZmlsZS12aWRlbzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkyQVwiO1xufVxuLmljb24tZmlsZS16aXA6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MkJcIjtcbn1cbi5pY29uLWNvcHk6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MkNcIjtcbn1cbi5pY29uLXBhc3RlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTJEXCI7XG59XG4uaWNvbi1zdGFjazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkyRVwiO1xufVxuLmljb24tZm9sZGVyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTJGXCI7XG59XG4uaWNvbi1mb2xkZXItb3BlbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkzMFwiO1xufVxuLmljb24tZm9sZGVyLXBsdXM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MzFcIjtcbn1cbi5pY29uLWZvbGRlci1taW51czpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkzMlwiO1xufVxuLmljb24tZm9sZGVyLWRvd25sb2FkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTMzXCI7XG59XG4uaWNvbi1mb2xkZXItdXBsb2FkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTM0XCI7XG59XG4uaWNvbi1wcmljZS10YWc6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MzVcIjtcbn1cbi5pY29uLXByaWNlLXRhZ3M6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MzZcIjtcbn1cbi5pY29uLWJhcmNvZGU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MzdcIjtcbn1cbi5pY29uLXFyY29kZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkzOFwiO1xufVxuLmljb24tdGlja2V0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTM5XCI7XG59XG4uaWNvbi1jYXJ0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTNBXCI7XG59XG4uaWNvbi1jb2luLWRvbGxhcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkzQlwiO1xufVxuLmljb24tY29pbi1ldXJvOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTNDXCI7XG59XG4uaWNvbi1jb2luLXBvdW5kOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTNEXCI7XG59XG4uaWNvbi1jb2luLXllbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkzRVwiO1xufVxuLmljb24tY3JlZGl0LWNhcmQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5M0ZcIjtcbn1cbi5pY29uLWNhbGN1bGF0b3I6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NDBcIjtcbn1cbi5pY29uLWxpZmVidW95OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTQxXCI7XG59XG4uaWNvbi1waG9uZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk0MlwiO1xufVxuLmljb24tcGhvbmUtaGFuZy11cDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk0M1wiO1xufVxuLmljb24tYWRkcmVzcy1ib29rOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTQ0XCI7XG59XG4uaWNvbi1lbnZlbG9wOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTQ1XCI7XG59XG4uaWNvbi1wdXNocGluOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTQ2XCI7XG59XG4uaWNvbi1sb2NhdGlvbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk0N1wiO1xufVxuLmljb24tbG9jYXRpb24yOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTQ4XCI7XG59XG4uaWNvbi1jb21wYXNzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTQ5XCI7XG59XG4uaWNvbi1jb21wYXNzMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk0QVwiO1xufVxuLmljb24tbWFwOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTRCXCI7XG59XG4uaWNvbi1tYXAyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTRDXCI7XG59XG4uaWNvbi1oaXN0b3J5OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTREXCI7XG59XG4uaWNvbi1jbG9jazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk0RVwiO1xufVxuLmljb24tY2xvY2syOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTRGXCI7XG59XG4uaWNvbi1hbGFybTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk1MFwiO1xufVxuLmljb24tYmVsbDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk1MVwiO1xufVxuLmljb24tc3RvcHdhdGNoOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTUyXCI7XG59XG4uaWNvbi1jYWxlbmRhcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk1M1wiO1xufVxuLmljb24tcHJpbnRlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk1NFwiO1xufVxuLmljb24ta2V5Ym9hcmQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NTVcIjtcbn1cbi5pY29uLWRpc3BsYXk6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NTZcIjtcbn1cbi5pY29uLWxhcHRvcDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk1N1wiO1xufVxuLmljb24tbW9iaWxlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTU4XCI7XG59XG4uaWNvbi1tb2JpbGUyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTU5XCI7XG59XG4uaWNvbi10YWJsZXQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NUFcIjtcbn1cbi5pY29uLXR2OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTVCXCI7XG59XG4uaWNvbi1kcmF3ZXI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NUNcIjtcbn1cbi5pY29uLWRyYXdlcjI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NURcIjtcbn1cbi5pY29uLWJveC1hZGQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NUVcIjtcbn1cbi5pY29uLWJveC1yZW1vdmU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NUZcIjtcbn1cbi5pY29uLWRvd25sb2FkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTYwXCI7XG59XG4uaWNvbi11cGxvYWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NjFcIjtcbn1cbi5pY29uLWZsb3BweS1kaXNrOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTYyXCI7XG59XG4uaWNvbi1kcml2ZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk2M1wiO1xufVxuLmljb24tZGF0YWJhc2U6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NjRcIjtcbn1cbi5pY29uLXVuZG86YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NjVcIjtcbn1cbi5pY29uLXJlZG86YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NjZcIjtcbn1cbi5pY29uLXVuZG8yOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTY3XCI7XG59XG4uaWNvbi1yZWRvMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk2OFwiO1xufVxuLmljb24tZm9yd2FyZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk2OVwiO1xufVxuLmljb24tcmVwbHk6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NkFcIjtcbn1cbi5pY29uLWJ1YmJsZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk2QlwiO1xufVxuLmljb24tYnViYmxlczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk2Q1wiO1xufVxuLmljb24tYnViYmxlczI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NkRcIjtcbn1cbi5pY29uLWJ1YmJsZTI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NkVcIjtcbn1cbi5pY29uLWJ1YmJsZXMzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTZGXCI7XG59XG4uaWNvbi1idWJibGVzNDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk3MFwiO1xufVxuLmljb24tdXNlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk3MVwiO1xufVxuLmljb24tdXNlcnM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NzJcIjtcbn1cbi5pY29uLXVzZXItcGx1czpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk3M1wiO1xufVxuLmljb24tdXNlci1taW51czpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk3NFwiO1xufVxuLmljb24tdXNlci1jaGVjazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk3NVwiO1xufVxuLmljb24tdXNlci10aWU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NzZcIjtcbn1cbi5pY29uLXF1b3Rlcy1sZWZ0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTc3XCI7XG59XG4uaWNvbi1xdW90ZXMtcmlnaHQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NzhcIjtcbn1cbi5pY29uLWhvdXItZ2xhc3M6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NzlcIjtcbn1cbi5pY29uLXNwaW5uZXI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5N0FcIjtcbn1cbi5pY29uLXNwaW5uZXIyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTdCXCI7XG59XG4uaWNvbi1zcGlubmVyMzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk3Q1wiO1xufVxuLmljb24tc3Bpbm5lcjQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5N0RcIjtcbn1cbi5pY29uLXNwaW5uZXI1OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTdFXCI7XG59XG4uaWNvbi1zcGlubmVyNjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk3RlwiO1xufVxuLmljb24tc3Bpbm5lcjc6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5ODBcIjtcbn1cbi5pY29uLXNwaW5uZXI4OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTgxXCI7XG59XG4uaWNvbi1zcGlubmVyOTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk4MlwiO1xufVxuLmljb24tc3Bpbm5lcjEwOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTgzXCI7XG59XG4uaWNvbi1zcGlubmVyMTE6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5ODRcIjtcbn1cbi5pY29uLWJpbm9jdWxhcnM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5ODVcIjtcbn1cbi5pY29uLXNlYXJjaDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk4NlwiO1xufVxuLmljb24tem9vbS1pbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk4N1wiO1xufVxuLmljb24tem9vbS1vdXQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5ODhcIjtcbn1cbi5pY29uLWVubGFyZ2U6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5ODlcIjtcbn1cbi5pY29uLXNocmluazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk4QVwiO1xufVxuLmljb24tZW5sYXJnZTI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5OEJcIjtcbn1cbi5pY29uLXNocmluazI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5OENcIjtcbn1cbi5pY29uLWtleTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk4RFwiO1xufVxuLmljb24ta2V5MjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk4RVwiO1xufVxuLmljb24tbG9jazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk4RlwiO1xufVxuLmljb24tdW5sb2NrZWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5OTBcIjtcbn1cbi5pY29uLXdyZW5jaDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk5MVwiO1xufVxuLmljb24tZXF1YWxpemVyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTkyXCI7XG59XG4uaWNvbi1lcXVhbGl6ZXIyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTkzXCI7XG59XG4uaWNvbi1jb2c6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5OTRcIjtcbn1cbi5pY29uLWNvZ3M6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5OTVcIjtcbn1cbi5pY29uLWhhbW1lcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk5NlwiO1xufVxuLmljb24tbWFnaWMtd2FuZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk5N1wiO1xufVxuLmljb24tYWlkLWtpdDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk5OFwiO1xufVxuLmljb24tYnVnOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTk5XCI7XG59XG4uaWNvbi1waWUtY2hhcnQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5OUFcIjtcbn1cbi5pY29uLXN0YXRzLWRvdHM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5OUJcIjtcbn1cbi5pY29uLXN0YXRzLWJhcnM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5OUNcIjtcbn1cbi5pY29uLXN0YXRzLWJhcnMyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTlEXCI7XG59XG4uaWNvbi10cm9waHk6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5OUVcIjtcbn1cbi5pY29uLWdpZnQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5OUZcIjtcbn1cbi5pY29uLWdsYXNzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUEwXCI7XG59XG4uaWNvbi1nbGFzczI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QTFcIjtcbn1cbi5pY29uLW11ZzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlBMlwiO1xufVxuLmljb24tc3Bvb24ta25pZmU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QTNcIjtcbn1cbi5pY29uLWxlYWY6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QTRcIjtcbn1cbi5pY29uLXJvY2tldDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlBNVwiO1xufVxuLmljb24tbWV0ZXI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QTZcIjtcbn1cbi5pY29uLW1ldGVyMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlBN1wiO1xufVxuLmljb24taGFtbWVyMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlBOFwiO1xufVxuLmljb24tZmlyZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlBOVwiO1xufVxuLmljb24tbGFiOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUFBXCI7XG59XG4uaWNvbi1tYWduZXQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QUJcIjtcbn1cbi5pY29uLWJpbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlBQ1wiO1xufVxuLmljb24tYmluMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlBRFwiO1xufVxuLmljb24tYnJpZWZjYXNlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUFFXCI7XG59XG4uaWNvbi1haXJwbGFuZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlBRlwiO1xufVxuLmljb24tdHJ1Y2s6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QjBcIjtcbn1cbi5pY29uLXJvYWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QjFcIjtcbn1cbi5pY29uLWFjY2Vzc2liaWxpdHk6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QjJcIjtcbn1cbi5pY29uLXRhcmdldDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlCM1wiO1xufVxuLmljb24tc2hpZWxkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUI0XCI7XG59XG4uaWNvbi1wb3dlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlCNVwiO1xufVxuLmljb24tc3dpdGNoOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUI2XCI7XG59XG4uaWNvbi1wb3dlci1jb3JkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUI3XCI7XG59XG4uaWNvbi1jbGlwYm9hcmQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QjhcIjtcbn1cbi5pY29uLWxpc3QtbnVtYmVyZWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QjlcIjtcbn1cbi5pY29uLWxpc3Q6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QkFcIjtcbn1cbi5pY29uLWxpc3QyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUJCXCI7XG59XG4uaWNvbi10cmVlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUJDXCI7XG59XG4uaWNvbi1tZW51OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUJEXCI7XG59XG4uaWNvbi1tZW51MjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlCRVwiO1xufVxuLmljb24tbWVudTM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QkZcIjtcbn1cbi5pY29uLW1lbnU0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUMwXCI7XG59XG4uaWNvbi1jbG91ZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlDMVwiO1xufVxuLmljb24tY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QzJcIjtcbn1cbi5pY29uLWNsb3VkLXVwbG9hZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlDM1wiO1xufVxuLmljb24tY2xvdWQtY2hlY2s6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QzRcIjtcbn1cbi5pY29uLWRvd25sb2FkMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlDNVwiO1xufVxuLmljb24tdXBsb2FkMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlDNlwiO1xufVxuLmljb24tZG93bmxvYWQzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUM3XCI7XG59XG4uaWNvbi11cGxvYWQzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUM4XCI7XG59XG4uaWNvbi1zcGhlcmU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QzlcIjtcbn1cbi5pY29uLWVhcnRoOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUNBXCI7XG59XG4uaWNvbi1saW5rOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUNCXCI7XG59XG4uaWNvbi1mbGFnOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUNDXCI7XG59XG4uaWNvbi1hdHRhY2htZW50OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUNEXCI7XG59XG4uaWNvbi1leWU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5Q0VcIjtcbn1cbi5pY29uLWV5ZS1wbHVzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUNGXCI7XG59XG4uaWNvbi1leWUtbWludXM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RDBcIjtcbn1cbi5pY29uLWV5ZS1ibG9ja2VkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUQxXCI7XG59XG4uaWNvbi1ib29rbWFyazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlEMlwiO1xufVxuLmljb24tYm9va21hcmtzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUQzXCI7XG59XG4uaWNvbi1zdW46YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RDRcIjtcbn1cbi5pY29uLWNvbnRyYXN0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUQ1XCI7XG59XG4uaWNvbi1icmlnaHRuZXNzLWNvbnRyYXN0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUQ2XCI7XG59XG4uaWNvbi1zdGFyLWVtcHR5OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUQ3XCI7XG59XG4uaWNvbi1zdGFyLWhhbGY6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RDhcIjtcbn1cbi5pY29uLXN0YXItZnVsbDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlEOVwiO1xufVxuLmljb24taGVhcnQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5REFcIjtcbn1cbi5pY29uLWhlYXJ0LWJyb2tlbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlEQlwiO1xufVxuLmljb24tbWFuOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOURDXCI7XG59XG4uaWNvbi13b21hbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlERFwiO1xufVxuLmljb24tbWFuLXdvbWFuOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOURFXCI7XG59XG4uaWNvbi1oYXBweTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlERlwiO1xufVxuLmljb24taGFwcHkyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUUwXCI7XG59XG4uaWNvbi1zbWlsZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlFMVwiO1xufVxuLmljb24tc21pbGUyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUUyXCI7XG59XG4uaWNvbi10b25ndWU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RTNcIjtcbn1cbi5pY29uLXRvbmd1ZTI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RTRcIjtcbn1cbi5pY29uLXNhZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlFNVwiO1xufVxuLmljb24tc2FkMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlFNlwiO1xufVxuLmljb24td2luazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlFN1wiO1xufVxuLmljb24td2luazI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RThcIjtcbn1cbi5pY29uLWdyaW46YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RTlcIjtcbn1cbi5pY29uLWdyaW4yOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUVBXCI7XG59XG4uaWNvbi1jb29sOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUVCXCI7XG59XG4uaWNvbi1jb29sMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlFQ1wiO1xufVxuLmljb24tYW5ncnk6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RURcIjtcbn1cbi5pY29uLWFuZ3J5MjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlFRVwiO1xufVxuLmljb24tZXZpbDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlFRlwiO1xufVxuLmljb24tZXZpbDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RjBcIjtcbn1cbi5pY29uLXNob2NrZWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RjFcIjtcbn1cbi5pY29uLXNob2NrZWQyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUYyXCI7XG59XG4uaWNvbi1iYWZmbGVkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUYzXCI7XG59XG4uaWNvbi1iYWZmbGVkMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlGNFwiO1xufVxuLmljb24tY29uZnVzZWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RjVcIjtcbn1cbi5pY29uLWNvbmZ1c2VkMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlGNlwiO1xufVxuLmljb24tbmV1dHJhbDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlGN1wiO1xufVxuLmljb24tbmV1dHJhbDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RjhcIjtcbn1cbi5pY29uLWhpcHN0ZXI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RjlcIjtcbn1cbi5pY29uLWhpcHN0ZXIyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUZBXCI7XG59XG4uaWNvbi13b25kZXJpbmc6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RkJcIjtcbn1cbi5pY29uLXdvbmRlcmluZzI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RkNcIjtcbn1cbi5pY29uLXNsZWVweTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlGRFwiO1xufVxuLmljb24tc2xlZXB5MjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlGRVwiO1xufVxuLmljb24tZnJ1c3RyYXRlZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlGRlwiO1xufVxuLmljb24tZnJ1c3RyYXRlZDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMDBcIjtcbn1cbi5pY29uLWNyeWluZzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEwMVwiO1xufVxuLmljb24tY3J5aW5nMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEwMlwiO1xufVxuLmljb24tcG9pbnQtdXA6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMDNcIjtcbn1cbi5pY29uLXBvaW50LXJpZ2h0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTA0XCI7XG59XG4uaWNvbi1wb2ludC1kb3duOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTA1XCI7XG59XG4uaWNvbi1wb2ludC1sZWZ0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTA2XCI7XG59XG4uaWNvbi13YXJuaW5nOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTA3XCI7XG59XG4uaWNvbi1ub3RpZmljYXRpb246YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMDhcIjtcbn1cbi5pY29uLXF1ZXN0aW9uOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTA5XCI7XG59XG4uaWNvbi1wbHVzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTBBXCI7XG59XG4uaWNvbi1taW51czpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEwQlwiO1xufVxuLmljb24taW5mbzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEwQ1wiO1xufVxuLmljb24tY2FuY2VsLWNpcmNsZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEwRFwiO1xufVxuLmljb24tYmxvY2tlZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEwRVwiO1xufVxuLmljb24tY3Jvc3M6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMEZcIjtcbn1cbi5pY29uLWNoZWNrbWFyazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUExMFwiO1xufVxuLmljb24tY2hlY2ttYXJrMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUExMVwiO1xufVxuLmljb24tc3BlbGwtY2hlY2s6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMTJcIjtcbn1cbi5pY29uLWVudGVyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTEzXCI7XG59XG4uaWNvbi1leGl0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTE0XCI7XG59XG4uaWNvbi1wbGF5MjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUExNVwiO1xufVxuLmljb24tcGF1c2U6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMTZcIjtcbn1cbi5pY29uLXN0b3A6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMTdcIjtcbn1cbi5pY29uLXByZXZpb3VzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTE4XCI7XG59XG4uaWNvbi1uZXh0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTE5XCI7XG59XG4uaWNvbi1iYWNrd2FyZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUExQVwiO1xufVxuLmljb24tZm9yd2FyZDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMUJcIjtcbn1cbi5pY29uLXBsYXkzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTFDXCI7XG59XG4uaWNvbi1wYXVzZTI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMURcIjtcbn1cbi5pY29uLXN0b3AyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTFFXCI7XG59XG4uaWNvbi1iYWNrd2FyZDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMUZcIjtcbn1cbi5pY29uLWZvcndhcmQzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTIwXCI7XG59XG4uaWNvbi1maXJzdDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEyMVwiO1xufVxuLmljb24tbGFzdDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEyMlwiO1xufVxuLmljb24tcHJldmlvdXMyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTIzXCI7XG59XG4uaWNvbi1uZXh0MjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEyNFwiO1xufVxuLmljb24tZWplY3Q6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMjVcIjtcbn1cbi5pY29uLXZvbHVtZS1oaWdoOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTI2XCI7XG59XG4uaWNvbi12b2x1bWUtbWVkaXVtOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTI3XCI7XG59XG4uaWNvbi12b2x1bWUtbG93OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTI4XCI7XG59XG4uaWNvbi12b2x1bWUtbXV0ZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEyOVwiO1xufVxuLmljb24tdm9sdW1lLW11dGUyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTJBXCI7XG59XG4uaWNvbi12b2x1bWUtaW5jcmVhc2U6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMkJcIjtcbn1cbi5pY29uLXZvbHVtZS1kZWNyZWFzZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEyQ1wiO1xufVxuLmljb24tbG9vcDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEyRFwiO1xufVxuLmljb24tbG9vcDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMkVcIjtcbn1cbi5pY29uLWluZmluaXRlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTJGXCI7XG59XG4uaWNvbi1zaHVmZmxlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTMwXCI7XG59XG4uaWNvbi1hcnJvdy11cC1sZWZ0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTMxXCI7XG59XG4uaWNvbi1hcnJvdy11cDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEzMlwiO1xufVxuLmljb24tYXJyb3ctdXAtcmlnaHQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMzNcIjtcbn1cbi5pY29uLWFycm93LXJpZ2h0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTM0XCI7XG59XG4uaWNvbi1hcnJvdy1kb3duLXJpZ2h0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTM1XCI7XG59XG4uaWNvbi1hcnJvdy1kb3duOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTM2XCI7XG59XG4uaWNvbi1hcnJvdy1kb3duLWxlZnQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMzdcIjtcbn1cbi5pY29uLWFycm93LWxlZnQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMzhcIjtcbn1cbi5pY29uLWFycm93LXVwLWxlZnQyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTM5XCI7XG59XG4uaWNvbi1hcnJvdy11cDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBM0FcIjtcbn1cbi5pY29uLWFycm93LXVwLXJpZ2h0MjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEzQlwiO1xufVxuLmljb24tYXJyb3ctcmlnaHQyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTNDXCI7XG59XG4uaWNvbi1hcnJvdy1kb3duLXJpZ2h0MjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEzRFwiO1xufVxuLmljb24tYXJyb3ctZG93bjI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBM0VcIjtcbn1cbi5pY29uLWFycm93LWRvd24tbGVmdDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBM0ZcIjtcbn1cbi5pY29uLWFycm93LWxlZnQyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTQwXCI7XG59XG4uaWNvbi1jaXJjbGUtdXA6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNDFcIjtcbn1cbi5pY29uLWNpcmNsZS1yaWdodDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE0MlwiO1xufVxuLmljb24tY2lyY2xlLWRvd246YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNDNcIjtcbn1cbi5pY29uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTQ0XCI7XG59XG4uaWNvbi10YWI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNDVcIjtcbn1cbi5pY29uLW1vdmUtdXA6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNDZcIjtcbn1cbi5pY29uLW1vdmUtZG93bjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE0N1wiO1xufVxuLmljb24tc29ydC1hbHBoYS1hc2M6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNDhcIjtcbn1cbi5pY29uLXNvcnQtYWxwaGEtZGVzYzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE0OVwiO1xufVxuLmljb24tc29ydC1udW1lcmljLWFzYzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE0QVwiO1xufVxuLmljb24tc29ydC1udW1iZXJpYy1kZXNjOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTRCXCI7XG59XG4uaWNvbi1zb3J0LWFtb3VudC1hc2M6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNENcIjtcbn1cbi5pY29uLXNvcnQtYW1vdW50LWRlc2M6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNERcIjtcbn1cbi5pY29uLWNvbW1hbmQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNEVcIjtcbn1cbi5pY29uLXNoaWZ0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTRGXCI7XG59XG4uaWNvbi1jdHJsOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTUwXCI7XG59XG4uaWNvbi1vcHQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNTFcIjtcbn1cbi5pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNTJcIjtcbn1cbi5pY29uLWNoZWNrYm94LXVuY2hlY2tlZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE1M1wiO1xufVxuLmljb24tcmFkaW8tY2hlY2tlZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE1NFwiO1xufVxuLmljb24tcmFkaW8tY2hlY2tlZDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNTVcIjtcbn1cbi5pY29uLXJhZGlvLXVuY2hlY2tlZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE1NlwiO1xufVxuLmljb24tY3JvcDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE1N1wiO1xufVxuLmljb24tbWFrZS1ncm91cDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE1OFwiO1xufVxuLmljb24tdW5ncm91cDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE1OVwiO1xufVxuLmljb24tc2Npc3NvcnM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNUFcIjtcbn1cbi5pY29uLWZpbHRlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE1QlwiO1xufVxuLmljb24tZm9udDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE1Q1wiO1xufVxuLmljb24tbGlnYXR1cmU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNURcIjtcbn1cbi5pY29uLWxpZ2F0dXJlMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE1RVwiO1xufVxuLmljb24tdGV4dC1oZWlnaHQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNUZcIjtcbn1cbi5pY29uLXRleHQtd2lkdGg6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNjBcIjtcbn1cbi5pY29uLWZvbnQtc2l6ZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE2MVwiO1xufVxuLmljb24tYm9sZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE2MlwiO1xufVxuLmljb24tdW5kZXJsaW5lOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTYzXCI7XG59XG4uaWNvbi1pdGFsaWM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNjRcIjtcbn1cbi5pY29uLXN0cmlrZXRocm91Z2g6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNjVcIjtcbn1cbi5pY29uLW9tZWdhOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTY2XCI7XG59XG4uaWNvbi1zaWdtYTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE2N1wiO1xufVxuLmljb24tcGFnZS1icmVhazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE2OFwiO1xufVxuLmljb24tc3VwZXJzY3JpcHQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNjlcIjtcbn1cbi5pY29uLXN1YnNjcmlwdDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE2QVwiO1xufVxuLmljb24tc3VwZXJzY3JpcHQyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTZCXCI7XG59XG4uaWNvbi1zdWJzY3JpcHQyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTZDXCI7XG59XG4uaWNvbi10ZXh0LWNvbG9yOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTZEXCI7XG59XG4uaWNvbi1wYWdlYnJlYWs6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNkVcIjtcbn1cbi5pY29uLWNsZWFyLWZvcm1hdHRpbmc6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNkZcIjtcbn1cbi5pY29uLXRhYmxlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTcwXCI7XG59XG4uaWNvbi10YWJsZTI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNzFcIjtcbn1cbi5pY29uLWluc2VydC10ZW1wbGF0ZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE3MlwiO1xufVxuLmljb24tcGlsY3JvdzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE3M1wiO1xufVxuLmljb24tbHRyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTc0XCI7XG59XG4uaWNvbi1ydGw6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNzVcIjtcbn1cbi5pY29uLXNlY3Rpb246YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNzZcIjtcbn1cbi5pY29uLXBhcmFncmFwaC1sZWZ0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTc3XCI7XG59XG4uaWNvbi1wYXJhZ3JhcGgtY2VudGVyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTc4XCI7XG59XG4uaWNvbi1wYXJhZ3JhcGgtcmlnaHQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNzlcIjtcbn1cbi5pY29uLXBhcmFncmFwaC1qdXN0aWZ5OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTdBXCI7XG59XG4uaWNvbi1pbmRlbnQtaW5jcmVhc2U6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBN0JcIjtcbn1cbi5pY29uLWluZGVudC1kZWNyZWFzZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE3Q1wiO1xufVxuLmljb24tc2hhcmU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBN0RcIjtcbn1cbi5pY29uLW5ldy10YWI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBN0VcIjtcbn1cbi5pY29uLWVtYmVkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTdGXCI7XG59XG4uaWNvbi1lbWJlZDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBODBcIjtcbn1cbi5pY29uLXRlcm1pbmFsOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTgxXCI7XG59XG4uaWNvbi1zaGFyZTI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBODJcIjtcbn1cbi5pY29uLW1haWw6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBODNcIjtcbn1cbi5pY29uLW1haWwyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTg0XCI7XG59XG4uaWNvbi1tYWlsMzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE4NVwiO1xufVxuLmljb24tbWFpbDQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBODZcIjtcbn1cbi5pY29uLWFtYXpvbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE4N1wiO1xufVxuLmljb24tZ29vZ2xlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTg4XCI7XG59XG4uaWNvbi1nb29nbGUyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTg5XCI7XG59XG4uaWNvbi1nb29nbGUzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQThBXCI7XG59XG4uaWNvbi1nb29nbGUtcGx1czpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE4QlwiO1xufVxuLmljb24tZ29vZ2xlLXBsdXMyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQThDXCI7XG59XG4uaWNvbi1nb29nbGUtcGx1czM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOERcIjtcbn1cbi5pY29uLWhhbmdvdXRzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQThFXCI7XG59XG4uaWNvbi1nb29nbGUtZHJpdmU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOEZcIjtcbn1cbi5pY29uLWZhY2Vib29rOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTkwXCI7XG59XG4uaWNvbi1mYWNlYm9vazI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOTFcIjtcbn1cbi5pY29uLWluc3RhZ3JhbTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE5MlwiO1xufVxuLmljb24td2hhdHNhcHA6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOTNcIjtcbn1cbi5pY29uLXNwb3RpZnk6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOTRcIjtcbn1cbi5pY29uLXRlbGVncmFtOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTk1XCI7XG59XG4uaWNvbi10d2l0dGVyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTk2XCI7XG59XG4uaWNvbi12aW5lOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTk3XCI7XG59XG4uaWNvbi12azpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE5OFwiO1xufVxuLmljb24tcmVucmVuOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTk5XCI7XG59XG4uaWNvbi1zaW5hLXdlaWJvOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTlBXCI7XG59XG4uaWNvbi1yc3M6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOUJcIjtcbn1cbi5pY29uLXJzczI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOUNcIjtcbn1cbi5pY29uLXlvdXR1YmU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOURcIjtcbn1cbi5pY29uLXlvdXR1YmUyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTlFXCI7XG59XG4uaWNvbi10d2l0Y2g6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOUZcIjtcbn1cbi5pY29uLXZpbWVvOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUEwXCI7XG59XG4uaWNvbi12aW1lbzI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQTFcIjtcbn1cbi5pY29uLWxhbnlyZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFBMlwiO1xufVxuLmljb24tZmxpY2tyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUEzXCI7XG59XG4uaWNvbi1mbGlja3IyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUE0XCI7XG59XG4uaWNvbi1mbGlja3IzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUE1XCI7XG59XG4uaWNvbi1mbGlja3I0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUE2XCI7XG59XG4uaWNvbi1kcmliYmJsZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFBN1wiO1xufVxuLmljb24tYmVoYW5jZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFBOFwiO1xufVxuLmljb24tYmVoYW5jZTI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQTlcIjtcbn1cbi5pY29uLWRldmlhbnRhcnQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQUFcIjtcbn1cbi5pY29uLTUwMHB4OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUFCXCI7XG59XG4uaWNvbi1zdGVhbTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFBQ1wiO1xufVxuLmljb24tc3RlYW0yOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUFEXCI7XG59XG4uaWNvbi1kcm9wYm94OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUFFXCI7XG59XG4uaWNvbi1vbmVkcml2ZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFBRlwiO1xufVxuLmljb24tZ2l0aHViOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUIwXCI7XG59XG4uaWNvbi1ucG06YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQjFcIjtcbn1cbi5pY29uLWJhc2VjYW1wOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUIyXCI7XG59XG4uaWNvbi10cmVsbG86YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQjNcIjtcbn1cbi5pY29uLXdvcmRwcmVzczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFCNFwiO1xufVxuLmljb24tam9vbWxhOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUI1XCI7XG59XG4uaWNvbi1lbGxvOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUI2XCI7XG59XG4uaWNvbi1ibG9nZ2VyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUI3XCI7XG59XG4uaWNvbi1ibG9nZ2VyMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFCOFwiO1xufVxuLmljb24tdHVtYmxyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUI5XCI7XG59XG4uaWNvbi10dW1ibHIyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUJBXCI7XG59XG4uaWNvbi15YWhvbzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFCQlwiO1xufVxuLmljb24teWFob28yOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUJDXCI7XG59XG4uaWNvbi10dXg6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQkRcIjtcbn1cbi5pY29uLWFwcGxlaW5jOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUJFXCI7XG59XG4uaWNvbi1maW5kZXI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQkZcIjtcbn1cbi5pY29uLWFuZHJvaWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQzBcIjtcbn1cbi5pY29uLXdpbmRvd3M6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQzFcIjtcbn1cbi5pY29uLXdpbmRvd3M4OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUMyXCI7XG59XG4uaWNvbi1zb3VuZGNsb3VkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUMzXCI7XG59XG4uaWNvbi1zb3VuZGNsb3VkMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFDNFwiO1xufVxuLmljb24tc2t5cGU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQzVcIjtcbn1cbi5pY29uLXJlZGRpdDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFDNlwiO1xufVxuLmljb24taGFja2VybmV3czpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFDN1wiO1xufVxuLmljb24td2lraXBlZGlhOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUM4XCI7XG59XG4uaWNvbi1saW5rZWRpbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFDQVwiO1xufVxuLmljb24tbGlua2VkaW4yOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUM5XCI7XG59XG4uaWNvbi1sYXN0Zm06YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQ0JcIjtcbn1cbi5pY29uLWxhc3RmbTI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQ0NcIjtcbn1cbi5pY29uLWRlbGljaW91czpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFDRFwiO1xufVxuLmljb24tc3R1bWJsZXVwb246YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQ0VcIjtcbn1cbi5pY29uLXN0dW1ibGV1cG9uMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFDRlwiO1xufVxuLmljb24tc3RhY2tvdmVyZmxvdzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFEMFwiO1xufVxuLmljb24tcGludGVyZXN0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUQxXCI7XG59XG4uaWNvbi1waW50ZXJlc3QyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUQyXCI7XG59XG4uaWNvbi14aW5nOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUQzXCI7XG59XG4uaWNvbi14aW5nMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFENFwiO1xufVxuLmljb24tZmxhdHRyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUQ1XCI7XG59XG4uaWNvbi1mb3Vyc3F1YXJlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUQ2XCI7XG59XG4uaWNvbi15ZWxwOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUQ3XCI7XG59XG4uaWNvbi1wYXlwYWw6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBRDhcIjtcbn1cbi5pY29uLWNocm9tZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFEOVwiO1xufVxuLmljb24tZmlyZWZveDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFEQVwiO1xufVxuLmljb24tSUU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBREJcIjtcbn1cbi5pY29uLWVkZ2U6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBRENcIjtcbn1cbi5pY29uLXNhZmFyaTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFERFwiO1xufVxuLmljb24tb3BlcmE6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBREVcIjtcbn1cbi5pY29uLWZpbGUtcGRmOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQURGXCI7XG59XG4uaWNvbi1maWxlLW9wZW5vZmZpY2U6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBRTBcIjtcbn1cbi5pY29uLWZpbGUtd29yZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFFMVwiO1xufVxuLmljb24tZmlsZS1leGNlbDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFFMlwiO1xufVxuLmljb24tbGlicmVvZmZpY2U6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBRTNcIjtcbn1cbi5pY29uLWh0bWwtZml2ZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFFNFwiO1xufVxuLmljb24taHRtbC1maXZlMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFFNVwiO1xufVxuLmljb24tY3NzMzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFFNlwiO1xufVxuLmljb24tZ2l0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUU3XCI7XG59XG4uaWNvbi1jb2RlcGVuOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUU4XCI7XG59XG4uaWNvbi1zdmc6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBRTlcIjtcbn1cbi5pY29uLUljb01vb246YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBRUFcIjtcbn1cbi5pY29uLXRpa3RvazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFFQ1wiO1xufVxuLmljb24teDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFFQlwiO1xufSIsIi8qXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRJTkRJRS5XRUIgUkVTRVQgU1RZTEVTXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBtYWtlcyB3b3JraW5nIHdpdGggdGhlIGJveCBtb2RlbCBXQVkgZWFzaWVyICovXG59XG5cbioge1xuXHRtYXJnaW46IDA7XG59XG5cbmh0bWwge1xuXHRsaW5lLWhlaWdodDogMS41XG59XG5cbmJvZHkge1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxucCB7XG5cdHRleHQtd3JhcDogcHJldHR5O1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnRleHRhcmVhLFxuc2VsZWN0IHtcblx0Zm9udDogaW5oZXJpdDtcbn1cblxuLypcdHJlbW92ZSA6Zm9jdXMgb3V0bGluZSBvbiBlbGVtZW50czsgYWRkIGlubmVyIGFuZCBvdXRlciBib3gtc2hhZG93ICh0byBhY2NvdW50IGZvciBsaWdodCBhbmQgZGFyayBiYWNrZ3JvdW5kcykgKi9cbio6Zm9jdXMgeyBcblx0b3V0bGluZTogMCAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93OlxuXHRcdDAgMCAwLjVweCAycHggcmdiYSgyNTUsMjU1LDI1NSwwLjUpLCAvKiBpbm5lciBib3JkZXIgKi9cblx0XHQwIDAgMC41cHggNHB4IHJnYmEoMCwwLDAsMC41KSAhaW1wb3J0YW50IC8qIG91dGVyIGJvcmRlciAqL1xuXHQ7XG59XG5cbi8qXHR1bmxlc3MgdGhlIEhUTUwgZWxlbWVudCBoYXMgY2xhc3MgXCJ0YWJiaW5nXCIgKHVzZXIgaXMgbmF2aWdhdGluZyB1c2luZyB0aGUgVEFCIGtleSAtIHNldCBpbiBtYWluLmpzKSwgcmVtb3ZlIGJvdGggb3V0bGluZSBhbmQgYm94LXNoYWRvdyAqL1xuaHRtbDpub3QoLnRhYmJpbmcpICo6Zm9jdXMsXG5odG1sOm5vdCgudGFiYmluZykgKjpmb2N1cy12aXNpYmxlIHtcblx0b3V0bGluZTogMDtcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKlx0cmVtb3ZlIENocm9tZSB5ZWxsb3cgYXV0by1jb21wbGV0ZSBiYWNrZ3JvdW5kIGNvbG9yICovXG5pbnB1dDotd2Via2l0LWF1dG9maWxsLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDAwcyBlYXNlLWluLW91dCAwcztcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDAwcyBlYXNlLWluLW91dCAwcztcbn1cblxuLypcdHByZXZlbnQgaU9TIGJyb3dzZXJzIHJvdW5kZWQgY29ybmVycyAqL1xuaW5wdXRbdHlwZT10ZXh0XSxcbmlucHV0W3R5cGU9ZW1haWxdLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPWZpbGVdLFxuaW5wdXRbdHlwZT1zdWJtaXRdLFxuaW5wdXRbdHlwZT1yZXNldF0sXG5pbnB1dFt0eXBlPWJ1dHRvbl0sXG5idXR0b25bdHlwZT1idXR0b25dLFxuYnV0dG9uW3R5cGU9c3VibWl0XSxcbmJ1dHRvblt0eXBlPSdyZXNldCddLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRib3JkZXItcmFkaXVzOiAwO1xufSIsIi8qXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRJTkRJRS5XRUIgQkFTRSBTVFlMRVNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcdElORElFLldFQiBCUkFORElORyBTVFlMRVMgLS0tLS0tLS0tLSAqL1xuXG4uaW5kaWUge1xuXHRjb2xvcjogIzY2Njtcbn1cblxuLndlYiB7XG5cdGNvbG9yOiAjYmI1NmZmO1xufVxuXG5cbi8qIFx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cbi5wb3MtcmVsIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaW5uZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1heC13aWR0aDogNjBlbTsgLyoga2V5IHJlc3BvbnNpdmUgZWxlbWVudCAqL1xuXHRtYXJnaW46IGF1dG87XG5cdHBhZGRpbmc6IDAgMTVweDtcbn1cblxuLndpZHRoLTE1LFxuLndpZHRoLTIwLFxuLndpZHRoLTI1LFxuLndpZHRoLTMwLFxuLndpZHRoLTMzLFxuLndpZHRoLTQwLFxuLndpZHRoLTUwLFxuLndpZHRoLTYwLFxuLndpZHRoLTY2LFxuLndpZHRoLTcwLFxuLndpZHRoLTc1LFxuLndpZHRoLTgwLFxuLndpZHRoLTEwMCxcbi5mbGV4LWJveCB7XG5cdHBhZGRpbmc6IDE1cHg7XG59XG5cbi53aWR0aC0xNSB7XG5cdHdpZHRoOiAxNSU7XG59XG5cbi53aWR0aC0yMCB7XG5cdHdpZHRoOiAyMCU7XG59XG5cbi53aWR0aC0yNSB7XG5cdHdpZHRoOiAyNSU7XG59XG5cbi53aWR0aC0zMCB7XG5cdHdpZHRoOiAzMCU7XG59XG5cbi53aWR0aC0zMyB7XG5cdHdpZHRoOiAzMy4zMzMzJTtcbn1cblxuLndpZHRoLTQwIHtcblx0d2lkdGg6IDQwJTtcbn1cblxuLndpZHRoLTUwIHtcblx0d2lkdGg6IDUwJTtcbn1cblxuLndpZHRoLTYwIHtcblx0d2lkdGg6IDYwJTtcbn1cblxuLndpZHRoLTY2IHtcblx0d2lkdGg6IDY2LjY2NjYlO1xufVxuXG4ud2lkdGgtNzAge1xuXHR3aWR0aDogNzAlO1xufVxuXG4ud2lkdGgtNzUge1xuXHR3aWR0aDogNzUlO1xufVxuXG4ud2lkdGgtODAge1xuXHR3aWR0aDogODAlO1xufVxuXG4ud2lkdGgtMTAwIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5pbnQtd3JhcCB7XG5cdG1hcmdpbjogMCAtMTVweDtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4uaW50LXdyYXAtN1xcLjUge1xuXHRtYXJnaW46IDAgLTcuNXB4O1xufVxuXG4uaW50LXdyYXAtN1xcLjUgPiAqIHtcblx0cGFkZGluZy1sZWZ0OiA3LjVweDtcblx0cGFkZGluZy1yaWdodDogNy41cHg7XG59XG5cbmltZyB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uaW5uZXIgPiBkaXYgPiAuaW50LXdyYXAuZmxleC1jb250YWluZXI6Zmlyc3QtY2hpbGQgPiBkaXYge1xuXHRwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyAvKiBwcmV2ZW50IGluY29uc2lzdGVudCBzcGFjaW5nIGJldHdlZW4gLndpZHRoLXggYmxvY2tzIHdoZW4gc3RhY2tpbmcgdmVydGljYWxseSAqL1xufVxuXG5bY2xhc3MqPWx0ZS1dLFxuW2NsYXNzKj1ndGUtXSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLypcdEZMRVhCT1ggLS0tLS0tICovXG5cbi5mbGV4LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24tY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLmZsZXgtY29udGFpbmVyLnNwYWNlLWFyb3VuZCB7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4uZmxleC1jb250YWluZXIuc3BhY2UtYmV0d2VlbiB7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmZsZXgtY29udGFpbmVyLnNwYWNlLWV2ZW5seSB7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xufVxuXG4uZmxleC1jb250YWluZXIuZmxleC1zdGFydCB7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmZsZXgtY29udGFpbmVyLmNlbnRlciB7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZmxleC1jb250YWluZXIuZmxleC1lbmQge1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uZmxleC1jb250YWluZXIucmV2ZXJzZSB7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLypcdFZlcnRpY2FsIEFsaWdubWVudCAtIGFwcGx5IHRvIHBhcmVudCBlbGVtZW50IHRvIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnQgKi9cbi8qXHRDb25kaXRpb25zOlxuXHRcdC0gcGFyZW50IGVsZW1lbnQgbXVzdCBoYXZlIDEwMCUgaGVpZ2h0XG5cdFx0LSBjaGlsZCBjb250ZW50IG11c3QgYmUgY29udGFpbmVkIHdpdGhpbiBhIHRhZyAodGV4dCBkaXJlY3RseSB3aXRoaW4gdGhlIHBhcmVudCBlbGVtZW50IHdpbGwgb3ZlcmZsb3cgaW4gSUUpXG4qL1xuLnZlcnQtY2VudGVyLFxuLnZlcnQtanVzdGlmeSB7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogcmVxdWlyZWQgZm9yIG11bHRpcGxlIGl0ZW1zICovXG59XG5cbi52ZXJ0LWNlbnRlciB7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyOyAvKiByZXF1aXJlZCBmb3IgbXVsdGlwbGUgaXRlbXMgKi9cbn1cblxuLnZlcnQtanVzdGlmeXtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvKiByZXF1aXJlZCBmb3IgbXVsdGlwbGUgaXRlbXMgKi9cbn1cblxuLnZlcnQtY2VudGVyLmNlbnRlcixcbi52ZXJ0LWp1c3RpZnkuY2VudGVyIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZsZXgtY29udGFpbmVyID4gLnZlcnQtY2VudGVyLFxuLmZsZXgtY29udGFpbmVyID4gLnZlcnQtanVzdGlmeSB7XG5cdGhlaWdodDogYXV0bzsgLyogcmVtb3ZlIDEwMCUgaGVpZ2h0IC0gbm90IHN1aXRhYmxlIGZvciBmbGV4LWNvbnRhaW5lciBjaGlsZCBpdGVtcyAqL1xufVxuXG4vKlx0UG90ZW50aWFsIEZ1dHVyZSBEZXZlbG9wbWVudDogYWxpZ24taXRlbXM6IGVuZCBhbGxvd3MgaXRlbXMgdG8gYmUgdmVydGljYWxseSBhbGlnbmVkIHRvIHRoZSBib3R0b20gLSB1c2VmdWwgaWYgd2Ugd2FudCBhIGhlYWRpbmcgb3Igc29tZSBleHRyYSBjb250ZW50IGNvbnRhaW5lZCBhdCB0aGUgdG9wIG9mIG9uZSBmbGV4IGVsZW1lbnQgYnV0IG5vdCBpbiBvdGhlcihzKSAqL1xuXG5cbi8qXHRGTE9BVFMgLS0tLS0tICovXG5cbi5mbG9hdC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbG93LXJvb3Q7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5mbG9hdC1jb250YWluZXIgKyBkaXYge1xuXHRtYXJnaW4tdG9wOiAtMTVweDsgLyogYWRkcmVzc2VzIG1hcmdpbiBpbmNvbnNpc3RlbmN5IHdoZXJlIG9uZSBhIGRpdiBkaXJlY3RseSBmb2xsb3dzIGEgLmZsb2F0LWNvbnRhaW5lciBibG9jayAqL1xufVxuXG4uZmxvYXQtY29udGFpbmVyOmZpcnN0LWNoaWxkIHtcblx0bWFyZ2luLXRvcDogMTVweDsgLyogYWRkcmVzc2VzIG1hcmdpbiBpbmNvbnNpc3RlbmN5IHdoZXJlIC5mbG9hdC1jb250YWluZXIgYmxvY2sgaXMgYWRkZWQgYXMgZmlyc3QgZWxlbWVudCBpbiBhIHNlY3Rpb24gKi9cbn1cblxuLypcdEZvciBncmVhdGVyIHN0eWxpbmcgZmxleGliaWxpdHksIGZsb2F0ZWQgaW1hZ2VzIHdpbGwgYmUgd3JhcHBlZCBpbiBhIGRpdiB3aXRoIGVpdGhlciBvZiB0aGUgZm9sbG93aW5nIGNsYXNzZXMgKi9cbi5mbG9hdC1sZWZ0OmZpcnN0LWNoaWxkLFxuLmZsb2F0LXJpZ2h0OmZpcnN0LWNoaWxkIHtcblx0bWFyZ2luLXRvcDogMTVweDtcbn1cblxuLmZsb2F0LWNvbnRhaW5lciA+ICo6bm90KGRpdik6bGFzdC1jaGlsZCxcbi5mbG9hdC1jb250YWluZXIgPiAudHh0LXdyYXAgPiAqOmxhc3QtY2hpbGQge1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4OyAvKiBhZGRyZXNzZXMgbWFyZ2luIGluY29uc2lzdGVuY3kgY3JlYXRlZCBieSBtYWluID4gcDpsYXN0LWNoaWxkIHJ1bGUgKi9cbn1cblxuLypcdEZMT0FUIEJMT0NLICsgVEVYVCBCTE9DSyAtLS0gKi9cblxuLmZsb2F0LWNvbnRhaW5lci5pbnQtd3JhcCA+IC5mbG9hdC1sZWZ0LFxuLmZsb2F0LWNvbnRhaW5lci5pbnQtd3JhcCA+IC5mbG9hdC1yaWdodCB7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG5cdHBhZGRpbmctbGVmdDogMTVweDtcblx0cGFkZGluZy1yaWdodDogMTVweDtcbn1cblxuLmZsb2F0LWNvbnRhaW5lci5pbnQtd3JhcCA+IC50eHQtd3JhcCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMCAxNXB4O1xufVxuXG5cbi8qXHRCQUNLR1JPVU5EIFdSQVAgLS0tLS0tICovXG5cbi5iZy13cmFwIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdC8qIGJhY2tncm91bmQtcG9zaXRpb24gc2V0IGluIG1haW4uY3NzICovXG59XG5cblxuLypcdFRFWFQgU1RZTEVTIC0tLS0tLS0tLS0gKi9cblxuLnVwcGVyIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnR4dC1sZWZ0LFxuLnR4dC1sZWZ0ICoge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udHh0LWNlbnRlcixcbi50eHQtY2VudGVyICoge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50eHQtcmlnaHQsXG4udHh0LXJpZ2h0ICoge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRvcC0wIHtcblx0bWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4uYm90dG9tLTAge1xuXHRtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi50b3AtMTUge1xuXHRtYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3R0b20tMTUge1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3AtMzAge1xuXHRtYXJnaW4tdG9wOiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3R0b20tMzAge1xuXHRtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3AtNDUge1xuXHRtYXJnaW4tdG9wOiA0NXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3R0b20tNDUge1xuXHRtYXJnaW4tYm90dG9tOiA0NXB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3AtNjAge1xuXHRtYXJnaW4tdG9wOiA2MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3R0b20tNjAge1xuXHRtYXJnaW4tYm90dG9tOiA2MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3AtNzUge1xuXHRtYXJnaW4tdG9wOiA3NXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3R0b20tNzUge1xuXHRtYXJnaW4tYm90dG9tOiA3NXB4ICFpbXBvcnRhbnQ7XG59XG5cbi50b3AtOTAge1xuXHRtYXJnaW4tdG9wOiA5MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3R0b20tOTAge1xuXHRtYXJnaW4tYm90dG9tOiA5MHB4ICFpbXBvcnRhbnQ7XG59XG5cbnA6ZW1wdHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKlx0RW5zdXJlIGNvcnJlY3QgbWFyZ2luIGlmIGZpcnN0IHBhcmFncmFwaCBvbiBwYWdlIGlzIG5vdCBwcmVjZWRlZCBieSBhIGhlYWRpbmcgKi9cbm1haW4gPiAuaW5uZXI6Zmlyc3QtY2hpbGQgPiAud2lkdGgtMTAwID4gcDpmaXJzdC1jaGlsZCB7XG5cdG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbm1haW4gYSB7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDsgLyogcHJldmVudCBsb25nIGxpbmtzIGZyb20gYnJlYWtpbmcgbGF5b3V0cyAqL1xufVxuXG5cbi8qIFx0Rk9PVEVSIC0tLS0tLS0tLS0gKi9cblxuI2Zvb3Rlci1ib3R0b20gcCB7XG5cdG1hcmdpbjogMDtcbn1cblxuXG4vKlx0U3RpY2t5IEZvb3RlciAtLS0gKi9cblxuYm9keSB7XG5cdGhlaWdodDogMTAwdmg7XG5cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuaGVhZGVyLFxuZm9vdGVyIHtcblx0ZmxleDogbm9uZTtcbn1cblxubWFpbiB7XG5cdHdpZHRoOiAxMDAlO1xuXHRmbGV4OiAxIDAgYXV0bztcbn1cblxuXG4vKiBcdEZPUk1TIC0tLS0tLS0tLS0gKi9cblxubGFiZWwge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuaW5wdXRbdHlwZT1yYWRpb10gKyBsYWJlbCxcbmlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWwge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbmlucHV0W3R5cGU9ZGF0ZV0sXG5pbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcbmlucHV0W3R5cGU9ZW1haWxdLFxuaW5wdXRbdHlwZT1tb250aF0sXG5pbnB1dFt0eXBlPW51bWJlcl0sXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmlucHV0W3R5cGU9c2VhcmNoXSxcbmlucHV0W3R5cGU9dGVsXSxcbmlucHV0W3R5cGU9dGV4dF0sXG5pbnB1dFt0eXBlPXRpbWVdLFxuaW5wdXRbdHlwZT11cmxdLFxuaW5wdXRbdHlwZT13ZWVrXSxcblxuYnV0dG9uW3R5cGU9YnV0dG9uXSxcbmJ1dHRvblt0eXBlPSdyZXNldCddLFxuYnV0dG9uW3R5cGU9c3VibWl0XSxcblxuaW5wdXRbdHlwZT1idXR0b25dLFxuaW5wdXRbdHlwZT1maWxlXSxcbmlucHV0W3R5cGU9J3Jlc2V0J10sXG5pbnB1dFt0eXBlPXN1Ym1pdF0sXG5cbnNlbGVjdCxcbnRleHRhcmVhIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogMTVweCAwO1xuXHRib3JkZXI6IDA7XG59XG5cbmlucHV0W3R5cGU9ZGF0ZV0sXG5pbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcbmlucHV0W3R5cGU9ZW1haWxdLFxuaW5wdXRbdHlwZT1tb250aF0sXG5pbnB1dFt0eXBlPW51bWJlcl0sXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmlucHV0W3R5cGU9c2VhcmNoXSxcbmlucHV0W3R5cGU9dGVsXSxcbmlucHV0W3R5cGU9dGV4dF0sXG5pbnB1dFt0eXBlPXRpbWVdLFxuaW5wdXRbdHlwZT11cmxdLFxuaW5wdXRbdHlwZT13ZWVrXSxcbnNlbGVjdCB7XG5cdGhlaWdodDogNDVweDtcblx0cGFkZGluZzogMCAxNXB4ICFpbXBvcnRhbnQ7XG59XG5cbmlucHV0W3R5cGU9ZGF0ZV0sXG5pbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcbmlucHV0W3R5cGU9ZW1haWxdLFxuaW5wdXRbdHlwZT1tb250aF0sXG5pbnB1dFt0eXBlPW51bWJlcl0sXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmlucHV0W3R5cGU9c2VhcmNoXSxcbmlucHV0W3R5cGU9dGVsXSxcbmlucHV0W3R5cGU9dGV4dF0sXG5pbnB1dFt0eXBlPXRpbWVdLFxuaW5wdXRbdHlwZT11cmxdLFxuaW5wdXRbdHlwZT13ZWVrXSxcbnNlbGVjdCxcbnRleHRhcmVhIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbmlucHV0W3R5cGU9cmFkaW9dLFxuaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tcmlnaHQ6IDVweDtcblx0bWFyZ2luLWJvdHRvbTogM3B4O1xufVxuXG5idXR0b25bdHlwZT1idXR0b25dLFxuYnV0dG9uW3R5cGU9J3Jlc2V0J10sXG5idXR0b25bdHlwZT1zdWJtaXRdLFxuXG5pbnB1dFt0eXBlPWJ1dHRvbl0sXG5pbnB1dFt0eXBlPWZpbGVdLFxuaW5wdXRbdHlwZT0ncmVzZXQnXSxcbmlucHV0W3R5cGU9c3VibWl0XSB7XG5cdGhlaWdodDogNDVweDtcblx0cGFkZGluZzogMCAzMHB4O1xufVxuXG50ZXh0YXJlYSB7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbmZvcm0gPiAuaW50LXdyYXAtN1xcLjUgPiAudGhpcmQgPiBpbnB1dFt0eXBlPXN1Ym1pdF0sXG5mb3JtID4gLmludC13cmFwLTdcXC41ID4gLnRoaXJkID4gYnV0dG9uW3R5cGU9c3VibWl0XSB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4jbG9hZGVyIGltZyB7XG5cdHdpZHRoOiBhdXRvO1xufVxuXG4jbG9hZGVyIHAge1xuXHRtYXJnaW46IDE1cHggMDtcblx0cGFkZGluZzogMCAxNXB4O1xufVxuXG5cbi8qIFx0R09PR0xFIFJFQ0FQVENIQSBWMyAtLS0tLS0gKi9cblxuLmdyZWNhcHRjaGEtYmFkZ2Uge1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cblxuLyogXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRJTkRJRS5XRUIgQkFTRSBNRURJQSBRVUVSSUVTXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAqL1xuXG4vKlx0U2NyZWVuIFNpemVzIDI0MHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWF4LXdpZHRoIDogMjQwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cdFxuXHQuaW5uZXIge1xuXHRcdHBhZGRpbmc6IDIyLjVweCAwO1xuXHR9XG5cdFxuXHQuaW5uZXIgPiAqIHtcblx0XHRmb250LXNpemU6IDAuODc1cmVtO1xuXHR9XG4vKlxuXHQud2lkdGgtMjAsXG5cdC53aWR0aC0yNSxcblx0LndpZHRoLTMwLFxuXHQud2lkdGgtMzMsXG5cdC53aWR0aC00MCxcblx0LndpZHRoLTUwLFxuXHQud2lkdGgtNjAsXG5cdC53aWR0aC02Nixcblx0LndpZHRoLTc1LFxuXHQud2lkdGgtODAsXG5cdC53aWR0aC0xMDAge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IDcuNXB4IDE1cHg7XG5cdH1cbiovXG5cdFtjbGFzcyo9J3dpZHRoLSddIHtcblx0XHRwYWRkaW5nOiA3LjVweCAxNXB4O1xuXHR9XG5cblx0Lmx0ZS0yNDAge1xuXHRcdGRpc3BsYXk6IGluaXRpYWw7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMjQwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDI0MHB4KSB7XG5cdFxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cdFxuXHQuaW5uZXIge1xuXHRcdHBhZGRpbmc6IDE1cHg7XG5cdH1cbi8qXG5cdC53aWR0aC0xNSxcblx0LndpZHRoLTIwLFxuXHQud2lkdGgtMjUsXG5cdC53aWR0aC0zMCxcblx0LndpZHRoLTMzLFxuXHQud2lkdGgtNDAsXG5cdC53aWR0aC01MCxcblx0LndpZHRoLTYwLFxuXHQud2lkdGgtNjYsXG5cdC53aWR0aC03NSxcblx0LndpZHRoLTgwLFxuXHQud2lkdGgtMTAwIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAxNXB4O1xuXHR9XG4qL1xuXHRbY2xhc3MqPSd3aWR0aC0nXSB7XG5cdFx0cGFkZGluZzogMTVweDtcblx0fVxuXG5cdC5ndGUtMjQwIHtcblx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDI0MHB4IC0gMzIwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiAyNDBweClcbmFuZCAobWF4LXdpZHRoIDogMzIwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cblx0LmlubmVyID4gKiB7XG5cdFx0Zm9udC1zaXplOiAwLjkzNzVyZW07XG5cdH1cblx0XG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAzMjBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1heC13aWR0aCA6IDMyMHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5sdGUtMzIwIHtcblx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHR9XG5cblxuXHQvKlx0VEVYVCBTVFlMRVMgLS0tLS0tLS0tLSAqL1xuXHRcblx0aDEsXG5cdC5oMSB7XG5cdFx0Zm9udC1zaXplOiAxLjYwMmVtO1xuXHR9XG5cdFxuXHRoMixcblx0LmgyIHtcblx0XHRmb250LXNpemU6IDEuNDI0ZW07XG5cdH1cblx0XG5cdGgzLFxuXHQuaDMge1xuXHRcdGZvbnQtc2l6ZTogMS4yNjZlbTtcblx0fVxuXHRcblx0aDQsXG5cdC5oNCB7XG5cdFx0Zm9udC1zaXplOiAxLjEyNWVtO1xuXHR9XG5cdFxuXHRoNSxcblx0Lmg1LFxuXHRwLFxuXHRsaSB7XG5cdFx0Zm9udC1zaXplOiAxLjBlbTtcblx0fVxuXHRcblx0aDYsXG5cdC5oNixcblx0c21hbGwsXG5cdC5zbWFsbCB7XG5cdFx0Zm9udC1zaXplOiAwLjg4OWVtO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDMyMHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiAzMjBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuXHQuZ3RlLTMyMCB7XG5cdFx0ZGlzcGxheTogaW5pdGlhbDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAzMjBweCAtIDQ4MHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogMzIwcHgpIFxuYW5kIChtYXgtd2lkdGggOiA0ODBweCkge1xuXG5cdC8qXHRURVhUIFNUWUxFUyAtLS0tLS0tLS0tICovXG5cdFxuXHRoMSxcblx0LmgxIHtcblx0XHRmb250LXNpemU6IDEuNjAyZW07XG5cdH1cblx0XG5cdGgyLFxuXHQuaDIge1xuXHRcdGZvbnQtc2l6ZTogMS40MjRlbTtcblx0fVxuXHRcblx0aDMsXG5cdC5oMyB7XG5cdFx0Zm9udC1zaXplOiAxLjI2NmVtO1xuXHR9XG5cdFxuXHRoNCxcblx0Lmg0IHtcblx0XHRmb250LXNpemU6IDEuMTI1ZW07XG5cdH1cblx0XG5cdGg1LFxuXHQuaDUsXG5cdHAsXG5cdGxpIHtcblx0XHRmb250LXNpemU6IDEuMGVtO1xuXHR9XG5cdFxuXHRoNixcblx0Lmg2LFxuXHRzbWFsbCxcblx0LnNtYWxsIHtcblx0XHRmb250LXNpemU6IDAuODg5ZW07XG5cdH1cblx0XG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA0MDBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1heC13aWR0aCA6IDQwMHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5sdGUtNDAwIHtcblx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHR9XG5cblx0LmZsZXgtY29udGFpbmVyOmhhcygjdW5pZm9ybS13aWR0aCkgPiAuZmxleC1iYXNpcy0yMCB7XG5cdFx0ZmxleC1iYXNpczogMTAwJTtcblx0fVxuXG5cblx0LypcdE1BSU4gLS0tLS0tLS0tLSAqL1xuXHRcblx0bWFpbiB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblx0bWFpbiB1bCxcblx0bWFpbiBvbCB7XG5cdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblx0XG5cblx0LypcdEZPT1RFUiAtLS0tLS0tLS0tICovXG5cdFxuXHRmb290ZXIge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cblx0LyogXHRGT1JNUyAtLS0tLS0tLS0tICovXG5cdFxuXHRpbnB1dFt0eXBlPXN1Ym1pdF0sXG5cdGJ1dHRvblt0eXBlPXN1Ym1pdF0ge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0fVxuXG5cdCNsb2FkZXIgLmZsZXgtY29udGFpbmVyIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXHRcbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDQwMHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA0MDBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuXHQuZ3RlLTQwMCB7XG5cdFx0ZGlzcGxheTogaW5pdGlhbDtcblx0fVxuXG5cblx0LypcdE1BSU4gLS0tLS0tLS0tLSAqL1xuXHRcblx0bWFpbiB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuXG5cdG1haW4gdWwsXG5cdG1haW4gb2wge1xuXHRcdHBhZGRpbmctbGVmdDogNDVweDtcblx0fVxuXG5cdFxuXHQvKlx0Rk9PVEVSIC0tLS0tLS0tLS0gKi9cblx0XG5cdGZvb3RlciB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuXG5cblx0LyogXHRGT1JNUyAtLS0tLS0tLS0tICovXG5cdFxuXHRmb3JtICoge1xuXHRcdHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA0ODBweCAtIDY0MHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogNDgwcHgpIFxuYW5kIChtYXgtd2lkdGggOiA2NDBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuXHQuZmxleC1jb250YWluZXI6aGFzKCN1bmlmb3JtLXdpZHRoKSA+IC5mbGV4LWJhc2lzLTIwIHtcblx0XHRmbGV4LWJhc2lzOiA1MCU7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgNDgwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtYXgtd2lkdGggOiA0ODBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuXHQubHRlLTQ4MCB7XG5cdFx0ZGlzcGxheTogaW5pdGlhbDtcblx0fVxuXG5cdC5mbGV4LWNvbnRhaW5lcjpoYXMoI3VuaWZvcm0td2lkdGgpID4gLmZsZXgtYmFzaXMtMjUge1xuXHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdH1cblxuXHQuZmxleC1jb250YWluZXI6aGFzKCN1bmlmb3JtLXdpZHRoKSA+IC5mbGV4LWJhc2lzLTMzIHtcblx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDQ4MHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA0ODBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuXHQuZ3RlLTQ4MCB7XG5cdFx0ZGlzcGxheTogaW5pdGlhbDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA0ODBweCAtIDY0MHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogNDgwcHgpIFxuYW5kIChtYXgtd2lkdGggOiA2NDBweCkge1xuXG5cdC8qXHRURVhUIFNUWUxFUyAtLS0tLS0tLS0tICovXG5cdFxuXHRoMSxcblx0LmgxIHtcblx0XHRmb250LXNpemU6IDIuMDc0ZW07XG5cdH1cblx0XG5cdGgyLFxuXHQuaDIge1xuXHRcdGZvbnQtc2l6ZTogMS43MjhlbTtcblx0fVxuXHRcblx0aDMsXG5cdC5oMyB7XG5cdFx0Zm9udC1zaXplOiAxLjQ0ZW07XG5cdH1cblx0XG5cdGg0LFxuXHQuaDQge1xuXHRcdGZvbnQtc2l6ZTogMS4yZW07XG5cdH1cblx0XG5cdGg1LFxuXHQuaDVcblx0cCxcblx0bGkge1xuXHRcdGZvbnQtc2l6ZTogMS4wZW07XG5cdH1cblx0XG5cdGg2LFxuXHQuaDZcblx0c21hbGwsXG5cdC5zbWFsbCB7XG5cdFx0Zm9udC1zaXplOiAwLjgzM2VtO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDQ4MHB4IC0gNzIwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA0ODBweCkgXG5hbmQgKG1heC13aWR0aCA6IDcyMHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5mbGV4LWNvbnRhaW5lcjpoYXMoI3VuaWZvcm0td2lkdGgpID4gLmZsZXgtYmFzaXMtMjUge1xuXHRcdGZsZXgtYmFzaXM6IDUwJTtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA0ODBweCAtIDgwMHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogNDgwcHgpIFxuYW5kIChtYXgtd2lkdGggOiA4MDBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuXHQuZmxleC1jb250YWluZXI6aGFzKCN1bmlmb3JtLXdpZHRoKSA+IC5mbGV4LWJhc2lzLTMzIHtcblx0XHRmbGV4LWJhc2lzOiA1MCU7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgNTYwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtYXgtd2lkdGggOiA1NjBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuXHQubHRlLTU2MCB7XG5cdFx0ZGlzcGxheTogaW5pdGlhbDtcblx0fVxuXHRcbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDU2MHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA1NjBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuXHQuZ3RlLTU2MCB7XG5cdFx0ZGlzcGxheTogaW5pdGlhbDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA1NjBweCAtIDgwMHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogNTYwcHgpIFxuYW5kIChtYXgtd2lkdGggOiA4MDBweCkge1xuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA2NDBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1heC13aWR0aCA6IDY0MHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdFtjbGFzcyo9J3dpZHRoLSddOm5vdCguaW1nKSxcblx0W2NsYXNzKj0nZmxleC1iYXNpcy0nXSxcblx0LmZsb2F0LWNvbnRhaW5lciBbY2xhc3MqPSd3aWR0aC0nXSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQuZmxvYXQtbGVmdCxcblx0LmZsb2F0LXJpZ2h0IHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cblx0Lmx0ZS02NDAge1xuXHRcdGRpc3BsYXk6IGluaXRpYWw7XG5cdH1cblxuXG5cdC8qIFx0Rk9PVEVSIC0tLS0tLS0tLS0gKi9cblx0XG5cdC8qXHRGT09URVIgQk9UVE9NIC0tLS0tLSAqL1xuXHRcblx0I2Zvb3Rlci1ib3R0b20gLmlubmVyID4gZGl2IHtcblx0XHRwYWRkaW5nOiA3LjVweCAxNXB4O1xuXHR9XG5cdFxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgNjQwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWluLXdpZHRoIDogNjQwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cblx0LmZsZXgtYmFzaXMtMjUge1xuXHRcdGZsZXgtYmFzaXM6IDI1JTtcblx0fVxuXG5cdC5mbGV4LWJhc2lzLTMwIHtcblx0XHRmbGV4LWJhc2lzOiAzMCU7XG5cdH1cblxuXHQuZmxleC1iYXNpcy0zMyB7XG5cdFx0ZmxleC1iYXNpczogMzMuMzMzMyU7XG5cdH1cblxuXHQuZmxleC1iYXNpcy00MCB7XG5cdFx0ZmxleC1iYXNpczogNDAlO1xuXHR9XG5cblx0LmZsZXgtYmFzaXMtNTAge1xuXHRcdGZsZXgtYmFzaXM6IDUwJTtcblx0fVxuXG5cdC5mbGV4LWJhc2lzLTYwIHtcblx0XHRmbGV4LWJhc2lzOiA2MCU7XG5cdH1cblxuXHQuZmxleC1iYXNpcy02NiB7XG5cdFx0ZmxleC1iYXNpczogNjYuNjY2NiU7XG5cdH1cblxuXHQuZmxleC1iYXNpcy03MCB7XG5cdFx0ZmxleC1iYXNpczogNzAlO1xuXHR9XG5cblx0LmZsZXgtYmFzaXMtNzUge1xuXHRcdGZsZXgtYmFzaXM6IDc1JTtcblx0fVxuXG5cdC5mbGV4LWJhc2lzLTgwIHtcblx0XHRmbGV4LWJhc2lzOiA4MCU7XG5cdH1cblxuXHQuZmxleC1iYXNpcy0xMDAge1xuXHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdH1cblxuXG5cdC8qXHRGTE9BVFMgLS0tLS0tICovXG5cblx0LypcdEVuc3VyZSBhbnkgdGV4dCBlbGVtZW50IGZvbGxvd2luZyBhIGZsb2F0ZWQgaW1hZ2UgaXMgYWxpZ25lZCBjb3JyZWN0bHkgYXQgdGhlIHRvcCAqL1xuXHQuZmxvYXQtY29udGFpbmVyID4gZGl2W2NsYXNzKj1cImltZy1cIl0gKyAqOm5vdChkaXYpLFxuXHQuZmxvYXQtY29udGFpbmVyID4gZGl2W2NsYXNzKj1cImltZy1cIl0gKyAudHh0LXdyYXAgPiAqOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tdG9wOiAxNXB4OyBcblx0fVxuXHRcblx0LmZsb2F0LWxlZnQge1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdG1hcmdpbi1yaWdodDogMTVweDtcblx0XHRwYWRkaW5nOiAwIDE1cHggMTVweCAwO1xuXHR9XG5cdFxuXHQuZmxvYXQtcmlnaHQge1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0XHRwYWRkaW5nOiAwIDAgMTVweCAxNXB4O1xuXHR9XG5cblx0LypcdE5vdCB1c2VkIGluIFN0YW5kYXJkIFNlY3Rpb25zOyB1c2VmdWwgZm9yIGhhcmQtY29kZWQgY3VzdG9tIHdvcmsgKi9cblx0LmltZy1jZW50ZXIge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZsb2F0OiBub25lO1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cblx0LmZsb2F0LWNvbnRhaW5lci5pbnQtd3JhcCA+IC50eHQtd3JhcCB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdH1cblxuXG5cdC5ndGUtNjQwIHtcblx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHR9XG5cdFxuXG5cdC8qXHRGT09URVIgLS0tLS0tLS0tLSAqL1xuXG5cdC8qXHRGT09URVIgVE9QIC0tLS0tLSAqL1xuXG5cdCNmb290ZXItdG9wID4gLmlubmVyID4gZGl2ID4gKjpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHR9XG5cdFxuXHQvKlx0Rk9PVEVSIEJPVFRPTSAtLS0tLS0gKi9cblx0XG5cdCNmb290ZXItYm90dG9tIHtcblx0XHRoZWlnaHQ6IDYwcHg7XG5cdH1cblx0XG5cdCNmb290ZXItYm90dG9tIC5pbm5lcixcblx0I2Zvb3Rlci1ib3R0b20gLmlubmVyID4gZGl2IHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0fVxuXHRcblx0I2Zvb3Rlci1ib3R0b20gLmlubmVyID4gZGl2Omxhc3QtY2hpbGQge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR9XG5cdFxuXHQjZm9vdGVyLWJvdHRvbSAuaW5uZXIgPiBkaXY6Zmlyc3QtY2hpbGQge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblx0XG5cdCNmb290ZXItYm90dG9tIHAge1xuXHRcdGxpbmUtaGVpZ2h0OiA2MHB4O1xuXHR9XG5cdFxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgNjQwcHggLSA4MDBweCAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWluLXdpZHRoIDogNjQwcHgpXG5hbmQgKG1heC13aWR0aCA6IDgwMHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5mbGV4LWNvbnRhaW5lcjpoYXMoI3VuaWZvcm0td2lkdGgpID4gLmZsZXgtYmFzaXMtMjAge1xuXHRcdGZsZXgtYmFzaXM6IDMzLjMzMzMlO1xuXHR9XG5cblxuXHQvKiBcdFRFWFQgU1RZTEVTIC0tLS0tLS0tLS0gKi9cblx0XG5cdGgxLFxuXHQuaDEge1xuXHRcdGZvbnQtc2l6ZTogMi40NDFlbTtcblx0fVxuXHRcblx0aDIsXG5cdC5oMiB7XG5cdFx0Zm9udC1zaXplOiAxLjk1M2VtO1xuXHR9XG5cdFxuXHRoMyxcblx0LmgzIHtcblx0XHRmb250LXNpemU6IDEuNTYzZW07XG5cdH1cblx0XG5cdGg0LFxuXHQuaDQge1xuXHRcdGZvbnQtc2l6ZTogMS4yNWVtO1xuXHR9XG5cdFxuXHRoNSxcblx0Lmg1LFxuXHRwLFxuXHRsaSB7XG5cdFx0Zm9udC1zaXplOiAxLjBlbTtcblx0fVxuXHRcblx0aDYsXG5cdC5oNixcblx0c21hbGwsXG5cdC5zbWFsbCB7XG5cdFx0Zm9udC1zaXplOiAwLjhlbTtcblx0fVxuXG5cblx0LypcdEZPT1RFUiAtLS0tLS0tLS0tICovXG5cdFxuXHQvKlx0Rk9PVEVSIFRPUCAtLS0tLS0gKi9cblx0XG5cdCNmb290ZXItdG9wIHtcblx0XHRmb250LXNpemU6IDAuODc1ZW07XG5cdH1cblx0XG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA3MjBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1heC13aWR0aCA6IDcyMHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5sdGUtNzIwIHtcblx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHR9XG5cblxuXHQvKlx0Rk9PVEVSIC0tLS0tLS0tLS0gKi9cblx0XG5cdC8qXHRGT09URVIgQk9UVE9NIC0tLS0tLSAqL1xuXG5cdCNmb290ZXItYm90dG9tIHAge1xuXHRcdGZvbnQtc2l6ZTogMC43NXJlbTtcblx0fVxuXG59XG5cbi8qXHRTY3JlZW4gU2l6ZXMgNzIwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDcyMHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5ndGUtNzIwIHtcblx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHR9XG5cblxuXHQvKlx0TUFJTiAtLS0tLS0tLS0tICovXG5cblx0LmlubmVyIHtcblx0XHRwYWRkaW5nOiAzMHB4IDE1cHg7XG5cdH1cblxuXG5cdC8qXHRGT09URVIgLS0tLS0tLS0tLSAqL1xuXHRcblx0LypcdEZPT1RFUiBCT1RUT00gLS0tLS0tICovXG5cblx0I2Zvb3Rlci1ib3R0b20gcCB7XG5cdFx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA3MjBweCAtIDk2MHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogNzIwcHgpIFxuYW5kIChtYXgtd2lkdGggOiA5NjBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuXHQuZmxleC1jb250YWluZXI6aGFzKCN1bmlmb3JtLXdpZHRoKSA+IC5mbGV4LWJhc2lzLTI1IHtcblx0XHRmbGV4LWJhc2lzOiAzMy4zMzMzJTtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA4MDBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1heC13aWR0aCA6IDgwMHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5sdGUtODAwIHtcblx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHR9XG5cdFxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgODAwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDgwMHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5tb2JpbGUge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgLyogIWltcG9ydGFudCBuZWNlc3NhcnkgdG8gb3ZlcnJpZGUgI25hdi1tYWluICovXG5cdH1cblxuXHQuZ3RlLTgwMCB7XG5cdFx0ZGlzcGxheTogaW5pdGlhbDtcblx0fVxuXG5cdC5mbGV4LWNvbnRhaW5lcjpoYXMoI3VuaWZvcm0td2lkdGgpID4gLmZsZXgtYmFzaXMtMzMge1xuXHRcdGZsZXgtYmFzaXM6IDMzLjMzMzMlO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDgwMHB4IC0gODgwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA4MDBweCkgXG5hbmQgKG1heC13aWR0aCA6IDg4MHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXHRcblx0LmlubmVyID4gKiB7XG5cdFx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0fVxuXG5cdC8qXHRURVhUIFNUWUxFUyAtLS0tLS0tLS0tICovXG5cblx0aDEsXG5cdC5oMSB7XG5cdFx0Zm9udC1zaXplOiAzLjE1N2VtO1xuXHR9XG5cdFxuXHRoMixcblx0LmgyIHtcblx0XHRmb250LXNpemU6IDIuMzY5ZW07XG5cdH1cblx0XG5cdGgzLFxuXHQuaDMge1xuXHRcdGZvbnQtc2l6ZTogMS43NzdlbTtcblx0fVxuXHRcblx0aDQsXG5cdC5oNCB7XG5cdFx0Zm9udC1zaXplOiAxLjMzM2VtO1xuXHR9XG5cdFxuXHRoNSxcblx0Lmg1LFxuXHRwLFxuXHRtYWluIGxpIHtcblx0XHRmb250LXNpemU6IDEuMGVtO1xuXHR9XG5cblx0aDYsXG5cdC5oNixcblx0c21hbGwsXG5cdC5zbWFsbCB7XG5cdFx0Zm9udC1zaXplOiAwLjc1ZW07XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgODAwcHggLSA5NjBweCAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDgwMHB4KSBcbmFuZCAobWF4LXdpZHRoIDogOTYwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cblx0LmZsZXgtY29udGFpbmVyOmhhcygjdW5pZm9ybS13aWR0aCkgPiAuZmxleC1iYXNpcy0yMCB7XG5cdFx0ZmxleC1iYXNpczogMjUlO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDg4MHB4IC0gOTYwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA4ODBweCkgXG5hbmQgKG1heC13aWR0aCA6IDk2MHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXHRcblx0LmlubmVyID4gKiB7XG5cdFx0Zm9udC1zaXplOiAwLjkzNzVyZW07XG5cdH1cblxuXHQvKlx0VEVYVCBTVFlMRVMgLS0tLS0tLS0tLSAqL1xuXG5cdGgxLFxuXHQuaDEge1xuXHRcdGZvbnQtc2l6ZTogMy4xNTdlbTtcblx0fVxuXHRcblx0aDIsXG5cdC5oMiB7XG5cdFx0Zm9udC1zaXplOiAyLjM2OWVtO1xuXHR9XG5cdFxuXHRoMyxcblx0LmgzIHtcblx0XHRmb250LXNpemU6IDEuNzc3ZW07XG5cdH1cblx0XG5cdGg0LFxuXHQuaDQge1xuXHRcdGZvbnQtc2l6ZTogMS4zMzNlbTtcblx0fVxuXHRcblx0aDUsXG5cdC5oNSxcblx0cCxcblx0bWFpbiBsaSB7XG5cdFx0Zm9udC1zaXplOiAxLjBlbTtcblx0fVxuXG5cdGg2LFxuXHQuaDYsXG5cdHNtYWxsLFxuXHQuc21hbGwge1xuXHRcdGZvbnQtc2l6ZTogMC43NWVtO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDk2MHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWF4LXdpZHRoIDogOTYwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cblx0Lmx0ZS05NjAge1xuXHRcdGRpc3BsYXk6IGluaXRpYWw7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgOTYwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDk2MHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5ndGUtOTYwIHtcblx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHR9XG5cblx0LmZsZXgtY29udGFpbmVyOmhhcygjdW5pZm9ybS13aWR0aCkgPiAuZmxleC1iYXNpcy0yMCB7XG5cdFx0ZmxleC1iYXNpczogMjAlO1xuXHR9XG5cblx0LmZsZXgtY29udGFpbmVyOmhhcygjdW5pZm9ybS13aWR0aCkgPiAuZmxleC1iYXNpcy0yNSB7XG5cdFx0ZmxleC1iYXNpczogMjUlO1xuXHR9XG5cblx0XG5cdC8qXHRURVhUIFNUWUxFUyAtLS0tLS0tLS0tICovXG5cblx0aDEsXG5cdC5oMSB7XG5cdFx0Zm9udC1zaXplOiAzLjk5OGVtO1xuXHR9XG5cdFxuXHRoMixcblx0LmgyIHtcblx0XHRmb250LXNpemU6IDIuODI3ZW07XG5cdH1cblx0XG5cdGgzLFxuXHQuaDMge1xuXHRcdGZvbnQtc2l6ZTogMS45OTllbTtcblx0fVxuXHRcblx0aDQsXG5cdC5oNCB7XG5cdFx0Zm9udC1zaXplOiAxLjQxNGVtO1xuXHR9XG5cdFxuXHRoNSxcblx0Lmg1LFxuXHRwLFxuXHRtYWluIGxpIHtcblx0XHRmb250LXNpemU6IDEuMGVtO1xuXHR9XG5cdFxuXHRoNixcblx0Lmg2LFxuXHRzbWFsbCxcblx0LnNtYWxsIHtcblx0XHRmb250LXNpemU6IDAuNzA3ZW07XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMTIwMHB4IC0gMTM2MHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogMTIwMHB4KSBcbmFuZCAobWF4LXdpZHRoIDogMTM2MHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXHRcblx0LmlubmVyIHtcblx0XHRtYXgtd2lkdGg6IDY1ZW07XG5cdFx0cGFkZGluZzogNDVweDtcblx0fVxuXHRcbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDEzNjBweCAtIDE1MjBweCAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDEzNjBweCkgXG5hbmQgKG1heC13aWR0aCA6IDE1MjBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblx0XG5cdC5pbm5lciB7XG5cdFx0bWF4LXdpZHRoOiA3MGVtO1xuXHRcdHBhZGRpbmc6IDYwcHg7XG5cdH1cblx0XG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAxNTIwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDE1MjBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblx0XG5cdC5pbm5lciB7XG5cdFx0cGFkZGluZy10b3A6IDc1cHg7XG5cdFx0cGFkZGluZy1ib3R0b206IDc1cHg7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMTUyMHB4IC0gMTY4MHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogMTUyMHB4KVxuYW5kIChtYXgtd2lkdGggOiAxNjgwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cdFxuXHQuaW5uZXIge1xuXHRcdG1heC13aWR0aDogNzVlbTtcblx0XHRwYWRkaW5nLWxlZnQ6IDc1cHg7XG5cdFx0cGFkZGluZy1yaWdodDogNzVweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAxNjgwcHggLSAxOTIwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiAxNjgwcHgpXG5hbmQgKG1heC13aWR0aCA6IDE5MjBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblx0XG5cdC5pbm5lciB7XG5cdFx0bWF4LXdpZHRoOiA4MGVtO1xuXHRcdHBhZGRpbmctbGVmdDogOTBweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA5MHB4O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDE5MjBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogMTkyMHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXHRcblx0LmlubmVyIHtcblx0XHRtYXgtd2lkdGg6IDkwZW07XG5cdFx0cGFkZGluZy1sZWZ0OiAxMjBweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxMjBweDtcblx0fVxuXG59IiwiLyogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblx0SU5ESUUuV0VCIEJBTk5FUiBTVFlMRVNcclxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAgKi9cclxuXHJcbi8qICBIRUFERVIgLS0tLS0tLS0tLSAqL1xyXG5cclxuLypcdEJBTk5FUiAtLS0tLS0gKi9cclxuXHJcbiNiYW5uZXI6ZW1wdHkge1xyXG5cdGhlaWdodDogMCAhaW1wb3J0YW50O1xyXG5cdG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcclxuXHRtYXgtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcblx0LyogSW4gb3JkZXIgdG8gYmUgZW1wdHksICNiYW5uZXIgZWxlbWVudCBNVVNUIE5PVCBoYXZlIHdoaXRlc3BhY2UgaW4gaXQsIGkuZS4gPGRpdiBpZD1cImJhbm5lclwiPjwvZGl2PiAod2l0aG91dCBsaW5lLWJyZWFrKSAqL1xyXG59XHJcblxyXG4jYmFubmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAxOyAvKiBlbnN1cmUgQmFubmVyIChhbmQgYW55IFNsaWNrIENhcm91c2VsIGl0ZW1zIGNvbnRhaW5lZCB3aXRoaW4pIGlzL2FyZSBkaXNwbGF5ZWQgYmVoaW5kIE1haW4gTmF2ICovXHJcbiAgICAvKiBtYXgtaGVpZ2h0IHNldCBpbiBtZWRpYSBxdWVyaWVzICovXHJcbn1cclxuXHJcbi8qIGZvcm1lcmx5ICNiYW5uZXI6bm90KC5pbnRlcm5hbCkgKi9cclxuI2Jhbm5lciB7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuI2Jhbm5lcjpub3QoLmludGVybmFsKSAjYmFubmVyLWludC13cmFwIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHQvKiBwb3NpdGlvbmluZyBmb3Igc3RhdGljIGJhbm5lcnMgKi9cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YXNwZWN0LXJhdGlvOiAxLzE7XHJcblx0LyogbWF4LWhlaWdodCBzZXQgaW4gbWVkaWEgcXVlcmllcyAqL1xyXG59XHJcblxyXG4jYmFubmVyIC5iZy13cmFwIHtcclxuXHQvKiBiYXNlIHN0eWxlcyBzZXQgaW4gLmJnLXdyYXAgaW4gYmFzZS5jc3MgKi9cclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdC8qIGJhY2tncm91bmQtY29sb3Igc2V0IGluIG1haW4uY3NzICovXHJcbn1cclxuXHJcbi8qIHBzZXVkbyBlbGVtZW50IGZvciBmYWxsYmFjayBiYWNrZ3JvdW5kIGNvbG9yICovXHJcbiNiYW5uZXI6YmVmb3JlIHtcclxuXHRjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0ei1pbmRleDogLTE7XHJcblx0LyogYmFja2dyb3VuZC1jb2xvciBzZXQgaW4gbWFpbi5jc3MgKi9cclxufVxyXG5cclxuI2Jhbm5lciAuYmctd3JhcCB2aWRlbyB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHotaW5kZXg6IC0xOyAvKiBlbnN1cmUgQmFubmVyIFZpZGVvcyBhcmUgZGlzcGxheWVkIGJlaGluZCBvdGhlciBCYW5uZXIgZWxlbWVudHMgKGUuZy4gU2xpY2sgRG90cyBhbmQgU2xpY2sgQXJyb3dzKSAqL1xyXG4gICAgdG9wOiA1MCUgIWltcG9ydGFudDtcclxuXHRtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgLW8tb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxufVxyXG5cclxuI2Jhbm5lciBzcGFuIHtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuI2Jhbm5lciAubGluay1idXR0b24ge1xyXG5cdGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG5cclxuXHJcbi8qICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cdElORElFLldFQiBCQU5ORVIgTUVESUEgUVVFUklFU1xyXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAqL1xyXG5cclxuLypcdFNjcmVlbiBTaXplcyAyNDBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBcclxuYW5kIChtYXgtd2lkdGggOiAyNDBweCkge1xyXG5cclxuXHQvKlx0SEVBREVSIC0tLS0tLS0tLS0tICovXHJcblxyXG5cdC8qXHRCQU5ORVIgLS0tLS0tICovXHJcblxyXG5cdCNiYW5uZXI6bm90KC5pbnRlcm5hbCkge1xyXG5cdFx0bWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHJcblx0I2Jhbm5lcjpub3QoLmludGVybmFsKTpiZWZvcmUge1xyXG5cdFx0Ym90dG9tOiBhdXRvO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDEwMCU7XHJcblx0fVxyXG5cclxuXHQjYmFubmVyOm5vdCguaW50ZXJuYWwpICNiYW5uZXItaW50LXdyYXAge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0fVxyXG5cclxuXHQjYmFubmVyOm5vdCguaW50ZXJuYWwpIC5iZy13cmFwIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGhlaWdodDogMDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0I2Jhbm5lciAudHh0LXdoaXRlIHtcclxuXHRcdGNvbG9yOiBpbml0aWFsO1xyXG5cdH1cclxuXHJcblx0I2Jhbm5lciAudHh0LXNoYWRvdyAqIHtcclxuXHRcdHRleHQtc2hhZG93OiBpbml0aWFsO1xyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG4vKiAgU2NyZWVuIFNpemVzIDI0MHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gXHJcbmFuZCAobWluLXdpZHRoIDogMjQwcHgpIHtcclxuXHJcblx0LypcdEhFQURFUiAtLS0tLS0tLS0tICovXHJcblxyXG5cdC8qXHRCQU5ORVIgLS0tLS0tICovXHJcblxyXG5cdCNiYW5uZXI6bm90KC5pbnRlcm5hbCkgLnR4dC13cmFwIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0I2Jhbm5lciAudHh0LXdoaXRlIHtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG4vKiAgU2NyZWVuIFNpemVzIDMyMHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIFxyXG5hbmQgKG1heC13aWR0aCA6IDMyMHB4KSB7XHJcblxyXG5cdC8qXHRIRUFERVIgLS0tLS0tLS0tLSAqL1xyXG5cclxuICAgIC8qXHRCQU5ORVIgLS0tLS0tICovXHJcblxyXG5cdCNiYW5uZXIgLnR4dC13cmFwIC5pbm5lciA+IGRpdiB7XHJcblx0XHRmb250LXNpemU6IDAuODc1ZW07XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuLyogIFNjcmVlbiBTaXplcyAzMjBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIFxyXG5hbmQgKG1pbi13aWR0aCA6IDMyMHB4KSB7XHJcblxyXG5cdC8qXHRIRUFERVIgLS0tLS0tLS0tLSAqL1xyXG5cclxuICAgIC8qXHRCQU5ORVIgLS0tLS0tICovXHJcblxyXG5cdCNiYW5uZXIgLmxvZ28ge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG4vKiAgU2NyZWVuIFNpemVzIDQwMHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIFxyXG5hbmQgKG1heC13aWR0aCA6IDQwMHB4KSB7XHJcblxyXG5cdC8qXHRIRUFERVIgLS0tLS0tLS0tLSAqL1xyXG5cclxuICAgIC8qXHRCQU5ORVIgLS0tLS0tICovXHJcblxyXG5cdCNiYW5uZXIgLnR4dC13cmFwIC5mbGV4LWNvbnRhaW5lciB7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdCNiYW5uZXIgLnR4dC13cmFwICoge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0I2Jhbm5lciAubG9nbyxcclxuXHQjYmFubmVyIHNwYW4ge1xyXG5cdFx0cGFkZGluZzogNy41cHggMTVweDtcclxuXHR9XHJcblxyXG5cdCNiYW5uZXIgLmxpbmstYnV0dG9uIHtcclxuXHRcdG1hcmdpbjogNy41cHggMTVweDtcclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuLyogIFNjcmVlbiBTaXplcyA0MDBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIFxyXG5hbmQgKG1pbi13aWR0aCA6IDQwMHB4KSB7XHJcblxyXG5cdC8qXHRIRUFERVIgLS0tLS0tLS0tLSAqL1xyXG5cclxuICAgIC8qXHRCQU5ORVIgLS0tLS0tICovXHJcblxyXG5cdCNiYW5uZXIgLmxvZ28sXHJcblx0I2Jhbm5lciBzcGFuIHtcclxuXHRcdHBhZGRpbmc6IDE1cHg7XHJcblx0fVxyXG5cclxuXHQjYmFubmVyIC5saW5rLWJ1dHRvbiB7XHJcblx0XHRtYXJnaW46IDE1cHg7XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcbi8qXHRTY3JlZW4gU2l6ZXMgMzIwcHggLSA1NjBweCAtLS0tLS0tLS0tICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBcclxuYW5kIChtaW4td2lkdGggOiAzMjBweClcclxuYW5kIChtYXgtd2lkdGggOiA1NjBweCkge1xyXG5cclxuXHQvKlx0SEVBREVSIC0tLS0tLS0tLS0tICovXHJcblxyXG5cdC8qXHRCQU5ORVIgLS0tLS0tICovXHJcblx0XHJcblx0I2Jhbm5lciAudHh0LXdyYXAgLmlubmVyID4gZGl2IHtcclxuXHRcdGZvbnQtc2l6ZTogMWVtO1xyXG5cdFxyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG4vKlx0U2NyZWVuIFNpemVzIDU2MHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0tLSAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gXHJcbmFuZCAobWF4LXdpZHRoIDogNTYwcHgpIHtcclxuXHJcblx0LyogIEhFQURFUiAtLS0tLS0tLS0tICovXHJcblxyXG5cdC8qICBCQU5ORVIgLS0tLS0tICovXHJcblx0XHJcblx0I2Jhbm5lciB7XHJcblx0XHRtYXJnaW4tdG9wOiA2MHB4O1xyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG4vKlx0U2NyZWVuIFNpemVzIDU2MHB4IC0gODAwcHggLS0tLS0tLS0tICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlblxyXG5hbmQgKG1pbi13aWR0aCA6IDU2MHB4KVxyXG5hbmQgKG1heC13aWR0aCA6IDgwMHB4KSB7XHJcblxyXG5cdC8qXHRIRUFERVIgLS0tLS0tLS0tLSAqL1xyXG5cclxuXHQvKlx0QkFOTkVSIC0tLS0tLSAqL1xyXG5cdFxyXG5cdCNiYW5uZXIge1xyXG5cdFx0bWFyZ2luLXRvcDogNzVweDtcclxuXHR9XHJcblxyXG5cdCNiYW5uZXIgLnR4dC13cmFwIC5pbm5lciA+IGRpdiB7XHJcblx0XHRmb250LXNpemU6IDEuMTI1ZW07XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcbi8qXHRTY3JlZW4gU2l6ZXMgODAwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlblxyXG5hbmQgKG1pbi13aWR0aCA6IDgwMHB4KSB7XHJcblxyXG5cdC8qXHRCQU5ORVIgLS0tLS0tICovXHJcblxyXG5cdCNiYW5uZXIge1xyXG5cdFx0bWFyZ2luLXRvcDogOTBweDtcclxuXHR9XHJcblxyXG5cdCNiYW5uZXIgLnR4dC13cmFwIC5pbm5lciA+IGRpdiB7XHJcblx0XHRmb250LXNpemU6IDEuMTI1ZW07XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcbi8qXHRXb3JrYXJvdW5kIGZvciB2aCBCdWcgb24gPD0gaU9TN1xyXG5cclxuLypcdGlQYWQgd2l0aCBwb3J0cmFpdCBvcmllbnRhdGlvbiAqL1xyXG5AbWVkaWEgYWxsIGFuZCAoZGV2aWNlLXdpZHRoOiA3NjhweCkgYW5kIChkZXZpY2UtaGVpZ2h0OiAxMDI0cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpIHtcclxuXHJcblx0I2Jhbm5lcjpub3QoLmludGVybmFsKSB7XHJcblx0XHRoZWlnaHQ6IDg0NHB4OyAvKiAxMDI0cHggLSA3NXB4IChuYXYgYmFyIGhlaWdodCkgLSAxMDVweCAobm9taW5hbCBoZWlnaHQgZm9yIGJyb3dzZXIgYmFyKSAqL1xyXG5cdH1cclxuXHJcbn1cclxuXHJcbi8qXHRpUGFkIHdpdGggbGFuZHNjYXBlIG9yaWVudGF0aW9uICovXHJcbkBtZWRpYSBhbGwgYW5kIChkZXZpY2Utd2lkdGg6IDc2OHB4KSBhbmQgKGRldmljZS1oZWlnaHQ6IDEwMjRweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpIHtcclxuXHJcblx0I2Jhbm5lcjpub3QoLmludGVybmFsKSB7XHJcblx0XHRoZWlnaHQ6IDU3M3B4OyAvKiA3NjhweCAtIDkwcHggKG5hdiBiYXIgaGVpZ2h0KSAtIDEwNXB4IChub21pbmFsIGhlaWdodCBmb3IgYnJvd3NlciBiYXIpICovXHJcblx0fVxyXG5cclxufSIsIi8qXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRJTkRJRS5XRUIgTkFWIFNUWUxFU1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlx0TkFWIEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5uYXYgdWwge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cblxubmF2IGxpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW46IDA7XG59XG5cbm5hdiBhIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbm5hdiBsaSB1bCBsaSB7XG5cdGhlaWdodDogYXV0bztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxubmF2IGxpIHVsIGEge1xuXHRsaW5lLWhlaWdodDogMHB4O1xuXHR0cmFuc2l0aW9uOlxuXHRcdGxpbmUtaGVpZ2h0IDAuNXMgZWFzZSAwLjVzLFxuXHRcdGNvbG9yIDAuMjVzIGVhc2UgIWltcG9ydGFudCAvKiBjb2xvciBpbmNsdWRlZCBiZWNhdXNlIG9ubHkgYSBzaW5nbGUgdHJhbnNpdGlvbiBwcm9wZXJ0eSBjYW4gZXhpc3QgZm9yIGFuIGVsZW1lbnQ7IHRoaXMgb3ZlcnJpZGVzIENTUyBUcmFuc2l0aW9ucyBzZWN0aW9uIGluIG1haW4uY3NzICovXG5cdDtcbn1cblxubmF2IGxpOmhvdmVyID4gdWwgPiBsaSA+IGEsXG5uYXYgbGk6Zm9jdXMtd2l0aGluID4gdWwgPiBsaSA+IGEsXG5uYXYgbGk6YWN0aXZlID4gdWwgPiBsaSA+IGEsXG5uYXYgbGkucGFyZW50LnNlbGVjdGVkID4gdWwgPiBsaSA+IGEsXG5uYXYgbGkuc2VsZWN0ZWQgPiBhIHtcbi8qXHRsaW5lLWhlaWdodDogOyBTZXQgaW4gbWFpbi5jc3MgKi9cblx0dHJhbnNpdGlvbjpcblx0XHRsaW5lLWhlaWdodCAwLjVzIGVhc2UgMC41cyxcblx0XHRjb2xvciAwLjI1cyBlYXNlICFpbXBvcnRhbnQgLyogY29sb3IgaW5jbHVkZWQgYmVjYXVzZSBvbmx5IGEgc2luZ2xlIHRyYW5zaXRpb24gcHJvcGVydHkgY2FuIGV4aXN0IGZvciBhbiBlbGVtZW50OyB0aGlzIG92ZXJyaWRlcyBDU1MgVHJhbnNpdGlvbnMgc2VjdGlvbiBpbiBtYWluLmNzcyAqL1xuXHQ7XG59XG5cbm5hdiBsaTpmb2N1cyxcbiNuYXYtbWFpbi1jb250YWluZXIgI3Bob25lLW5hdi1leHQge1xuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IC8qIG92ZXJyaWRlIGJhc2UuY3NzICovXG59XG5cbm5hdiAuaGFzLWNoaWxkcmVuID4gYTphZnRlciB7XG5cdGNvbnRlbnQ6ICdcXDI3NkYnOyAgLyogZW5jb2RlZCB2ZXJzaW9uIG9mICfina8nICovXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogMCA3LjVweDtcblxuXHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblx0dHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC41cztcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjVzO1xufVxuXG5uYXYgLmhhcy1jaGlsZHJlbjpob3ZlciA+IGE6YWZ0ZXIsXG5uYXYgLmhhcy1jaGlsZHJlbjpmb2N1cyA+IGE6YWZ0ZXIsXG5uYXYgbGkuaGFzLWNoaWxkcmVuLnBhcmVudC5zZWxlY3RlZCA+IGE6YWZ0ZXIge1xuXHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXHR0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjVzO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMsIC13ZWJraXQtdHJhbnNmb3JtIDAuNXM7XG5cblx0Zm9udC1zdHlsZTogbm9ybWFsOyAvKiBlbnN1cmUgcm90YXRlZCBhcnJvdyBsb29rcyBub3JtYWwgKi9cbn1cblxuLypcdFN1Yi1OYXYgQ29sbGFwc2UgUHJldmVudGlvbiAtLS0gKi9cblxubmF2IC5zdWItbmF2LWNvbGxhcHNlLXByZXZlbnRpb24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbm5hdiBsaTpob3ZlciA+IHVsID4gLnN1Yi1uYXYtY29sbGFwc2UtcHJldmVudGlvbiB7XG5cdGhlaWdodDogMTAwdmg7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cblxuLypcdE5BViBNQUlOIC0tLS0tLS0tLS0gKi9cblxuLypcdENPTlRBSU5FUiAtLS0tLS0gKi9cblxuI25hdi1tYWluLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0ei1pbmRleDogMTAwOyAvKiBlbnN1cmUgTWFpbiBOYXYgaXMgZGlzcGxheWVkIGluIGZyb250IG9mIEJhbm5lciAqL1xuXHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLyogcHJvdmlkZXMgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGZpeGVkIHBvc2l0aW9uIGVsZW1lbnRzIG1vYmlsZSBkZXZpY2VzICovXG5cdHRvcDogMDtcblx0d2lkdGg6IDEwMCU7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuXG4vKlx0TE9HTyAtLS0tLS0gKi9cblxuI2xvZ28ge1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuI2xvZ28gLnZlcnQtY2VudGVyID4gKiB7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuI2xvZ28gLnZlcnQtY2VudGVyID4gKiA+ICoge1xuXHR3aWR0aDogYXV0bztcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG1heC1oZWlnaHQ6IDEwMCU7XG5cdC1vLW9iamVjdC1maXQ6IGNvbnRhaW47XG5cdG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cblxuLypcdE5BViAtLS0tLS0gKi9cblxuI25hdi1tYWluIGxpIHVsOmhvdmVyIHtcblx0ei1pbmRleDogMTA7IC8qIHN0aWxsIHJlcXVpcmVkPyAqL1xufVxuXG5cbi8qXHRSRVNQT05TSVZFIE5BViAtLS0gKi9cblxuI25hdi10b2dnbGUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4jbmF2LWljb24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cblx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgLTUwJSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAtNTAlKTtcbn1cblxuI25hdi1pY29uIHNwYW4ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDNweDtcblxuXHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgdHJhbnNsYXRlWSgtNTAlKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSB0cmFuc2xhdGVZKC01MCUpO1xuXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbn1cblxuI25hdi1pY29uIHNwYW46YmVmb3JlLFxuI25hdi1pY29uIHNwYW46YWZ0ZXIge1xuXHRjb250ZW50OiAnJztcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dHJhbnNpdGlvbjogdG9wIC4zcywgYmFja2dyb3VuZC1jb2xvciAwLjNzLCAtd2Via2l0LXRyYW5zZm9ybSAuM3M7XG5cdHRyYW5zaXRpb246IHRvcCAuM3MsIGJhY2tncm91bmQtY29sb3IgMC4zcywgdHJhbnNmb3JtIC4zcztcblx0dHJhbnNpdGlvbjogdG9wIC4zcywgYmFja2dyb3VuZC1jb2xvciAwLjNzLCB0cmFuc2Zvcm0gLjNzLCAtd2Via2l0LXRyYW5zZm9ybSAuM3M7XG59XG5cbiNuYXYtaWNvbiBzcGFuOmJlZm9yZSB7XG5cdHRvcDogLTdweDtcbn1cblxuI25hdi1pY29uIHNwYW46YWZ0ZXIge1xuXHR0b3A6IDdweDtcbn1cblxuI25hdi10b2dnbGU6Y2hlY2tlZCB+ICNuYXYtaWNvbiBzcGFuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAhaW1wb3J0YW50O1xufVxuXG4jbmF2LXRvZ2dsZTpjaGVja2VkIH4gI25hdi1pY29uIHNwYW46YmVmb3JlIHtcblx0dG9wOiAwO1xuXHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG5cdHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG59XG5cbiNuYXYtdG9nZ2xlOmNoZWNrZWQgfiAjbmF2LWljb24gc3BhbjphZnRlciB7XG5cdHRvcDogMDtcblx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xufVxuXG5cbi8qXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRJTkRJRS5XRUIgTkFWIE1FRElBIFFVRVJJRVNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cdCovXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMjQwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtYXgtd2lkdGggOiAyNDBweCkge1xuXHRcblx0LypcdE5BViBNQUlOIC0tLS0tLS0tLS0gKi9cblxuXHQvKlx0Q09OVEFJTkVSLCBMT0dPLCBOQVYgLS0tLS0tICovXG5cdFxuXHQjbmF2LW1haW4tY29udGFpbmVyLFxuXHQjbG9nbyxcblx0I25hdi1tYWluIHtcblx0XHRwYWRkaW5nOiA3LjVweDtcblx0fVxuXG5cblx0LypcdE5BViAtLS0tLS0gKi9cblxuXHQjbmF2LW1haW4ge1x0XG5cdFx0bWluLXdpZHRoOiAzNXB4OyAvKiBjb21iaW5lZCAod2lkdGg6IDIwcHgpICsgKCAocGFkZGluZzogNy41cHgpIHggMiApICovXHRcblx0fVxuXG5cdCNuYXYtbWFpbiBkaXYgPiB1bCB7XG5cdFx0cGFkZGluZzogMCAxNXB4O1xuXHR9XG5cblx0I25hdi1tYWluIGxpIHVsIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdH1cblxuXG5cdC8qXHRSRVNQT05TSVZFIE5BViAtLS0gKi9cblxuXHQjbmF2LWljb24ge1xuXHRcdHJpZ2h0OiAxNXB4O1xuXHRcdHdpZHRoOiAyMHB4O1xuXHR9XG5cdFxuXHQjbmF2LWljb24gc3BhbiB7XG5cdFx0aGVpZ2h0OiAycHg7XG5cdH1cblx0XG5cdCNuYXYtaWNvbiBzcGFuOmJlZm9yZSB7XG5cdFx0dG9wOiAtNnB4O1xuXHR9XG5cdFxuXHQjbmF2LWljb24gc3BhbjphZnRlciB7XG5cdFx0dG9wOiA2cHg7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMjQwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDI0MHB4KSB7XG5cdFxuXHQvKlx0TkFWIE1BSU4gLS0tLS0tLS0tLSAqL1xuXG5cdC8qXHRMT0dPLCBQSE9ORSAtLS0tLS0gKi9cblx0XG5cdCNsb2dvLFxuXHQjcGhvbmUtbmF2LWV4dCB7XG5cdFx0cGFkZGluZzogMCAxNXB4O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDI0MHB4IC0gMzIwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiAyNDBweClcbmFuZCAobWF4LXdpZHRoIDogMzIwcHgpIHtcblxuXHQvKlx0TkFWIE1BSU4gLS0tLS0tLS0tLSAqL1xuXG5cdC8qXHROQVYgLS0tLS0tICovXG5cblx0I25hdi1tYWluIHtcdFxuXHRcdG1pbi13aWR0aDogNTJweDsgLyogY29tYmluZWQgKHdpZHRoOiAyMnB4KSArICggKHBhZGRpbmc6IDE1cHgpIHggMiApICovXHRcblx0fVxuXG5cblx0LypcdFJFU1BPTlNJVkUgTkFWIC0tLSAqL1xuXHRcblx0I25hdi1pY29uIHtcblx0XHRyaWdodDogMzBweDtcblx0XHR3aWR0aDogMjJweDtcblx0fVxuXHRcblx0I25hdi1pY29uIHNwYW4ge1xuXHRcdGhlaWdodDogMnB4O1xuXHR9XG5cdFxuXHQjbmF2LWljb24gc3BhbjpiZWZvcmUge1xuXHRcdHRvcDogLTZweDtcblx0fVxuXHRcblx0I25hdi1pY29uIHNwYW46YWZ0ZXIge1xuXHRcdHRvcDogNnB4O1xuXHR9XG5cdFxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMjQwcHggLSA4MDBweCAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDI0MHB4KVxuYW5kIChtYXgtd2lkdGggOiA4MDBweCkge1xuXHRcblx0LypcdE5BViBNQUlOIC0tLS0tLS0tLS0gKi9cblxuXHQvKlx0Q09OVEFJTkVSIC0tLS0tLSAqL1xuXG5cdCNuYXYtbWFpbi1jb250YWluZXIge1xuXHRcdHBhZGRpbmc6IDE1cHg7XG5cdH1cblxuXG5cdC8qXHROQVYgLS0tLS0tICovXG5cblx0I25hdi1tYWluIGRpdiA+IHVsIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cdFx0cGFkZGluZy1yaWdodDogMzBweDtcblx0fVxuXG5cdCNuYXYtbWFpbiBsaSB1bCB7XG5cdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDMyMHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWF4LXdpZHRoIDogMzIwcHgpIHtcblxuXHQvKlx0TkFWIE1BSU4gLS0tLS0tLS0tLSAqL1xuXG5cdC8qXHRDT05UQUlORVIgLS0tLS0tICovXG5cdFxuXHQjbmF2LW1haW4tY29udGFpbmVyIGEge1xuXHRcdGZvbnQtc2l6ZTogMC44NzVlbTtcblx0fVxuXG5cblx0LypcdE5BViAtLS0tLS0gKi9cblxuXHQjbmF2LW1haW4gPiBkaXYgPiB1bCA+IGxpID4gYSxcblx0I25hdi1tYWluIGxpOmhvdmVyID4gdWwgPiBsaSA+IGEge1xuXHRcdGxpbmUtaGVpZ2h0OiA0MHB4O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDMyMHB4IC0gNjQwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aCA6IDMyMHB4KVxuYW5kIChtYXgtd2lkdGggOiA2NDBweCkge1xuXHRcblx0LypcdE5BViBNQUlOIC0tLS0tLS0tLS0gKi9cblxuXHQvKlx0TkFWIC0tLS0tLSAqL1xuXHRcblx0I25hdi1tYWluID4gZGl2ID4gdWwgPiBsaSA+IGEsXG5cdCNuYXYtbWFpbiBsaTpob3ZlciA+IHVsID4gbGkgPiBhIHtcblx0XHRsaW5lLWhlaWdodDogNDVweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAzMjBweCAtIDgwMHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGggOiAzMjBweClcbmFuZCAobWF4LXdpZHRoIDogODAwcHgpIHtcblx0XG5cdC8qXHROQVYgTUFJTiAtLS0tLS0tLS0tICovXG5cblx0LypcdE5BViAtLS0tLS0gKi9cblxuXHQjbmF2LW1haW4ge1x0XG5cdFx0bWluLXdpZHRoOiA1NXB4OyAvKiBjb21iaW5lZCAod2lkdGg6IDI1cHgpICsgKCAocGFkZGluZzogNy41cHgpIHggMiApICovXHRcblx0fVxuXG5cblx0LypcdFJFU1BPTlNJVkUgTkFWIC0tLSAqL1xuXHRcblx0I25hdi1pY29uIHtcblx0XHRyaWdodDogMzBweDtcblx0XHR3aWR0aDogMjVweDtcblx0fVxuXHRcblx0I25hdi1pY29uIHNwYW4ge1xuXHRcdGhlaWdodDogM3B4O1xuXHR9XG5cdFxuXHQjbmF2LWljb24gc3BhbjpiZWZvcmUge1xuXHRcdHRvcDogLTdweDtcblx0fVxuXHRcblx0I25hdi1pY29uIHNwYW46YWZ0ZXIge1xuXHRcdHRvcDogN3B4O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDQwMHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWF4LXdpZHRoIDogNDAwcHgpIHtcblxuXHQvKlx0TkFWIE1BSU4gLS0tLS0tLS0tLSAqL1xuXG5cdC8qXHRMT0dPLCBOQVYgLS0tLS0tICovXG5cblx0I2xvZ28sXG5cdCNuYXYtbWFpbiB7XG5cdFx0d2lkdGg6IDUwJTtcblx0fVxuXHRcbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDU2MHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWF4LXdpZHRoIDogNTYwcHgpIHtcblxuXHQvKlx0TkFWIE1BSU4gLS0tLS0tLS0tLSAqL1xuXG5cdC8qXHRDT05UQUlORVIgLS0tLS0tICovXG5cblx0I25hdi1tYWluLWNvbnRhaW5lciB7XG5cdFx0aGVpZ2h0OiA2MHB4O1xuXHR9XG5cblxuXHQvKlx0TkFWIC0tLS0tLSAqL1xuXG5cdC8qXHRSRVNQT05TSVZFIE5BViAtLS0gKi9cblxuXHQjbmF2LWNvbGxhcHNlIHtcblx0XHR0b3A6IDYwcHg7XG5cdH1cblxuXHQjbmF2LWNvbGxhcHNlID4gdWwge1xuXHRcdHBhZGRpbmctYm90dG9tOiA2MHB4O1xuXHR9XG5cdFxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgNTYwcHggLSA4MDBweCAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWluLXdpZHRoIDogNTYwcHgpXG5hbmQgKG1heC13aWR0aCA6IDgwMHB4KSB7XG5cblx0LypcdE5BViBNQUlOIC0tLS0tLS0tLS0gKi9cblxuXHQvKlx0Q09OVEFJTkVSIC0tLS0tLSAqL1xuXG5cdCNuYXYtbWFpbi1jb250YWluZXIge1xuXHRcdGhlaWdodDogNzVweDtcblx0fVxuXG5cblx0LypcdE5BViAtLS0tLS0gKi9cblxuXHQvKlx0UkVTUE9OU0lWRSBOQVYgLS0tICovXG5cblx0I25hdi1jb2xsYXBzZSB7XG5cdFx0dG9wOiA3NXB4O1xuXHR9XG5cblx0I25hdi1jb2xsYXBzZSA+IHVsIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogNzVweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA2NDBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1heC13aWR0aCA6IDY0MHB4KSB7XG5cblx0LypcdE5BViBNQUlOIC0tLS0tLS0tLS0gKi9cblx0XG5cdC8qXHROQVYgLS0tLS0tICovXG5cdFxuXHQjbmF2LW1haW4ge1xuXHRcdGZsZXg6IDE7IC8qIHN0aWxsIHJlcXVpcmVkPyAqL1xuXHR9XG5cdFxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgNjQwcHggLSA4MDBweCAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWluLXdpZHRoIDogNjQwcHgpXG5hbmQgKG1heC13aWR0aCA6IDgwMHB4KSB7XG5cblx0LypcdE5BViBNQUlOIC0tLS0tLS0tLS0gKi9cblx0XG5cdC8qXHROQVYgLS0tLS0tICovXG5cdFxuXHQjbmF2LW1haW4ge1xuXHRcdHdpZHRoOiBhdXRvOyAvKiBzdGlsbCByZXF1aXJlZD8gKi9cblx0fVxuXHQjbmF2LW1haW4gbGkgYSB7XG5cdFx0Zm9udC1zaXplOiAxLjI1cmVtO1xuXHR9XG5cblx0I25hdi1tYWluID4gZGl2ID4gdWwgPiBsaSA+IGEsXG5cdCNuYXYtbWFpbiBsaTpob3ZlciA+IHVsID4gbGkgPiBhIHtcblx0XHRsaW5lLWhlaWdodDogNjBweDtcblx0fVxuXHRcbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDgwMHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWF4LXdpZHRoIDogODAwcHgpIHtcblxuXHQvKlx0TkFWIE1BSU4gLS0tLS0tLS0tLSAqL1xuXHRcblx0LypcdE5BViAtLS0tLS0gKi9cblxuXHQjbmF2LW1haW4ge1xuXHRcdG9yZGVyOiAzOyAvKiBpbml0aWFsIHZhbHVlIDAgKi9cblx0fVxuXG5cblx0LypcdFJFU1BPTlNJVkUgTkFWIC0tLSAqL1xuXHRcblx0I25hdi1pY29uIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0aGVpZ2h0OiAzMHB4O1xuXHR9XG5cblx0I25hdi10b2dnbGU6Y2hlY2tlZCB+ICNuYXYtaWNvbiB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvKiBwcm92aWRlcyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBmb3IgZml4ZWQgcG9zaXRpb24gZWxlbWVudHMgbW9iaWxlIGRldmljZXMgKi9cblx0XHRsZWZ0OiBhdXRvO1xuXHR9XG5cblx0I25hdi1jb2xsYXBzZSB7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvKiBwcm92aWRlcyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBmb3IgZml4ZWQgcG9zaXRpb24gZWxlbWVudHMgbW9iaWxlIGRldmljZXMgKi9cblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRtYXgtaGVpZ2h0OiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjY1cyBlYXNlLWluLW91dDtcblx0XHR0cmFuc2l0aW9uOiBhbGwgLjY1cyBlYXNlLWluLW91dDtcblx0fVxuXG5cdCNuYXYtdG9nZ2xlOmNoZWNrZWQgfiAjbmF2LWNvbGxhcHNlIHtcblx0XHRtYXgtaGVpZ2h0OiAxMjAwcHg7XG5cdFx0b3ZlcmZsb3c6IGF1dG87XG5cdH1cblxuXG5cdC8qXHRQSE9ORSAtLS0tLS0gKi9cblxuXHQjcGhvbmUtbmF2LWV4dCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRcbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDgwMHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA4MDBweCkge1xuXG5cdC8qXHROQVYgTUFJTiAtLS0tLS0tLS0tICovXG5cdFxuXHQvKlx0Q09OVEFJTkVSIC0tLS0tLSAqL1xuXG5cdCNuYXYtbWFpbi1jb250YWluZXIge1xuXHRcdGhlaWdodDogOTBweDtcblx0XHRwYWRkaW5nOiAwIDE1cHg7XG5cdH1cblxuXG5cdC8qXHRMT0dPIC0tLS0tLSAqL1xuXG5cdCNsb2dvID4gKiB7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdFx0cGFkZGluZy1ib3R0b206IDE1cHg7XG5cdH1cblxuXG5cdC8qXHROQVYgLS0tLS0tICovXG5cblx0I25hdi1tYWluIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0ZmxleDogYXV0bztcblx0XHRvcmRlcjogMjtcblx0fVxuXG5cdCNuYXYtbWFpbiBkaXYgPiB1bCB7XG5cdFx0aGVpZ2h0OiA5MHB4O1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogcHJldmVudCBtZW51IGl0ZW1zIGZyb20gd3JhcHBpbmcgKi9cblx0XHRmb250LXNpemU6IDA7IC8qIHByZXZlbnQgd2hpdGUtc3BhY2UgYmV0d2VlbiBsaSBpdGVtcyAoaW1wb3J0YW50IHdoZW4gc2V0dGluZyBiYWNrZ3JvdW5kLWNvbG9yKSAqL1xuXHR9XG5cblx0I25hdi1tYWluIGRpdiA+IHVsID4gbGkge1xuXHRcdGhlaWdodDogOTBweDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogMCAxNXB4O1xuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdH1cblxuXHQjbmF2LW1haW4gPiBkaXYgPiB1bCA+IGxpID4gYSB7XG5cdFx0bGluZS1oZWlnaHQ6IDkwcHg7XG5cdH1cblxuXHQjbmF2LW1haW4gPiBkaXYgPiB1bCA+IGxpID4gdWwge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDkwcHg7XG5cdFx0bGVmdDogMDtcblx0XHRoZWlnaHQ6IGluaXRpYWw7XG5cdFx0bWluLXdpZHRoOiAxMDAlO1xuXHR9XG5cblx0I25hdi1tYWluIGxpIHVsIHtcblx0XHRwYWRkaW5nOiAwIDMwcHg7XG5cdH1cblxuXHQjbmF2LW1haW4gbGkgdWwgbGkge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblxuXHQjbmF2LW1haW4gbGk6aG92ZXIgPiB1bCA+IGxpID4gYSxcblx0I25hdi1tYWluIGxpOmhvdmVyID4gdWwgPiBsaSA+IGEsXG5cdCNuYXYtbWFpbiBsaTpmb2N1cy13aXRoaW4gPiB1bCA+IGxpID4gYSxcblx0I25hdi1tYWluIGxpOmFjdGl2ZSA+IHVsID4gbGkgPiBhLFxuXHQjbmF2LW1haW4gLnN1Yi1uYXYtY29sbGFwc2UtcHJldmVudGlvbjpob3ZlciB+IGxpID4gYSxcblx0aHRtbC50YWJiaW5nICNuYXYtbWFpbiBsaTpmb2N1cy13aXRoaW4gPiB1bCA+IGxpID4gYSB7XG5cdFx0bGluZS1oZWlnaHQ6IDYwcHg7XG5cdH1cblxuXHQuc3ViLW5hdi1ib3gtc2hhZG93IHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHR9XG5cblxuXHQvKlx0UkVTUE9OU0lWRSBOQVYgLS0tICovXG5cdFxuXHQjbmF2LWljb24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0XG5cdCNuYXYtY29sbGFwc2Uge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR3aWR0aDogYXV0bztcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0bWF4LWhlaWdodDogbm9uZTtcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHRiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cblxuXG5cdC8qXHRQSE9ORSAtLS0tLS0gKi9cblx0XG5cdCNwaG9uZS1uYXYtZXh0IHtcblx0XHRvcmRlcjogMztcblx0fVxuXHRcbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDgwMHB4IC0gODgwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA4MDBweCkgXG5hbmQgKG1heC13aWR0aCA6IDg4MHB4KSB7XG5cblx0LypcdE5BViBNQUlOIC0tLS0tLS0tLS0gKi9cblx0XG5cdC8qXHROQVYgLS0tLS0tICovXG5cdFxuXHQjbmF2LW1haW4gZGl2ID4gdWwge1xuXHRcdHBhZGRpbmc6IDAgMi41cHggLyogZW5zdXJlIGNvbnNpc3RlbnQgc3BhY2UgYXJvdW5kIGZpcnN0IGFuZCBsYXN0IG1lbnUgaXRlbXMgKi9cblx0fVxuXG5cdCNuYXYtbWFpbiBkaXYgbGkge1xuXHRcdHBhZGRpbmc6IDAgMTIuNXB4O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDgwMHB4IC0gMTA0MHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogODAwcHgpIFxuYW5kIChtYXgtd2lkdGggOiAxMDQwcHgpIHtcblxuXHQvKlx0TkFWIE1BSU4gLS0tLS0tLS0tLSAqL1xuXHRcblx0LypcdENPTlRBSU5FUiAtLS0tLS0gKi9cblxuXHQjbmF2LW1haW4tY29udGFpbmVyIGEge1xuXHRcdGZvbnQtc2l6ZTogMC44NzVyZW07XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgODgwcHggLSAxMDQwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA4ODBweCkgXG5hbmQgKG1heC13aWR0aCA6IDEwNDBweCkge1xuXG5cdC8qXHROQVYgTUFJTiAtLS0tLS0tLS0tICovXG5cdFxuXHQvKlx0TkFWIC0tLS0tLSAqL1xuXHRcblx0I25hdi1tYWluIGxpIHtcblx0XHRwYWRkaW5nOiAwIDE1cHg7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMTA0MHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiAxMDQwcHgpIHtcblxuXHQvKlx0TkFWIE1BSU4gLS0tLS0tLS0tLSAqL1xuXHRcblx0LypcdE5BViAtLS0tLS0gKi9cblx0XG5cdCNuYXYtbWFpbi1jb250YWluZXIgYSB7XG5cdFx0Zm9udC1zaXplOiAxLjByZW07XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMTUyMHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiAxNTIwcHgpIHtcblxuXHQvKlx0TkFWIE1BSU4gLS0tLS0tLS0tLSAqL1xuXHRcblx0LyogXHRDT05UQUlORVIgLS0tLS0tICovXG5cdFxuXHQjbmF2LW1haW4tY29udGFpbmVyIHtcblx0XHRwYWRkaW5nOiAwIDMwcHg7XG5cdH1cblxufSIsIi8qICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRJTkRJRS5XRUIgQ0FST1VTRUwgU1RZTEVTXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAqL1xuXG4vKlx0Q0FST1VTRUwgQ09OVEFJTkVSIC0tLSAqL1xuXG4uY2Fyb3VzZWwtY29udGFpbmVyIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuc2VjdGlvbiBkaXZbY2xhc3MqPVwid2lkdGgtXCJdOmZpcnN0LWNoaWxkID4gLmNhcm91c2VsLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDMwcHg7XG59XG5cblxuLypcdFNMSUNLIFRSQUNLIC0tLSAqL1xuXG4uY2Fyb3VzZWwtY29udGFpbmVyIC5zbGljay10cmFjayB7XG5cdGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdzsgLyogaXMgdGhpcyBuZWNlc3Nhcnk/ICovXG59XG5cblxuLypcdFNMSUNLIFNMSURFUyAtLS0gKi9cblxuLmNhcm91c2VsLWNvbnRhaW5lciAuc2xpY2stc2xpZGUge1xuXHRoZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuXG4vKlx0U0xJQ0sgTE9BRElORyAtLS0gKi9cblxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLWxpc3Qge1xuXHRiYWNrZ3JvdW5kOiAjZmZmIHVybCgnL2ltYWdlcy9jb21wb25lbnRzL2FqYXgtbG9hZGVyLmdpZicpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xufVxuXG5cbi8qXHRTTElDSyBBUlJPV1MgLS0tICovXG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLWFycm93IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDAwOyAvKiBlbnN1cmUgU2xpY2sgQXJyb3dzIGFyZSBkaXNwbGF5ZWQgaW4gZnJvbnQgb2YgU2xpY2sgQ2Fyb3VzZWwgaXRlbXMgKHdoaWNoIHN0YXJ0IGF0IHotaW5kZXg6IDEwMDAgYW5kIHdvcmsgZG93bikgKi9cblx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0Ym9yZGVyOiAwO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRmb250LXNpemU6IDIuNWVtO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLWFycm93OmhvdmVyIHtcblx0YmFja2dyb3VuZDogbm9uZTtcbn1cblxuLnNsaWNrLW5leHQge1xuXHRyaWdodDogMDtcbn1cblxuXG4vKiAgU0xJQ0sgRE9UUyAoUEFHRVIpIC0tLSAqL1xuXG4uc2xpY2stZG90cyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2xpY2stZG90cyBsaSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMzBweDtcblx0aGVpZ2h0OiAzMHB4O1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAzMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG5cdG1hcmdpbjogMDtcblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB0cmFuc3BhcmVudDtcblx0b3V0bGluZTogbm9uZTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGZvbnQtc2l6ZTogMDtcblx0bGluZS1oZWlnaHQ6IDA7XG59XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcblx0Y29udGVudDogJ1xcMjAyMic7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAzMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGxpbmUtaGVpZ2h0OiAzMHB4O1xuXHRmb250LWZhbWlseTogaW5pdGlhbDsgLyogcmVzZXRzIGZvbnQgdG8gVGltZXMgTmV3IFJvbWFuIChzZXQgaXQgaW4gbm9ybWFsaXplLmNzcykgZm9yIGNvbnNpc3RlbnQgc2l6aW5nICovXG5cdGZvbnQtc2l6ZTogNDJweDtcblx0LyogY29sb3Igc2V0IGluIG1haW4uY3NzICovXG5cdC8qIHRleHQtc2hhZG93IHNldCBpbiBtYWluLmNzcyAqL1xufVxuXG4uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG5cdC8qIGNvbG9yIHNldCBpbiBtYWluLmNzcyAqL1xufVxuXG4vKlx0U0VDVElPTlMgU0xJQ0sgRE9UUyAoUEFHRVIpIC0tLSAqL1xuXG4udHh0LXdoaXRlIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuXHRjb2xvcjogI2ZmZjtcbn1cblxuXG4vKlx0IEJBTk5FUiBDQVJPVVNFTCAtLS0tLS0gKi9cblxuI2Jhbm5lciAuc2xpY2stbGlzdCxcbiNiYW5uZXIgLnNsaWNrLXRyYWNrIHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uYmFubmVyLXNsaWRlIHtcblx0ZmxvYXQ6IGxlZnQ7IC8qIG5lY2Vzc2FyeSBmb3IgQmFubmVyIE1vZHVsZSAoaS5lLiBub3Qgc2ltcGx5IGltYWdlKSBzbGlkZXMgdG8gYmUgZGlzcGxheWVkICovXG5cdC8qIHBvc2l0aW9uaW5nIGZvciBjYXJvdXNlbCBiYW5uZXJzICovXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhc3BlY3QtcmF0aW86IDEvMTtcblx0LyogbWF4LWhlaWdodCBzZXQgaW4gbWVkaWEgcXVlcmllcyAqL1xufVxuXG4vKlx0U0xJQ0sgQVJST1dTIC0tLSAqL1xuXG4jYmFubmVyIC5zbGljay1hcnJvdyB7XG5cdGNvbG9yOiAjZmZmO1xuXHR0ZXh0LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsMCwwLDAuNzUpO1xufVxuXG4vKiAgU0xJQ0sgRE9UUyAoUEFHRVIpIC0tLSAqL1xuLypcdE90aGVyIHNsaWNrLWRvdHMgc3R5bGVzIHNldCBpbiBtZWRpYSBxdWVyaWVzICovXG5cbiNiYW5uZXIgLnNsaWNrLWRvdHMge1xuXHRib3R0b206IDA7XG5cdHotaW5kZXg6IDEwMDA7IC8qIGVuc3VyZSBTbGljayBEb3RzIGFyZSBkaXNwbGF5ZWQgaW4gZnJvbnQgb2YgU2xpY2sgQ2Fyb3VzZWwgaXRlbXMgKHdoaWNoIHN0YXJ0IGF0IHotaW5kZXggMTAwMCBhbmQgd29yayBkb3duKSAqL1xuXHRmb250LWZhbWlseTogYXV0bzsgLyogcHJldmVudCB2YXJpYXRpb24gb2YgYnV0dG9uOmJlZm9yZSBidWxsZXQgb24gYWNjb3VudCBvZiBnbG9iYWwgZm9udC1mYW1pbHkgKi9cbn1cblxuXG4vKiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0SU5ESUUuV0VCIENBUk9VU0VMIE1FRElBIFFVRVJJRVNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gICovXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMjQwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtYXgtd2lkdGggOiAyNDBweCkge1xuXG5cdC8qXHRIRUFERVIgLS0tLS0tLS0tLS0gKi9cblxuXHQvKlx0QkFOTkVSIC0tLS0tLSAqL1xuXG5cdCNiYW5uZXIgLmJhbm5lci1zbGlkZSB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuXHR9XG5cblx0I2Jhbm5lcjpub3QoLmludGVybmFsKSAjY3ljbGUtYmFubmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHQvKlx0Q2Fyb3VzZWwgLS0tICovXG5cblx0LypcdFNsaWNrIEFycm93cyAqL1xuXG5cdCNiYW5uZXI6bm90KC5pbnRlcm5hbCkgLnNsaWNrLWFycm93IHtcblx0XHR0b3A6IGNhbGMoNTB2dyAtIDE1cHgpO1xuXHR9XG5cblx0LypcdFBhZ2VyICovXG5cblx0I2Jhbm5lcjpub3QoLmludGVybmFsKSAuc2xpY2stZG90cyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG5cdFxuXHQvKiAucG9zLWFicyBhcHBsaWVkIGJ5IEpTIHdoZW4gbm8gLnR4dC13cmFwIGVsZW1lbnRzIHByZXNlbnQgLSBzbGljay1kb3RzIHJlbWFpbiBpbiBiYW5uZXIgKi9cblx0I2Jhbm5lcjpub3QoLmludGVybmFsKSAuc2xpY2stZG90cy5wb3MtYWJzIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdH1cblxuXHQvKiBoYXJkZXIgc2hhZG93IGZvciBiZXR0ZXIgdmlzaWJpbGl0eSBhZ2FpbnN0IGltYWdlIGJhY2tncm91bmRzICovXG5cdCNiYW5uZXI6bm90KC5pbnRlcm5hbCkgLnNsaWNrLWRvdHMucG9zLWFicyBsaSBidXR0b246YmVmb3JlIHtcblx0XHR0ZXh0LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsMCwwLDAuNzUpO1xuXHR9XG5cbn1cblxuXG4vKiAgU2NyZWVuIFNpemVzIDI0MHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiAyNDBweCkge1xuXG5cdC8qXHRIRUFERVIgLS0tLS0tLS0tLSAqL1xuXG5cdC8qXHRCQU5ORVIgLS0tLS0tICovXG5cblx0LypcdFNsaWNrIEFycm93cyAqL1xuXG5cdCNiYW5uZXIgLnNsaWNrLWFycm93IHtcblx0XHR0b3A6IDUwJTtcblx0fVxuXG5cdC8qXHRDYXJvdXNlbCAtLS0gKi9cblxuXHQvKlx0UGFnZXIgKi9cblxuXHQjYmFubmVyIC5zbGljay1kb3RzIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdH1cblxuXHQvKiBoYXJkZXIgc2hhZG93IGZvciBiZXR0ZXIgdmlzaWJpbGl0eSBhZ2FpbnN0IGltYWdlIGJhY2tncm91bmRzICovXG5cdCNiYW5uZXIgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG5cdFx0dGV4dC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLDAsMCwwLjc1KTtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAyNDBweCAtIDQwMHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogMjQwcHgpXG5hbmQgKG1heC13aWR0aCA6IDQwMHB4KSB7XG5cblx0LypcdEhFQURFUiAtLS0tLS0tLS0tICovXG5cblx0LypcdEJBTk5FUiAtLS0tLS0gKi9cblxuXHQjY3ljbGUtYmFubmVyIC50eHQtd3JhcCB7XG5cdFx0cGFkZGluZzogNDcuNXB4IDE1cHg7XG5cdH1cblxufVxuXG5cbi8qICBTY3JlZW4gU2l6ZXMgNDAwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtYXgtd2lkdGggOiA0MDBweCkge1xuXG5cdC8qXHRIRUFERVIgLS0tLS0tLS0tLSAqL1xuXG4gICAgLypcdEJBTk5FUiAtLS0tLS0gKi9cblxuXHQvKlx0Q2Fyb3VzZWwgLS0tICovXG5cblx0LypcdFBhZ2VyICovXG5cblx0I2Jhbm5lciAuc2xpY2stZG90cyB7XG5cdFx0bWFyZ2luOiAxNXB4IDA7XG5cdH1cblxufVxuXG5cbi8qICBTY3JlZW4gU2l6ZXMgNDAwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDQwMHB4KSB7XG5cblx0LypcdEhFQURFUiAtLS0tLS0tLS0tICovXG5cbiAgICAvKlx0QkFOTkVSIC0tLS0tLSAqL1xuXG5cdC8qXHRDYXJvdXNlbCAtLS0gKi9cblxuXHQvKlx0UGFnZXIgKi9cblxuXHQjYmFubmVyIC5zbGljay1kb3RzIHtcblx0XHRtYXJnaW46IDMwcHggMDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA0MDBweCAtIDgwMHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogNDAwcHgpXG5hbmQgKG1heC13aWR0aCA6IDgwMHB4KSB7XG5cblx0LypcdEhFQURFUiAtLS0tLS0tLS0tICovXG5cblx0LypcdEJBTk5FUiAtLS0tLS0gKi9cblxuXHQjY3ljbGUtYmFubmVyIC50eHQtd3JhcCB7XG5cdFx0cGFkZGluZzogNzVweCAxNXB4O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDgwMHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGggOiA4MDBweCkge1xuXG5cdC8qXHRIRUFERVIgLS0tLS0tLS0tLSAqL1xuXG5cdC8qXHRCQU5ORVIgLS0tLS0tICovXG5cblx0LypcdENhcm91c2VsIC0tLSAqL1xuXG5cdC8qXHRQYWdlciAqL1xuXG5cdCNiYW5uZXIgLnNsaWNrLWFycm93IHtcblx0XHRwYWRkaW5nOiAwIDE1cHg7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgODAwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWluLXdpZHRoIDogODAwcHgpIHtcblxuXHQvKlx0QkFOTkVSIC0tLS0tLSAqL1xuXG5cdCNjeWNsZS1iYW5uZXIgLnR4dC13cmFwIHtcblx0XHRwYWRkaW5nOiA3NXB4IDQ1cHg7XG5cdH1cblxuXHQvKlx0Q2Fyb3VzZWwgLS0tICovXG5cblx0LypcdFBhZ2VyICovXG5cblx0I2Jhbm5lciAuc2xpY2stYXJyb3cge1xuXHRcdHBhZGRpbmc6IDAgMzBweDtcblx0fVxuXG59IiwiLyogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdElORElFLldFQiBTVEFOREFSRCBTRUNUSU9OIFNUWUxFU1xuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAqL1xuXG4vKlx0QU5OT1VOQ0VNRU5UIFNFQ1RJT04gLS0tLS0tICovXG5cbi8qXHRHRU5FUkFMIC0tLSAqL1xuXG4uc2VjdGlvbi1hbm5vdW5jZW1lbnQsXG4uc2VjdGlvbi1hbm5vdW5jZW1lbnQgPiAqIHtcblx0cG9zaXRpb246IGZpeGVkO1xufVxuXG4uc2VjdGlvbi1hbm5vdW5jZW1lbnQge1xuXHR6LWluZGV4OiAyMDA7IC8qIGVuc3VyZSBBbm5vdW5jZW1lbnQgU2VjdGlvbiBpcyBkaXNwbGF5ZWQgaW4gZnJvbnQgb2YgTWFpbiBOYXYgKyBCYW5uZXIgKi9cblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwdmg7IC8qIGVuc3VyZSBBbm5vdW5jZW1lbnQgU2VjdGlvbiBjb3ZlcnMgdmlld3BvcnQgKi9cblx0dHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7IC8qIGFsbG93IGNsaWNrLXRocm91Z2ggdG8gdW5kZXJseWluZyBlbGVtZW50cyAqL1xufVxuXG4uc2VjdGlvbi1hbm5vdW5jZW1lbnQgPiBkaXYge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnNlY3Rpb24tYW5ub3VuY2VtZW50IGxhYmVsIHtcblx0cG9pbnRlci1ldmVudHM6IGFsbDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4jYW5ub3VuY2VtZW50LXRvZ2dsZSxcbiNhbm5vdW5jZW1lbnQtdG9nZ2xlIH4gbGFiZWwsXG4jYW5ub3VuY2VtZW50LXdyYXAge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4jYW5ub3VuY2VtZW50LXRvZ2dsZTpjaGVja2VkIH4gbGFiZWwsXG4jYW5ub3VuY2VtZW50LXRvZ2dsZTpjaGVja2VkIH4gI2Fubm91bmNlbWVudC13cmFwIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5zZWN0aW9uLWFubm91bmNlbWVudCAuYmctd3JhcCB7XG5cdHotaW5kZXg6IC0xO1xufVxuXG4vKlx0QkFSIC0tLSAqL1xuXG4uc2VjdGlvbi1hbm5vdW5jZW1lbnQgLnR5cGUtYmFyIHtcblx0ei1pbmRleDogMTsgLyogZW5zdXJlIEFubm91bmNlbWVudCBCYXIgaXMgZGlzcGxheWVkIGJlaGluZCBDbG9zZSBCdXR0b24gKGxhYmVsKSAqL1xuXHRwb2ludGVyLWV2ZW50czogYWxsO1xufVxuXG4uc2VjdGlvbi1hbm5vdW5jZW1lbnQgLnR5cGUtYmFyIH4gbGFiZWwge1xuXHR6LWluZGV4OiAyOyAvKiBlbnN1cmUgQ2xvc2UgQnV0dG9uIChsYWJlbCkgaXMgZGlzcGxheWVkIGluIGZyb250IG9mIEFubm91bmNlbWVudCBCYXIgKi9cbn1cblxuLnNlY3Rpb24tYW5ub3VuY2VtZW50IC50eXBlLWJhci5wb3MtdG9wIH4gbGFiZWwge1xuXHR0b3A6IDE1cHg7XG5cdHJpZ2h0OiAxNXB4O1xufVxuXG4uc2VjdGlvbi1hbm5vdW5jZW1lbnQgLnR5cGUtYmFyLnBvcy1ib3R0b20gfiBsYWJlbCB7XG5cdGJvdHRvbTogMTVweDtcblx0cmlnaHQ6IDE1cHg7XG59XG5cbi5zZWN0aW9uLWFubm91bmNlbWVudCAudHlwZS1iYXIgLmlubmVyIHtcblx0cGFkZGluZy10b3A6IDA7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uc2VjdGlvbi1hbm5vdW5jZW1lbnQgLnR5cGUtYmFyLnBvcy10b3Age1xuXHR0b3A6IDA7XG59XG5cbi5zZWN0aW9uLWFubm91bmNlbWVudCAudHlwZS1iYXIucG9zLWJvdHRvbSB7XG5cdGJvdHRvbTogMDtcbn1cblxuLypcdFBPUFVQIC0tLSAqL1xuXG4uc2VjdGlvbi1hbm5vdW5jZW1lbnQgLnR5cGUtcG9wdXAge1xuXHR6LWluZGV4OiAyOyAvKiBlbnN1cmUgQW5ub3VuY2VtZW50IFBvcHVwIGlzIGRpc3BsYXllZCBpbiBmcm9udCBvZiBibHVycmVkIGJhY2tncm91bmQgKGxhYmVsKSAqL1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41KTtcblx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDNweCk7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2VjdGlvbi1hbm5vdW5jZW1lbnQgLnR5cGUtcG9wdXAgfiBsYWJlbCB7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0ei1pbmRleDogMTsgLyogZW5zdXJlIGJsdXJyZWQgYmFja2dyb3VuZCAobGFiZWwpIGlzIGRpc3BsYXllZCBiZWhpbmQgQW5ub3VuY2VtZW50IFBvcHVwICovXG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7IC8qIGVuc3VyZSBibHVycmVkIGJhY2tncm91bmQgKGxhYmVsKSBjb3ZlcnMgdmlld3BvcnQgKi9cblx0dHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cblxuLnNlY3Rpb24tYW5ub3VuY2VtZW50IC50eXBlLXBvcHVwIH4gbGFiZWwgaSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyAvKiB0b3AgKyBsZWZ0IHNldCBpbiBtZWRpYSBxdWVyaWVzICovXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWigxcHgpOyAvKiBlbnN1cmUgQ2xvc2UgQnV0dG9uIChsYWJlbCA+IGkpIGlzIGRpc3BsYXllZCBpbiBmcm9udCBvZiBBbm5vdW5jZW1lbnQgUG9wdXAgKi9cbn1cblxuLnNlY3Rpb24tYW5ub3VuY2VtZW50IC50eXBlLXBvcHVwIC5pbm5lciB7XG5cdHRvcDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5zZWN0aW9uLWFubm91bmNlbWVudCAudHlwZS1wb3B1cCAucG9zLXJlbCB7XG5cdHBvaW50ZXItZXZlbnRzOiBhbGw7XG59XG5cblxuLypcdEJBTk5FUiBTRUNUSU9OIC0tLS0tLS0tLS0gKi9cblxuI2Jhbm5lciAubG9jb21vdGl2ZS1zZWN0aW9uID4gc3BhbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLypcdEdFTkVSQUwgQ09OVEVOVCBTRUNUSU9OIC0tLS0tLS0tLS0gKi9cblxubWFpbiA+IC5sb2NvbW90aXZlLXNlY3Rpb25zID4gc2VjdGlvbiB7XG5cdG92ZXJmbG93OiBoaWRkZW47IC8qIGVuc3VyZSBiYWNrZ3JvdW5kcyB3aXRoIGJsdXIgKyBzY2FsZSBhcHBsaWVkIGRvIG5vdCBvdmVyZmxvdyB0aGUgc2VjdGlvbiAqL1xufVxuXG4vKlx0RW5zdXJlIGNvcnJlY3QgbWFyZ2luIGlmIGZpcnN0IHBhcmFncmFwaCBvbiBwYWdlIGlzIG5vdCBwcmVjZWRlZCBieSBhIGhlYWRpbmcgKi9cbm1haW4gPiAuc2VjdGlvbi1wYWdlLWludHJvID4gLmlubmVyID4gLndpZHRoLTEwMCA+IHA6Zmlyc3QtY2hpbGQsXG5tYWluID4gLmxvY29tb3RpdmUtc2VjdGlvbnMgPiBzZWN0aW9uID4gLmlubmVyIC53aWR0aC0xMDAgPiBwOmZpcnN0LWNoaWxkIHtcblx0bWFyZ2luLXRvcDogMzBweDtcbn1cblxuXG4vKlx0U0VQQVJBVE9SIC0tLSAqL1xuXG4ubG9jb21vdGl2ZS1zZWN0aW9ucyAuc2VwYXJhdG9yIHtcblx0cGFkZGluZzogMTVweCAwICFpbXBvcnRhbnQ7XG59XG5cbi5sb2NvbW90aXZlLXNlY3Rpb25zIC5zZXBhcmF0b3I6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4ubG9jb21vdGl2ZS1zZWN0aW9ucyAuc2VwYXJhdG9yOmxhc3QtY2hpbGQge1xuXHRwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4ubG9jb21vdGl2ZS1zZWN0aW9ucyAuc2VwYXJhdG9yOm9ubHktY2hpbGQge1xuXHRwYWRkaW5nLXRvcDogMTVweCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nLWJvdHRvbTogMTVweCAhaW1wb3J0YW50O1xufVxuXG4ubG9jb21vdGl2ZS1zZWN0aW9ucyAuc2VwYXJhdG9yOm5vdCg6Zmlyc3QtY2hpbGQpID4gKjpub3QoZGl2KTpmaXJzdC1jaGlsZCB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbm1haW46bm90KCNjb250YWN0KSAubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvICsgLmxvY29tb3RpdmUtc2VjdGlvbnMgPiBzZWN0aW9uOmZpcnN0LWNoaWxkID4gLmlubmVyID4gLmZsZXgtY29udGFpbmVyOmZpcnN0LWNoaWxkID4gLndpZHRoLTEwMDpmaXJzdC1jaGlsZCA+IC5zZXBhcmF0b3I6Zmlyc3QtY2hpbGQgPiAqOm5vdChkaXYpOmZpcnN0LWNoaWxkIHtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuXG4vKlx0U0VDVElPTiBCTE9DSyBTVFlMRVMgLS0tLS0tICovXG5cbi5sb2NvbW90aXZlLXNlY3Rpb25zIFtjbGFzcyo9d2lkdGgtXSA+IFtjbGFzcyo9d2lkdGgtXSxcbi5sb2NvbW90aXZlLXNlY3Rpb25zIFtjbGFzcyo9d2lkdGgtXSA+IC5zZXBhcmF0b3IgPiBbY2xhc3MqPXdpZHRoLV0ge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4ubG9jb21vdGl2ZS1zZWN0aW9ucyAuY2VudGVyW2NsYXNzKj13aWR0aC1dLmNlbnRlciA+ICosXG4ubG9jb21vdGl2ZS1zZWN0aW9ucyAuY2VudGVyW2NsYXNzKj1mbGV4LWJhc2lzLV0uY2VudGVyID4gKiB7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5sb2NvbW90aXZlLXNlY3Rpb25zIC5yaWdodFtjbGFzcyo9d2lkdGgtXS5yaWdodCA+ICosXG4ubG9jb21vdGl2ZS1zZWN0aW9ucyAucmlnaHRbY2xhc3MqPWZsZXgtYmFzaXMtXS5yaWdodCA+ICoge1xuXHRtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuXG4vKlx0QkFDS0dST1VORCAtLS0gKi9cblxuLmJnLXdoaXRlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuXG4vKlx0VEVYVCAtLS0gKi9cblxuLnR4dC13aGl0ZSxcbi50eHQtd2hpdGUgKiB7XG5cdGNvbG9yOiAjZmZmO1xufVxuXG4udHh0LXdoaXRlIGEge1xuXHRjb2xvcjogaW5pdGlhbDtcbn1cblxuLnR4dC1pbml0aWFsLFxuLnR4dC1pbml0aWFsICoge1xuXHRjb2xvcjogaW5pdGlhbCAhaW1wb3J0YW50O1xufVxuXG4udHh0LXNoYWRvdyA6bm90KC5wLWJ1dHRvbikge1xuXHR0ZXh0LXNoYWRvdzogMCAwIDAuMjVlbSByZ2JhKDAsMCwwLDAuNzUpO1xufVxuXG4udHh0LXNoYWRvdyAubGluay1idXR0b24ge1xuXHRib3gtc2hhZG93OiAwIDAgMTVweCByZ2JhKDAsMCwwLDAuNSk7XG5cdHRleHQtc2hhZG93OiBpbml0aWFsO1xufVxuXG4udHh0LXNoYWRvdy1kaXNhYmxlZCxcbi50eHQtc2hhZG93LWRpc2FibGVkICoge1xuXHR0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cbi8qXHRJTUFHRSAtLS0gKi9cblxuLmxvY29tb3RpdmUtc2VjdGlvbnMgLmltZy1ibG9jay13cmFwOmZpcnN0LWNoaWxkIGltZyB7XG5cdG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbmltZy5yb3VuZCB7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuXG4vKlx0TE9HTyAtLS0gKi9cblxuLnR4dC1zaGFkb3cgcGljdHVyZSA+ICoge1xuXHRmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAxNXB4IHJnYmEoMCwgMCwgMCwgMC43NSkpO1xufVxuXG5cbi8qXHRQQUdFIElOVFJPIFNFQ1RJT04gLS0tLS0tLS0tLSAqL1xuXG4vKiBoaWRlIHBhZ2UgaW50cm8gY29udGVudCB3aGVuIGJhbm5lciBpcyBlbmFibGVkICovXG4vKiBoaWRlIHBhZ2UgaW50cm8gY29udGVudCB3aGVuIGJhbm5lciBpcyBub3QgZW5hYmxlZCAqL1xubWFpbiBzZWN0aW9uOmhhcygjYmFubmVyLWludC13cmFwKSxcbiNiYW5uZXIuaW50ZXJuYWwgc2VjdGlvbjpub3QoOmhhcygjYmFubmVyLWludC13cmFwKSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZXJnZSA+IC5pbm5lcixcbi5tZXJnZSA+IC5pbm5lciA+IC53aWR0aC0xMDAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qXHRSZW1vdmUgc3BhY2UgYmV0d2VlbiBTZWN0aW9ucyAqL1xuLm1lcmdlICsgKixcbi5tZXJnZSArICogPiBkaXY6Zmlyc3QtY2hpbGQsXG4ubWVyZ2UgKyBzZWN0aW9uID4gLmlubmVyLFxuLm1lcmdlICsgc2VjdGlvbiA+IC5pbm5lciA+IGRpdjpmaXJzdC1jaGlsZCxcbi5tZXJnZSArIHNlY3Rpb24gPiAuaW5uZXIgPiAuZmxleC1jb250YWluZXIgPiBkaXY6Zmlyc3QtY2hpbGQsXG4vKlx0UmVtb3ZlIHNwYWNlIGJldHdlZW4gUGFnZSBJbnRybyBTZWN0aW9uIGFuZCBmb2xsb3dpbmcgY29udGVudCAqL1xuLm1lcmdlLnNlY3Rpb24tcGFnZS1pbnRybyArIC5sb2NvbW90aXZlLXNlY3Rpb25zID4gc2VjdGlvbjpmaXJzdC1jaGlsZCA+IC5pbm5lcixcbi5tZXJnZS5zZWN0aW9uLXBhZ2UtaW50cm8gKyAubG9jb21vdGl2ZS1zZWN0aW9ucyA+IHNlY3Rpb246Zmlyc3QtY2hpbGQgPiAuaW5uZXIgPiBkaXY6Zmlyc3QtY2hpbGQsXG4ubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvICsgLmxvY29tb3RpdmUtc2VjdGlvbnMgPiBzZWN0aW9uOmZpcnN0LWNoaWxkID4gLmlubmVyID4gLmZsZXgtY29udGFpbmVyID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8qICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRJTkRJRS5XRUIgU1RBTkRBUkQgU0VDVElPTlMgTUVESUEgUVVFUklFU1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAgKi9cblxuLypcdFNjcmVlbiBTaXplcyAyNDBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoIDogMjQwcHgpIHtcblxuXHQvKlx0QU5OT1VOQ0VNRU5UIFNFQ1RJT04gLS0tLS0tICovXG5cblx0LypcdFBPUFVQIC0tLSAqL1xuXG5cdC5zZWN0aW9uLWFubm91bmNlbWVudCAudHlwZS1wb3B1cCB+IGxhYmVsIGkge1xuXHRcdHRvcDogNy41cHg7XG5cdFx0cmlnaHQ6IDcuNXB4O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDI0MHB4IC0gNjQwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aCA6IDI0MHB4KVxuYW5kIChtYXgtd2lkdGggOiA2NDBweCkge1xuXG5cdC8qXHRBTk5PVU5DRU1FTlQgU0VDVElPTiAtLS0tLS0gKi9cblxuXHQvKlx0UE9QVVAgLS0tICovXG5cblx0LnNlY3Rpb24tYW5ub3VuY2VtZW50IC50eXBlLXBvcHVwIH4gbGFiZWwgaSB7XG5cdFx0dG9wOiAyMi41cHg7XG5cdFx0cmlnaHQ6IDIyLjVweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAyNDBweCAtIDQ4MHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGggOiAyNDBweClcbmFuZCAobWF4LXdpZHRoIDogNDgwcHgpIHtcblxuXHQvKlx0QU5OT1VOQ0VNRU5UIFNFQ1RJT04gLS0tLS0tICovXG5cblx0LypcdFBPUFVQIC0tLSAqL1xuXG5cdC5zZWN0aW9uLWFubm91bmNlbWVudCAudHlwZS1wb3B1cCAucG9zLXJlbCB7XG5cdFx0cGFkZGluZzogMCAxNXB4O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDQ4MHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aCA6IDQ4MHB4KSB7XG5cblx0LypcdEFOTk9VTkNFTUVOVCBTRUNUSU9OIC0tLS0tLSAqL1xuXG5cdC8qXHRQT1BVUCAtLS0gKi9cblxuXHQuc2VjdGlvbi1hbm5vdW5jZW1lbnQgLnR5cGUtcG9wdXAgLnBvcy1yZWwge1xuXHRcdHBhZGRpbmc6IDE1cHggMzBweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA2NDBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoIDogNjQwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cblx0LmZsb2F0LWNvbnRhaW5lci5pbnQtd3JhcC5zZXBhcmF0b3IgPiBkaXY6Zmlyc3QtY2hpbGQge1xuXHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDY0MHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aCA6IDY0MHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5mbG9hdC1jb250YWluZXIuaW50LXdyYXAuc2VwYXJhdG9yID4gZGl2IHtcblx0XHRwYWRkaW5nLXRvcDogMTVweDtcblx0fVxuXG5cdC5zZWN0aW9uLWFubm91bmNlbWVudCAudHlwZS1wb3B1cCB+IGxhYmVsIGkge1xuXHRcdHRvcDogMzBweDtcblx0XHRyaWdodDogMzBweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAxMjAwcHggLSAxMzYwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aCA6IDEyMDBweClcbmFuZCAobWF4LXdpZHRoIDogMTM2MHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdG1haW46bm90KCNjb250YWN0KSAubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvIHA6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDVweDtcblx0fVxuLypcblx0bWFpbjpub3QoI2NvbnRhY3QpIC5tZXJnZS5zZWN0aW9uLXBhZ2UtaW50cm86bm90KC5oZWFkaW5nLW9ubHkpICsgLmxvY29tb3RpdmUtc2VjdGlvbnMgPiBzZWN0aW9uOmZpcnN0LWNoaWxkID4gLmlubmVyID4gZGl2OmZpcnN0LWNoaWxkID4gKjpub3QoZGl2KTpmaXJzdC1jaGlsZCxcblx0bWFpbjpub3QoI2NvbnRhY3QpIC5tZXJnZS5zZWN0aW9uLXBhZ2UtaW50cm86bm90KC5oZWFkaW5nLW9ubHkpICsgLmxvY29tb3RpdmUtc2VjdGlvbnMgPiBzZWN0aW9uOmZpcnN0LWNoaWxkID4gLmlubmVyID4gLmZsZXgtY29udGFpbmVyOmZpcnN0LWNoaWxkID4gLndpZHRoLTEwMDpmaXJzdC1jaGlsZCA+ICo6bm90KGRpdik6Zmlyc3QtY2hpbGQsXG5cdG1haW46bm90KCNjb250YWN0KSAubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvOm5vdCguaGVhZGluZy1vbmx5KSArIC5pbm5lciA+IGRpdjpmaXJzdC1jaGlsZCA+ICo6bm90KGRpdik6Zmlyc3QtY2hpbGQgIHtcblx0XHRtYXJnaW4tdG9wOiAtMTVweDtcblx0fVxuKi9cblx0bWFpbjpub3QoI2NvbnRhY3QpIC5tZXJnZS5zZWN0aW9uLXBhZ2UtaW50cm86bm90KC5oZWFkaW5nLW9ubHkpICsgLmxvY29tb3RpdmUtc2VjdGlvbnMgPiBzZWN0aW9uOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tdG9wOiAtMTVweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAxMzYwcHggLSAxNTIwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aCA6IDEzNjBweClcbmFuZCAobWF4LXdpZHRoIDogMTUyMHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdG1haW46bm90KCNjb250YWN0KSAubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvIHA6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNjBweDtcblx0fVxuLypcblx0bWFpbjpub3QoI2NvbnRhY3QpIC5tZXJnZS5zZWN0aW9uLXBhZ2UtaW50cm86bm90KC5oZWFkaW5nLW9ubHkpICsgLmxvY29tb3RpdmUtc2VjdGlvbnMgPiBzZWN0aW9uOmZpcnN0LWNoaWxkID4gLmlubmVyID4gZGl2OmZpcnN0LWNoaWxkID4gKjpub3QoZGl2KTpmaXJzdC1jaGlsZCxcblx0bWFpbjpub3QoI2NvbnRhY3QpIC5tZXJnZS5zZWN0aW9uLXBhZ2UtaW50cm86bm90KC5oZWFkaW5nLW9ubHkpICsgLmxvY29tb3RpdmUtc2VjdGlvbnMgPiBzZWN0aW9uOmZpcnN0LWNoaWxkID4gLmlubmVyID4gLmZsZXgtY29udGFpbmVyOmZpcnN0LWNoaWxkID4gLndpZHRoLTEwMDpmaXJzdC1jaGlsZCA+ICo6bm90KGRpdik6Zmlyc3QtY2hpbGQsXG5cdG1haW46bm90KCNjb250YWN0KSAubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvOm5vdCguaGVhZGluZy1vbmx5KSArIC5pbm5lciA+IGRpdjpmaXJzdC1jaGlsZCA+ICo6bm90KGRpdik6Zmlyc3QtY2hpbGQgIHtcblx0XHRtYXJnaW4tdG9wOiAtMzBweDtcblx0fVxuKi9cblx0bWFpbjpub3QoI2NvbnRhY3QpIC5tZXJnZS5zZWN0aW9uLXBhZ2UtaW50cm86bm90KC5oZWFkaW5nLW9ubHkpICsgLmxvY29tb3RpdmUtc2VjdGlvbnMgPiBzZWN0aW9uOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tdG9wOiAtMzBweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAxNTIwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWluLXdpZHRoIDogMTUyMHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdG1haW46bm90KCNjb250YWN0KSAubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvIHA6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNzVweDtcblx0fVxuLypcblx0bWFpbjpub3QoI2NvbnRhY3QpIC5tZXJnZS5zZWN0aW9uLXBhZ2UtaW50cm86bm90KC5oZWFkaW5nLW9ubHkpICsgLmxvY29tb3RpdmUtc2VjdGlvbnMgPiBzZWN0aW9uOmZpcnN0LWNoaWxkID4gLmlubmVyID4gZGl2OmZpcnN0LWNoaWxkID4gKjpub3QoZGl2KTpmaXJzdC1jaGlsZCxcblx0bWFpbjpub3QoI2NvbnRhY3QpIC5tZXJnZS5zZWN0aW9uLXBhZ2UtaW50cm86bm90KC5oZWFkaW5nLW9ubHkpICsgLmxvY29tb3RpdmUtc2VjdGlvbnMgPiBzZWN0aW9uOmZpcnN0LWNoaWxkID4gLmlubmVyID4gLmZsZXgtY29udGFpbmVyOmZpcnN0LWNoaWxkID4gLndpZHRoLTEwMDpmaXJzdC1jaGlsZCA+ICo6bm90KGRpdik6Zmlyc3QtY2hpbGQsXG5cdG1haW46bm90KCNjb250YWN0KSAubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvOm5vdCguaGVhZGluZy1vbmx5KSArIC5pbm5lciA+IGRpdjpmaXJzdC1jaGlsZCA+ICo6bm90KGRpdik6Zmlyc3QtY2hpbGQgIHtcblx0XHRtYXJnaW4tdG9wOiAtNDVweDtcblx0fVxuKi9cblx0bWFpbjpub3QoI2NvbnRhY3QpIC5tZXJnZS5zZWN0aW9uLXBhZ2UtaW50cm86bm90KC5oZWFkaW5nLW9ubHkpICsgLmxvY29tb3RpdmUtc2VjdGlvbnMgPiBzZWN0aW9uOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tdG9wOiAtNDVweDtcblx0fVxuXG59IiwiLypcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdElORElFLldFQiBURVNUSU1PTklBTFMgTU9EVUxFIFNUWUxFU1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udGVzdGltb25pYWwtd3JhcCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG5wLmF0dGVzdGFudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xufVxuXG4vKiBcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdElORElFLldFQiBURVNUSU1PTklBTFMgTU9EVUxFIE1FRElBIFFVRVJJRVNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gICovXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMzIwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtYXgtd2lkdGggOiAzMjBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblx0XHRcblx0cC5hdHRlc3RhbnQge1xuXHRcdG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHR9XG5cbn0iLCIvKiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0SU5ESUUuV0VCIENVU1RPTSBTVFlMRVNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gICovXG5cbi8qICBHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuaHRtbCB7XG5cdGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0Y29sb3I6ICMzMzM7XG59XG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuXHRiYWNrZ3JvdW5kOiAjYjNkNGZjO1xufVxuXG46OnNlbGVjdGlvbiB7XG5cdGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG59XG5cbi5mbGV4LWNvbnRhaW5lciA+IGltZyB7XG5cdC1tcy1ncmlkLXJvdy1hbGlnbjogY2VudGVyO1xuXHRhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbltjbGFzcyo9J3dpZHRoLSddLmludC13cmFwIHtcblx0bWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4uYm94LXdyYXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogMDtcblx0cGFkZGluZy1ib3R0b206IDEwMCU7XG59XG5cbi5zaGFkb3cge1xuXHRib3gtc2hhZG93OiAwIDAgMTVweCByZ2JhKDAsMCwwLDAuMjUpO1xufVxuXG4uc2hhZG93OmhvdmVyIHtcblx0Ym94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgwLDAsMCwwLjUpO1xufVxuXG4uaW1nLXdyYXAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHRyaWdodDogMDtcblx0bGVmdDogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmltZy13cmFwIGltZyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiAxMDAlO1xuXHQtby1vYmplY3QtZml0OiBjb3Zlcjtcblx0b2JqZWN0LWZpdDogY292ZXI7XG5cdC1vLW9iamVjdC1wb3NpdGlvbjogNTAlIDA7XG5cdG9iamVjdC1wb3NpdGlvbjogNTAlIDA7XG59XG5cbi8qXHRGYXV4IFRhYmxlIC0tLSAqL1xuLypcbi5mYXV4LXRhYmxlIHtcblx0Zm9udC1zaXplOiAwLjg3NWVtO1xufVxuXG4uZmF1eC1yb3cge1xuXHR3aWR0aDogMTAwJTtcblxuXHQvKiBib3JkZXJzIG9uIHJvd3MgKG9ubHkpOiAqL1xuLypcdG1hcmdpbjogLTFweCAwOyAvKiBjb2xsYXBzZSB0b3AvYm90dG9tIGJvcmRlcnMgKi9cbi8qXHRib3JkZXI6IDFweCBzb2xpZCAjOyAqLyAvKlxufVxuXG4uZmF1eC1yb3cgZGl2IHtcblx0bWluLWhlaWdodDogNDVweDtcblxuXHQvKiBib3JkZXJzIG9uIGNlbGxzIChvbmx5KTogKi9cbi8qXHRib3JkZXI6IDFweCBzb2xpZCAjOyAqLyAvKlxuXHRwYWRkaW5nOiAxMi41cHggMTVweDtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0bGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbi5mYXV4LXRhYmxlIC5oZWFkIHtcblx0aGVpZ2h0OiA0NXB4O1xuXHRiYWNrZ3JvdW5kOiA7XG5cdGZvbnQtd2VpZ2h0OiA7XG5cdGNvbG9yOiA7XG5cdHRleHQtdHJhbnNmb3JtOiA7XG59XG4qL1xuXG4vKlx0UmVzcG9uc2l2ZSBWaWRlbyAtLS0gKi9cblxuLnJlc3BvbnNpdmUtdmlkZW8ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDA7XG5cdHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi5yZXNwb25zaXZlLXZpZGVvIGlmcmFtZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cblxuLypcdFRFWFQgU1RZTEVTIC0tLS0tLSAqL1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRtYXJnaW46IDMwcHggMDtcblx0Zm9udC1mYW1pbHk6IFJ1ZmluYS1TdGVuY2lsLUFsdC0wMi1Cb2xkO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcbn1cblxuc3Bhbi5oMSxcbnNwYW4uaDIsXG5zcGFuLmgzIHtcblx0Zm9udC1mYW1pbHk6IFJ1ZmluYS1TdGVuY2lsLUFsdC0wMi1Cb2xkO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcbn1cblxuc3Bhbi5oMSxcbnNwYW4uaDIsXG5zcGFuLmgzLFxuc3Bhbi5oNCxcbnNwYW4uaDUsXG5zcGFuLmg2IHtcbi8qXHRmb250LXdlaWdodDogO1xuXHRsZXR0ZXItc3BhY2luZzogOyBcblx0Y29sb3I6IDsgKi9cbn1cblxucCB7XG5cdG1hcmdpbjogMTVweCAwO1xufVxuXG5tYWluIHVsLFxubWFpbiBvbCB7XG5cdG1hcmdpbjogMTVweCAwO1xufVxuXG5tYWluIHA6bGFzdC1jaGlsZCxcbm1haW4gdWw6bGFzdC1jaGlsZCxcbm1haW4gb2w6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbm1haW4gbGkge1xuXHRtYXJnaW46IDcuNXB4IDA7XG59XG5cbmJsb2NrcXVvdGUge1xuXHRtYXJnaW46IDMwcHg7XG5cdGJvcmRlci1sZWZ0OiA3LjVweCBzb2xpZCAvKiMgKi87XG5cdHBhZGRpbmctbGVmdDogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdGNvbG9yOiAjZDg4Yzk5O1xufVxuXG5zcGFuLmxpZ2h0IHtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuc3Bhbi5ub3JtYWwge1xuXHRmb250LXdlaWdodDogNDAwO1xufVxuXG5zcGFuLnNlbWlib2xkIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuYixcbnN0cm9uZyxcbnNwYW4uYm9sZCB7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmhyIHtcblx0bWFyZ2luOiAxNXB4IDA7XG5cdGJvcmRlci10b3AtY29sb3I6ICMzMzM7XG59XG5cblxuLypcdExJTksgU1RZTEVTIC0tLS0tLSAqL1xuXG4vKlx0R0xPQkFMIC0tLSAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIsXG5hOmxpbmssXG5hOnZpc2l0ZWQge1xuXHRjb2xvcjogI2Q4OGM5OTtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbmE6aG92ZXIge1xuXHRjb2xvcjogI2M0NTI2NDtcbn1cblxuYS5saW5rLWJ1dHRvbjphY3RpdmUsXG5hLmxpbmstYnV0dG9uOmhvdmVyLFxuYS5saW5rLWJ1dHRvbjpsaW5rLFxuYS5saW5rLWJ1dHRvbjp2aXNpdGVkIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtaW4taGVpZ2h0OiA0NXB4O1xuXHRwYWRkaW5nOiAxMHB4IDMwcHg7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNjN2NkO1xuLypcdGZvbnQtd2VpZ2h0OiA7Ki9cblx0Y29sb3I6ICMzMzM7XG59XG5cbmEubGluay1idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gICAgY29sb3I6ICNlY2M3Y2Q7XG59XG5cbi50b2xsLWZyZWUtbnVtYmVyIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuXG4vKlx0U0VDVElPTlMgLS0tLS0tLS0tLSAqL1xuXG4vKlx0QmFja2dyb3VuZCBEYXJrIEdyZXkgLS0tLS0tICovXG5cbi5iZy1ncmV5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogIzMzMztcblx0Y29sb3I6ICNmZmY7XG59XG5cbi5iZy1ncmV5IGJsb2NrcXVvdGUge1xuXHRjb2xvcjogI2VjYzdjZDtcbn1cblxuLmJnLWdyZXkgYTphY3RpdmUsXG4uYmctZ3JleSBhOmhvdmVyLFxuLmJnLWdyZXkgYTpsaW5rLFxuLmJnLWdyZXkgYTp2aXNpdGVkIHtcblx0Y29sb3I6ICNlY2M3Y2Q7XG59XG5cbi5iZy1ncmV5IGE6aG92ZXIge1xuXHRjb2xvcjogI2Q4OGM5OTtcbn1cblxuLmJnLWdyZXkgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG5cdGNvbG9yOiAjZmZmO1xufVxuXG4uYmctZ3JleSAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG5cdGNvbG9yOiAjZDg4Yzk5O1xufVxuXG5cbi8qXHRCYWNrZ3JvdW5kIFBpbmsgLS0tLS0tICovXG5cbi5iZy1waW5rIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2VjYzdjZDtcbn1cblxuLmJnLXBpbmsgYmxvY2txdW90ZSB7XG5cdGNvbG9yOiAjZmZmO1xufVxuXG4uYmctcGluayBhOmFjdGl2ZSxcbi5iZy1waW5rIGE6aG92ZXIsXG4uYmctcGluayBhOmxpbmssXG4uYmctcGluayBhOnZpc2l0ZWQge1xuXHRjb2xvcjogI2Q4OGM5OTtcbn1cblxuLmJnLXBpbmsgYTpob3ZlciB7XG5cdGNvbG9yOiAjZmZmO1xufVxuXG4uYmctcGluayAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcblx0Y29sb3I6ICMzMzM7XG59XG5cbi5iZy1waW5rIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcblx0Y29sb3I6ICNmZmY7XG59XG5cblxuLypcdEJhY2tncm91bmQgSW1hZ2UgLS0tLS0tICovXG5cbi5iZy13cmFwIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbn1cblxuLypcdFBhcmFsbGF4IFNjcm9sbGluZyAtLS0gKi9cblxuc2VjdGlvbjpoYXMoLnBhcmFsbGF4LXdpbmRvdykge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucGFyYWxsYXgtd2luZG93OmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IC0yMDA7IC8qIGVuc3VyZSBwc2V1ZG8gZWxlbWVudCBkb2VzIG5vdCBvdmVybGF5IHBhcmFsbGF4IGltYWdlICovXG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDsgXG5cdG92ZXJmbG93OiBoaWRkZW47XG4vKlx0YmFja2dyb3VuZC1jb2xvcjogIzMzMzsgaW4gY2FzZSBpbWFnZSBmYWlscyB0byBsb2FkIC0gdGhpcyBvdmVycmlkZXMgcGFyYWxsYXggaW1hZ2Ugb24gbW9iaWxlIC0gcmVtb3ZlIGVudGlyZWx5PyAqL1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG5cbi8qXHRIRUFERVIgLS0tLS0tLS0tLSAqL1xuXG4vKlx0TkFWIC0tLS0tLSAqL1xuXG4jbmF2LW1haW4tY29udGFpbmVyLFxuI25hdi1jb2xsYXBzZSxcbm5hdiBsaSB1bCB7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbiNuYXYtbWFpbi1jb250YWluZXIge1xuXHR6LWluZGV4OiAzMDAwOyAvKiBjb21wZXRlIHdpdGggU2xpY2sgQ2Fyb3VzZWwgaXRlbXMgKi9cblx0Ym94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgwLDAsMCwwLjUpO1xufVxuXG4jbmF2LWljb24gc3BhbixcbiNuYXYtaWNvbiBzcGFuOmJlZm9yZSxcbiNuYXYtaWNvbiBzcGFuOmFmdGVyIHtcblx0YmFja2dyb3VuZDogIzMzMztcbn1cblxubmF2IGE6bGluayxcbm5hdiBhOnZpc2l0ZWQsXG5uYXYgYTpob3Zlcixcbm5hdiBhOmFjdGl2ZSxcbiNuYXYtbWFpbi1jb250YWluZXIgW2lkXj1waG9uZV0ge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGNvbG9yOiAjMzMzO1xuLypcdGZvbnQtd2VpZ2h0OiA7XG5cdHRleHQtdHJhbnNmb3JtOiA7XG5cdGxldHRlci1zcGFjaW5nOiA7Ki9cbn1cblxubmF2IGE6aG92ZXIsXG5uYXYgLnNlbGVjdGVkID4gYSxcbiNuYXYtbWFpbi1jb250YWluZXIgW2lkXj1waG9uZV06aG92ZXIge1xuXHRjb2xvcjogI2Q4OGM5OTtcbn1cblxuXG4vKlx0QkFOTkVSIC0tLS0tLSAqL1xuXG4jYmFubmVyOmJlZm9yZSB7XG5cdGJhY2tncm91bmQ6ICMzMzM7IC8qIGluIGNhc2UgaW1hZ2UgZmFpbHMgdG8gbG9hZCAqL1xufVxuXG4jYmFubmVyIC5saW5rLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNlY2M3Y2Q7XG5cdGNvbG9yOiAjMzMzO1xufVxuXG4jYmFubmVyIC5saW5rLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNkODhjOTk7XG4vKlx0Y29sb3I6IDsqL1xufVxuXG5cbi8qXHRGT09URVIgLS0tLS0tLS0tLSAqL1xuXG4vKlx0Rk9PVEVSIFRPUCAtLS0tLS0gKi9cbi8qXG4jZm9vdGVyLXRvcCB7XG5cdGJhY2tncm91bmQ6IDtcblx0Y29sb3I6IDtcbn1cblxuI2Zvb3Rlci10b3AgaDMge1xuXHRjb2xvcjogO1xufVxuXG4jZm9vdGVyLXRvcCBhOmFjdGl2ZSxcbiNmb290ZXItdG9wIGE6aG92ZXIsXG4jZm9vdGVyLXRvcCBhOmxpbmssXG4jZm9vdGVyLXRvcCBhOnZpc2l0ZWQge1xuXHRjb2xvcjogO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbiNmb290ZXItdG9wIGE6aG92ZXIge1xuXHRjb2xvcjogO1xufVxuKi9cbiNmb290ZXItbG9nbyB7XG5cdG1heC13aWR0aDogNzUlO1xuXHRtYXJnaW46IDMwcHggMDtcbn1cblxuLyogVE8gRE8gLS0tICovXG4vKiBUaGUgYmVsb3cgc29jaWFsIHN0eWxlcyBzaG91bGQgYmUgc2ltcGxpZmllZCBhbmQgdGhlIFRlbXBsYXRlIHNob3VsZCBzaW1wbHkgdXNlIC5zb2NpYWwgd3JhcCBhcyBwZXIgdGhlIFN0YW5kYXJkIFNlY3Rpb25zIG1vZHVsZSAtLS0gKi9cbiNzb2NpYWwsXG4uc29jaWFsLXdyYXAge1xuXHRtYXJnaW4tbGVmdDogLTE1cHg7XG5cdG1hcmdpbi1yaWdodDogLTE1cHg7XG59XG4jc29jaWFsIGEsXG4uc29jaWFsLXdyYXAgYSB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0ZGlzcGxheTogYmxvY2s7XG59XG4jc29jaWFsIGEgaSxcbi5zb2NpYWwtd3JhcCBhIGkge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRwYWRkaW5nOiAxNXB4O1xufVxuLyogLS0tICovXG51bC5jb250YWN0LWluZm8ge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG59XG5cbnVsLmNvbnRhY3QtaW5mbyBsaSB7XG5cdG1hcmdpbjogMzBweCAwO1xufVxuXG51bC5jb250YWN0LWluZm8gaSB7XG5cdHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5cbnVsLmNvbnRhY3QtaW5mbyBhIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jZm9vdGVyLXRvcCAudG9sbC1mcmVlLW51bWJlciB7XG5cdGZvbnQtc2l6ZTogMC43NWVtO1xufVxuXG5cbi8qXHRGT09URVIgQk9UVE9NIC0tLS0tLSAqL1xuXG4jZm9vdGVyLWJvdHRvbSBhIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5cbi8qICBGT1JNUyAtLS0tLS0tLS0tICovXG5cbmlucHV0W3R5cGU9ZGF0ZV0sXG5pbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcbmlucHV0W3R5cGU9ZW1haWxdLFxuaW5wdXRbdHlwZT1tb250aF0sXG5pbnB1dFt0eXBlPW51bWJlcl0sXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmlucHV0W3R5cGU9c2VhcmNoXSxcbmlucHV0W3R5cGU9dGVsXSxcbmlucHV0W3R5cGU9dGV4dF0sXG5pbnB1dFt0eXBlPXRpbWVdLFxuaW5wdXRbdHlwZT11cmxdLFxuaW5wdXRbdHlwZT13ZWVrXSxcbnNlbGVjdCxcbnRleHRhcmVhIHtcblx0YmFja2dyb3VuZDogI2Y1ZjVmNTsgLyogZGVmYXVsdCAjZjVmNWY1IGFsc28gZm91bmQgaW4gZm9ybS1zdWJtaXQuanMgKi9cbn1cblxuYnV0dG9uW3R5cGU9YnV0dG9uXSxcbmJ1dHRvblt0eXBlPSdyZXNldCddLFxuYnV0dG9uW3R5cGU9c3VibWl0XSxcblxuaW5wdXRbdHlwZT1idXR0b25dLFxuaW5wdXRbdHlwZT1maWxlXSxcbmlucHV0W3R5cGU9J3Jlc2V0J10sXG5pbnB1dFt0eXBlPXN1Ym1pdF0ge1xuXHRiYWNrZ3JvdW5kOiAjZWNjN2NkO1xuXHRjb2xvcjogIzMzMztcblx0Zm9udC13ZWlnaHQ6IDQwMDtcbi8qXHR0ZXh0LXRyYW5zZm9ybTogO1xuXHRsZXR0ZXItc3BhY2luZzogOyovXG59XG5cbmJ1dHRvblt0eXBlPWJ1dHRvbl06aG92ZXIsXG5idXR0b25bdHlwZT0ncmVzZXQnXTpob3ZlcixcbmJ1dHRvblt0eXBlPXN1Ym1pdF06aG92ZXIsXG5cbmlucHV0W3R5cGU9YnV0dG9uXTpob3ZlcixcbmlucHV0W3R5cGU9ZmlsZV06aG92ZXIsXG5pbnB1dFt0eXBlPSdyZXNldCddOmhvdmVyLFxuaW5wdXRbdHlwZT1zdWJtaXRdOmhvdmVyIHtcblx0YmFja2dyb3VuZDogIzMzMztcblx0Y29sb3I6ICNlY2M3Y2Q7XG59XG5cblxuLyogIEZPUk0gQlJPV1NFUiBSRVNFVFMgLS0tLS0tICovXG5cbi8qXHRjdXN0b21pc2UgQ2hyb21lIGZvcm0tZmllbGQgZm9jdXMgb3V0bGluZSAqL1xuaW5wdXQ6Zm9jdXMsXG5zZWxlY3Q6Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG5cdG91dGxpbmU6ICMyMjIgMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG59XG4vKiAqL1xuXG5cbi8qICBQTEFDRUhPTERFUlMgLS0tLS0tICovXG5cbi8qICBQbGFjZWhvbGRlcnMgKFN0YW5kYXJkKSAtLS0gKi9cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICNiOGI4Yjg7XG5cdG9wYWNpdHk6IDE7XG59XG46LW1vei1wbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAjYjhiOGI4O1xuXHRvcGFjaXR5OiAxO1xufVxuOjotbW96LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICNiOGI4Yjg7XG5cdG9wYWNpdHk6IDE7XG59XG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICNiOGI4Yjg7XG59XG46cGxhY2Vob2xkZXIge1xuXHRjb2xvcjogI2I4YjhiODtcbn1cblxuLyogIFBsYWNlaG9sZGVycyA6Zm9jdXMgLS0tICovXG5cbjpmb2N1czo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAjOTk5O1xufVxuOmZvY3VzOi1tb3otcGxhY2Vob2xkZXIge1xuXHRjb2xvcjogIzk5OTtcbn1cbjpmb2N1czo6LW1vei1wbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAjOTk5O1xufVxuOmZvY3VzOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAjOTk5O1xufVxuOnBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICM5OTk7XG59XG5cblxuLypcdEZPUk0gRVJST1JTIC0tLS0tLSAqL1xuXG5pbnB1dC5lcnJvcixcbi5zaG93LWVycm9ycyBpbnB1dDpyZXF1aXJlZDppbnZhbGlkLFxuc2VsZWN0LmVycm9yLFxuLnNob3ctZXJyb3JzIHNlbGVjdDpyZXF1aXJlZDppbnZhbGlkLFxudGV4dGFyZWEuZXJyb3IsXG4uc2hvdy1lcnJvcnMgdGV4dGFyZWE6cmVxdWlyZWQ6aW52YWxpZCB7XG5cdGJhY2tncm91bmQ6ICNmZmViZWI7XG59XG5cbnNlbGVjdC5lcnJvcixcbi5zaG93LWVycm9ycyBzZWxlY3QuZXJyb3Ige1xuXHRjb2xvcjogI2ZmM2IzYjtcbn1cblxuLyogIFBsYWNlaG9sZGVycyAoRXJyb3IpIC0tLSAqL1xuXG4uZXJyb3I6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4uc2hvdy1lcnJvcnMgLmVycm9yOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICNmZjc2NzY7XG5cdG9wYWNpdHk6IDE7XG59XG4uZXJyb3I6LW1vei1wbGFjZWhvbGRlcixcbi5zaG93LWVycm9ycyAuZXJyb3I6LW1vei1wbGFjZWhvbGRlciAge1xuXHRjb2xvcjogI2ZmNzY3Njtcblx0b3BhY2l0eTogMTtcbn1cbi5lcnJvcjo6LW1vei1wbGFjZWhvbGRlcixcbi5zaG93LWVycm9ycyAuZXJyb3I6Oi1tb3otcGxhY2Vob2xkZXIge1xuXHRjb2xvcjogI2ZmNzY3Njtcblx0b3BhY2l0eTogMTtcbn1cbi5lcnJvcjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4uc2hvdy1lcnJvcnMgLmVycm9yOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAjZmY3Njc2O1xufVxuLmVycm9yOnBsYWNlaG9sZGVyLFxuLnNob3ctZXJyb3JzIC5lcnJvcjpwbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAjZmY3Njc2O1xufVxuXG4vKiAgUGxhY2Vob2xkZXJzIChFcnJvcikgOmZvY3VzIC0tLSAqL1xuXG4uZXJyb3I6Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4uc2hvdy1lcnJvcnMgLmVycm9yOmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICNmZjNiM2I7XG59XG4uZXJyb3I6Zm9jdXM6LW1vei1wbGFjZWhvbGRlcixcbi5zaG93LWVycm9ycyAuZXJyb3I6Zm9jdXM6LW1vei1wbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAjZmYzYjNiO1xufVxuLmVycm9yOmZvY3VzOjotbW96LXBsYWNlaG9sZGVyLFxuLnNob3ctZXJyb3JzIC5lcnJvcjpmb2N1czo6LW1vei1wbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAjZmYzYjNiO1xufVxuLmVycm9yOmZvY3VzOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbi5zaG93LWVycm9ycyAuZXJyb3I6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICNmZjNiM2I7XG59XG4uZXJyb3I6cGxhY2Vob2xkZXIsXG4uc2hvdy1lcnJvcnMgLmVycm9yOnBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICNmZjNiM2I7XG59XG5cblxuLypcdENTUyBUUkFOU0lUSU9OUyAtLS0tLS0tLS0tICovXG5cbmE6bGluayxcbmE6dmlzaXRlZCxcbmE6aG92ZXIsXG5hOmFjdGl2ZSxcblxuYnV0dG9uLFxuYnV0dG9uOmhvdmVyLFxuaW5wdXQsXG5pbnB1dDpob3ZlciB7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZSwgY29sb3IgMC4yNXMgZWFzZTtcbn1cblxuXG4vKiAgUEFHRVMgLS0tLS0tLS0tLSAqL1xuXG4vKlx0TE9DSyBTQ1JFRU4gLS0tLS0tICovXG5cbiNsb2NrLXNjcmVlbixcbiNsb2NrLXNjcmVlbiBib2R5LFxuI2xvY2stc2NyZWVuIC5pbm5lcixcbiNsb2NrLXNjcmVlbiAuaW5uZXIgPiBkaXYge1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbiNsb2NrLXNjcmVlbiAubG9naW4td3JhcCB7XG5cdG1heC13aWR0aDogMzAwcHg7XG59XG5cbiNsb2NrX3NjcmVlbiBpbWcge1xuXHRtYXgtd2lkdGg6IDI0MHB4O1xufVxuXG4jbG9jay1zY3JlZW4gZm9ybSB7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG4jbG9jay1zY3JlZW4gaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSB7XG5cdG1heC13aWR0aDogMzAwcHg7XG59XG5cbiNsb2NrLXNjcmVlbiBpbnB1dCB7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cblxuLypcdEhPTUUgLS0tLS0tICovXG5cbi8qXHRTZXJ2aWNlcyAtLS0gKi9cblxuI2hvbWUgZGl2W2lkKj0nc2VydmljZXMnXSAuZmxleC1ib3ggaW1nIHtcblx0LXdlYmtpdC1maWx0ZXI6IGNvbnRyYXN0KDAuNik7IC8qIHRlbXBvcmFyeSB1bnRpbCBpY29ucyBmaW5hbGlzZWQgKi9cbiAgICBmaWx0ZXI6IGNvbnRyYXN0KDAuNik7IC8qIHRlbXBvcmFyeSB1bnRpbCBpY29ucyBmaW5hbGlzZWQgKi9cbn1cblxuLypcdFByaWNpbmcgLS0tICovXG5cbiNob21lIGRpdltpZCo9J3ByaWNpbmcnXSAuZmxleC1ib3ggaW1nIHtcblx0LXdlYmtpdC1maWx0ZXI6IGNvbnRyYXN0KDAuNik7IC8qIHRlbXBvcmFyeSB1bnRpbCBpY29ucyBmaW5hbGlzZWQgKi9cbiAgICBmaWx0ZXI6IGNvbnRyYXN0KDAuNik7IC8qIHRlbXBvcmFyeSB1bnRpbCBpY29ucyBmaW5hbGlzZWQgKi9cbn1cblxuXG4vKlx0U0VSVklDRVMgLS0tLS0tICovXG5cbm1haW4jc2VydmljZXMgLmZsZXgtYm94IGltZyB7XG5cdC13ZWJraXQtZmlsdGVyOiBjb250cmFzdCgwLjYpOyAvKiB0ZW1wb3JhcnkgdW50aWwgaWNvbnMgZmluYWxpc2VkICovXG4gICAgZmlsdGVyOiBjb250cmFzdCgwLjYpOyAvKiB0ZW1wb3JhcnkgdW50aWwgaWNvbnMgZmluYWxpc2VkICovXG5cdG1hcmdpbi10b3A6IDE1cHg7XG59XG5cblxuLyogIENPTlRBQ1QgLS0tLS0tICovXG5cbiNnb29nbGUtbWFwIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAwO1xuXHRwYWRkaW5nLWJvdHRvbTogMjUlO1xufVxuXG4jZ29vZ2xlLW1hcCBpZnJhbWUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0Ym9yZGVyOiAwO1xufVxuXG5cbi8qICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRJTkRJRS5XRUIgQ1VTVE9NIE1FRElBIFFVRVJJRVNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gICovXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMjQwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtYXgtd2lkdGggOiAyNDBweCkge1xuXG5cdC8qXHRURVhUIFNUWUxFUyAtLS0tLS0tLS0tICovXG5cdFxuXHRibG9ja3F1b3RlIHtcblx0XHRwYWRkaW5nOiAwIDE1cHg7XG5cdH1cblxuXG5cdC8qXHRIRUFERVIgLS0tLS0tLS0tLSAqL1xuXG5cdC8qXHRCQU5ORVIgLS0tLS0tICovXG5cblx0I2Jhbm5lciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgLyogbWF0Y2ggcGFnZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciBtb2JpbGUgKi9cblx0fVxuXG5cdC8qXHRDYXJvdXNlbCAtLS0gKi9cblxuXHQuc2xpY2stYXJyb3cge1xuXHRcdHBhZGRpbmc6IDAgMTVweDtcblx0fVxuXG5cdC8qXHRQYWdlciAqL1xuXHQvKlx0U3R5bGVzIGZvciBib3RoIGRvdCBvdmVyIHBhZ2UgYW5kIGRvdCBvdmVyIGJhbm5lciB0byBhY2NvdW50IGZvciA8MjQwcHggYW5kID0yNDBweCwgcmVzcGVjdGl2ZWx5ICovXG5cdCNiYW5uZXIgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG5cdFx0Y29sb3I6ICMzMzM7IC8qIGRvdCBjb2xvciBvdmVyIHBhZ2UgKi9cblx0fVxuXHQjYmFubmVyIC5zbGljay1kb3RzLnBvcy1hYnMgbGkgYnV0dG9uOmJlZm9yZSB7XG5cdFx0Y29sb3I6ICNmZmY7IC8qIGRvdCBjb2xvciBvdmVyIGJhbm5lciAqL1xuXHR9XG5cdFxuXHQjYmFubmVyIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcblx0XHRjb2xvcjogI2Q4OGM5OTsgLyogYWN0aXZlIGRvdCBjb2xvciBvdmVyIHBhZ2UgKi9cblx0fVxuXHQjYmFubmVyIC5zbGljay1kb3RzLnBvcy1hYnMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuXHRcdGNvbG9yOiAjZWNjN2NkOyAvKiBhY3RpdmUgZG90IGNvbG9yIG92ZXIgYmFubmVyICovXG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMjQwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDI0MHB4KSB7XG5cblx0LypcdEhFQURFUiAtLS0tLS0tLS0tICovXG5cdFxuXHQvKlx0QkFOTkVSIC0tLS0tLSAqL1xuXG5cdC8qXHRDYXJvdXNlbCAtLS0gKi9cblxuXHQuc2xpY2stYXJyb3cge1xuXHRcdHBhZGRpbmc6IDAgMzBweDtcblx0fVxuXG5cdC8qXHRQYWdlciAqL1xuXG5cdCNiYW5uZXIgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG5cdFx0Y29sb3I6ICNmZmY7IC8qIGRvdCBjb2xvciBvdmVyIGJhbm5lciAqL1xuXHR9XG5cdFxuXHQjYmFubmVyIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcblx0XHRjb2xvcjogI2VjYzdjZDsgLyogYWN0aXZlIGRvdCBjb2xvciBvdmVyIGJhbm5lciAqL1xuXHR9XG5cbn1cblxuXG4vKiBTY3JlZW4gU2l6ZXNcdDI0MHB4IC0gOTYwcHhcdFx0LS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDI0MHB4KVxuYW5kIChtYXgtd2lkdGggOiA5NjBweCkge1xuXG5cdC8qXHRURVhUIFNUWUxFUyAtLS0tLS0tLS0tICovXG5cblx0YmxvY2txdW90ZSB7XG5cdFx0cGFkZGluZzogMCAzMHB4O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDMyMHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWF4LXdpZHRoIDogMzIwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cdFx0XG5cdGJsb2NrcXVvdGUge1xuXHRcdG1hcmdpbjogMTVweDtcblx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdH1cblxuXG5cdC8qXHRQQUdFUyAtLS0tLS0tLS0tICovXG5cblx0LyogIENPTlRBQ1QgLS0tLS0tICovXG5cblx0I2dvb2dsZS1tYXAge1xuXHRcdHBhZGRpbmctYm90dG9tOiAxMDAlO1xuXHR9XG5cbn1cblxuXG4vKiBTY3JlZW4gU2l6ZXNcdDMyMHB4IC0gNTYwcHhcdFx0LS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDMyMHB4KVxuYW5kIChtYXgtd2lkdGggOiA1NjBweCkge1xuXG5cdC8qXHRQQUdFUyAtLS0tLS0tLS0tICovXG5cblx0LyogIENPTlRBQ1QgLS0tLS0tICovXG5cblx0I2dvb2dsZS1tYXAge1xuXHRcdHBhZGRpbmctYm90dG9tOiA1MCU7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgNDAwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtYXgtd2lkdGggOiA0MDBweCkge1xuXG5cdC8qXHRNQUlOIC0tLS0tLS0tLS0gKi9cblxuXHRtYWluIHVsLmNvbnRhY3QtaW5mbyB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cdFxuXG5cdC8qXHRGT09URVIgLS0tLS0tLS0tLSAqL1xuXG5cdCNmb290ZXItdG9wIC5pbm5lciA+IGRpdjpudGgtY2hpbGQoMikge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdCNzb2NpYWwge1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cblx0I2Zvb3Rlci10b3AgLmlubmVyID4gZGl2Omxhc3QtY2hpbGQge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdCNmb290ZXItdG9wIHVsLmNvbnRhY3QtaW5mbyAuZmxleC1jb250YWluZXIge1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cblx0LypcdEFmZmVjdHMgQ29udGFjdCBwYWdlIGluZm8gYWxzbyAqL1xuXHR1bC5jb250YWN0LWluZm8gLmZsZXgtY29udGFpbmVyIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0dWwuY29udGFjdC1pbmZvIGkge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblxuXHQuaWNvbi13cmFwIHtcblx0XHRtYXJnaW46IDcuNXB4IDA7XG5cdH1cblxufVxuXG5cbi8qIFNjcmVlbiBzaXplcyA0MDBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogNDAwcHgpIHtcblxuXHQvKlx0Rk9PVEVSIC0tLS0tLS0tLS0gKi9cblxuXHQvKlx0Rk9PVEVSIFRPUCAtLS0tLS0gKi9cblxuXHQjZm9vdGVyLXRvcCAuY29udGFjdC1pbmZvIC5pY29uLXdyYXAgaSB7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA0MDBweCAtIDY0MHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogNDAwcHgpXG5hbmQgKG1heC13aWR0aCA6IDY0MHB4KSB7XG5cblx0LypcdEZPT1RFUiAtLS0tLS0tLS0tICovXG5cblx0I2Zvb3Rlci10b3AgLmlubmVyID4gZGl2Om50aC1jaGlsZCgyKSB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuXG5cdCNmb290ZXItdG9wICNzb2NpYWwge1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0fVxuXG5cdCNmb290ZXItdG9wIC5pbm5lciA+IGRpdjpsYXN0LWNoaWxkIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cblx0I2Zvb3Rlci10b3AgdWwuY29udGFjdC1pbmZvIC5mbGV4LWNvbnRhaW5lciB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDU2MHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWF4LXdpZHRoIDogNTYwcHgpIHtcblxuXHQvKlx0SEVBREVSIC0tLS0tLS0tLS0gKi9cblx0XG5cdC8qXHRCQU5ORVIgLS0tLS0tICovXG5cblx0I2Jhbm5lcixcblx0I2Jhbm5lcjpub3QoLmludGVybmFsKSAjYmFubmVyLWludC13cmFwLFxuXHQjYmFubmVyIC5iYW5uZXItc2xpZGUge1xuXHRcdG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA2MHB4KTtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA1NjBweCAtIDgwMHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogNTYwcHgpXG5hbmQgKG1heC13aWR0aCA6IDgwMHB4KSB7XG5cblx0LypcdEhFQURFUiAtLS0tLS0tLS0tICovXG5cblx0LypcdEJhbm5lciAtLS0tLS0gKi9cblxuXHQjYmFubmVyLFxuXHQjYmFubmVyOm5vdCguaW50ZXJuYWwpICNiYW5uZXItaW50LXdyYXAsXG5cdCNiYW5uZXIgLmJhbm5lci1zbGlkZSB7XG5cdFx0bWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDc1cHgpO1xuXHR9XG5cblxuXHQvKlx0UEFHRVMgLS0tLS0tLS0tLSAqL1xuXG5cdC8qICBDT05UQUNUIC0tLS0tLSAqL1xuXG5cdCNnb29nbGUtbWFwIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMzMuMzMzMyU7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gc2l6ZXMgNjQwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtYXgtd2lkdGggOiA2NDBweCkge1xuXG5cdC8qXHRIRUFERVIgLS0tLS0tLS0tLSAqL1xuXG5cdC8qXHRCQU5ORVIgLS0tLS0tICovXG5cblx0I2Jhbm5lciAubG9nbyB7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgNjQwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWluLXdpZHRoIDogNjQwcHgpIHtcblxuXHQvKlx0Rk9PVEVSIC0tLS0tLS0tLS0gKi9cblxuXHQjZm9vdGVyLXRvcCAuaW5uZXIgPiBkaXY6bnRoLWNoaWxkKDIpIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHQjc29jaWFsIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXG5cdCNmb290ZXItdG9wIC5pbm5lciA+IGRpdjpsYXN0LWNoaWxkIHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxuXG5cdCNmb290ZXItdG9wIHVsLmNvbnRhY3QtaW5mbyAuZmxleC1jb250YWluZXIge1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdH1cblx0XG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA2NDBweCAtIDk2MHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogNjQwcHgpXG5hbmQgKG1heC13aWR0aCA6IDk2MHB4KSB7XG5cblx0LypcdFBBR0VTIC0tLS0tLS0tLS0gKi9cblxuXHQvKlx0SE9NRSAtLS0tLS0gKi9cbi8qXG5cdCNob21lICNzZXJ2aWNlcyAuZmxleC1ib3gsXG5cdCNob21lICNwcmljaW5nIC5mbGV4LWJveCB7XG5cdFx0d2lkdGg6IDI1JTtcblx0fVxuKi9cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDgwMHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aCA6IDgwMHB4KSB7XG5cblx0LypcdEhFQURFUiAtLS0tLS0tLS0tICovXG5cblx0LypcdE5BViAtLS0tLS0gKi9cblxuXHQvKiBzdWItbmF2IGxpc3QgKi9cbi8qXHQuc3ViLW5hdi1ib3gtc2hhZG93IHtcblx0XHRib3gtc2hhZG93OiAwIDAgMTVweCByZ2JhKDAsMCwwLDAuNSk7XG5cdFx0Y2xpcDogcmVjdCgwcHgsIDYwMHB4LCAxMjAwcHgsIC0xNXB4KTsgLyogNjAwcHggYW5kIDEyMDBweCBlc3NlbnRpYWxseSBzZXQgdGhlIG1heGltdW0gd2lkdGggYW5kIGhlaWdodCAocmVzcGVjdGl2ZWx5KSBvZiB0aGUgc3ViLW5hdiBlbGVtZW50ICovIC8qXG5cdFx0LXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDAgLTE1cHggLTE1cHggLTE1cHgpO1xuXHRcdGNsaXAtcGF0aDogaW5zZXQoMCAtMTVweCAtMTVweCAtMTVweCk7XG5cdH1cbiovXG5cblx0LypcdEJBTk5FUiAtLS0tLS0gKi9cblxuXHQjYmFubmVyLFxuXHQjYmFubmVyOm5vdCguaW50ZXJuYWwpICNiYW5uZXItaW50LXdyYXAsXG5cdCNiYW5uZXIgLmJhbm5lci1zbGlkZSB7XG5cdFx0bWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDkwcHgpO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDgwMHB4IC0gOTYwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA4MDBweClcbmFuZCAobWF4LXdpZHRoIDogOTYwcHgpIHtcblxuXHQvKlx0SEVBREVSIC0tLS0tLS0tLS0gKi9cblxuXHQvKlx0TkFWIC0tLS0tLSAqL1xuXG5cdC8qIHByb3ZpZGUgbW9yZSByb29tIGZvciBtZW51IGl0ZW1zICovXG5cdCNwaG9uZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA5NjBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGggOiA5NjBweCApIHtcblxuXHQvKlx0VEVYVCBTVFlMRVMgLS0tLS0tLS0tLSAqL1xuXHRcblx0YmxvY2txdW90ZSB7XG5cdFx0cGFkZGluZzogMCA2MHB4O1xuXHR9XG5cblxuXHQvKlx0UEFHRVMgLS0tLS0tLS0tLSAqL1xuXG5cdC8qXHRIT01FIC0tLS0tLSAqL1xuLypcblx0I2hvbWUgI3NlcnZpY2VzIC5mbGV4LWJveCxcblx0I2hvbWUgI3ByaWNpbmcgLmZsZXgtYm94IHtcblx0XHR3aWR0aDogMjAlO1xuXHR9XG4qL1xuXG59Il0sInNvdXJjZVJvb3QiOiIifQ==*/