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


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


/*	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 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-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 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://cdn.locomotive.works/sites/66945f2e17f44c007d7090bb/theme/images/ajax-loader.gif?69e931d403836c1dfb2028ed04991187') 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 {
	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 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 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;
}

#banner .banner-slide {
	overflow: hidden; /* account for .bg-scale */
}

#banner .banner-slide .bg-scale {
	top: -5px;
	left: -5px;
	width: calc(100% + 10px);
	height: calc(100% + 10px);
	transform: translateZ(0);
}


/*	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-white .slick-dots li button {
	color: #fff;
}

.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: Georgia, "Times New Roman", Times, serif;
	font-weight: 400;
	color: #fff;
}

::-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;
}

body > .bg-wrap {
	z-index: -1000;
	position: fixed;
	background-image: url(https://cdn.locomotive.works/sites/66945f2e17f44c007d7090bb/theme/images/bg/bg-tile-purple.jpg?9050823dd04101cf27016d177e47af45);
	background-position: center top;
	background-repeat: repeat;
	background-size: auto;
}

/*
.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;
	letter-spacing: normal;
	font-weight: 700;
}

h1,
.h1 {
	font-family: 'Gilda Display', serif;
	font-weight: 400;
	letter-spacing: 0.1em;
}

h2,
.h2,
h3,
.h3 {
	font-family: 'Tangerine', cursive;
}

span.h1,
span.h2,
span.h3,
span.h4,
span.h5,
span.h6 {
	font-weight: 400;
}

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: 5px solid /*#colour */;
	padding-left: 30px;
}

span.light,
span.normal {
/*	font-weight: ; */
}

b,
strong,
span.semibold,
span.bold {
/*	font-weight: ; */
}

hr {
	margin: 15px 0;
/*	border-top-color: ; */
}

.no-italic {
	font-style: normal;
}


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

/*	GLOBAL --- */

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

a:hover:not(.link-button) {
	background:
		-webkit-linear-gradient(
			315deg,
			#ff6fee 0%,
			#368cff 100%
		);
	background:
		linear-gradient(
			135deg,
			#ff6fee 0%,
			#368cff 100%
		);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

a.link-button:active,
a.link-button:hover,
a.link-button:link,
a.link-button:visited {
	position: relative;
	z-index: 1;
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	min-height: 45px;
	padding: 10px 30px;
	text-decoration: none;
	background-color: #fff;
	font-weight: 400;
	color: #5f2d86;
	-webkit-text-fill-color: #5f2d86;
}

a.link-button * {
	color: #fff;
}

a.link-button:before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
	content: '';
	background:
		-webkit-linear-gradient(
			315deg,
			#ff6fee 0%,
			#368cff 100%
		);
	background:
		linear-gradient(
			135deg,
			#ff6fee 0%,
			#368cff 100%
		);
	opacity: 0;
}

a.link-button:hover:before {
	opacity: 1;
}

a.link-button:hover {
	background-color: ;
	color: #fff;
	-webkit-text-fill-color: #fff;
}

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


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

/*	Background Light ------ */

.bg-light {
	background: linear-gradient(to right,
		rgba(33,15,46,0.75) 0%,
		rgba(22,10,31,0.9) 50%,
		rgba(33,15,46,0.75) 100%
	);
	color: ;
}

.bg-light * {
	color: ;
}

.bg-light a:active,
.bg-light a:hover,
.bg-light a:link,
.bg-light a:visited {
	color: ;
	text-decoration: ;
}

.bg-light a:hover {
	color: ;
}


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

.bg-dark {
	background: linear-gradient(to right,
		rgba(12,6,17,0.75) 0%,
		rgba(12,6,17,0.9) 50%,
		rgba(12,6,17,0.75) 100%
	);
	color: ;
}

.bg-dark * {
	color: ;
}

.bg-dark a:active,
.bg-dark a:hover,
.bg-dark a:link,
.bg-dark a:visited {
	color: ;
	text-decoration: ;
}

.bg-dark a:hover {
	color: ;
}


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

.bg-wrap {
	z-index: -1; /* ensure parallax images with blur do not bleed into adjacent sections */
	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: ; 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.light,
#nav-collapse,
nav li ul {
	background:
		linear-gradient(
			to right,
			rgba(33,15,46,0.75) 0%,
			rgba(22,10,31,0.9) 50%,
			rgba(33,15,46,0.75) 100%
		),
		url(https://cdn.locomotive.works/sites/66945f2e17f44c007d7090bb/theme/images/bg/bg-tile-purple.jpg?9050823dd04101cf27016d177e47af45) center top;
}

#nav-main-container.dark {
	background:
		linear-gradient(
			to right,
			rgba(12,6,17,0.75) 0%,
			rgba(12,6,17,0.9) 50%,
			rgba(12,6,17,0.75) 100%
		),
		url(https://cdn.locomotive.works/sites/66945f2e17f44c007d7090bb/theme/images/bg/bg-tile-purple.jpg?9050823dd04101cf27016d177e47af45) center top;
}

#nav-main-container {
/*	box-shadow: 0 0 15px rgba(0,0,0,0.5); */
}

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

nav a:link,
nav a:visited,
nav a:hover,
nav a:active,
#nav-main-container [id^=phone] {
	text-decoration: none;
	color: #fff;
	font-family: 'Tangerine', cursive;
	font-size: 1.75rem !important; /* override media query rules */
	font-weight: 700;
	text-transform: ;
	letter-spacing: ;
}

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


/*	BANNER ------ */

#banner {
	margin-top: 0; /* override banner.css */
}

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

#banner span {
	padding: 0;
}

#banner .slick-arrow:hover,
#banner .slick-dots button:hover {
	background:
		-webkit-linear-gradient(
			315deg,
			#ff6fee 20%,
			#368cff 80%
		);
	background:
		linear-gradient(
			135deg,
			#ff6fee 20%,
			#368cff 80%
		);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

#banner .slick-arrow,
#banner .slick-dots li button:before {
	text-shadow: none !important;
}

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

#banner .link-button:hover {
	background-color: ;
	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: ; */
	margin: 30px 0;
}

#footer-top #social {
	margin-top: -15px;
}

/* 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;
	margin: 15px;
}
#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] {
	position: relative;
	z-index: 1;
	background: #fff;
	color: #5f2d86;
	font-weight: ;
	text-transform: ;
	letter-spacing: ;
}

button[type=button]:not(.slick-dots button, .slick-arrow):before,
button[type='reset']:before,
button[type=submit]:before,

input[type=button]:before,
input[type=file]:before,
input[type='reset']:before,
input[type=submit]:before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
	content: '';
	background:
		-webkit-linear-gradient(
			315deg,
			#ff6fee 0%,
			#368cff 100%
		);
	background:
		linear-gradient(
			135deg,
			#ff6fee 0%,
			#368cff 100%
		);
	opacity: 0;
}

button[type=button]:not(.slick-dots button, .slick-arrow):hover:before,
button[type='reset']:hover:before,
button[type=submit]:hover:before,

input[type=button]:hover:before,
input[type=file]:hover:before,
input[type='reset']:hover:before,
input[type=submit]:hover:before {
	opacity: 1;
}

button[type=button]:not(.slick-dots button, .slick-arrow):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 {
	color: #fff;
	cursor: pointer;
}

/*  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,
.submitted input:required:invalid,
select.error,
.submitted select:required:invalid,
textarea.error,
.submitted textarea:required:invalid {
	background: #ffebeb;
}

select.error,
.submitted select.error {
	color: #ff3b3b;
}

/*  Placeholders (Error) --- */

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

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

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


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

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

a:before,

button,
button:hover,
input,
input:hover {
	transition: background-color 0.25s ease, color 0.25s ease, opacity 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: 150px;
}

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

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

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


/*	HOME ------ */

/*	Song List --- */

#song-list .song-list-wrap {
    text-align: center;
}

#song-list .width-100:last-child > div {
	margin-bottom: 5px;
}

#song-list .song-list-wrap > div:last-child {
	margin-bottom: 30px;
}

#song-list #loader {
	display: block;
	width: 45px;
	margin: 15px auto;
}

/*	Testimonials --- */

.testimonial-block blockquote p {
	font-style: italic;
	font-size: 1.125em;
}

.testimonial-block p.attestant {
	margin-top: 0;
	text-align: right;
}

/*	Pager */

.carousel-container .slick-dots li button:before {
    color: #fff;
}

.carousel-container .slick-dots li.slick-active button:before {
    color: #222;
}

.carousel-container .slick-dots li:hover button:before {
		background:
		-webkit-linear-gradient(
			315deg,
			#ff6fee 0%,
			#368cff 100%
		);
	background:
		linear-gradient(
			135deg,
			#ff6fee 0%,
			#368cff 100%
		);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

/*  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) {

	/*	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: #fff; /* 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: #5f2d86; /* active dot color over page */
	}
	#banner .slick-dots.pos-abs li.slick-active button:before {
		color: #5f2d86; /* 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: #5f2d86; /* active dot color over banner */
	}

}


/*	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) {

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

	/*	BANNER ------ */

	#banner .link-button:last-child {
		margin-top: 30px;
	}


	/*	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 480px and smaller ---------- */
@media only screen 
and (max-width : 480px) {

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

	:root {
		--gilda-display-scale: 2.5; /* Scale Gilda Display */
		--tangerine-scale: 2.5; /* Scale Tangerine */
	}

}


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

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

	:root {
		--gilda-display-scale: 3.0; /* Scale Gilda Display */
		--tangerine-scale: 3.0; /* Scale Tangerine */
	}

}


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

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

	/*	NAV ------ */

	#nav-main-container:has(#nav-toggle:checked) {
		background:
			linear-gradient(
				to right,
				rgba(33,15,46,0.75) 0%,
				rgba(22,10,31,0.9) 50%,
				rgba(33,15,46,0.75) 100%
			),
			url(https://cdn.locomotive.works/sites/66945f2e17f44c007d7090bb/theme/images/bg/bg-tile-purple.jpg?9050823dd04101cf27016d177e47af45) center 60px;
	}

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

	/*	NAV ------ */

	#nav-main-container:has(#nav-toggle:checked) {
		background:
			linear-gradient(
				to right,
				rgba(33,15,46,0.75) 0%,
				rgba(22,10,31,0.9) 50%,
				rgba(33,15,46,0.75) 100%
			),
			url(https://cdn.locomotive.works/sites/66945f2e17f44c007d7090bb/theme/images/bg/bg-tile-purple.jpg?9050823dd04101cf27016d177e47af45) center 60px;
	}

	/*	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) {

}


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

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

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

	#footer-top form p {
		text-align: center !important;
	}

	#footer-top form button[type=submit] {
		margin: 0 auto;
	}

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

	/*	HOME ------ */

	/*	Song List --- */

	#song-list .song-list-wrap > div:first-child {
		text-align: right;
	}

	#song-list .song-list-wrap > div:last-child {
		text-align: left;
	}

}


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

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

	:root {
		--gilda-display-scale: 3.5; /* Scale Gilda Display */
		--tangerine-scale: 3.5; /* Scale Tangerine */
	}


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

	/*	BANNER ------ */

	#banner .link-button:last-child {
		margin-top: 45px;
	}

}


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

	#banner .link-button:last-child {
		margin-top: 60px;
	}

}


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

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

	:root {
		--gilda-display-scale: 4.5; /* Scale Gilda Display */
		--tangerine-scale: 4.5; /* Scale Tangerine */
	}

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

	/*	NAV ------ */

	/* provide more room for nav items */
/*	#phone-nav-ext {
		display: none;
	}
*/
}


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

	/*	TEXT STYLES ------ */
	
	:root {
		--gilda-display-scale: 5; /* Scale Gilda Display */
		--tangerine-scale: 5; /* Scale Tangerine */
	}


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

	/*	HOME ------ */

	/*	Testimonials --- */

	.section-testimonial .testimonial-wrap {
		padding: 15px 30px;
	}

}


/* Font-specific scaling adjustments */
#banner .h1 {
	font-size: calc(var(--gilda-display-scale) * 1.25em);
}

h2,
.h2,
h3,
.h3:not(i) {
	font-size: calc(var(--tangerine-scale) * 1em);
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL21udC9qL1VzZXJzL0x1a2UvcHJvamVjdC1ub2RlLW1vZHVsZXMvbm9kZV9tb2R1bGVzL2h0bWw1LWJvaWxlcnBsYXRlL2Rpc3QvY3NzL3N0eWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3ZlbmRvci9pY29tb29uLmNzcyIsIndlYnBhY2s6Ly8vLi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3Jlc2V0LmNzcyIsIndlYnBhY2s6Ly8vLi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Jhc2UuY3NzIiwid2VicGFjazovLy8uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY29tcG9uZW50cy9iYW5uZXIuY3NzIiwid2VicGFjazovLy8uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY29tcG9uZW50cy9jYXJvdXNlbC5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL25hdi5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL3NlY3Rpb25zLmNzcyIsIndlYnBhY2s6Ly8vLi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL21vZHVsZXMvdGVzdGltb25pYWxzLmNzcyIsIndlYnBhY2s6Ly8vLi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL21haW4uY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQ3JQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQztBQ2orQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4Qjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFDQUFxQztBQUNyQyxTO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDO0FDeEVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwyQkFBMkI7QUFDM0I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7O0FBRUE7QUFDQSx5QkFBeUI7QUFDekI7O0FBRUE7QUFDQSxnQ0FBZ0M7QUFDaEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGNBQWM7QUFDZDs7QUFFQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUI7QUFDbkI7O0FBRUE7QUFDQSxrQkFBa0I7QUFDbEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdUJBQXVCO0FBQ3ZCOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSwyQkFBMkI7QUFDM0I7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEM7QUM1OUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsZ0JBQWdCO0FBQ2hCOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxnQkFBZ0I7QUFDaEI7O0FBRUEsQztBQzdTQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxlQUFlO0FBQ2YsbUJBQW1CO0FBQ25COzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsQztBQzNWQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtSEFBbUg7QUFDbkg7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxtSEFBbUg7QUFDbkg7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCOztBQUVBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CO0FBQ3BCOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLGNBQWM7QUFDZCxxQ0FBcUM7QUFDckM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQSxhQUFhO0FBQ2I7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUEsWTtBQUNBLGtCQUFrQjtBQUNsQjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQSxZO0FBQ0Esa0JBQWtCO0FBQ2xCOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUEsWTtBQUNBLGtCQUFrQjtBQUNsQjs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQSxVQUFVO0FBQ1Y7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQSxXQUFXO0FBQ1g7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0NBQXNDO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QixlQUFlO0FBQ2Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxDO0FDbHdCQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxjQUFjO0FBQ2Q7QUFDQSxlQUFlO0FBQ2Y7QUFDQSxzQkFBc0I7QUFDdEI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQSxZQUFZO0FBQ1o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBLGNBQWM7QUFDZDtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CO0FBQ3BCLDRCQUE0QjtBQUM1Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQjtBQUNsQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQSxrQkFBa0I7QUFDbEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxDO0FDL2JBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxDO0FDL0JBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQjtBQUNsQix1QkFBdUI7QUFDdkI7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjs7QUFFQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQSxhQUFhO0FBQ2I7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBLFU7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdDQUF3QztBQUN4Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQSxlQUFlO0FBQ2Y7O0FBRUE7QUFDQSxjQUFjO0FBQ2Q7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQSx5QkFBeUI7QUFDekI7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLGNBQWM7QUFDZDs7QUFFQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxjQUFjO0FBQ2Q7O0FBRUE7QUFDQSxpQkFBaUI7QUFDakI7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLDZCQUE2QjtBQUM3Qix5QkFBeUI7QUFDekI7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsNkJBQTZCO0FBQzdCLHlCQUF5QjtBQUN6Qjs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLDZCQUE2QjtBQUM3Qix5QkFBeUI7QUFDekI7OztBQUdBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSw2QkFBNkI7QUFDN0IseUJBQXlCO0FBQ3pCOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsMkJBQTJCO0FBQzNCLHVCQUF1QjtBQUN2Qjs7O0FBR0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQyIsImZpbGUiOiJzdHlsZXNoZWV0cy9hcHBsaWNhdGlvbi5idW5kbGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohIEhUTUw1IEJvaWxlcnBsYXRlIHY5LjAuMSB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly9odG1sNWJvaWxlcnBsYXRlLmNvbS8gKi9cblxuLyogbWFpbi5jc3MgMy4wLjAgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL21haW4uY3NzI3JlYWRtZSAqL1xuLypcbiAqIFdoYXQgZm9sbG93cyBpcyB0aGUgcmVzdWx0IG9mIG11Y2ggcmVzZWFyY2ggb24gY3Jvc3MtYnJvd3NlciBzdHlsaW5nLlxuICogQ3JlZGl0IGxlZnQgaW5saW5lIGFuZCBiaWcgdGhhbmtzIHRvIE5pY29sYXMgR2FsbGFnaGVyLCBKb25hdGhhbiBOZWFsLFxuICogS3JvYyBDYW1lbiwgYW5kIHRoZSBINUJQIGRldiBjb21tdW5pdHkgYW5kIHRlYW0uXG4gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2Ugc3R5bGVzOiBvcGluaW9uYXRlZCBkZWZhdWx0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaHRtbCB7XG4gIGNvbG9yOiAjMjIyO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLypcbiAqIFJlbW92ZSB0ZXh0LXNoYWRvdyBpbiBzZWxlY3Rpb24gaGlnaGxpZ2h0OlxuICogaHR0cHM6Ly90d2l0dGVyLmNvbS9taWtldGF5bHIvc3RhdHVzLzEyMjI4ODA1MzAxXG4gKlxuICogQ3VzdG9taXplIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIHRvIG1hdGNoIHlvdXIgZGVzaWduLlxuICovXG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLypcbiAqIEEgYmV0dGVyIGxvb2tpbmcgZGVmYXVsdCBob3Jpem9udGFsIHJ1bGVcbiAqL1xuXG5ociB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luOiAxZW0gMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gYXVkaW8sIGNhbnZhcywgaWZyYW1lcyxcbiAqIGltYWdlcywgdmlkZW9zIGFuZCB0aGUgYm90dG9tIG9mIHRoZWlyIGNvbnRhaW5lcnM6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvNDQwXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qXG4gKiBSZW1vdmUgZGVmYXVsdCBmaWVsZHNldCBzdHlsZXMuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIEFsbG93IG9ubHkgdmVydGljYWwgcmVzaXppbmcgb2YgdGV4dGFyZWFzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEF1dGhvcidzIGN1c3RvbSBzdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWxwZXIgY2xhc3Nlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnNcbiAqL1xuXG4uaGlkZGVuLFxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqL1xuXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxcHg7XG4gIC8qIDEgKi9cbn1cblxuLypcbiAqIEV4dGVuZHMgdGhlIC52aXN1YWxseS1oaWRkZW4gY2xhc3MgdG8gYWxsb3cgdGhlIGVsZW1lbnRcbiAqIHRvIGJlIGZvY3VzYWJsZSB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkOlxuICogaHR0cHM6Ly93d3cuZHJ1cGFsLm9yZy9ub2RlLzg5NzYzOFxuICovXG5cbi52aXN1YWxseS1oaWRkZW4uZm9jdXNhYmxlOmFjdGl2ZSxcbi52aXN1YWxseS1oaWRkZW4uZm9jdXNhYmxlOmZvY3VzIHtcbiAgY2xpcDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi8qXG4gKiBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzLCBidXQgbWFpbnRhaW4gbGF5b3V0XG4gKi9cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcbiAqIENsZWFyZml4OiBjb250YWluIGZsb2F0c1xuICpcbiAqIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4gKiBgOjpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuICovXG5cbi5jbGVhcmZpeDo6YmVmb3JlLFxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFWEFNUExFIE1lZGlhIFF1ZXJpZXMgZm9yIFJlc3BvbnNpdmUgRGVzaWduLlxuICAgVGhlc2UgZXhhbXBsZXMgb3ZlcnJpZGUgdGhlIHByaW1hcnkgKCdtb2JpbGUgZmlyc3QnKSBzdHlsZXMuXG4gICBNb2RpZnkgYXMgY29udGVudCByZXF1aXJlcy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzVlbSkge1xuICAvKiBTdHlsZSBhZGp1c3RtZW50cyBmb3Igdmlld3BvcnRzIHRoYXQgbWVldCB0aGUgY29uZGl0aW9uICovXG59XG5cbkBtZWRpYSBwcmludCxcbiAgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4yNSksXG4gIChtaW4tcmVzb2x1dGlvbjogMS4yNWRwcHgpLFxuICAobWluLXJlc29sdXRpb246IDEyMGRwaSkge1xuICAvKiBTdHlsZSBhZGp1c3RtZW50cyBmb3IgaGlnaCByZXNvbHV0aW9uIGRldmljZXMgKi9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByaW50IHN0eWxlcy5cbiAgIElubGluZWQgdG8gYXZvaWQgdGhlIGFkZGl0aW9uYWwgSFRUUCByZXF1ZXN0OlxuICAgaHR0cHM6Ly93d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIHByaW50IHtcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgLyogQmxhY2sgcHJpbnRzIGZhc3RlciAqL1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIGFbaHJlZl06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgfVxuXG4gIGFiYnJbdGl0bGVdOjphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG5cbiAgLypcbiAgICogRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICogb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgKi9cbiAgYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgcHJlIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgfVxuXG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cblxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cblxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG5cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgfVxufVxuXG4iLCJAZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6ICdpY29tb29uJztcblx0c3JjOlx0dXJsKC4uL2ZvbnRzL2ljb21vb24uZW90KTtcblx0c3JjOlx0dXJsKC4uL2ZvbnRzL2ljb21vb24uZW90I2llZml4KSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG5cdFx0XHR1cmwoLi4vZm9udHMvaWNvbW9vbi50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcblx0XHRcdHVybCguLi9mb250cy9pY29tb29uLndvZmYpIGZvcm1hdCgnd29mZicpLFxuXHRcdFx0dXJsKC4uL2ZvbnRzL2ljb21vb24uc3ZnI2ljb21vb24pIGZvcm1hdCgnc3ZnJyk7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC1kaXNwbGF5OiBibG9jaztcbn1cblxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcblx0LyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cblx0Zm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuXHRzcGVhazogbm9uZTtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRmb250LXZhcmlhbnQ6IG5vcm1hbDtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXG5cdC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmljb24taG9tZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkwMFwiO1xufVxuLmljb24taG9tZTI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MDFcIjtcbn1cbi5pY29uLWhvbWUzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTAyXCI7XG59XG4uaWNvbi1vZmZpY2U6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MDNcIjtcbn1cbi5pY29uLW5ld3NwYXBlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkwNFwiO1xufVxuLmljb24tcGVuY2lsOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTA1XCI7XG59XG4uaWNvbi1wZW5jaWwyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTA2XCI7XG59XG4uaWNvbi1xdWlsbDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkwN1wiO1xufVxuLmljb24tcGVuOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTA4XCI7XG59XG4uaWNvbi1ibG9nOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTA5XCI7XG59XG4uaWNvbi1leWVkcm9wcGVyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTBBXCI7XG59XG4uaWNvbi1kcm9wbGV0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTBCXCI7XG59XG4uaWNvbi1wYWludC1mb3JtYXQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MENcIjtcbn1cbi5pY29uLWltYWdlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTBEXCI7XG59XG4uaWNvbi1pbWFnZXM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MEVcIjtcbn1cbi5pY29uLWNhbWVyYTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkwRlwiO1xufVxuLmljb24taGVhZHBob25lczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkxMFwiO1xufVxuLmljb24tbXVzaWM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MTFcIjtcbn1cbi5pY29uLXBsYXk6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MTJcIjtcbn1cbi5pY29uLWZpbG06YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MTNcIjtcbn1cbi5pY29uLXZpZGVvLWNhbWVyYTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkxNFwiO1xufVxuLmljb24tZGljZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkxNVwiO1xufVxuLmljb24tcGFjbWFuOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTE2XCI7XG59XG4uaWNvbi1zcGFkZXM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MTdcIjtcbn1cbi5pY29uLWNsdWJzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTE4XCI7XG59XG4uaWNvbi1kaWFtb25kczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkxOVwiO1xufVxuLmljb24tYnVsbGhvcm46YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MUFcIjtcbn1cbi5pY29uLWNvbm5lY3Rpb246YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MUJcIjtcbn1cbi5pY29uLXBvZGNhc3Q6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MUNcIjtcbn1cbi5pY29uLWZlZWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MURcIjtcbn1cbi5pY29uLW1pYzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkxRVwiO1xufVxuLmljb24tYm9vazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkxRlwiO1xufVxuLmljb24tYm9va3M6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MjBcIjtcbn1cbi5pY29uLWxpYnJhcnk6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MjFcIjtcbn1cbi5pY29uLWZpbGUtdGV4dDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkyMlwiO1xufVxuLmljb24tcHJvZmlsZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkyM1wiO1xufVxuLmljb24tZmlsZS1lbXB0eTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkyNFwiO1xufVxuLmljb24tZmlsZXMtZW1wdHk6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MjVcIjtcbn1cbi5pY29uLWZpbGUtdGV4dDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MjZcIjtcbn1cbi5pY29uLWZpbGUtcGljdHVyZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkyN1wiO1xufVxuLmljb24tZmlsZS1tdXNpYzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkyOFwiO1xufVxuLmljb24tZmlsZS1wbGF5OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTI5XCI7XG59XG4uaWNvbi1maWxlLXZpZGVvOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTJBXCI7XG59XG4uaWNvbi1maWxlLXppcDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkyQlwiO1xufVxuLmljb24tY29weTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkyQ1wiO1xufVxuLmljb24tcGFzdGU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MkRcIjtcbn1cbi5pY29uLXN0YWNrOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTJFXCI7XG59XG4uaWNvbi1mb2xkZXI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MkZcIjtcbn1cbi5pY29uLWZvbGRlci1vcGVuOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTMwXCI7XG59XG4uaWNvbi1mb2xkZXItcGx1czpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkzMVwiO1xufVxuLmljb24tZm9sZGVyLW1pbnVzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTMyXCI7XG59XG4uaWNvbi1mb2xkZXItZG93bmxvYWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MzNcIjtcbn1cbi5pY29uLWZvbGRlci11cGxvYWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MzRcIjtcbn1cbi5pY29uLXByaWNlLXRhZzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkzNVwiO1xufVxuLmljb24tcHJpY2UtdGFnczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkzNlwiO1xufVxuLmljb24tYmFyY29kZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkzN1wiO1xufVxuLmljb24tcXJjb2RlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTM4XCI7XG59XG4uaWNvbi10aWNrZXQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5MzlcIjtcbn1cbi5pY29uLWNhcnQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5M0FcIjtcbn1cbi5pY29uLWNvaW4tZG9sbGFyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTNCXCI7XG59XG4uaWNvbi1jb2luLWV1cm86YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5M0NcIjtcbn1cbi5pY29uLWNvaW4tcG91bmQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5M0RcIjtcbn1cbi5pY29uLWNvaW4teWVuOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTNFXCI7XG59XG4uaWNvbi1jcmVkaXQtY2FyZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTkzRlwiO1xufVxuLmljb24tY2FsY3VsYXRvcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk0MFwiO1xufVxuLmljb24tbGlmZWJ1b3k6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NDFcIjtcbn1cbi5pY29uLXBob25lOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTQyXCI7XG59XG4uaWNvbi1waG9uZS1oYW5nLXVwOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTQzXCI7XG59XG4uaWNvbi1hZGRyZXNzLWJvb2s6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NDRcIjtcbn1cbi5pY29uLWVudmVsb3A6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NDVcIjtcbn1cbi5pY29uLXB1c2hwaW46YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NDZcIjtcbn1cbi5pY29uLWxvY2F0aW9uOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTQ3XCI7XG59XG4uaWNvbi1sb2NhdGlvbjI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NDhcIjtcbn1cbi5pY29uLWNvbXBhc3M6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NDlcIjtcbn1cbi5pY29uLWNvbXBhc3MyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTRBXCI7XG59XG4uaWNvbi1tYXA6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NEJcIjtcbn1cbi5pY29uLW1hcDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NENcIjtcbn1cbi5pY29uLWhpc3Rvcnk6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NERcIjtcbn1cbi5pY29uLWNsb2NrOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTRFXCI7XG59XG4uaWNvbi1jbG9jazI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NEZcIjtcbn1cbi5pY29uLWFsYXJtOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTUwXCI7XG59XG4uaWNvbi1iZWxsOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTUxXCI7XG59XG4uaWNvbi1zdG9wd2F0Y2g6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NTJcIjtcbn1cbi5pY29uLWNhbGVuZGFyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTUzXCI7XG59XG4uaWNvbi1wcmludGVyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTU0XCI7XG59XG4uaWNvbi1rZXlib2FyZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk1NVwiO1xufVxuLmljb24tZGlzcGxheTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk1NlwiO1xufVxuLmljb24tbGFwdG9wOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTU3XCI7XG59XG4uaWNvbi1tb2JpbGU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NThcIjtcbn1cbi5pY29uLW1vYmlsZTI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NTlcIjtcbn1cbi5pY29uLXRhYmxldDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk1QVwiO1xufVxuLmljb24tdHY6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NUJcIjtcbn1cbi5pY29uLWRyYXdlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk1Q1wiO1xufVxuLmljb24tZHJhd2VyMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk1RFwiO1xufVxuLmljb24tYm94LWFkZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk1RVwiO1xufVxuLmljb24tYm94LXJlbW92ZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk1RlwiO1xufVxuLmljb24tZG93bmxvYWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NjBcIjtcbn1cbi5pY29uLXVwbG9hZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk2MVwiO1xufVxuLmljb24tZmxvcHB5LWRpc2s6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NjJcIjtcbn1cbi5pY29uLWRyaXZlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTYzXCI7XG59XG4uaWNvbi1kYXRhYmFzZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk2NFwiO1xufVxuLmljb24tdW5kbzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk2NVwiO1xufVxuLmljb24tcmVkbzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk2NlwiO1xufVxuLmljb24tdW5kbzI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NjdcIjtcbn1cbi5pY29uLXJlZG8yOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTY4XCI7XG59XG4uaWNvbi1mb3J3YXJkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTY5XCI7XG59XG4uaWNvbi1yZXBseTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk2QVwiO1xufVxuLmljb24tYnViYmxlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTZCXCI7XG59XG4uaWNvbi1idWJibGVzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTZDXCI7XG59XG4uaWNvbi1idWJibGVzMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk2RFwiO1xufVxuLmljb24tYnViYmxlMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk2RVwiO1xufVxuLmljb24tYnViYmxlczM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NkZcIjtcbn1cbi5pY29uLWJ1YmJsZXM0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTcwXCI7XG59XG4uaWNvbi11c2VyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTcxXCI7XG59XG4uaWNvbi11c2VyczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk3MlwiO1xufVxuLmljb24tdXNlci1wbHVzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTczXCI7XG59XG4uaWNvbi11c2VyLW1pbnVzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTc0XCI7XG59XG4uaWNvbi11c2VyLWNoZWNrOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTc1XCI7XG59XG4uaWNvbi11c2VyLXRpZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk3NlwiO1xufVxuLmljb24tcXVvdGVzLWxlZnQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5NzdcIjtcbn1cbi5pY29uLXF1b3Rlcy1yaWdodDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk3OFwiO1xufVxuLmljb24taG91ci1nbGFzczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk3OVwiO1xufVxuLmljb24tc3Bpbm5lcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk3QVwiO1xufVxuLmljb24tc3Bpbm5lcjI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5N0JcIjtcbn1cbi5pY29uLXNwaW5uZXIzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTdDXCI7XG59XG4uaWNvbi1zcGlubmVyNDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk3RFwiO1xufVxuLmljb24tc3Bpbm5lcjU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5N0VcIjtcbn1cbi5pY29uLXNwaW5uZXI2OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTdGXCI7XG59XG4uaWNvbi1zcGlubmVyNzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk4MFwiO1xufVxuLmljb24tc3Bpbm5lcjg6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5ODFcIjtcbn1cbi5pY29uLXNwaW5uZXI5OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTgyXCI7XG59XG4uaWNvbi1zcGlubmVyMTA6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5ODNcIjtcbn1cbi5pY29uLXNwaW5uZXIxMTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk4NFwiO1xufVxuLmljb24tYmlub2N1bGFyczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk4NVwiO1xufVxuLmljb24tc2VhcmNoOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTg2XCI7XG59XG4uaWNvbi16b29tLWluOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTg3XCI7XG59XG4uaWNvbi16b29tLW91dDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk4OFwiO1xufVxuLmljb24tZW5sYXJnZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk4OVwiO1xufVxuLmljb24tc2hyaW5rOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOThBXCI7XG59XG4uaWNvbi1lbmxhcmdlMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk4QlwiO1xufVxuLmljb24tc2hyaW5rMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk4Q1wiO1xufVxuLmljb24ta2V5OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOThEXCI7XG59XG4uaWNvbi1rZXkyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOThFXCI7XG59XG4uaWNvbi1sb2NrOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOThGXCI7XG59XG4uaWNvbi11bmxvY2tlZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk5MFwiO1xufVxuLmljb24td3JlbmNoOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTkxXCI7XG59XG4uaWNvbi1lcXVhbGl6ZXI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5OTJcIjtcbn1cbi5pY29uLWVxdWFsaXplcjI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5OTNcIjtcbn1cbi5pY29uLWNvZzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk5NFwiO1xufVxuLmljb24tY29nczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk5NVwiO1xufVxuLmljb24taGFtbWVyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTk2XCI7XG59XG4uaWNvbi1tYWdpYy13YW5kOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTk3XCI7XG59XG4uaWNvbi1haWQta2l0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOTk4XCI7XG59XG4uaWNvbi1idWc6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5OTlcIjtcbn1cbi5pY29uLXBpZS1jaGFydDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk5QVwiO1xufVxuLmljb24tc3RhdHMtZG90czpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk5QlwiO1xufVxuLmljb24tc3RhdHMtYmFyczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk5Q1wiO1xufVxuLmljb24tc3RhdHMtYmFyczI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5OURcIjtcbn1cbi5pY29uLXRyb3BoeTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk5RVwiO1xufVxuLmljb24tZ2lmdDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTk5RlwiO1xufVxuLmljb24tZ2xhc3M6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QTBcIjtcbn1cbi5pY29uLWdsYXNzMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlBMVwiO1xufVxuLmljb24tbXVnOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUEyXCI7XG59XG4uaWNvbi1zcG9vbi1rbmlmZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlBM1wiO1xufVxuLmljb24tbGVhZjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlBNFwiO1xufVxuLmljb24tcm9ja2V0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUE1XCI7XG59XG4uaWNvbi1tZXRlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlBNlwiO1xufVxuLmljb24tbWV0ZXIyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUE3XCI7XG59XG4uaWNvbi1oYW1tZXIyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUE4XCI7XG59XG4uaWNvbi1maXJlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUE5XCI7XG59XG4uaWNvbi1sYWI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QUFcIjtcbn1cbi5pY29uLW1hZ25ldDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlBQlwiO1xufVxuLmljb24tYmluOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUFDXCI7XG59XG4uaWNvbi1iaW4yOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUFEXCI7XG59XG4uaWNvbi1icmllZmNhc2U6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QUVcIjtcbn1cbi5pY29uLWFpcnBsYW5lOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUFGXCI7XG59XG4uaWNvbi10cnVjazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlCMFwiO1xufVxuLmljb24tcm9hZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlCMVwiO1xufVxuLmljb24tYWNjZXNzaWJpbGl0eTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlCMlwiO1xufVxuLmljb24tdGFyZ2V0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUIzXCI7XG59XG4uaWNvbi1zaGllbGQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QjRcIjtcbn1cbi5pY29uLXBvd2VyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUI1XCI7XG59XG4uaWNvbi1zd2l0Y2g6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QjZcIjtcbn1cbi5pY29uLXBvd2VyLWNvcmQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QjdcIjtcbn1cbi5pY29uLWNsaXBib2FyZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlCOFwiO1xufVxuLmljb24tbGlzdC1udW1iZXJlZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlCOVwiO1xufVxuLmljb24tbGlzdDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlCQVwiO1xufVxuLmljb24tbGlzdDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QkJcIjtcbn1cbi5pY29uLXRyZWU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QkNcIjtcbn1cbi5pY29uLW1lbnU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QkRcIjtcbn1cbi5pY29uLW1lbnUyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUJFXCI7XG59XG4uaWNvbi1tZW51MzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlCRlwiO1xufVxuLmljb24tbWVudTQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QzBcIjtcbn1cbi5pY29uLWNsb3VkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUMxXCI7XG59XG4uaWNvbi1jbG91ZC1kb3dubG9hZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlDMlwiO1xufVxuLmljb24tY2xvdWQtdXBsb2FkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUMzXCI7XG59XG4uaWNvbi1jbG91ZC1jaGVjazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlDNFwiO1xufVxuLmljb24tZG93bmxvYWQyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUM1XCI7XG59XG4uaWNvbi11cGxvYWQyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUM2XCI7XG59XG4uaWNvbi1kb3dubG9hZDM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QzdcIjtcbn1cbi5pY29uLXVwbG9hZDM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5QzhcIjtcbn1cbi5pY29uLXNwaGVyZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlDOVwiO1xufVxuLmljb24tZWFydGg6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5Q0FcIjtcbn1cbi5pY29uLWxpbms6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5Q0JcIjtcbn1cbi5pY29uLWZsYWc6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5Q0NcIjtcbn1cbi5pY29uLWF0dGFjaG1lbnQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5Q0RcIjtcbn1cbi5pY29uLWV5ZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlDRVwiO1xufVxuLmljb24tZXllLXBsdXM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5Q0ZcIjtcbn1cbi5pY29uLWV5ZS1taW51czpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlEMFwiO1xufVxuLmljb24tZXllLWJsb2NrZWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RDFcIjtcbn1cbi5pY29uLWJvb2ttYXJrOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUQyXCI7XG59XG4uaWNvbi1ib29rbWFya3M6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RDNcIjtcbn1cbi5pY29uLXN1bjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlENFwiO1xufVxuLmljb24tY29udHJhc3Q6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RDVcIjtcbn1cbi5pY29uLWJyaWdodG5lc3MtY29udHJhc3Q6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RDZcIjtcbn1cbi5pY29uLXN0YXItZW1wdHk6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RDdcIjtcbn1cbi5pY29uLXN0YXItaGFsZjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlEOFwiO1xufVxuLmljb24tc3Rhci1mdWxsOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUQ5XCI7XG59XG4uaWNvbi1oZWFydDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlEQVwiO1xufVxuLmljb24taGVhcnQtYnJva2VuOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOURCXCI7XG59XG4uaWNvbi1tYW46YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RENcIjtcbn1cbi5pY29uLXdvbWFuOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUREXCI7XG59XG4uaWNvbi1tYW4td29tYW46YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5REVcIjtcbn1cbi5pY29uLWhhcHB5OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOURGXCI7XG59XG4uaWNvbi1oYXBweTI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RTBcIjtcbn1cbi5pY29uLXNtaWxlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUUxXCI7XG59XG4uaWNvbi1zbWlsZTI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RTJcIjtcbn1cbi5pY29uLXRvbmd1ZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlFM1wiO1xufVxuLmljb24tdG9uZ3VlMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlFNFwiO1xufVxuLmljb24tc2FkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUU1XCI7XG59XG4uaWNvbi1zYWQyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUU2XCI7XG59XG4uaWNvbi13aW5rOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUU3XCI7XG59XG4uaWNvbi13aW5rMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlFOFwiO1xufVxuLmljb24tZ3JpbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlFOVwiO1xufVxuLmljb24tZ3JpbjI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RUFcIjtcbn1cbi5pY29uLWNvb2w6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RUJcIjtcbn1cbi5pY29uLWNvb2wyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUVDXCI7XG59XG4uaWNvbi1hbmdyeTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlFRFwiO1xufVxuLmljb24tYW5ncnkyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUVFXCI7XG59XG4uaWNvbi1ldmlsOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUVGXCI7XG59XG4uaWNvbi1ldmlsMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlGMFwiO1xufVxuLmljb24tc2hvY2tlZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlGMVwiO1xufVxuLmljb24tc2hvY2tlZDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RjJcIjtcbn1cbi5pY29uLWJhZmZsZWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RjNcIjtcbn1cbi5pY29uLWJhZmZsZWQyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUY0XCI7XG59XG4uaWNvbi1jb25mdXNlZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlGNVwiO1xufVxuLmljb24tY29uZnVzZWQyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUY2XCI7XG59XG4uaWNvbi1uZXV0cmFsOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUY3XCI7XG59XG4uaWNvbi1uZXV0cmFsMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlGOFwiO1xufVxuLmljb24taGlwc3RlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlGOVwiO1xufVxuLmljb24taGlwc3RlcjI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEU5RkFcIjtcbn1cbi5pY29uLXdvbmRlcmluZzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlGQlwiO1xufVxuLmljb24td29uZGVyaW5nMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTlGQ1wiO1xufVxuLmljb24tc2xlZXB5OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUZEXCI7XG59XG4uaWNvbi1zbGVlcHkyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUZFXCI7XG59XG4uaWNvbi1mcnVzdHJhdGVkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFOUZGXCI7XG59XG4uaWNvbi1mcnVzdHJhdGVkMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEwMFwiO1xufVxuLmljb24tY3J5aW5nOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTAxXCI7XG59XG4uaWNvbi1jcnlpbmcyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTAyXCI7XG59XG4uaWNvbi1wb2ludC11cDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEwM1wiO1xufVxuLmljb24tcG9pbnQtcmlnaHQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMDRcIjtcbn1cbi5pY29uLXBvaW50LWRvd246YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMDVcIjtcbn1cbi5pY29uLXBvaW50LWxlZnQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMDZcIjtcbn1cbi5pY29uLXdhcm5pbmc6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMDdcIjtcbn1cbi5pY29uLW5vdGlmaWNhdGlvbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEwOFwiO1xufVxuLmljb24tcXVlc3Rpb246YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMDlcIjtcbn1cbi5pY29uLXBsdXM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMEFcIjtcbn1cbi5pY29uLW1pbnVzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTBCXCI7XG59XG4uaWNvbi1pbmZvOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTBDXCI7XG59XG4uaWNvbi1jYW5jZWwtY2lyY2xlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTBEXCI7XG59XG4uaWNvbi1ibG9ja2VkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTBFXCI7XG59XG4uaWNvbi1jcm9zczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEwRlwiO1xufVxuLmljb24tY2hlY2ttYXJrOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTEwXCI7XG59XG4uaWNvbi1jaGVja21hcmsyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTExXCI7XG59XG4uaWNvbi1zcGVsbC1jaGVjazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUExMlwiO1xufVxuLmljb24tZW50ZXI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMTNcIjtcbn1cbi5pY29uLWV4aXQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMTRcIjtcbn1cbi5pY29uLXBsYXkyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTE1XCI7XG59XG4uaWNvbi1wYXVzZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUExNlwiO1xufVxuLmljb24tc3RvcDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUExN1wiO1xufVxuLmljb24tcHJldmlvdXM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMThcIjtcbn1cbi5pY29uLW5leHQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMTlcIjtcbn1cbi5pY29uLWJhY2t3YXJkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTFBXCI7XG59XG4uaWNvbi1mb3J3YXJkMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUExQlwiO1xufVxuLmljb24tcGxheTM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMUNcIjtcbn1cbi5pY29uLXBhdXNlMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUExRFwiO1xufVxuLmljb24tc3RvcDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMUVcIjtcbn1cbi5pY29uLWJhY2t3YXJkMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUExRlwiO1xufVxuLmljb24tZm9yd2FyZDM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMjBcIjtcbn1cbi5pY29uLWZpcnN0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTIxXCI7XG59XG4uaWNvbi1sYXN0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTIyXCI7XG59XG4uaWNvbi1wcmV2aW91czI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMjNcIjtcbn1cbi5pY29uLW5leHQyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTI0XCI7XG59XG4uaWNvbi1lamVjdDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEyNVwiO1xufVxuLmljb24tdm9sdW1lLWhpZ2g6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMjZcIjtcbn1cbi5pY29uLXZvbHVtZS1tZWRpdW06YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMjdcIjtcbn1cbi5pY29uLXZvbHVtZS1sb3c6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMjhcIjtcbn1cbi5pY29uLXZvbHVtZS1tdXRlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTI5XCI7XG59XG4uaWNvbi12b2x1bWUtbXV0ZTI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMkFcIjtcbn1cbi5pY29uLXZvbHVtZS1pbmNyZWFzZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEyQlwiO1xufVxuLmljb24tdm9sdW1lLWRlY3JlYXNlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTJDXCI7XG59XG4uaWNvbi1sb29wOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTJEXCI7XG59XG4uaWNvbi1sb29wMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEyRVwiO1xufVxuLmljb24taW5maW5pdGU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMkZcIjtcbn1cbi5pY29uLXNodWZmbGU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMzBcIjtcbn1cbi5pY29uLWFycm93LXVwLWxlZnQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMzFcIjtcbn1cbi5pY29uLWFycm93LXVwOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTMyXCI7XG59XG4uaWNvbi1hcnJvdy11cC1yaWdodDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEzM1wiO1xufVxuLmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMzRcIjtcbn1cbi5pY29uLWFycm93LWRvd24tcmlnaHQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMzVcIjtcbn1cbi5pY29uLWFycm93LWRvd246YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMzZcIjtcbn1cbi5pY29uLWFycm93LWRvd24tbGVmdDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEzN1wiO1xufVxuLmljb24tYXJyb3ctbGVmdDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEzOFwiO1xufVxuLmljb24tYXJyb3ctdXAtbGVmdDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBMzlcIjtcbn1cbi5pY29uLWFycm93LXVwMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEzQVwiO1xufVxuLmljb24tYXJyb3ctdXAtcmlnaHQyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTNCXCI7XG59XG4uaWNvbi1hcnJvdy1yaWdodDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBM0NcIjtcbn1cbi5pY29uLWFycm93LWRvd24tcmlnaHQyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTNEXCI7XG59XG4uaWNvbi1hcnJvdy1kb3duMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEzRVwiO1xufVxuLmljb24tYXJyb3ctZG93bi1sZWZ0MjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUEzRlwiO1xufVxuLmljb24tYXJyb3ctbGVmdDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNDBcIjtcbn1cbi5pY29uLWNpcmNsZS11cDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE0MVwiO1xufVxuLmljb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTQyXCI7XG59XG4uaWNvbi1jaXJjbGUtZG93bjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE0M1wiO1xufVxuLmljb24tY2lyY2xlLWxlZnQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNDRcIjtcbn1cbi5pY29uLXRhYjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE0NVwiO1xufVxuLmljb24tbW92ZS11cDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE0NlwiO1xufVxuLmljb24tbW92ZS1kb3duOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTQ3XCI7XG59XG4uaWNvbi1zb3J0LWFscGhhLWFzYzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE0OFwiO1xufVxuLmljb24tc29ydC1hbHBoYS1kZXNjOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTQ5XCI7XG59XG4uaWNvbi1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTRBXCI7XG59XG4uaWNvbi1zb3J0LW51bWJlcmljLWRlc2M6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNEJcIjtcbn1cbi5pY29uLXNvcnQtYW1vdW50LWFzYzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE0Q1wiO1xufVxuLmljb24tc29ydC1hbW91bnQtZGVzYzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE0RFwiO1xufVxuLmljb24tY29tbWFuZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE0RVwiO1xufVxuLmljb24tc2hpZnQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNEZcIjtcbn1cbi5pY29uLWN0cmw6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNTBcIjtcbn1cbi5pY29uLW9wdDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE1MVwiO1xufVxuLmljb24tY2hlY2tib3gtY2hlY2tlZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE1MlwiO1xufVxuLmljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTUzXCI7XG59XG4uaWNvbi1yYWRpby1jaGVja2VkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTU0XCI7XG59XG4uaWNvbi1yYWRpby1jaGVja2VkMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE1NVwiO1xufVxuLmljb24tcmFkaW8tdW5jaGVja2VkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTU2XCI7XG59XG4uaWNvbi1jcm9wOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTU3XCI7XG59XG4uaWNvbi1tYWtlLWdyb3VwOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTU4XCI7XG59XG4uaWNvbi11bmdyb3VwOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTU5XCI7XG59XG4uaWNvbi1zY2lzc29yczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE1QVwiO1xufVxuLmljb24tZmlsdGVyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTVCXCI7XG59XG4uaWNvbi1mb250OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTVDXCI7XG59XG4uaWNvbi1saWdhdHVyZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE1RFwiO1xufVxuLmljb24tbGlnYXR1cmUyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTVFXCI7XG59XG4uaWNvbi10ZXh0LWhlaWdodDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE1RlwiO1xufVxuLmljb24tdGV4dC13aWR0aDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE2MFwiO1xufVxuLmljb24tZm9udC1zaXplOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTYxXCI7XG59XG4uaWNvbi1ib2xkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTYyXCI7XG59XG4uaWNvbi11bmRlcmxpbmU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNjNcIjtcbn1cbi5pY29uLWl0YWxpYzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE2NFwiO1xufVxuLmljb24tc3RyaWtldGhyb3VnaDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE2NVwiO1xufVxuLmljb24tb21lZ2E6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNjZcIjtcbn1cbi5pY29uLXNpZ21hOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTY3XCI7XG59XG4uaWNvbi1wYWdlLWJyZWFrOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTY4XCI7XG59XG4uaWNvbi1zdXBlcnNjcmlwdDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE2OVwiO1xufVxuLmljb24tc3Vic2NyaXB0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTZBXCI7XG59XG4uaWNvbi1zdXBlcnNjcmlwdDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNkJcIjtcbn1cbi5pY29uLXN1YnNjcmlwdDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNkNcIjtcbn1cbi5pY29uLXRleHQtY29sb3I6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNkRcIjtcbn1cbi5pY29uLXBhZ2VicmVhazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE2RVwiO1xufVxuLmljb24tY2xlYXItZm9ybWF0dGluZzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE2RlwiO1xufVxuLmljb24tdGFibGU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNzBcIjtcbn1cbi5pY29uLXRhYmxlMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE3MVwiO1xufVxuLmljb24taW5zZXJ0LXRlbXBsYXRlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTcyXCI7XG59XG4uaWNvbi1waWxjcm93OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTczXCI7XG59XG4uaWNvbi1sdHI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNzRcIjtcbn1cbi5pY29uLXJ0bDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE3NVwiO1xufVxuLmljb24tc2VjdGlvbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE3NlwiO1xufVxuLmljb24tcGFyYWdyYXBoLWxlZnQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNzdcIjtcbn1cbi5pY29uLXBhcmFncmFwaC1jZW50ZXI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBNzhcIjtcbn1cbi5pY29uLXBhcmFncmFwaC1yaWdodDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE3OVwiO1xufVxuLmljb24tcGFyYWdyYXBoLWp1c3RpZnk6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBN0FcIjtcbn1cbi5pY29uLWluZGVudC1pbmNyZWFzZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE3QlwiO1xufVxuLmljb24taW5kZW50LWRlY3JlYXNlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTdDXCI7XG59XG4uaWNvbi1zaGFyZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE3RFwiO1xufVxuLmljb24tbmV3LXRhYjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE3RVwiO1xufVxuLmljb24tZW1iZWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBN0ZcIjtcbn1cbi5pY29uLWVtYmVkMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE4MFwiO1xufVxuLmljb24tdGVybWluYWw6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBODFcIjtcbn1cbi5pY29uLXNoYXJlMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE4MlwiO1xufVxuLmljb24tbWFpbDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE4M1wiO1xufVxuLmljb24tbWFpbDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBODRcIjtcbn1cbi5pY29uLW1haWwzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTg1XCI7XG59XG4uaWNvbi1tYWlsNDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE4NlwiO1xufVxuLmljb24tYW1hem9uOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTg3XCI7XG59XG4uaWNvbi1nb29nbGU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBODhcIjtcbn1cbi5pY29uLWdvb2dsZTI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBODlcIjtcbn1cbi5pY29uLWdvb2dsZTM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOEFcIjtcbn1cbi5pY29uLWdvb2dsZS1wbHVzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQThCXCI7XG59XG4uaWNvbi1nb29nbGUtcGx1czI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOENcIjtcbn1cbi5pY29uLWdvb2dsZS1wbHVzMzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE4RFwiO1xufVxuLmljb24taGFuZ291dHM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOEVcIjtcbn1cbi5pY29uLWdvb2dsZS1kcml2ZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE4RlwiO1xufVxuLmljb24tZmFjZWJvb2s6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOTBcIjtcbn1cbi5pY29uLWZhY2Vib29rMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE5MVwiO1xufVxuLmljb24taW5zdGFncmFtOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTkyXCI7XG59XG4uaWNvbi13aGF0c2FwcDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE5M1wiO1xufVxuLmljb24tc3BvdGlmeTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE5NFwiO1xufVxuLmljb24tdGVsZWdyYW06YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOTVcIjtcbn1cbi5pY29uLXR3aXR0ZXI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOTZcIjtcbn1cbi5pY29uLXZpbmU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOTdcIjtcbn1cbi5pY29uLXZrOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQTk4XCI7XG59XG4uaWNvbi1yZW5yZW46YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOTlcIjtcbn1cbi5pY29uLXNpbmEtd2VpYm86YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOUFcIjtcbn1cbi5pY29uLXJzczpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE5QlwiO1xufVxuLmljb24tcnNzMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE5Q1wiO1xufVxuLmljb24teW91dHViZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE5RFwiO1xufVxuLmljb24teW91dHViZTI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBOUVcIjtcbn1cbi5pY29uLXR3aXRjaDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUE5RlwiO1xufVxuLmljb24tdmltZW86YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQTBcIjtcbn1cbi5pY29uLXZpbWVvMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFBMVwiO1xufVxuLmljb24tbGFueXJkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUEyXCI7XG59XG4uaWNvbi1mbGlja3I6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQTNcIjtcbn1cbi5pY29uLWZsaWNrcjI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQTRcIjtcbn1cbi5pY29uLWZsaWNrcjM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQTVcIjtcbn1cbi5pY29uLWZsaWNrcjQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQTZcIjtcbn1cbi5pY29uLWRyaWJiYmxlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUE3XCI7XG59XG4uaWNvbi1iZWhhbmNlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUE4XCI7XG59XG4uaWNvbi1iZWhhbmNlMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFBOVwiO1xufVxuLmljb24tZGV2aWFudGFydDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFBQVwiO1xufVxuLmljb24tNTAwcHg6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQUJcIjtcbn1cbi5pY29uLXN0ZWFtOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUFDXCI7XG59XG4uaWNvbi1zdGVhbTI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQURcIjtcbn1cbi5pY29uLWRyb3Bib3g6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQUVcIjtcbn1cbi5pY29uLW9uZWRyaXZlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUFGXCI7XG59XG4uaWNvbi1naXRodWI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQjBcIjtcbn1cbi5pY29uLW5wbTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFCMVwiO1xufVxuLmljb24tYmFzZWNhbXA6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQjJcIjtcbn1cbi5pY29uLXRyZWxsbzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFCM1wiO1xufVxuLmljb24td29yZHByZXNzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUI0XCI7XG59XG4uaWNvbi1qb29tbGE6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQjVcIjtcbn1cbi5pY29uLWVsbG86YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQjZcIjtcbn1cbi5pY29uLWJsb2dnZXI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQjdcIjtcbn1cbi5pY29uLWJsb2dnZXIyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUI4XCI7XG59XG4uaWNvbi10dW1ibHI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQjlcIjtcbn1cbi5pY29uLXR1bWJscjI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQkFcIjtcbn1cbi5pY29uLXlhaG9vOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUJCXCI7XG59XG4uaWNvbi15YWhvbzI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQkNcIjtcbn1cbi5pY29uLXR1eDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFCRFwiO1xufVxuLmljb24tYXBwbGVpbmM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQkVcIjtcbn1cbi5pY29uLWZpbmRlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFCRlwiO1xufVxuLmljb24tYW5kcm9pZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFDMFwiO1xufVxuLmljb24td2luZG93czpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFDMVwiO1xufVxuLmljb24td2luZG93czg6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQzJcIjtcbn1cbi5pY29uLXNvdW5kY2xvdWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQzNcIjtcbn1cbi5pY29uLXNvdW5kY2xvdWQyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUM0XCI7XG59XG4uaWNvbi1za3lwZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFDNVwiO1xufVxuLmljb24tcmVkZGl0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUM2XCI7XG59XG4uaWNvbi1oYWNrZXJuZXdzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUM3XCI7XG59XG4uaWNvbi13aWtpcGVkaWE6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQzhcIjtcbn1cbi5pY29uLWxpbmtlZGluOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUNBXCI7XG59XG4uaWNvbi1saW5rZWRpbjI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBQzlcIjtcbn1cbi5pY29uLWxhc3RmbTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFDQlwiO1xufVxuLmljb24tbGFzdGZtMjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFDQ1wiO1xufVxuLmljb24tZGVsaWNpb3VzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUNEXCI7XG59XG4uaWNvbi1zdHVtYmxldXBvbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFDRVwiO1xufVxuLmljb24tc3R1bWJsZXVwb24yOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUNGXCI7XG59XG4uaWNvbi1zdGFja292ZXJmbG93OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUQwXCI7XG59XG4uaWNvbi1waW50ZXJlc3Q6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBRDFcIjtcbn1cbi5pY29uLXBpbnRlcmVzdDI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBRDJcIjtcbn1cbi5pY29uLXhpbmc6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBRDNcIjtcbn1cbi5pY29uLXhpbmcyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUQ0XCI7XG59XG4uaWNvbi1mbGF0dHI6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBRDVcIjtcbn1cbi5pY29uLWZvdXJzcXVhcmU6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBRDZcIjtcbn1cbi5pY29uLXllbHA6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBRDdcIjtcbn1cbi5pY29uLXBheXBhbDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFEOFwiO1xufVxuLmljb24tY2hyb21lOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUQ5XCI7XG59XG4uaWNvbi1maXJlZm94OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQURBXCI7XG59XG4uaWNvbi1JRTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFEQlwiO1xufVxuLmljb24tZWRnZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFEQ1wiO1xufVxuLmljb24tc2FmYXJpOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUREXCI7XG59XG4uaWNvbi1vcGVyYTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFERVwiO1xufVxuLmljb24tZmlsZS1wZGY6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBREZcIjtcbn1cbi5pY29uLWZpbGUtb3Blbm9mZmljZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFFMFwiO1xufVxuLmljb24tZmlsZS13b3JkOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUUxXCI7XG59XG4uaWNvbi1maWxlLWV4Y2VsOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUUyXCI7XG59XG4uaWNvbi1saWJyZW9mZmljZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFFM1wiO1xufVxuLmljb24taHRtbC1maXZlOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUU0XCI7XG59XG4uaWNvbi1odG1sLWZpdmUyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUU1XCI7XG59XG4uaWNvbi1jc3MzOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUU2XCI7XG59XG4uaWNvbi1naXQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBRTdcIjtcbn1cbi5pY29uLWNvZGVwZW46YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEVBRThcIjtcbn1cbi5pY29uLXN2ZzpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFFOVwiO1xufVxuLmljb24tSWNvTW9vbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRUFFQVwiO1xufVxuLmljb24tdGlrdG9rOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUVDXCI7XG59XG4uaWNvbi14OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFQUVCXCI7XG59IiwiLypcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdElORElFLldFQiBSRVNFVCBTVFlMRVNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIG1ha2VzIHdvcmtpbmcgd2l0aCB0aGUgYm94IG1vZGVsIFdBWSBlYXNpZXIgKi9cbn1cblxuKiB7XG5cdG1hcmdpbjogMDtcbn1cblxuaHRtbCB7XG5cdGxpbmUtaGVpZ2h0OiAxLjVcbn1cblxuYm9keSB7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG5wIHtcblx0dGV4dC13cmFwOiBwcmV0dHk7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuXHRmb250OiBpbmhlcml0O1xufVxuXG4vKlx0cmVtb3ZlIDpmb2N1cyBvdXRsaW5lIG9uIGVsZW1lbnRzOyBhZGQgaW5uZXIgYW5kIG91dGVyIGJveC1zaGFkb3cgKHRvIGFjY291bnQgZm9yIGxpZ2h0IGFuZCBkYXJrIGJhY2tncm91bmRzKSAqL1xuKjpmb2N1cyB7IFxuXHRvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6XG5cdFx0MCAwIDAuNXB4IDJweCByZ2JhKDI1NSwyNTUsMjU1LDAuNSksIC8qIGlubmVyIGJvcmRlciAqL1xuXHRcdDAgMCAwLjVweCA0cHggcmdiYSgwLDAsMCwwLjUpICFpbXBvcnRhbnQgLyogb3V0ZXIgYm9yZGVyICovXG5cdDtcbn1cblxuLypcdHVubGVzcyB0aGUgSFRNTCBlbGVtZW50IGhhcyBjbGFzcyBcInRhYmJpbmdcIiAodXNlciBpcyBuYXZpZ2F0aW5nIHVzaW5nIHRoZSBUQUIga2V5IC0gc2V0IGluIG1haW4uanMpLCByZW1vdmUgYm90aCBvdXRsaW5lIGFuZCBib3gtc2hhZG93ICovXG5odG1sOm5vdCgudGFiYmluZykgKjpmb2N1cyxcbmh0bWw6bm90KC50YWJiaW5nKSAqOmZvY3VzLXZpc2libGUge1xuXHRvdXRsaW5lOiAwO1xuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qXHRyZW1vdmUgQ2hyb21lIHllbGxvdyBhdXRvLWNvbXBsZXRlIGJhY2tncm91bmQgY29sb3IgKi9cbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDUwMDBzIGVhc2UtaW4tb3V0IDBzO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDUwMDBzIGVhc2UtaW4tb3V0IDBzO1xufVxuXG4vKlx0cHJldmVudCBpT1MgYnJvd3NlcnMgcm91bmRlZCBjb3JuZXJzICovXG5pbnB1dFt0eXBlPXRleHRdLFxuaW5wdXRbdHlwZT1lbWFpbF0sXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmlucHV0W3R5cGU9ZmlsZV0sXG5pbnB1dFt0eXBlPXN1Ym1pdF0sXG5pbnB1dFt0eXBlPXJlc2V0XSxcbmlucHV0W3R5cGU9YnV0dG9uXSxcbmJ1dHRvblt0eXBlPWJ1dHRvbl0sXG5idXR0b25bdHlwZT1zdWJtaXRdLFxuYnV0dG9uW3R5cGU9J3Jlc2V0J10sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG59IiwiLypcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdElORElFLldFQiBCQVNFIFNUWUxFU1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlx0SU5ESUUuV0VCIEJSQU5ESU5HIFNUWUxFUyAtLS0tLS0tLS0tICovXG5cbi5pbmRpZSB7XG5cdGNvbG9yOiAjNjY2O1xufVxuXG4ud2ViIHtcblx0Y29sb3I6ICNiYjU2ZmY7XG59XG5cblxuLyogXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuLnBvcy1yZWwge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pbm5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWF4LXdpZHRoOiA2MGVtOyAvKiBrZXkgcmVzcG9uc2l2ZSBlbGVtZW50ICovXG5cdG1hcmdpbjogYXV0bztcblx0cGFkZGluZzogMCAxNXB4O1xufVxuXG4ud2lkdGgtMTUsXG4ud2lkdGgtMjAsXG4ud2lkdGgtMjUsXG4ud2lkdGgtMzAsXG4ud2lkdGgtMzMsXG4ud2lkdGgtNDAsXG4ud2lkdGgtNTAsXG4ud2lkdGgtNjAsXG4ud2lkdGgtNjYsXG4ud2lkdGgtNzAsXG4ud2lkdGgtNzUsXG4ud2lkdGgtODAsXG4ud2lkdGgtMTAwLFxuLmZsZXgtYm94IHtcblx0cGFkZGluZzogMTVweDtcbn1cblxuLndpZHRoLTE1IHtcblx0d2lkdGg6IDE1JTtcbn1cblxuLndpZHRoLTIwIHtcblx0d2lkdGg6IDIwJTtcbn1cblxuLndpZHRoLTI1IHtcblx0d2lkdGg6IDI1JTtcbn1cblxuLndpZHRoLTMwIHtcblx0d2lkdGg6IDMwJTtcbn1cblxuLndpZHRoLTMzIHtcblx0d2lkdGg6IDMzLjMzMzMlO1xufVxuXG4ud2lkdGgtNDAge1xuXHR3aWR0aDogNDAlO1xufVxuXG4ud2lkdGgtNTAge1xuXHR3aWR0aDogNTAlO1xufVxuXG4ud2lkdGgtNjAge1xuXHR3aWR0aDogNjAlO1xufVxuXG4ud2lkdGgtNjYge1xuXHR3aWR0aDogNjYuNjY2NiU7XG59XG5cbi53aWR0aC03MCB7XG5cdHdpZHRoOiA3MCU7XG59XG5cbi53aWR0aC03NSB7XG5cdHdpZHRoOiA3NSU7XG59XG5cbi53aWR0aC04MCB7XG5cdHdpZHRoOiA4MCU7XG59XG5cbi53aWR0aC0xMDAge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmludC13cmFwIHtcblx0bWFyZ2luOiAwIC0xNXB4O1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5pbnQtd3JhcC03XFwuNSB7XG5cdG1hcmdpbjogMCAtNy41cHg7XG59XG5cbi5pbnQtd3JhcC03XFwuNSA+ICoge1xuXHRwYWRkaW5nLWxlZnQ6IDcuNXB4O1xuXHRwYWRkaW5nLXJpZ2h0OiA3LjVweDtcbn1cblxuaW1nIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5pbm5lciA+IGRpdiA+IC5pbnQtd3JhcC5mbGV4LWNvbnRhaW5lcjpmaXJzdC1jaGlsZCA+IGRpdiB7XG5cdHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IC8qIHByZXZlbnQgaW5jb25zaXN0ZW50IHNwYWNpbmcgYmV0d2VlbiAud2lkdGgteCBibG9ja3Mgd2hlbiBzdGFja2luZyB2ZXJ0aWNhbGx5ICovXG59XG5cbltjbGFzcyo9bHRlLV0sXG5bY2xhc3MqPWd0ZS1dIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKlx0RkxFWEJPWCAtLS0tLS0gKi9cblxuLmZsZXgtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4uZmxleC1jb250YWluZXIuc3BhY2UtYXJvdW5kIHtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5mbGV4LWNvbnRhaW5lci5zcGFjZS1iZXR3ZWVuIHtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uZmxleC1jb250YWluZXIuc3BhY2UtZXZlbmx5IHtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG59XG5cbi5mbGV4LWNvbnRhaW5lci5mbGV4LXN0YXJ0IHtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uZmxleC1jb250YWluZXIuY2VudGVyIHtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5mbGV4LWNvbnRhaW5lci5mbGV4LWVuZCB7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5mbGV4LWNvbnRhaW5lci5yZXZlcnNlIHtcblx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4vKlx0VmVydGljYWwgQWxpZ25tZW50IC0gYXBwbHkgdG8gcGFyZW50IGVsZW1lbnQgdG8gdmVydGljYWxseSBjZW50ZXIgY29udGVudCAqL1xuLypcdENvbmRpdGlvbnM6XG5cdFx0LSBwYXJlbnQgZWxlbWVudCBtdXN0IGhhdmUgMTAwJSBoZWlnaHRcblx0XHQtIGNoaWxkIGNvbnRlbnQgbXVzdCBiZSBjb250YWluZWQgd2l0aGluIGEgdGFnICh0ZXh0IGRpcmVjdGx5IHdpdGhpbiB0aGUgcGFyZW50IGVsZW1lbnQgd2lsbCBvdmVyZmxvdyBpbiBJRSlcbiovXG4udmVydC1jZW50ZXIsXG4udmVydC1qdXN0aWZ5IHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiByZXF1aXJlZCBmb3IgbXVsdGlwbGUgaXRlbXMgKi9cbn1cblxuLnZlcnQtY2VudGVyIHtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8qIHJlcXVpcmVkIGZvciBtdWx0aXBsZSBpdGVtcyAqL1xufVxuXG4udmVydC1qdXN0aWZ5e1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8qIHJlcXVpcmVkIGZvciBtdWx0aXBsZSBpdGVtcyAqL1xufVxuXG4udmVydC1jZW50ZXIuY2VudGVyLFxuLnZlcnQtanVzdGlmeS5jZW50ZXIge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmxleC1jb250YWluZXIgPiAudmVydC1jZW50ZXIsXG4uZmxleC1jb250YWluZXIgPiAudmVydC1qdXN0aWZ5IHtcblx0aGVpZ2h0OiBhdXRvOyAvKiByZW1vdmUgMTAwJSBoZWlnaHQgLSBub3Qgc3VpdGFibGUgZm9yIGZsZXgtY29udGFpbmVyIGNoaWxkIGl0ZW1zICovXG59XG5cbi8qXHRQb3RlbnRpYWwgRnV0dXJlIERldmVsb3BtZW50OiBhbGlnbi1pdGVtczogZW5kIGFsbG93cyBpdGVtcyB0byBiZSB2ZXJ0aWNhbGx5IGFsaWduZWQgdG8gdGhlIGJvdHRvbSAtIHVzZWZ1bCBpZiB3ZSB3YW50IGEgaGVhZGluZyBvciBzb21lIGV4dHJhIGNvbnRlbnQgY29udGFpbmVkIGF0IHRoZSB0b3Agb2Ygb25lIGZsZXggZWxlbWVudCBidXQgbm90IGluIG90aGVyKHMpICovXG5cblxuLypcdEZMT0FUUyAtLS0tLS0gKi9cblxuLmZsb2F0LWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsb3ctcm9vdDtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLmZsb2F0LWNvbnRhaW5lciArIGRpdiB7XG5cdG1hcmdpbi10b3A6IC0xNXB4OyAvKiBhZGRyZXNzZXMgbWFyZ2luIGluY29uc2lzdGVuY3kgd2hlcmUgb25lIGEgZGl2IGRpcmVjdGx5IGZvbGxvd3MgYSAuZmxvYXQtY29udGFpbmVyIGJsb2NrICovXG59XG5cbi5mbG9hdC1jb250YWluZXI6Zmlyc3QtY2hpbGQge1xuXHRtYXJnaW4tdG9wOiAxNXB4OyAvKiBhZGRyZXNzZXMgbWFyZ2luIGluY29uc2lzdGVuY3kgd2hlcmUgLmZsb2F0LWNvbnRhaW5lciBibG9jayBpcyBhZGRlZCBhcyBmaXJzdCBlbGVtZW50IGluIGEgc2VjdGlvbiAqL1xufVxuXG4vKlx0Rm9yIGdyZWF0ZXIgc3R5bGluZyBmbGV4aWJpbGl0eSwgZmxvYXRlZCBpbWFnZXMgd2lsbCBiZSB3cmFwcGVkIGluIGEgZGl2IHdpdGggZWl0aGVyIG9mIHRoZSBmb2xsb3dpbmcgY2xhc3NlcyAqL1xuLmZsb2F0LWxlZnQ6Zmlyc3QtY2hpbGQsXG4uZmxvYXQtcmlnaHQ6Zmlyc3QtY2hpbGQge1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4uZmxvYXQtY29udGFpbmVyID4gKjpub3QoZGl2KTpsYXN0LWNoaWxkLFxuLmZsb2F0LWNvbnRhaW5lciA+IC50eHQtd3JhcCA+ICo6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7IC8qIGFkZHJlc3NlcyBtYXJnaW4gaW5jb25zaXN0ZW5jeSBjcmVhdGVkIGJ5IG1haW4gPiBwOmxhc3QtY2hpbGQgcnVsZSAqL1xufVxuXG4vKlx0RkxPQVQgQkxPQ0sgKyBURVhUIEJMT0NLIC0tLSAqL1xuXG4uZmxvYXQtY29udGFpbmVyLmludC13cmFwID4gLmZsb2F0LWxlZnQsXG4uZmxvYXQtY29udGFpbmVyLmludC13cmFwID4gLmZsb2F0LXJpZ2h0IHtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHRwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuXG4uZmxvYXQtY29udGFpbmVyLmludC13cmFwID4gLnR4dC13cmFwIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwIDE1cHg7XG59XG5cblxuLypcdEJBQ0tHUk9VTkQgV1JBUCAtLS0tLS0gKi9cblxuLmJnLXdyYXAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0LyogYmFja2dyb3VuZC1wb3NpdGlvbiBzZXQgaW4gbWFpbi5jc3MgKi9cbn1cblxuXG4vKlx0VEVYVCBTVFlMRVMgLS0tLS0tLS0tLSAqL1xuXG4udXBwZXIge1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udHh0LWxlZnQsXG4udHh0LWxlZnQgKiB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50eHQtY2VudGVyLFxuLnR4dC1jZW50ZXIgKiB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnR4dC1yaWdodCxcbi50eHQtcmlnaHQgKiB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udG9wLTAge1xuXHRtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3R0b20tMCB7XG5cdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnRvcC0xNSB7XG5cdG1hcmdpbi10b3A6IDE1cHggIWltcG9ydGFudDtcbn1cblxuLmJvdHRvbS0xNSB7XG5cdG1hcmdpbi1ib3R0b206IDE1cHggIWltcG9ydGFudDtcbn1cblxuLnRvcC0zMCB7XG5cdG1hcmdpbi10b3A6IDMwcHggIWltcG9ydGFudDtcbn1cblxuLmJvdHRvbS0zMCB7XG5cdG1hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudDtcbn1cblxuLnRvcC00NSB7XG5cdG1hcmdpbi10b3A6IDQ1cHggIWltcG9ydGFudDtcbn1cblxuLmJvdHRvbS00NSB7XG5cdG1hcmdpbi1ib3R0b206IDQ1cHggIWltcG9ydGFudDtcbn1cblxuLnRvcC02MCB7XG5cdG1hcmdpbi10b3A6IDYwcHggIWltcG9ydGFudDtcbn1cblxuLmJvdHRvbS02MCB7XG5cdG1hcmdpbi1ib3R0b206IDYwcHggIWltcG9ydGFudDtcbn1cblxuLnRvcC03NSB7XG5cdG1hcmdpbi10b3A6IDc1cHggIWltcG9ydGFudDtcbn1cblxuLmJvdHRvbS03NSB7XG5cdG1hcmdpbi1ib3R0b206IDc1cHggIWltcG9ydGFudDtcbn1cblxuLnRvcC05MCB7XG5cdG1hcmdpbi10b3A6IDkwcHggIWltcG9ydGFudDtcbn1cblxuLmJvdHRvbS05MCB7XG5cdG1hcmdpbi1ib3R0b206IDkwcHggIWltcG9ydGFudDtcbn1cblxucDplbXB0eSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXHRFbnN1cmUgY29ycmVjdCBtYXJnaW4gaWYgZmlyc3QgcGFyYWdyYXBoIG9uIHBhZ2UgaXMgbm90IHByZWNlZGVkIGJ5IGEgaGVhZGluZyAqL1xubWFpbiA+IC5pbm5lcjpmaXJzdC1jaGlsZCA+IC53aWR0aC0xMDAgPiBwOmZpcnN0LWNoaWxkIHtcblx0bWFyZ2luLXRvcDogMzBweDtcbn1cblxubWFpbiBhIHtcblx0d29yZC13cmFwOiBicmVhay13b3JkOyAvKiBwcmV2ZW50IGxvbmcgbGlua3MgZnJvbSBicmVha2luZyBsYXlvdXRzICovXG59XG5cblxuLyogXHRGT09URVIgLS0tLS0tLS0tLSAqL1xuXG4jZm9vdGVyLWJvdHRvbSBwIHtcblx0bWFyZ2luOiAwO1xufVxuXG5cbi8qXHRTdGlja3kgRm9vdGVyIC0tLSAqL1xuXG5ib2R5IHtcblx0aGVpZ2h0OiAxMDB2aDtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG5oZWFkZXIsXG5mb290ZXIge1xuXHRmbGV4OiBub25lO1xufVxuXG5tYWluIHtcblx0d2lkdGg6IDEwMCU7XG5cdGZsZXg6IDEgMCBhdXRvO1xufVxuXG5cbi8qIFx0Rk9STVMgLS0tLS0tLS0tLSAqL1xuXG5sYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG5pbnB1dFt0eXBlPXJhZGlvXSArIGxhYmVsLFxuaW5wdXRbdHlwZT1jaGVja2JveF0gKyBsYWJlbCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuaW5wdXRbdHlwZT1kYXRlXSxcbmlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLFxuaW5wdXRbdHlwZT1lbWFpbF0sXG5pbnB1dFt0eXBlPW1vbnRoXSxcbmlucHV0W3R5cGU9bnVtYmVyXSxcbmlucHV0W3R5cGU9cGFzc3dvcmRdLFxuaW5wdXRbdHlwZT1zZWFyY2hdLFxuaW5wdXRbdHlwZT10ZWxdLFxuaW5wdXRbdHlwZT10ZXh0XSxcbmlucHV0W3R5cGU9dGltZV0sXG5pbnB1dFt0eXBlPXVybF0sXG5pbnB1dFt0eXBlPXdlZWtdLFxuXG5idXR0b25bdHlwZT1idXR0b25dLFxuYnV0dG9uW3R5cGU9J3Jlc2V0J10sXG5idXR0b25bdHlwZT1zdWJtaXRdLFxuXG5pbnB1dFt0eXBlPWJ1dHRvbl0sXG5pbnB1dFt0eXBlPWZpbGVdLFxuaW5wdXRbdHlwZT0ncmVzZXQnXSxcbmlucHV0W3R5cGU9c3VibWl0XSxcblxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAxNXB4IDA7XG5cdGJvcmRlcjogMDtcbn1cblxuaW5wdXRbdHlwZT1kYXRlXSxcbmlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLFxuaW5wdXRbdHlwZT1lbWFpbF0sXG5pbnB1dFt0eXBlPW1vbnRoXSxcbmlucHV0W3R5cGU9bnVtYmVyXSxcbmlucHV0W3R5cGU9cGFzc3dvcmRdLFxuaW5wdXRbdHlwZT1zZWFyY2hdLFxuaW5wdXRbdHlwZT10ZWxdLFxuaW5wdXRbdHlwZT10ZXh0XSxcbmlucHV0W3R5cGU9dGltZV0sXG5pbnB1dFt0eXBlPXVybF0sXG5pbnB1dFt0eXBlPXdlZWtdLFxuc2VsZWN0IHtcblx0aGVpZ2h0OiA0NXB4O1xuXHRwYWRkaW5nOiAwIDE1cHggIWltcG9ydGFudDtcbn1cblxuaW5wdXRbdHlwZT1kYXRlXSxcbmlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLFxuaW5wdXRbdHlwZT1lbWFpbF0sXG5pbnB1dFt0eXBlPW1vbnRoXSxcbmlucHV0W3R5cGU9bnVtYmVyXSxcbmlucHV0W3R5cGU9cGFzc3dvcmRdLFxuaW5wdXRbdHlwZT1zZWFyY2hdLFxuaW5wdXRbdHlwZT10ZWxdLFxuaW5wdXRbdHlwZT10ZXh0XSxcbmlucHV0W3R5cGU9dGltZV0sXG5pbnB1dFt0eXBlPXVybF0sXG5pbnB1dFt0eXBlPXdlZWtdLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuaW5wdXRbdHlwZT1yYWRpb10sXG5pbnB1dFt0eXBlPWNoZWNrYm94XSB7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1hcmdpbi1yaWdodDogNXB4O1xuXHRtYXJnaW4tYm90dG9tOiAzcHg7XG59XG5cbmJ1dHRvblt0eXBlPWJ1dHRvbl0sXG5idXR0b25bdHlwZT0ncmVzZXQnXSxcbmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG5cbmlucHV0W3R5cGU9YnV0dG9uXSxcbmlucHV0W3R5cGU9ZmlsZV0sXG5pbnB1dFt0eXBlPSdyZXNldCddLFxuaW5wdXRbdHlwZT1zdWJtaXRdIHtcblx0aGVpZ2h0OiA0NXB4O1xuXHRwYWRkaW5nOiAwIDMwcHg7XG59XG5cbnRleHRhcmVhIHtcblx0cGFkZGluZzogMTVweDtcblx0bGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuZm9ybSA+IC5pbnQtd3JhcC03XFwuNSA+IC50aGlyZCA+IGlucHV0W3R5cGU9c3VibWl0XSxcbmZvcm0gPiAuaW50LXdyYXAtN1xcLjUgPiAudGhpcmQgPiBidXR0b25bdHlwZT1zdWJtaXRdIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cblxuLyogXHRHT09HTEUgUkVDQVBUQ0hBIFYzIC0tLS0tLSAqL1xuXG4uZ3JlY2FwdGNoYS1iYWRnZSB7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuXG4vKiBcdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdElORElFLldFQiBCQVNFIE1FRElBIFFVRVJJRVNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gICovXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMjQwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtYXgtd2lkdGggOiAyNDBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblx0XG5cdC5pbm5lciB7XG5cdFx0cGFkZGluZzogMjIuNXB4IDA7XG5cdH1cblx0XG5cdC5pbm5lciA+ICoge1xuXHRcdGZvbnQtc2l6ZTogMC44NzVyZW07XG5cdH1cbi8qXG5cdC53aWR0aC0yMCxcblx0LndpZHRoLTI1LFxuXHQud2lkdGgtMzAsXG5cdC53aWR0aC0zMyxcblx0LndpZHRoLTQwLFxuXHQud2lkdGgtNTAsXG5cdC53aWR0aC02MCxcblx0LndpZHRoLTY2LFxuXHQud2lkdGgtNzUsXG5cdC53aWR0aC04MCxcblx0LndpZHRoLTEwMCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZzogNy41cHggMTVweDtcblx0fVxuKi9cblx0W2NsYXNzKj0nd2lkdGgtJ10ge1xuXHRcdHBhZGRpbmc6IDcuNXB4IDE1cHg7XG5cdH1cblxuXHQubHRlLTI0MCB7XG5cdFx0ZGlzcGxheTogaW5pdGlhbDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAyNDBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogMjQwcHgpIHtcblx0XG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblx0XG5cdC5pbm5lciB7XG5cdFx0cGFkZGluZzogMTVweDtcblx0fVxuLypcblx0LndpZHRoLTE1LFxuXHQud2lkdGgtMjAsXG5cdC53aWR0aC0yNSxcblx0LndpZHRoLTMwLFxuXHQud2lkdGgtMzMsXG5cdC53aWR0aC00MCxcblx0LndpZHRoLTUwLFxuXHQud2lkdGgtNjAsXG5cdC53aWR0aC02Nixcblx0LndpZHRoLTc1LFxuXHQud2lkdGgtODAsXG5cdC53aWR0aC0xMDAge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IDE1cHg7XG5cdH1cbiovXG5cdFtjbGFzcyo9J3dpZHRoLSddIHtcblx0XHRwYWRkaW5nOiAxNXB4O1xuXHR9XG5cblx0Lmd0ZS0yNDAge1xuXHRcdGRpc3BsYXk6IGluaXRpYWw7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMjQwcHggLSAzMjBweCAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDI0MHB4KVxuYW5kIChtYXgtd2lkdGggOiAzMjBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuXHQuaW5uZXIgPiAqIHtcblx0XHRmb250LXNpemU6IDAuOTM3NXJlbTtcblx0fVxuXHRcbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDMyMHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWF4LXdpZHRoIDogMzIwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cblx0Lmx0ZS0zMjAge1xuXHRcdGRpc3BsYXk6IGluaXRpYWw7XG5cdH1cblxuXG5cdC8qXHRURVhUIFNUWUxFUyAtLS0tLS0tLS0tICovXG5cdFxuXHRoMSxcblx0LmgxIHtcblx0XHRmb250LXNpemU6IDEuNjAyZW07XG5cdH1cblx0XG5cdGgyLFxuXHQuaDIge1xuXHRcdGZvbnQtc2l6ZTogMS40MjRlbTtcblx0fVxuXHRcblx0aDMsXG5cdC5oMyB7XG5cdFx0Zm9udC1zaXplOiAxLjI2NmVtO1xuXHR9XG5cdFxuXHRoNCxcblx0Lmg0IHtcblx0XHRmb250LXNpemU6IDEuMTI1ZW07XG5cdH1cblx0XG5cdGg1LFxuXHQuaDUsXG5cdHAsXG5cdGxpIHtcblx0XHRmb250LXNpemU6IDEuMGVtO1xuXHR9XG5cdFxuXHRoNixcblx0Lmg2LFxuXHRzbWFsbCxcblx0LnNtYWxsIHtcblx0XHRmb250LXNpemU6IDAuODg5ZW07XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMzIwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDMyMHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5ndGUtMzIwIHtcblx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDMyMHB4IC0gNDgwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiAzMjBweCkgXG5hbmQgKG1heC13aWR0aCA6IDQ4MHB4KSB7XG5cblx0LypcdFRFWFQgU1RZTEVTIC0tLS0tLS0tLS0gKi9cblx0XG5cdGgxLFxuXHQuaDEge1xuXHRcdGZvbnQtc2l6ZTogMS42MDJlbTtcblx0fVxuXHRcblx0aDIsXG5cdC5oMiB7XG5cdFx0Zm9udC1zaXplOiAxLjQyNGVtO1xuXHR9XG5cdFxuXHRoMyxcblx0LmgzIHtcblx0XHRmb250LXNpemU6IDEuMjY2ZW07XG5cdH1cblx0XG5cdGg0LFxuXHQuaDQge1xuXHRcdGZvbnQtc2l6ZTogMS4xMjVlbTtcblx0fVxuXHRcblx0aDUsXG5cdC5oNSxcblx0cCxcblx0bGkge1xuXHRcdGZvbnQtc2l6ZTogMS4wZW07XG5cdH1cblx0XG5cdGg2LFxuXHQuaDYsXG5cdHNtYWxsLFxuXHQuc21hbGwge1xuXHRcdGZvbnQtc2l6ZTogMC44ODllbTtcblx0fVxuXHRcbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDQwMHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWF4LXdpZHRoIDogNDAwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cblx0Lmx0ZS00MDAge1xuXHRcdGRpc3BsYXk6IGluaXRpYWw7XG5cdH1cblxuXHQuZmxleC1jb250YWluZXI6aGFzKCN1bmlmb3JtLXdpZHRoKSA+IC5mbGV4LWJhc2lzLTIwIHtcblx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHR9XG5cblxuXHQvKlx0TUFJTiAtLS0tLS0tLS0tICovXG5cdFxuXHRtYWluIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHRtYWluIHVsLFxuXHRtYWluIG9sIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuXHRcblxuXHQvKlx0Rk9PVEVSIC0tLS0tLS0tLS0gKi9cblx0XG5cdGZvb3RlciB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblxuXHQvKiBcdEZPUk1TIC0tLS0tLS0tLS0gKi9cblx0XG5cdGlucHV0W3R5cGU9c3VibWl0XSxcblx0YnV0dG9uW3R5cGU9c3VibWl0XSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHR9XG5cdFxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgNDAwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDQwMHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5ndGUtNDAwIHtcblx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHR9XG5cblxuXHQvKlx0TUFJTiAtLS0tLS0tLS0tICovXG5cdFxuXHRtYWluIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cblx0bWFpbiB1bCxcblx0bWFpbiBvbCB7XG5cdFx0cGFkZGluZy1sZWZ0OiA0NXB4O1xuXHR9XG5cblx0XG5cdC8qXHRGT09URVIgLS0tLS0tLS0tLSAqL1xuXHRcblx0Zm9vdGVyIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cblxuXHQvKiBcdEZPUk1TIC0tLS0tLS0tLS0gKi9cblx0XG5cdGZvcm0gKiB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDQ4MHB4IC0gNjQwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA0ODBweCkgXG5hbmQgKG1heC13aWR0aCA6IDY0MHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5mbGV4LWNvbnRhaW5lcjpoYXMoI3VuaWZvcm0td2lkdGgpID4gLmZsZXgtYmFzaXMtMjAge1xuXHRcdGZsZXgtYmFzaXM6IDUwJTtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA0ODBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1heC13aWR0aCA6IDQ4MHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5sdGUtNDgwIHtcblx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHR9XG5cblx0LmZsZXgtY29udGFpbmVyOmhhcygjdW5pZm9ybS13aWR0aCkgPiAuZmxleC1iYXNpcy0yNSB7XG5cdFx0ZmxleC1iYXNpczogMTAwJTtcblx0fVxuXG5cdC5mbGV4LWNvbnRhaW5lcjpoYXMoI3VuaWZvcm0td2lkdGgpID4gLmZsZXgtYmFzaXMtMzMge1xuXHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgNDgwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDQ4MHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5ndGUtNDgwIHtcblx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDQ4MHB4IC0gNjQwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA0ODBweCkgXG5hbmQgKG1heC13aWR0aCA6IDY0MHB4KSB7XG5cblx0LypcdFRFWFQgU1RZTEVTIC0tLS0tLS0tLS0gKi9cblx0XG5cdGgxLFxuXHQuaDEge1xuXHRcdGZvbnQtc2l6ZTogMi4wNzRlbTtcblx0fVxuXHRcblx0aDIsXG5cdC5oMiB7XG5cdFx0Zm9udC1zaXplOiAxLjcyOGVtO1xuXHR9XG5cdFxuXHRoMyxcblx0LmgzIHtcblx0XHRmb250LXNpemU6IDEuNDRlbTtcblx0fVxuXHRcblx0aDQsXG5cdC5oNCB7XG5cdFx0Zm9udC1zaXplOiAxLjJlbTtcblx0fVxuXHRcblx0aDUsXG5cdC5oNVxuXHRwLFxuXHRsaSB7XG5cdFx0Zm9udC1zaXplOiAxLjBlbTtcblx0fVxuXHRcblx0aDYsXG5cdC5oNlxuXHRzbWFsbCxcblx0LnNtYWxsIHtcblx0XHRmb250LXNpemU6IDAuODMzZW07XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgNDgwcHggLSA3MjBweCAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDQ4MHB4KSBcbmFuZCAobWF4LXdpZHRoIDogNzIwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cblx0LmZsZXgtY29udGFpbmVyOmhhcygjdW5pZm9ybS13aWR0aCkgPiAuZmxleC1iYXNpcy0yNSB7XG5cdFx0ZmxleC1iYXNpczogNTAlO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDQ4MHB4IC0gODAwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA0ODBweCkgXG5hbmQgKG1heC13aWR0aCA6IDgwMHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5mbGV4LWNvbnRhaW5lcjpoYXMoI3VuaWZvcm0td2lkdGgpID4gLmZsZXgtYmFzaXMtMzMge1xuXHRcdGZsZXgtYmFzaXM6IDUwJTtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA1NjBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1heC13aWR0aCA6IDU2MHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5sdGUtNTYwIHtcblx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHR9XG5cdFxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgNTYwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDU2MHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5ndGUtNTYwIHtcblx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDY0MHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWF4LXdpZHRoIDogNjQwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cblx0W2NsYXNzKj0nd2lkdGgtJ106bm90KC5pbWcpLFxuXHRbY2xhc3MqPSdmbGV4LWJhc2lzLSddLFxuXHQuZmxvYXQtY29udGFpbmVyIFtjbGFzcyo9J3dpZHRoLSddIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5mbG9hdC1sZWZ0LFxuXHQuZmxvYXQtcmlnaHQge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuXHQubHRlLTY0MCB7XG5cdFx0ZGlzcGxheTogaW5pdGlhbDtcblx0fVxuXG5cblx0LyogXHRGT09URVIgLS0tLS0tLS0tLSAqL1xuXHRcblx0LypcdEZPT1RFUiBCT1RUT00gLS0tLS0tICovXG5cdFxuXHQjZm9vdGVyLWJvdHRvbSAuaW5uZXIgPiBkaXYge1xuXHRcdHBhZGRpbmc6IDcuNXB4IDE1cHg7XG5cdH1cblx0XG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA2NDBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGggOiA2NDBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuXHQuZmxleC1iYXNpcy0yNSB7XG5cdFx0ZmxleC1iYXNpczogMjUlO1xuXHR9XG5cblx0LmZsZXgtYmFzaXMtMzAge1xuXHRcdGZsZXgtYmFzaXM6IDMwJTtcblx0fVxuXG5cdC5mbGV4LWJhc2lzLTMzIHtcblx0XHRmbGV4LWJhc2lzOiAzMy4zMzMzJTtcblx0fVxuXG5cdC5mbGV4LWJhc2lzLTQwIHtcblx0XHRmbGV4LWJhc2lzOiA0MCU7XG5cdH1cblxuXHQuZmxleC1iYXNpcy01MCB7XG5cdFx0ZmxleC1iYXNpczogNTAlO1xuXHR9XG5cblx0LmZsZXgtYmFzaXMtNjAge1xuXHRcdGZsZXgtYmFzaXM6IDYwJTtcblx0fVxuXG5cdC5mbGV4LWJhc2lzLTcwIHtcblx0XHRmbGV4LWJhc2lzOiA3MCU7XG5cdH1cblxuXHQuZmxleC1iYXNpcy03NSB7XG5cdFx0ZmxleC1iYXNpczogNzUlO1xuXHR9XG5cblx0LmZsZXgtYmFzaXMtODAge1xuXHRcdGZsZXgtYmFzaXM6IDgwJTtcblx0fVxuXG5cdC5mbGV4LWJhc2lzLTEwMCB7XG5cdFx0ZmxleC1iYXNpczogMTAwJTtcblx0fVxuXG5cblx0LypcdEZMT0FUUyAtLS0tLS0gKi9cblxuXHQvKlx0RW5zdXJlIGFueSB0ZXh0IGVsZW1lbnQgZm9sbG93aW5nIGEgZmxvYXRlZCBpbWFnZSBpcyBhbGlnbmVkIGNvcnJlY3RseSBhdCB0aGUgdG9wICovXG5cdC5mbG9hdC1jb250YWluZXIgPiBkaXZbY2xhc3MqPVwiaW1nLVwiXSArICo6bm90KGRpdiksXG5cdC5mbG9hdC1jb250YWluZXIgPiBkaXZbY2xhc3MqPVwiaW1nLVwiXSArIC50eHQtd3JhcCA+ICo6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi10b3A6IDE1cHg7IFxuXHR9XG5cdFxuXHQuZmxvYXQtbGVmdCB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xuXHRcdHBhZGRpbmc6IDAgMTVweCAxNXB4IDA7XG5cdH1cblx0XG5cdC5mbG9hdC1yaWdodCB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdG1hcmdpbi1sZWZ0OiAxNXB4O1xuXHRcdHBhZGRpbmc6IDAgMCAxNXB4IDE1cHg7XG5cdH1cblxuXHQvKlx0Tm90IHVzZWQgaW4gU3RhbmRhcmQgU2VjdGlvbnM7IHVzZWZ1bCBmb3IgaGFyZC1jb2RlZCBjdXN0b20gd29yayAqL1xuXHQuaW1nLWNlbnRlciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuXHQuZmxvYXQtY29udGFpbmVyLmludC13cmFwID4gLnR4dC13cmFwIHtcblx0XHRmbG9hdDogbGVmdDtcblx0fVxuXG5cblx0Lmd0ZS02NDAge1xuXHRcdGRpc3BsYXk6IGluaXRpYWw7XG5cdH1cblx0XG5cblx0LypcdEZPT1RFUiAtLS0tLS0tLS0tICovXG5cblx0LypcdEZPT1RFUiBUT1AgLS0tLS0tICovXG5cblx0I2Zvb3Rlci10b3AgPiAuaW5uZXIgPiBkaXYgPiAqOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdH1cblx0XG5cdC8qXHRGT09URVIgQk9UVE9NIC0tLS0tLSAqL1xuXHRcblx0I2Zvb3Rlci1ib3R0b20ge1xuXHRcdGhlaWdodDogNjBweDtcblx0fVxuXHRcblx0I2Zvb3Rlci1ib3R0b20gLmlubmVyLFxuXHQjZm9vdGVyLWJvdHRvbSAuaW5uZXIgPiBkaXYge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG5cdFxuXHQjZm9vdGVyLWJvdHRvbSAuaW5uZXIgPiBkaXY6bGFzdC1jaGlsZCB7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cblx0XG5cdCNmb290ZXItYm90dG9tIC5pbm5lciA+IGRpdjpmaXJzdC1jaGlsZCB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuXHRcblx0I2Zvb3Rlci1ib3R0b20gcCB7XG5cdFx0bGluZS1oZWlnaHQ6IDYwcHg7XG5cdH1cblx0XG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA2NDBweCAtIDgwMHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGggOiA2NDBweClcbmFuZCAobWF4LXdpZHRoIDogODAwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cblx0LmZsZXgtY29udGFpbmVyOmhhcygjdW5pZm9ybS13aWR0aCkgPiAuZmxleC1iYXNpcy0yMCB7XG5cdFx0ZmxleC1iYXNpczogMzMuMzMzMyU7XG5cdH1cblxuXG5cdC8qIFx0VEVYVCBTVFlMRVMgLS0tLS0tLS0tLSAqL1xuXHRcblx0aDEsXG5cdC5oMSB7XG5cdFx0Zm9udC1zaXplOiAyLjQ0MWVtO1xuXHR9XG5cdFxuXHRoMixcblx0LmgyIHtcblx0XHRmb250LXNpemU6IDEuOTUzZW07XG5cdH1cblx0XG5cdGgzLFxuXHQuaDMge1xuXHRcdGZvbnQtc2l6ZTogMS41NjNlbTtcblx0fVxuXHRcblx0aDQsXG5cdC5oNCB7XG5cdFx0Zm9udC1zaXplOiAxLjI1ZW07XG5cdH1cblx0XG5cdGg1LFxuXHQuaDUsXG5cdHAsXG5cdGxpIHtcblx0XHRmb250LXNpemU6IDEuMGVtO1xuXHR9XG5cdFxuXHRoNixcblx0Lmg2LFxuXHRzbWFsbCxcblx0LnNtYWxsIHtcblx0XHRmb250LXNpemU6IDAuOGVtO1xuXHR9XG5cblxuXHQvKlx0Rk9PVEVSIC0tLS0tLS0tLS0gKi9cblx0XG5cdC8qXHRGT09URVIgVE9QIC0tLS0tLSAqL1xuXHRcblx0I2Zvb3Rlci10b3Age1xuXHRcdGZvbnQtc2l6ZTogMC44NzVlbTtcblx0fVxuXHRcbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDcyMHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWF4LXdpZHRoIDogNzIwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cblx0Lmx0ZS03MjAge1xuXHRcdGRpc3BsYXk6IGluaXRpYWw7XG5cdH1cblxuXG5cdC8qXHRGT09URVIgLS0tLS0tLS0tLSAqL1xuXHRcblx0LypcdEZPT1RFUiBCT1RUT00gLS0tLS0tICovXG5cblx0I2Zvb3Rlci1ib3R0b20gcCB7XG5cdFx0Zm9udC1zaXplOiAwLjc1cmVtO1xuXHR9XG5cbn1cblxuLypcdFNjcmVlbiBTaXplcyA3MjBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogNzIwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cblx0Lmd0ZS03MjAge1xuXHRcdGRpc3BsYXk6IGluaXRpYWw7XG5cdH1cblxuXG5cdC8qXHRNQUlOIC0tLS0tLS0tLS0gKi9cblxuXHQuaW5uZXIge1xuXHRcdHBhZGRpbmc6IDMwcHggMTVweDtcblx0fVxuXG5cblx0LypcdEZPT1RFUiAtLS0tLS0tLS0tICovXG5cdFxuXHQvKlx0Rk9PVEVSIEJPVFRPTSAtLS0tLS0gKi9cblxuXHQjZm9vdGVyLWJvdHRvbSBwIHtcblx0XHRmb250LXNpemU6IDAuODc1cmVtO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDcyMHB4IC0gOTYwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA3MjBweCkgXG5hbmQgKG1heC13aWR0aCA6IDk2MHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5mbGV4LWNvbnRhaW5lcjpoYXMoI3VuaWZvcm0td2lkdGgpID4gLmZsZXgtYmFzaXMtMjUge1xuXHRcdGZsZXgtYmFzaXM6IDMzLjMzMzMlO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDgwMHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWF4LXdpZHRoIDogODAwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cblx0Lmx0ZS04MDAge1xuXHRcdGRpc3BsYXk6IGluaXRpYWw7XG5cdH1cblx0XG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA4MDBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogODAwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cblx0Lm1vYmlsZSB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvKiAhaW1wb3J0YW50IG5lY2Vzc2FyeSB0byBvdmVycmlkZSAjbmF2LW1haW4gKi9cblx0fVxuXG5cdC5ndGUtODAwIHtcblx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHR9XG5cblx0LmZsZXgtY29udGFpbmVyOmhhcygjdW5pZm9ybS13aWR0aCkgPiAuZmxleC1iYXNpcy0zMyB7XG5cdFx0ZmxleC1iYXNpczogMzMuMzMzMyU7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgODAwcHggLSA4ODBweCAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDgwMHB4KSBcbmFuZCAobWF4LXdpZHRoIDogODgwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cdFxuXHQuaW5uZXIgPiAqIHtcblx0XHRmb250LXNpemU6IDAuODc1cmVtO1xuXHR9XG5cblx0LypcdFRFWFQgU1RZTEVTIC0tLS0tLS0tLS0gKi9cblxuXHRoMSxcblx0LmgxIHtcblx0XHRmb250LXNpemU6IDMuMTU3ZW07XG5cdH1cblx0XG5cdGgyLFxuXHQuaDIge1xuXHRcdGZvbnQtc2l6ZTogMi4zNjllbTtcblx0fVxuXHRcblx0aDMsXG5cdC5oMyB7XG5cdFx0Zm9udC1zaXplOiAxLjc3N2VtO1xuXHR9XG5cdFxuXHRoNCxcblx0Lmg0IHtcblx0XHRmb250LXNpemU6IDEuMzMzZW07XG5cdH1cblx0XG5cdGg1LFxuXHQuaDUsXG5cdHAsXG5cdG1haW4gbGkge1xuXHRcdGZvbnQtc2l6ZTogMS4wZW07XG5cdH1cblxuXHRoNixcblx0Lmg2LFxuXHRzbWFsbCxcblx0LnNtYWxsIHtcblx0XHRmb250LXNpemU6IDAuNzVlbTtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA4MDBweCAtIDk2MHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogODAwcHgpIFxuYW5kIChtYXgtd2lkdGggOiA5NjBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuXHQuZmxleC1jb250YWluZXI6aGFzKCN1bmlmb3JtLXdpZHRoKSA+IC5mbGV4LWJhc2lzLTIwIHtcblx0XHRmbGV4LWJhc2lzOiAyNSU7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgODgwcHggLSA5NjBweCAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDg4MHB4KSBcbmFuZCAobWF4LXdpZHRoIDogOTYwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cdFxuXHQuaW5uZXIgPiAqIHtcblx0XHRmb250LXNpemU6IDAuOTM3NXJlbTtcblx0fVxuXG5cdC8qXHRURVhUIFNUWUxFUyAtLS0tLS0tLS0tICovXG5cblx0aDEsXG5cdC5oMSB7XG5cdFx0Zm9udC1zaXplOiAzLjE1N2VtO1xuXHR9XG5cdFxuXHRoMixcblx0LmgyIHtcblx0XHRmb250LXNpemU6IDIuMzY5ZW07XG5cdH1cblx0XG5cdGgzLFxuXHQuaDMge1xuXHRcdGZvbnQtc2l6ZTogMS43NzdlbTtcblx0fVxuXHRcblx0aDQsXG5cdC5oNCB7XG5cdFx0Zm9udC1zaXplOiAxLjMzM2VtO1xuXHR9XG5cdFxuXHRoNSxcblx0Lmg1LFxuXHRwLFxuXHRtYWluIGxpIHtcblx0XHRmb250LXNpemU6IDEuMGVtO1xuXHR9XG5cblx0aDYsXG5cdC5oNixcblx0c21hbGwsXG5cdC5zbWFsbCB7XG5cdFx0Zm9udC1zaXplOiAwLjc1ZW07XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgOTYwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtYXgtd2lkdGggOiA5NjBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuXHQubHRlLTk2MCB7XG5cdFx0ZGlzcGxheTogaW5pdGlhbDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA5NjBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogOTYwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cblx0Lmd0ZS05NjAge1xuXHRcdGRpc3BsYXk6IGluaXRpYWw7XG5cdH1cblxuXHQuZmxleC1jb250YWluZXI6aGFzKCN1bmlmb3JtLXdpZHRoKSA+IC5mbGV4LWJhc2lzLTIwIHtcblx0XHRmbGV4LWJhc2lzOiAyMCU7XG5cdH1cblxuXHQuZmxleC1jb250YWluZXI6aGFzKCN1bmlmb3JtLXdpZHRoKSA+IC5mbGV4LWJhc2lzLTI1IHtcblx0XHRmbGV4LWJhc2lzOiAyNSU7XG5cdH1cblxuXHRcblx0LypcdFRFWFQgU1RZTEVTIC0tLS0tLS0tLS0gKi9cblxuXHRoMSxcblx0LmgxIHtcblx0XHRmb250LXNpemU6IDMuOTk4ZW07XG5cdH1cblx0XG5cdGgyLFxuXHQuaDIge1xuXHRcdGZvbnQtc2l6ZTogMi44MjdlbTtcblx0fVxuXHRcblx0aDMsXG5cdC5oMyB7XG5cdFx0Zm9udC1zaXplOiAxLjk5OWVtO1xuXHR9XG5cdFxuXHRoNCxcblx0Lmg0IHtcblx0XHRmb250LXNpemU6IDEuNDE0ZW07XG5cdH1cblx0XG5cdGg1LFxuXHQuaDUsXG5cdHAsXG5cdG1haW4gbGkge1xuXHRcdGZvbnQtc2l6ZTogMS4wZW07XG5cdH1cblx0XG5cdGg2LFxuXHQuaDYsXG5cdHNtYWxsLFxuXHQuc21hbGwge1xuXHRcdGZvbnQtc2l6ZTogMC43MDdlbTtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAxMjAwcHggLSAxMzYwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiAxMjAwcHgpIFxuYW5kIChtYXgtd2lkdGggOiAxMzYwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cdFxuXHQuaW5uZXIge1xuXHRcdG1heC13aWR0aDogNjVlbTtcblx0XHRwYWRkaW5nOiA0NXB4O1xuXHR9XG5cdFxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMTM2MHB4IC0gMTUyMHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogMTM2MHB4KSBcbmFuZCAobWF4LXdpZHRoIDogMTUyMHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXHRcblx0LmlubmVyIHtcblx0XHRtYXgtd2lkdGg6IDcwZW07XG5cdFx0cGFkZGluZzogNjBweDtcblx0fVxuXHRcbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDE1MjBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogMTUyMHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXHRcblx0LmlubmVyIHtcblx0XHRwYWRkaW5nLXRvcDogNzVweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogNzVweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAxNTIwcHggLSAxNjgwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiAxNTIwcHgpXG5hbmQgKG1heC13aWR0aCA6IDE2ODBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblx0XG5cdC5pbm5lciB7XG5cdFx0bWF4LXdpZHRoOiA3NWVtO1xuXHRcdHBhZGRpbmctbGVmdDogNzVweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA3NXB4O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDE2ODBweCAtIDE5MjBweCAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDE2ODBweClcbmFuZCAobWF4LXdpZHRoIDogMTkyMHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXHRcblx0LmlubmVyIHtcblx0XHRtYXgtd2lkdGg6IDgwZW07XG5cdFx0cGFkZGluZy1sZWZ0OiA5MHB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDkwcHg7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMTkyMHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiAxOTIwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cdFxuXHQuaW5uZXIge1xuXHRcdG1heC13aWR0aDogOTBlbTtcblx0XHRwYWRkaW5nLWxlZnQ6IDEyMHB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDEyMHB4O1xuXHR9XG5cbn0iLCIvKiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHRJTkRJRS5XRUIgQkFOTkVSIFNUWUxFU1xyXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAqL1xyXG5cclxuLyogIEhFQURFUiAtLS0tLS0tLS0tICovXHJcblxyXG4vKlx0QkFOTkVSIC0tLS0tLSAqL1xyXG5cclxuI2Jhbm5lcjplbXB0eSB7XHJcblx0aGVpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcblx0bWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xyXG5cdG1heC1oZWlnaHQ6IDAgIWltcG9ydGFudDtcclxuXHQvKiBJbiBvcmRlciB0byBiZSBlbXB0eSwgI2Jhbm5lciBlbGVtZW50IE1VU1QgTk9UIGhhdmUgd2hpdGVzcGFjZSBpbiBpdCwgaS5lLiA8ZGl2IGlkPVwiYmFubmVyXCI+PC9kaXY+ICh3aXRob3V0IGxpbmUtYnJlYWspICovXHJcbn1cclxuXHJcbiNiYW5uZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDE7IC8qIGVuc3VyZSBCYW5uZXIgKGFuZCBhbnkgU2xpY2sgQ2Fyb3VzZWwgaXRlbXMgY29udGFpbmVkIHdpdGhpbikgaXMvYXJlIGRpc3BsYXllZCBiZWhpbmQgTWFpbiBOYXYgKi9cclxuICAgIC8qIG1heC1oZWlnaHQgc2V0IGluIG1lZGlhIHF1ZXJpZXMgKi9cclxufVxyXG5cclxuLyogZm9ybWVybHkgI2Jhbm5lcjpub3QoLmludGVybmFsKSAqL1xyXG4jYmFubmVyIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4jYmFubmVyOm5vdCguaW50ZXJuYWwpICNiYW5uZXItaW50LXdyYXAge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdC8qIHBvc2l0aW9uaW5nIGZvciBzdGF0aWMgYmFubmVycyAqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhc3BlY3QtcmF0aW86IDEvMTtcclxuXHQvKiBtYXgtaGVpZ2h0IHNldCBpbiBtZWRpYSBxdWVyaWVzICovXHJcbn1cclxuXHJcbiNiYW5uZXIgLmJnLXdyYXAge1xyXG5cdC8qIGJhc2Ugc3R5bGVzIHNldCBpbiAuYmctd3JhcCBpbiBiYXNlLmNzcyAqL1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0LyogYmFja2dyb3VuZC1jb2xvciBzZXQgaW4gbWFpbi5jc3MgKi9cclxufVxyXG5cclxuLyogcHNldWRvIGVsZW1lbnQgZm9yIGZhbGxiYWNrIGJhY2tncm91bmQgY29sb3IgKi9cclxuI2Jhbm5lcjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRib3R0b206IDA7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHR6LWluZGV4OiAtMTtcclxuXHQvKiBiYWNrZ3JvdW5kLWNvbG9yIHNldCBpbiBtYWluLmNzcyAqL1xyXG59XHJcblxyXG4jYmFubmVyIC5iZy13cmFwIHZpZGVvIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0ei1pbmRleDogLTE7IC8qIGVuc3VyZSBCYW5uZXIgVmlkZW9zIGFyZSBkaXNwbGF5ZWQgYmVoaW5kIG90aGVyIEJhbm5lciBlbGVtZW50cyAoZS5nLiBTbGljayBEb3RzIGFuZCBTbGljayBBcnJvd3MpICovXHJcbiAgICB0b3A6IDUwJSAhaW1wb3J0YW50O1xyXG5cdG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICAtby1vYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcblxyXG4jYmFubmVyIHNwYW4ge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4jYmFubmVyIC5saW5rLWJ1dHRvbiB7XHJcblx0Zm9udC1zaXplOiAxcmVtO1xyXG59XHJcblxyXG5cclxuLyogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblx0SU5ESUUuV0VCIEJBTk5FUiBNRURJQSBRVUVSSUVTXHJcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gICovXHJcblxyXG4vKlx0U2NyZWVuIFNpemVzIDI0MHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIFxyXG5hbmQgKG1heC13aWR0aCA6IDI0MHB4KSB7XHJcblxyXG5cdC8qXHRIRUFERVIgLS0tLS0tLS0tLS0gKi9cclxuXHJcblx0LypcdEJBTk5FUiAtLS0tLS0gKi9cclxuXHJcblx0I2Jhbm5lcjpub3QoLmludGVybmFsKSB7XHJcblx0XHRtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHQjYmFubmVyOm5vdCguaW50ZXJuYWwpOmJlZm9yZSB7XHJcblx0XHRib3R0b206IGF1dG87XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTAwJTtcclxuXHR9XHJcblxyXG5cdCNiYW5uZXI6bm90KC5pbnRlcm5hbCkgI2Jhbm5lci1pbnQtd3JhcCB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHR9XHJcblxyXG5cdCNiYW5uZXI6bm90KC5pbnRlcm5hbCkgLmJnLXdyYXAge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0aGVpZ2h0OiAwO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDEwMCU7XHJcblx0fVxyXG5cclxuXHQjYmFubmVyIC50eHQtd2hpdGUge1xyXG5cdFx0Y29sb3I6IGluaXRpYWw7XHJcblx0fVxyXG5cclxuXHQjYmFubmVyIC50eHQtc2hhZG93ICoge1xyXG5cdFx0dGV4dC1zaGFkb3c6IGluaXRpYWw7XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcbi8qICBTY3JlZW4gU2l6ZXMgMjQwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBcclxuYW5kIChtaW4td2lkdGggOiAyNDBweCkge1xyXG5cclxuXHQvKlx0SEVBREVSIC0tLS0tLS0tLS0gKi9cclxuXHJcblx0LypcdEJBTk5FUiAtLS0tLS0gKi9cclxuXHJcblx0I2Jhbm5lcjpub3QoLmludGVybmFsKSAudHh0LXdyYXAge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQjYmFubmVyIC50eHQtd2hpdGUge1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcbi8qICBTY3JlZW4gU2l6ZXMgMzIwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gXHJcbmFuZCAobWF4LXdpZHRoIDogMzIwcHgpIHtcclxuXHJcblx0LypcdEhFQURFUiAtLS0tLS0tLS0tICovXHJcblxyXG4gICAgLypcdEJBTk5FUiAtLS0tLS0gKi9cclxuXHJcblx0I2Jhbm5lciAudHh0LXdyYXAgLmlubmVyID4gZGl2IHtcclxuXHRcdGZvbnQtc2l6ZTogMC44NzVlbTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG4vKiAgU2NyZWVuIFNpemVzIDMyMHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gXHJcbmFuZCAobWluLXdpZHRoIDogMzIwcHgpIHtcclxuXHJcblx0LypcdEhFQURFUiAtLS0tLS0tLS0tICovXHJcblxyXG4gICAgLypcdEJBTk5FUiAtLS0tLS0gKi9cclxuXHJcblx0I2Jhbm5lciAubG9nbyB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcbi8qICBTY3JlZW4gU2l6ZXMgNDAwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gXHJcbmFuZCAobWF4LXdpZHRoIDogNDAwcHgpIHtcclxuXHJcblx0LypcdEhFQURFUiAtLS0tLS0tLS0tICovXHJcblxyXG4gICAgLypcdEJBTk5FUiAtLS0tLS0gKi9cclxuXHJcblx0I2Jhbm5lciAudHh0LXdyYXAgLmZsZXgtY29udGFpbmVyIHtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0I2Jhbm5lciAudHh0LXdyYXAgKiB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQjYmFubmVyIC5sb2dvLFxyXG5cdCNiYW5uZXIgc3BhbiB7XHJcblx0XHRwYWRkaW5nOiA3LjVweCAxNXB4O1xyXG5cdH1cclxuXHJcblx0I2Jhbm5lciAubGluay1idXR0b24ge1xyXG5cdFx0bWFyZ2luOiA3LjVweCAxNXB4O1xyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG4vKiAgU2NyZWVuIFNpemVzIDQwMHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gXHJcbmFuZCAobWluLXdpZHRoIDogNDAwcHgpIHtcclxuXHJcblx0LypcdEhFQURFUiAtLS0tLS0tLS0tICovXHJcblxyXG4gICAgLypcdEJBTk5FUiAtLS0tLS0gKi9cclxuXHJcblx0I2Jhbm5lciAubG9nbyxcclxuXHQjYmFubmVyIHNwYW4ge1xyXG5cdFx0cGFkZGluZzogMTVweDtcclxuXHR9XHJcblxyXG5cdCNiYW5uZXIgLmxpbmstYnV0dG9uIHtcclxuXHRcdG1hcmdpbjogMTVweDtcclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuLypcdFNjcmVlbiBTaXplcyAzMjBweCAtIDU2MHB4IC0tLS0tLS0tLS0gKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIFxyXG5hbmQgKG1pbi13aWR0aCA6IDMyMHB4KVxyXG5hbmQgKG1heC13aWR0aCA6IDU2MHB4KSB7XHJcblxyXG5cdC8qXHRIRUFERVIgLS0tLS0tLS0tLS0gKi9cclxuXHJcblx0LypcdEJBTk5FUiAtLS0tLS0gKi9cclxuXHRcclxuXHQjYmFubmVyIC50eHQtd3JhcCAuaW5uZXIgPiBkaXYge1xyXG5cdFx0Zm9udC1zaXplOiAxZW07XHJcblx0XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcbi8qXHRTY3JlZW4gU2l6ZXMgNTYwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLS0tICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBcclxuYW5kIChtYXgtd2lkdGggOiA1NjBweCkge1xyXG5cclxuXHQvKiAgSEVBREVSIC0tLS0tLS0tLS0gKi9cclxuXHJcblx0LyogIEJBTk5FUiAtLS0tLS0gKi9cclxuXHRcclxuXHQjYmFubmVyIHtcclxuXHRcdG1hcmdpbi10b3A6IDYwcHg7XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcbi8qXHRTY3JlZW4gU2l6ZXMgNTYwcHggLSA4MDBweCAtLS0tLS0tLS0gKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuXHJcbmFuZCAobWluLXdpZHRoIDogNTYwcHgpXHJcbmFuZCAobWF4LXdpZHRoIDogODAwcHgpIHtcclxuXHJcblx0LypcdEhFQURFUiAtLS0tLS0tLS0tICovXHJcblxyXG5cdC8qXHRCQU5ORVIgLS0tLS0tICovXHJcblx0XHJcblx0I2Jhbm5lciB7XHJcblx0XHRtYXJnaW4tdG9wOiA3NXB4O1xyXG5cdH1cclxuXHJcblx0I2Jhbm5lciAudHh0LXdyYXAgLmlubmVyID4gZGl2IHtcclxuXHRcdGZvbnQtc2l6ZTogMS4xMjVlbTtcclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuLypcdFNjcmVlbiBTaXplcyA4MDBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuXHJcbmFuZCAobWluLXdpZHRoIDogODAwcHgpIHtcclxuXHJcblx0LypcdEJBTk5FUiAtLS0tLS0gKi9cclxuXHJcblx0I2Jhbm5lciB7XHJcblx0XHRtYXJnaW4tdG9wOiA5MHB4O1xyXG5cdH1cclxuXHJcblx0I2Jhbm5lciAudHh0LXdyYXAgLmlubmVyID4gZGl2IHtcclxuXHRcdGZvbnQtc2l6ZTogMS4xMjVlbTtcclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuLypcdFdvcmthcm91bmQgZm9yIHZoIEJ1ZyBvbiA8PSBpT1M3XHJcblxyXG4vKlx0aVBhZCB3aXRoIHBvcnRyYWl0IG9yaWVudGF0aW9uICovXHJcbkBtZWRpYSBhbGwgYW5kIChkZXZpY2Utd2lkdGg6IDc2OHB4KSBhbmQgKGRldmljZS1oZWlnaHQ6IDEwMjRweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCkge1xyXG5cclxuXHQjYmFubmVyOm5vdCguaW50ZXJuYWwpIHtcclxuXHRcdGhlaWdodDogODQ0cHg7IC8qIDEwMjRweCAtIDc1cHggKG5hdiBiYXIgaGVpZ2h0KSAtIDEwNXB4IChub21pbmFsIGhlaWdodCBmb3IgYnJvd3NlciBiYXIpICovXHJcblx0fVxyXG5cclxufVxyXG5cclxuLypcdGlQYWQgd2l0aCBsYW5kc2NhcGUgb3JpZW50YXRpb24gKi9cclxuQG1lZGlhIGFsbCBhbmQgKGRldmljZS13aWR0aDogNzY4cHgpIGFuZCAoZGV2aWNlLWhlaWdodDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSkge1xyXG5cclxuXHQjYmFubmVyOm5vdCguaW50ZXJuYWwpIHtcclxuXHRcdGhlaWdodDogNTczcHg7IC8qIDc2OHB4IC0gOTBweCAobmF2IGJhciBoZWlnaHQpIC0gMTA1cHggKG5vbWluYWwgaGVpZ2h0IGZvciBicm93c2VyIGJhcikgKi9cclxuXHR9XHJcblxyXG59IiwiLyogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdElORElFLldFQiBDQVJPVVNFTCBTVFlMRVNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gICovXG5cbi8qXHRDQVJPVVNFTCBDT05UQUlORVIgLS0tICovXG5cbi5jYXJvdXNlbC1jb250YWluZXIge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5zZWN0aW9uIGRpdltjbGFzcyo9XCJ3aWR0aC1cIl06Zmlyc3QtY2hpbGQgPiAuY2Fyb3VzZWwtY29udGFpbmVyIHtcblx0bWFyZ2luLXRvcDogMzBweDtcbn1cblxuXG4vKlx0U0xJQ0sgVFJBQ0sgLS0tICovXG5cbi5jYXJvdXNlbC1jb250YWluZXIgLnNsaWNrLXRyYWNrIHtcblx0ZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93OyAvKiBpcyB0aGlzIG5lY2Vzc2FyeT8gKi9cbn1cblxuXG4vKlx0U0xJQ0sgU0xJREVTIC0tLSAqL1xuXG4uY2Fyb3VzZWwtY29udGFpbmVyIC5zbGljay1zbGlkZSB7XG5cdGhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xufVxuXG5cbi8qXHRTTElDSyBMT0FESU5HIC0tLSAqL1xuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stbGlzdCB7XG5cdGJhY2tncm91bmQ6ICNmZmYgdXJsKCcvaW1hZ2VzL2FqYXgtbG9hZGVyLmdpZicpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xufVxuXG5cbi8qXHRTTElDSyBBUlJPV1MgLS0tICovXG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLWFycm93IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDAwOyAvKiBlbnN1cmUgU2xpY2sgQXJyb3dzIGFyZSBkaXNwbGF5ZWQgaW4gZnJvbnQgb2YgU2xpY2sgQ2Fyb3VzZWwgaXRlbXMgKHdoaWNoIHN0YXJ0IGF0IHotaW5kZXg6IDEwMDAgYW5kIHdvcmsgZG93bikgKi9cblx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0Ym9yZGVyOiAwO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRmb250LXNpemU6IDIuNWVtO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLWFycm93OmhvdmVyIHtcblx0YmFja2dyb3VuZDogbm9uZTtcbn1cblxuLnNsaWNrLW5leHQge1xuXHRyaWdodDogMDtcbn1cblxuXG4vKiAgU0xJQ0sgRE9UUyAoUEFHRVIpIC0tLSAqL1xuXG4uc2xpY2stZG90cyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2xpY2stZG90cyBsaSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMzBweDtcblx0aGVpZ2h0OiAzMHB4O1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAzMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG5cdG1hcmdpbjogMDtcblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiB0cmFuc3BhcmVudDtcblx0b3V0bGluZTogbm9uZTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGZvbnQtc2l6ZTogMDtcblx0bGluZS1oZWlnaHQ6IDA7XG59XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcblx0Y29udGVudDogJ1xcMjAyMic7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAzMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGxpbmUtaGVpZ2h0OiAzMHB4O1xuXHRmb250LWZhbWlseTogaW5pdGlhbDsgLyogcmVzZXRzIGZvbnQgdG8gVGltZXMgTmV3IFJvbWFuIChzZXQgaXQgaW4gbm9ybWFsaXplLmNzcykgZm9yIGNvbnNpc3RlbnQgc2l6aW5nICovXG5cdGZvbnQtc2l6ZTogNDJweDtcblx0LyogY29sb3Igc2V0IGluIG1haW4uY3NzICovXG5cdC8qIHRleHQtc2hhZG93IHNldCBpbiBtYWluLmNzcyAqL1xufVxuXG4uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG5cdC8qIGNvbG9yIHNldCBpbiBtYWluLmNzcyAqL1xufVxuXG4vKlx0U0VDVElPTlMgU0xJQ0sgRE9UUyAoUEFHRVIpIC0tLSAqL1xuXG4udHh0LXdoaXRlIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG5cdGNvbG9yOiAjZmZmO1xufVxuXG5cbi8qXHQgQkFOTkVSIENBUk9VU0VMIC0tLS0tLSAqL1xuXG4jYmFubmVyIC5zbGljay1saXN0LFxuI2Jhbm5lciAuc2xpY2stdHJhY2sge1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5iYW5uZXItc2xpZGUge1xuXHRmbG9hdDogbGVmdDsgLyogbmVjZXNzYXJ5IGZvciBCYW5uZXIgTW9kdWxlIChpLmUuIG5vdCBzaW1wbHkgaW1hZ2UpIHNsaWRlcyB0byBiZSBkaXNwbGF5ZWQgKi9cblx0LyogcG9zaXRpb25pbmcgZm9yIGNhcm91c2VsIGJhbm5lcnMgKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFzcGVjdC1yYXRpbzogMS8xO1xuXHQvKiBtYXgtaGVpZ2h0IHNldCBpbiBtZWRpYSBxdWVyaWVzICovXG59XG5cbi8qXHRTTElDSyBBUlJPV1MgLS0tICovXG5cbiNiYW5uZXIgLnNsaWNrLWFycm93IHtcblx0Y29sb3I6ICNmZmY7XG5cdHRleHQtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwwLDAsMC43NSk7XG59XG5cbi8qICBTTElDSyBET1RTIChQQUdFUikgLS0tICovXG4vKlx0T3RoZXIgc2xpY2stZG90cyBzdHlsZXMgc2V0IGluIG1lZGlhIHF1ZXJpZXMgKi9cblxuI2Jhbm5lciAuc2xpY2stZG90cyB7XG5cdGJvdHRvbTogMDtcblx0ei1pbmRleDogMTAwMDsgLyogZW5zdXJlIFNsaWNrIERvdHMgYXJlIGRpc3BsYXllZCBpbiBmcm9udCBvZiBTbGljayBDYXJvdXNlbCBpdGVtcyAod2hpY2ggc3RhcnQgYXQgei1pbmRleCAxMDAwIGFuZCB3b3JrIGRvd24pICovXG5cdGZvbnQtZmFtaWx5OiBhdXRvOyAvKiBwcmV2ZW50IHZhcmlhdGlvbiBvZiBidXR0b246YmVmb3JlIGJ1bGxldCBvbiBhY2NvdW50IG9mIGdsb2JhbCBmb250LWZhbWlseSAqL1xufVxuXG5cbi8qICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRJTkRJRS5XRUIgQ0FST1VTRUwgTUVESUEgUVVFUklFU1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAgKi9cblxuLypcdFNjcmVlbiBTaXplcyAyNDBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1heC13aWR0aCA6IDI0MHB4KSB7XG5cblx0LypcdEhFQURFUiAtLS0tLS0tLS0tLSAqL1xuXG5cdC8qXHRCQU5ORVIgLS0tLS0tICovXG5cblx0I2Jhbm5lciAuYmFubmVyLXNsaWRlIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuXHRcdGp1c3RpZnktY29udGVudDogc3RhcnQ7XG5cdH1cblxuXHQjYmFubmVyOm5vdCguaW50ZXJuYWwpICNjeWNsZS1iYW5uZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXG5cdC8qXHRDYXJvdXNlbCAtLS0gKi9cblxuXHQvKlx0U2xpY2sgQXJyb3dzICovXG5cblx0I2Jhbm5lcjpub3QoLmludGVybmFsKSAuc2xpY2stYXJyb3cge1xuXHRcdHRvcDogY2FsYyg1MHZ3IC0gMTVweCk7XG5cdH1cblxuXHQvKlx0UGFnZXIgKi9cblxuXHQjYmFubmVyOm5vdCguaW50ZXJuYWwpIC5zbGljay1kb3RzIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblx0XG5cdC8qIC5wb3MtYWJzIGFwcGxpZWQgYnkgSlMgd2hlbiBubyAudHh0LXdyYXAgZWxlbWVudHMgcHJlc2VudCAtIHNsaWNrLWRvdHMgcmVtYWluIGluIGJhbm5lciAqL1xuXHQjYmFubmVyOm5vdCguaW50ZXJuYWwpIC5zbGljay1kb3RzLnBvcy1hYnMge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0fVxuXG5cdC8qIGhhcmRlciBzaGFkb3cgZm9yIGJldHRlciB2aXNpYmlsaXR5IGFnYWluc3QgaW1hZ2UgYmFja2dyb3VuZHMgKi9cblx0I2Jhbm5lcjpub3QoLmludGVybmFsKSAuc2xpY2stZG90cy5wb3MtYWJzIGxpIGJ1dHRvbjpiZWZvcmUge1xuXHRcdHRleHQtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwwLDAsMC43NSk7XG5cdH1cblxufVxuXG5cbi8qICBTY3JlZW4gU2l6ZXMgMjQwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDI0MHB4KSB7XG5cblx0LypcdEhFQURFUiAtLS0tLS0tLS0tICovXG5cblx0LypcdEJBTk5FUiAtLS0tLS0gKi9cblxuXHQvKlx0U2xpY2sgQXJyb3dzICovXG5cblx0I2Jhbm5lciAuc2xpY2stYXJyb3cge1xuXHRcdHRvcDogNTAlO1xuXHR9XG5cblx0LypcdENhcm91c2VsIC0tLSAqL1xuXG5cdC8qXHRQYWdlciAqL1xuXG5cdCNiYW5uZXIgLnNsaWNrLWRvdHMge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0fVxuXG5cdC8qIGhhcmRlciBzaGFkb3cgZm9yIGJldHRlciB2aXNpYmlsaXR5IGFnYWluc3QgaW1hZ2UgYmFja2dyb3VuZHMgKi9cblx0I2Jhbm5lciAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcblx0XHR0ZXh0LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsMCwwLDAuNzUpO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDI0MHB4IC0gNDAwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiAyNDBweClcbmFuZCAobWF4LXdpZHRoIDogNDAwcHgpIHtcblxuXHQvKlx0SEVBREVSIC0tLS0tLS0tLS0gKi9cblxuXHQvKlx0QkFOTkVSIC0tLS0tLSAqL1xuXG5cdCNjeWNsZS1iYW5uZXIgLnR4dC13cmFwIHtcblx0XHRwYWRkaW5nOiA0Ny41cHggMTVweDtcblx0fVxuXG59XG5cblxuLyogIFNjcmVlbiBTaXplcyA0MDBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1heC13aWR0aCA6IDQwMHB4KSB7XG5cblx0LypcdEhFQURFUiAtLS0tLS0tLS0tICovXG5cbiAgICAvKlx0QkFOTkVSIC0tLS0tLSAqL1xuXG5cdC8qXHRDYXJvdXNlbCAtLS0gKi9cblxuXHQvKlx0UGFnZXIgKi9cblxuXHQjYmFubmVyIC5zbGljay1kb3RzIHtcblx0XHRtYXJnaW46IDE1cHggMDtcblx0fVxuXG59XG5cblxuLyogIFNjcmVlbiBTaXplcyA0MDBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogNDAwcHgpIHtcblxuXHQvKlx0SEVBREVSIC0tLS0tLS0tLS0gKi9cblxuICAgIC8qXHRCQU5ORVIgLS0tLS0tICovXG5cblx0LypcdENhcm91c2VsIC0tLSAqL1xuXG5cdC8qXHRQYWdlciAqL1xuXG5cdCNiYW5uZXIgLnNsaWNrLWRvdHMge1xuXHRcdG1hcmdpbjogMzBweCAwO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDQwMHB4IC0gODAwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA0MDBweClcbmFuZCAobWF4LXdpZHRoIDogODAwcHgpIHtcblxuXHQvKlx0SEVBREVSIC0tLS0tLS0tLS0gKi9cblxuXHQvKlx0QkFOTkVSIC0tLS0tLSAqL1xuXG5cdCNjeWNsZS1iYW5uZXIgLnR4dC13cmFwIHtcblx0XHRwYWRkaW5nOiA3NXB4IDE1cHg7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgODAwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aCA6IDgwMHB4KSB7XG5cblx0LypcdEhFQURFUiAtLS0tLS0tLS0tICovXG5cblx0LypcdEJBTk5FUiAtLS0tLS0gKi9cblxuXHQvKlx0Q2Fyb3VzZWwgLS0tICovXG5cblx0LypcdFBhZ2VyICovXG5cblx0I2Jhbm5lciAuc2xpY2stYXJyb3cge1xuXHRcdHBhZGRpbmc6IDAgMTVweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA4MDBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGggOiA4MDBweCkge1xuXG5cdC8qXHRCQU5ORVIgLS0tLS0tICovXG5cblx0I2N5Y2xlLWJhbm5lciAudHh0LXdyYXAge1xuXHRcdHBhZGRpbmc6IDc1cHggNDVweDtcblx0fVxuXG5cdC8qXHRDYXJvdXNlbCAtLS0gKi9cblxuXHQvKlx0UGFnZXIgKi9cblxuXHQjYmFubmVyIC5zbGljay1hcnJvdyB7XG5cdFx0cGFkZGluZzogMCAzMHB4O1xuXHR9XG5cbn0iLCIvKlx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0SU5ESUUuV0VCIE5BViBTVFlMRVNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcdE5BViBHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxubmF2IHVsIHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbm5hdiBsaSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luOiAwO1xufVxuXG5uYXYgYSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG5uYXYgbGkgdWwgbGkge1xuXHRoZWlnaHQ6IGF1dG87XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbm5hdiBsaSB1bCBhIHtcblx0bGluZS1oZWlnaHQ6IDBweDtcblx0dHJhbnNpdGlvbjpcblx0XHRsaW5lLWhlaWdodCAwLjVzIGVhc2UgMC41cyxcblx0XHRjb2xvciAwLjI1cyBlYXNlICFpbXBvcnRhbnQgLyogY29sb3IgaW5jbHVkZWQgYmVjYXVzZSBvbmx5IGEgc2luZ2xlIHRyYW5zaXRpb24gcHJvcGVydHkgY2FuIGV4aXN0IGZvciBhbiBlbGVtZW50OyB0aGlzIG92ZXJyaWRlcyBDU1MgVHJhbnNpdGlvbnMgc2VjdGlvbiBpbiBtYWluLmNzcyAqL1xuXHQ7XG59XG5cbm5hdiBsaTpob3ZlciA+IHVsID4gbGkgPiBhLFxubmF2IGxpOmZvY3VzLXdpdGhpbiA+IHVsID4gbGkgPiBhLFxubmF2IGxpOmFjdGl2ZSA+IHVsID4gbGkgPiBhLFxubmF2IGxpLnBhcmVudC5zZWxlY3RlZCA+IHVsID4gbGkgPiBhLFxubmF2IGxpLnNlbGVjdGVkID4gYSB7XG4vKlx0bGluZS1oZWlnaHQ6IDsgU2V0IGluIG1haW4uY3NzICovXG5cdHRyYW5zaXRpb246XG5cdFx0bGluZS1oZWlnaHQgMC41cyBlYXNlIDAuNXMsXG5cdFx0Y29sb3IgMC4yNXMgZWFzZSAhaW1wb3J0YW50IC8qIGNvbG9yIGluY2x1ZGVkIGJlY2F1c2Ugb25seSBhIHNpbmdsZSB0cmFuc2l0aW9uIHByb3BlcnR5IGNhbiBleGlzdCBmb3IgYW4gZWxlbWVudDsgdGhpcyBvdmVycmlkZXMgQ1NTIFRyYW5zaXRpb25zIHNlY3Rpb24gaW4gbWFpbi5jc3MgKi9cblx0O1xufVxuXG5uYXYgbGk6Zm9jdXMsXG4jbmF2LW1haW4tY29udGFpbmVyICNwaG9uZS1uYXYtZXh0IHtcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyAvKiBvdmVycmlkZSBiYXNlLmNzcyAqL1xufVxuXG5uYXYgLmhhcy1jaGlsZHJlbiA+IGE6YWZ0ZXIge1xuXHRjb250ZW50OiAnXFwyNzZGJzsgIC8qIGVuY29kZWQgdmVyc2lvbiBvZiAn4p2vJyAqL1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDAgNy41cHg7XG5cblx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG5cdHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuNXM7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cywgLXdlYmtpdC10cmFuc2Zvcm0gMC41cztcbn1cblxubmF2IC5oYXMtY2hpbGRyZW46aG92ZXIgPiBhOmFmdGVyLFxubmF2IC5oYXMtY2hpbGRyZW46Zm9jdXMgPiBhOmFmdGVyLFxubmF2IGxpLmhhcy1jaGlsZHJlbi5wYXJlbnQuc2VsZWN0ZWQgPiBhOmFmdGVyIHtcblx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0dHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC41cztcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjVzO1xuXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDsgLyogZW5zdXJlIHJvdGF0ZWQgYXJyb3cgbG9va3Mgbm9ybWFsICovXG59XG5cbi8qXHRTdWItTmF2IENvbGxhcHNlIFByZXZlbnRpb24gLS0tICovXG5cbm5hdiAuc3ViLW5hdi1jb2xsYXBzZS1wcmV2ZW50aW9uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5uYXYgbGk6aG92ZXIgPiB1bCA+IC5zdWItbmF2LWNvbGxhcHNlLXByZXZlbnRpb24ge1xuXHRoZWlnaHQ6IDEwMHZoO1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG5cbi8qXHROQVYgTUFJTiAtLS0tLS0tLS0tICovXG5cbi8qXHRDT05UQUlORVIgLS0tLS0tICovXG5cbiNuYXYtbWFpbi1jb250YWluZXIge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHotaW5kZXg6IDEwMDsgLyogZW5zdXJlIE1haW4gTmF2IGlzIGRpc3BsYXllZCBpbiBmcm9udCBvZiBCYW5uZXIgKi9cblx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8qIHByb3ZpZGVzIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBtb2JpbGUgZGV2aWNlcyAqL1xuXHR0b3A6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cblxuLypcdExPR08gLS0tLS0tICovXG5cbiNsb2dvIHtcblx0bWF4LXdpZHRoOiAzMDBweDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbiNsb2dvIC52ZXJ0LWNlbnRlciA+ICoge1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbiNsb2dvIC52ZXJ0LWNlbnRlciA+ICogPiAqIHtcblx0d2lkdGg6IGF1dG87XG5cdG1heC13aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRtYXgtaGVpZ2h0OiAxMDAlO1xuXHQtby1vYmplY3QtZml0OiBjb250YWluO1xuXHRvYmplY3QtZml0OiBjb250YWluO1xufVxuXG5cbi8qXHROQVYgLS0tLS0tICovXG5cbiNuYXYtbWFpbiBsaSB1bDpob3ZlciB7XG5cdHotaW5kZXg6IDEwOyAvKiBzdGlsbCByZXF1aXJlZD8gKi9cbn1cblxuXG4vKlx0UkVTUE9OU0lWRSBOQVYgLS0tICovXG5cbiNuYXYtdG9nZ2xlIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuI25hdi1pY29uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0YmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG5cdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIC01MCUpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgLTUwJSk7XG59XG5cbiNuYXYtaWNvbiBzcGFuIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAzcHg7XG5cblx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgdHJhbnNsYXRlWSgtNTAlKTtcblxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG59XG5cbiNuYXYtaWNvbiBzcGFuOmJlZm9yZSxcbiNuYXYtaWNvbiBzcGFuOmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDA7XG5cdHRyYW5zaXRpb246IHRvcCAuM3MsIGJhY2tncm91bmQtY29sb3IgMC4zcywgLXdlYmtpdC10cmFuc2Zvcm0gLjNzO1xuXHR0cmFuc2l0aW9uOiB0b3AgLjNzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIHRyYW5zZm9ybSAuM3M7XG5cdHRyYW5zaXRpb246IHRvcCAuM3MsIGJhY2tncm91bmQtY29sb3IgMC4zcywgdHJhbnNmb3JtIC4zcywgLXdlYmtpdC10cmFuc2Zvcm0gLjNzO1xufVxuXG4jbmF2LWljb24gc3BhbjpiZWZvcmUge1xuXHR0b3A6IC03cHg7XG59XG5cbiNuYXYtaWNvbiBzcGFuOmFmdGVyIHtcblx0dG9wOiA3cHg7XG59XG5cbiNuYXYtdG9nZ2xlOmNoZWNrZWQgfiAjbmF2LWljb24gc3BhbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgIWltcG9ydGFudDtcbn1cblxuI25hdi10b2dnbGU6Y2hlY2tlZCB+ICNuYXYtaWNvbiBzcGFuOmJlZm9yZSB7XG5cdHRvcDogMDtcblx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xufVxuXG4jbmF2LXRvZ2dsZTpjaGVja2VkIH4gI25hdi1pY29uIHNwYW46YWZ0ZXIge1xuXHR0b3A6IDA7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcblx0dHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcbn1cblxuXG4vKlx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0SU5ESUUuV0VCIE5BViBNRURJQSBRVUVSSUVTXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHQqL1xuXG4vKlx0U2NyZWVuIFNpemVzIDI0MHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWF4LXdpZHRoIDogMjQwcHgpIHtcblx0XG5cdC8qXHROQVYgTUFJTiAtLS0tLS0tLS0tICovXG5cblx0LypcdENPTlRBSU5FUiwgTE9HTywgTkFWIC0tLS0tLSAqL1xuXHRcblx0I25hdi1tYWluLWNvbnRhaW5lcixcblx0I2xvZ28sXG5cdCNuYXYtbWFpbiB7XG5cdFx0cGFkZGluZzogNy41cHg7XG5cdH1cblxuXG5cdC8qXHROQVYgLS0tLS0tICovXG5cblx0I25hdi1tYWluIHtcdFxuXHRcdG1pbi13aWR0aDogMzVweDsgLyogY29tYmluZWQgKHdpZHRoOiAyMHB4KSArICggKHBhZGRpbmc6IDcuNXB4KSB4IDIgKSAqL1x0XG5cdH1cblxuXHQjbmF2LW1haW4gZGl2ID4gdWwge1xuXHRcdHBhZGRpbmc6IDAgMTVweDtcblx0fVxuXG5cdCNuYXYtbWFpbiBsaSB1bCB7XG5cdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHR9XG5cblxuXHQvKlx0UkVTUE9OU0lWRSBOQVYgLS0tICovXG5cblx0I25hdi1pY29uIHtcblx0XHRyaWdodDogMTVweDtcblx0XHR3aWR0aDogMjBweDtcblx0fVxuXHRcblx0I25hdi1pY29uIHNwYW4ge1xuXHRcdGhlaWdodDogMnB4O1xuXHR9XG5cdFxuXHQjbmF2LWljb24gc3BhbjpiZWZvcmUge1xuXHRcdHRvcDogLTZweDtcblx0fVxuXHRcblx0I25hdi1pY29uIHNwYW46YWZ0ZXIge1xuXHRcdHRvcDogNnB4O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDI0MHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiAyNDBweCkge1xuXHRcblx0LypcdE5BViBNQUlOIC0tLS0tLS0tLS0gKi9cblxuXHQvKlx0TE9HTywgUEhPTkUgLS0tLS0tICovXG5cdFxuXHQjbG9nbyxcblx0I3Bob25lLW5hdi1leHQge1xuXHRcdHBhZGRpbmc6IDAgMTVweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAyNDBweCAtIDMyMHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogMjQwcHgpXG5hbmQgKG1heC13aWR0aCA6IDMyMHB4KSB7XG5cblx0LypcdE5BViBNQUlOIC0tLS0tLS0tLS0gKi9cblxuXHQvKlx0TkFWIC0tLS0tLSAqL1xuXG5cdCNuYXYtbWFpbiB7XHRcblx0XHRtaW4td2lkdGg6IDUycHg7IC8qIGNvbWJpbmVkICh3aWR0aDogMjJweCkgKyAoIChwYWRkaW5nOiAxNXB4KSB4IDIgKSAqL1x0XG5cdH1cblxuXG5cdC8qXHRSRVNQT05TSVZFIE5BViAtLS0gKi9cblx0XG5cdCNuYXYtaWNvbiB7XG5cdFx0cmlnaHQ6IDMwcHg7XG5cdFx0d2lkdGg6IDIycHg7XG5cdH1cblx0XG5cdCNuYXYtaWNvbiBzcGFuIHtcblx0XHRoZWlnaHQ6IDJweDtcblx0fVxuXHRcblx0I25hdi1pY29uIHNwYW46YmVmb3JlIHtcblx0XHR0b3A6IC02cHg7XG5cdH1cblx0XG5cdCNuYXYtaWNvbiBzcGFuOmFmdGVyIHtcblx0XHR0b3A6IDZweDtcblx0fVxuXHRcbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDI0MHB4IC0gODAwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiAyNDBweClcbmFuZCAobWF4LXdpZHRoIDogODAwcHgpIHtcblx0XG5cdC8qXHROQVYgTUFJTiAtLS0tLS0tLS0tICovXG5cblx0LypcdENPTlRBSU5FUiAtLS0tLS0gKi9cblxuXHQjbmF2LW1haW4tY29udGFpbmVyIHtcblx0XHRwYWRkaW5nOiAxNXB4O1xuXHR9XG5cblxuXHQvKlx0TkFWIC0tLS0tLSAqL1xuXG5cdCNuYXYtbWFpbiBkaXYgPiB1bCB7XG5cdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cdH1cblxuXHQjbmF2LW1haW4gbGkgdWwge1xuXHRcdHBhZGRpbmctbGVmdDogMzBweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAzMjBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1heC13aWR0aCA6IDMyMHB4KSB7XG5cblx0LypcdE5BViBNQUlOIC0tLS0tLS0tLS0gKi9cblxuXHQvKlx0Q09OVEFJTkVSIC0tLS0tLSAqL1xuXHRcblx0I25hdi1tYWluLWNvbnRhaW5lciBhIHtcblx0XHRmb250LXNpemU6IDAuODc1ZW07XG5cdH1cblxuXG5cdC8qXHROQVYgLS0tLS0tICovXG5cblx0I25hdi1tYWluID4gZGl2ID4gdWwgPiBsaSA+IGEsXG5cdCNuYXYtbWFpbiBsaTpob3ZlciA+IHVsID4gbGkgPiBhIHtcblx0XHRsaW5lLWhlaWdodDogNDBweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAzMjBweCAtIDY0MHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGggOiAzMjBweClcbmFuZCAobWF4LXdpZHRoIDogNjQwcHgpIHtcblx0XG5cdC8qXHROQVYgTUFJTiAtLS0tLS0tLS0tICovXG5cblx0LypcdE5BViAtLS0tLS0gKi9cblx0XG5cdCNuYXYtbWFpbiA+IGRpdiA+IHVsID4gbGkgPiBhLFxuXHQjbmF2LW1haW4gbGk6aG92ZXIgPiB1bCA+IGxpID4gYSB7XG5cdFx0bGluZS1oZWlnaHQ6IDQ1cHg7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMzIwcHggLSA4MDBweCAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWluLXdpZHRoIDogMzIwcHgpXG5hbmQgKG1heC13aWR0aCA6IDgwMHB4KSB7XG5cdFxuXHQvKlx0TkFWIE1BSU4gLS0tLS0tLS0tLSAqL1xuXG5cdC8qXHROQVYgLS0tLS0tICovXG5cblx0I25hdi1tYWluIHtcdFxuXHRcdG1pbi13aWR0aDogNTVweDsgLyogY29tYmluZWQgKHdpZHRoOiAyNXB4KSArICggKHBhZGRpbmc6IDcuNXB4KSB4IDIgKSAqL1x0XG5cdH1cblxuXG5cdC8qXHRSRVNQT05TSVZFIE5BViAtLS0gKi9cblx0XG5cdCNuYXYtaWNvbiB7XG5cdFx0cmlnaHQ6IDMwcHg7XG5cdFx0d2lkdGg6IDI1cHg7XG5cdH1cblx0XG5cdCNuYXYtaWNvbiBzcGFuIHtcblx0XHRoZWlnaHQ6IDNweDtcblx0fVxuXHRcblx0I25hdi1pY29uIHNwYW46YmVmb3JlIHtcblx0XHR0b3A6IC03cHg7XG5cdH1cblx0XG5cdCNuYXYtaWNvbiBzcGFuOmFmdGVyIHtcblx0XHR0b3A6IDdweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA0MDBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1heC13aWR0aCA6IDQwMHB4KSB7XG5cblx0LypcdE5BViBNQUlOIC0tLS0tLS0tLS0gKi9cblxuXHQvKlx0TE9HTywgTkFWIC0tLS0tLSAqL1xuXG5cdCNsb2dvLFxuXHQjbmF2LW1haW4ge1xuXHRcdHdpZHRoOiA1MCU7XG5cdH1cblx0XG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA1NjBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1heC13aWR0aCA6IDU2MHB4KSB7XG5cblx0LypcdE5BViBNQUlOIC0tLS0tLS0tLS0gKi9cblxuXHQvKlx0Q09OVEFJTkVSIC0tLS0tLSAqL1xuXG5cdCNuYXYtbWFpbi1jb250YWluZXIge1xuXHRcdGhlaWdodDogNjBweDtcblx0fVxuXG5cblx0LypcdE5BViAtLS0tLS0gKi9cblxuXHQvKlx0UkVTUE9OU0lWRSBOQVYgLS0tICovXG5cblx0I25hdi1jb2xsYXBzZSB7XG5cdFx0dG9wOiA2MHB4O1xuXHR9XG5cblx0I25hdi1jb2xsYXBzZSA+IHVsIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogNjBweDtcblx0fVxuXHRcbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDU2MHB4IC0gODAwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aCA6IDU2MHB4KVxuYW5kIChtYXgtd2lkdGggOiA4MDBweCkge1xuXG5cdC8qXHROQVYgTUFJTiAtLS0tLS0tLS0tICovXG5cblx0LypcdENPTlRBSU5FUiAtLS0tLS0gKi9cblxuXHQjbmF2LW1haW4tY29udGFpbmVyIHtcblx0XHRoZWlnaHQ6IDc1cHg7XG5cdH1cblxuXG5cdC8qXHROQVYgLS0tLS0tICovXG5cblx0LypcdFJFU1BPTlNJVkUgTkFWIC0tLSAqL1xuXG5cdCNuYXYtY29sbGFwc2Uge1xuXHRcdHRvcDogNzVweDtcblx0fVxuXG5cdCNuYXYtY29sbGFwc2UgPiB1bCB7XG5cdFx0cGFkZGluZy1ib3R0b206IDc1cHg7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgNjQwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtYXgtd2lkdGggOiA2NDBweCkge1xuXG5cdC8qXHROQVYgTUFJTiAtLS0tLS0tLS0tICovXG5cdFxuXHQvKlx0TkFWIC0tLS0tLSAqL1xuXHRcblx0I25hdi1tYWluIHtcblx0XHRmbGV4OiAxOyAvKiBzdGlsbCByZXF1aXJlZD8gKi9cblx0fVxuXHRcbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDY0MHB4IC0gODAwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aCA6IDY0MHB4KVxuYW5kIChtYXgtd2lkdGggOiA4MDBweCkge1xuXG5cdC8qXHROQVYgTUFJTiAtLS0tLS0tLS0tICovXG5cdFxuXHQvKlx0TkFWIC0tLS0tLSAqL1xuXHRcblx0I25hdi1tYWluIHtcblx0XHR3aWR0aDogYXV0bzsgLyogc3RpbGwgcmVxdWlyZWQ/ICovXG5cdH1cblx0I25hdi1tYWluIGxpIGEge1xuXHRcdGZvbnQtc2l6ZTogMS4yNXJlbTtcblx0fVxuXG5cdCNuYXYtbWFpbiA+IGRpdiA+IHVsID4gbGkgPiBhLFxuXHQjbmF2LW1haW4gbGk6aG92ZXIgPiB1bCA+IGxpID4gYSB7XG5cdFx0bGluZS1oZWlnaHQ6IDYwcHg7XG5cdH1cblx0XG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA4MDBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1heC13aWR0aCA6IDgwMHB4KSB7XG5cblx0LypcdE5BViBNQUlOIC0tLS0tLS0tLS0gKi9cblx0XG5cdC8qXHROQVYgLS0tLS0tICovXG5cblx0I25hdi1tYWluIHtcblx0XHRvcmRlcjogMzsgLyogaW5pdGlhbCB2YWx1ZSAwICovXG5cdH1cblxuXG5cdC8qXHRSRVNQT05TSVZFIE5BViAtLS0gKi9cblx0XG5cdCNuYXYtaWNvbiB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGhlaWdodDogMzBweDtcblx0fVxuXG5cdCNuYXYtdG9nZ2xlOmNoZWNrZWQgfiAjbmF2LWljb24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLyogcHJvdmlkZXMgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGZpeGVkIHBvc2l0aW9uIGVsZW1lbnRzIG1vYmlsZSBkZXZpY2VzICovXG5cdFx0bGVmdDogYXV0bztcblx0fVxuXG5cdCNuYXYtY29sbGFwc2Uge1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLyogcHJvdmlkZXMgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGZpeGVkIHBvc2l0aW9uIGVsZW1lbnRzIG1vYmlsZSBkZXZpY2VzICovXG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bWF4LWhlaWdodDogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC42NXMgZWFzZS1pbi1vdXQ7XG5cdFx0dHJhbnNpdGlvbjogYWxsIC42NXMgZWFzZS1pbi1vdXQ7XG5cdH1cblxuXHQjbmF2LXRvZ2dsZTpjaGVja2VkIH4gI25hdi1jb2xsYXBzZSB7XG5cdFx0bWF4LWhlaWdodDogMTIwMHB4O1xuXHRcdG92ZXJmbG93OiBhdXRvO1xuXHR9XG5cblxuXHQvKlx0UEhPTkUgLS0tLS0tICovXG5cblx0I3Bob25lLW5hdi1leHQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0XG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA4MDBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogODAwcHgpIHtcblxuXHQvKlx0TkFWIE1BSU4gLS0tLS0tLS0tLSAqL1xuXHRcblx0LypcdENPTlRBSU5FUiAtLS0tLS0gKi9cblxuXHQjbmF2LW1haW4tY29udGFpbmVyIHtcblx0XHRoZWlnaHQ6IDkwcHg7XG5cdFx0cGFkZGluZzogMCAxNXB4O1xuXHR9XG5cblxuXHQvKlx0TE9HTyAtLS0tLS0gKi9cblxuXHQjbG9nbyA+ICoge1xuXHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAxNXB4O1xuXHR9XG5cblxuXHQvKlx0TkFWIC0tLS0tLSAqL1xuXG5cdCNuYXYtbWFpbiB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdGZsZXg6IGF1dG87XG5cdFx0b3JkZXI6IDI7XG5cdH1cblxuXHQjbmF2LW1haW4gZGl2ID4gdWwge1xuXHRcdGhlaWdodDogOTBweDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7IC8qIHByZXZlbnQgbWVudSBpdGVtcyBmcm9tIHdyYXBwaW5nICovXG5cdFx0Zm9udC1zaXplOiAwOyAvKiBwcmV2ZW50IHdoaXRlLXNwYWNlIGJldHdlZW4gbGkgaXRlbXMgKGltcG9ydGFudCB3aGVuIHNldHRpbmcgYmFja2dyb3VuZC1jb2xvcikgKi9cblx0fVxuXG5cdCNuYXYtbWFpbiBkaXYgPiB1bCA+IGxpIHtcblx0XHRoZWlnaHQ6IDkwcHg7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmc6IDAgMTVweDtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHR9XG5cblx0I25hdi1tYWluID4gZGl2ID4gdWwgPiBsaSA+IGEge1xuXHRcdGxpbmUtaGVpZ2h0OiA5MHB4O1xuXHR9XG5cblx0I25hdi1tYWluID4gZGl2ID4gdWwgPiBsaSA+IHVsIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA5MHB4O1xuXHRcdGxlZnQ6IDA7XG5cdFx0aGVpZ2h0OiBpbml0aWFsO1xuXHRcdG1pbi13aWR0aDogMTAwJTtcblx0fVxuXG5cdCNuYXYtbWFpbiBsaSB1bCB7XG5cdFx0cGFkZGluZzogMCAzMHB4O1xuXHR9XG5cblx0I25hdi1tYWluIGxpIHVsIGxpIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cblx0I25hdi1tYWluIGxpOmhvdmVyID4gdWwgPiBsaSA+IGEsXG5cdCNuYXYtbWFpbiBsaTpob3ZlciA+IHVsID4gbGkgPiBhLFxuXHQjbmF2LW1haW4gbGk6Zm9jdXMtd2l0aGluID4gdWwgPiBsaSA+IGEsXG5cdCNuYXYtbWFpbiBsaTphY3RpdmUgPiB1bCA+IGxpID4gYSxcblx0I25hdi1tYWluIC5zdWItbmF2LWNvbGxhcHNlLXByZXZlbnRpb246aG92ZXIgfiBsaSA+IGEsXG5cdGh0bWwudGFiYmluZyAjbmF2LW1haW4gbGk6Zm9jdXMtd2l0aGluID4gdWwgPiBsaSA+IGEge1xuXHRcdGxpbmUtaGVpZ2h0OiA2MHB4O1xuXHR9XG5cblx0LnN1Yi1uYXYtYm94LXNoYWRvdyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0fVxuXG5cblx0LypcdFJFU1BPTlNJVkUgTkFWIC0tLSAqL1xuXHRcblx0I25hdi1pY29uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdFxuXHQjbmF2LWNvbGxhcHNlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdG1heC1oZWlnaHQ6IG5vbmU7XG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdFx0YmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR9XG5cblxuXHQvKlx0UEhPTkUgLS0tLS0tICovXG5cdFxuXHQjcGhvbmUtbmF2LWV4dCB7XG5cdFx0b3JkZXI6IDM7XG5cdH1cblx0XG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA4MDBweCAtIDg4MHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogODAwcHgpIFxuYW5kIChtYXgtd2lkdGggOiA4ODBweCkge1xuXG5cdC8qXHROQVYgTUFJTiAtLS0tLS0tLS0tICovXG5cdFxuXHQvKlx0TkFWIC0tLS0tLSAqL1xuXHRcblx0I25hdi1tYWluIGRpdiA+IHVsIHtcblx0XHRwYWRkaW5nOiAwIDIuNXB4IC8qIGVuc3VyZSBjb25zaXN0ZW50IHNwYWNlIGFyb3VuZCBmaXJzdCBhbmQgbGFzdCBtZW51IGl0ZW1zICovXG5cdH1cblxuXHQjbmF2LW1haW4gZGl2IGxpIHtcblx0XHRwYWRkaW5nOiAwIDEyLjVweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA4MDBweCAtIDEwNDBweCAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDgwMHB4KSBcbmFuZCAobWF4LXdpZHRoIDogMTA0MHB4KSB7XG5cblx0LypcdE5BViBNQUlOIC0tLS0tLS0tLS0gKi9cblx0XG5cdC8qXHRDT05UQUlORVIgLS0tLS0tICovXG5cblx0I25hdi1tYWluLWNvbnRhaW5lciBhIHtcblx0XHRmb250LXNpemU6IDAuODc1cmVtO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDg4MHB4IC0gMTA0MHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogODgwcHgpIFxuYW5kIChtYXgtd2lkdGggOiAxMDQwcHgpIHtcblxuXHQvKlx0TkFWIE1BSU4gLS0tLS0tLS0tLSAqL1xuXHRcblx0LypcdE5BViAtLS0tLS0gKi9cblx0XG5cdCNuYXYtbWFpbiBsaSB7XG5cdFx0cGFkZGluZzogMCAxNXB4O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDEwNDBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogMTA0MHB4KSB7XG5cblx0LypcdE5BViBNQUlOIC0tLS0tLS0tLS0gKi9cblx0XG5cdC8qXHROQVYgLS0tLS0tICovXG5cdFxuXHQjbmF2LW1haW4tY29udGFpbmVyIGEge1xuXHRcdGZvbnQtc2l6ZTogMS4wcmVtO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDE1MjBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogMTUyMHB4KSB7XG5cblx0LypcdE5BViBNQUlOIC0tLS0tLS0tLS0gKi9cblx0XG5cdC8qIFx0Q09OVEFJTkVSIC0tLS0tLSAqL1xuXHRcblx0I25hdi1tYWluLWNvbnRhaW5lciB7XG5cdFx0cGFkZGluZzogMCAzMHB4O1xuXHR9XG5cbn0iLCIvKiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0SU5ESUUuV0VCIFNUQU5EQVJEIFNFQ1RJT04gU1RZTEVTXG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gICovXG5cbi8qXHRBTk5PVU5DRU1FTlQgU0VDVElPTiAtLS0tLS0gKi9cblxuLypcdEdFTkVSQUwgLS0tICovXG5cbi5zZWN0aW9uLWFubm91bmNlbWVudCxcbi5zZWN0aW9uLWFubm91bmNlbWVudCA+ICoge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5zZWN0aW9uLWFubm91bmNlbWVudCB7XG5cdHotaW5kZXg6IDIwMDsgLyogZW5zdXJlIEFubm91bmNlbWVudCBTZWN0aW9uIGlzIGRpc3BsYXllZCBpbiBmcm9udCBvZiBNYWluIE5hdiArIEJhbm5lciAqL1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDB2aDsgLyogZW5zdXJlIEFubm91bmNlbWVudCBTZWN0aW9uIGNvdmVycyB2aWV3cG9ydCAqL1xuXHR0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTsgLyogYWxsb3cgY2xpY2stdGhyb3VnaCB0byB1bmRlcmx5aW5nIGVsZW1lbnRzICovXG59XG5cbi5zZWN0aW9uLWFubm91bmNlbWVudCA+IGRpdiB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uc2VjdGlvbi1hbm5vdW5jZW1lbnQgbGFiZWwge1xuXHRwb2ludGVyLWV2ZW50czogYWxsO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiNhbm5vdW5jZW1lbnQtdG9nZ2xlLFxuI2Fubm91bmNlbWVudC10b2dnbGUgfiBsYWJlbCxcbiNhbm5vdW5jZW1lbnQtd3JhcCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbiNhbm5vdW5jZW1lbnQtdG9nZ2xlOmNoZWNrZWQgfiBsYWJlbCxcbiNhbm5vdW5jZW1lbnQtdG9nZ2xlOmNoZWNrZWQgfiAjYW5ub3VuY2VtZW50LXdyYXAge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLnNlY3Rpb24tYW5ub3VuY2VtZW50IC5iZy13cmFwIHtcblx0ei1pbmRleDogLTE7XG59XG5cbi8qXHRCQVIgLS0tICovXG5cbi5zZWN0aW9uLWFubm91bmNlbWVudCAudHlwZS1iYXIge1xuXHR6LWluZGV4OiAxOyAvKiBlbnN1cmUgQW5ub3VuY2VtZW50IEJhciBpcyBkaXNwbGF5ZWQgYmVoaW5kIENsb3NlIEJ1dHRvbiAobGFiZWwpICovXG5cdHBvaW50ZXItZXZlbnRzOiBhbGw7XG59XG5cbi5zZWN0aW9uLWFubm91bmNlbWVudCAudHlwZS1iYXIgfiBsYWJlbCB7XG5cdHotaW5kZXg6IDI7IC8qIGVuc3VyZSBDbG9zZSBCdXR0b24gKGxhYmVsKSBpcyBkaXNwbGF5ZWQgaW4gZnJvbnQgb2YgQW5ub3VuY2VtZW50IEJhciAqL1xufVxuXG4uc2VjdGlvbi1hbm5vdW5jZW1lbnQgLnR5cGUtYmFyLnBvcy10b3AgfiBsYWJlbCB7XG5cdHRvcDogMTVweDtcblx0cmlnaHQ6IDE1cHg7XG59XG5cbi5zZWN0aW9uLWFubm91bmNlbWVudCAudHlwZS1iYXIucG9zLWJvdHRvbSB+IGxhYmVsIHtcblx0Ym90dG9tOiAxNXB4O1xuXHRyaWdodDogMTVweDtcbn1cblxuLnNlY3Rpb24tYW5ub3VuY2VtZW50IC50eXBlLWJhciAuaW5uZXIge1xuXHRwYWRkaW5nLXRvcDogMDtcblx0cGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5zZWN0aW9uLWFubm91bmNlbWVudCAudHlwZS1iYXIucG9zLXRvcCB7XG5cdHRvcDogMDtcbn1cblxuLnNlY3Rpb24tYW5ub3VuY2VtZW50IC50eXBlLWJhci5wb3MtYm90dG9tIHtcblx0Ym90dG9tOiAwO1xufVxuXG4vKlx0UE9QVVAgLS0tICovXG5cbi5zZWN0aW9uLWFubm91bmNlbWVudCAudHlwZS1wb3B1cCB7XG5cdHotaW5kZXg6IDI7IC8qIGVuc3VyZSBBbm5vdW5jZW1lbnQgUG9wdXAgaXMgZGlzcGxheWVkIGluIGZyb250IG9mIGJsdXJyZWQgYmFja2dyb3VuZCAobGFiZWwpICovXG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO1xuXHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoM3B4KTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zZWN0aW9uLWFubm91bmNlbWVudCAudHlwZS1wb3B1cCB+IGxhYmVsIHtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR6LWluZGV4OiAxOyAvKiBlbnN1cmUgYmx1cnJlZCBiYWNrZ3JvdW5kIChsYWJlbCkgaXMgZGlzcGxheWVkIGJlaGluZCBBbm5vdW5jZW1lbnQgUG9wdXAgKi9cblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTsgLyogZW5zdXJlIGJsdXJyZWQgYmFja2dyb3VuZCAobGFiZWwpIGNvdmVycyB2aWV3cG9ydCAqL1xuXHR0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuXG4uc2VjdGlvbi1hbm5vdW5jZW1lbnQgLnR5cGUtcG9wdXAgfiBsYWJlbCBpIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IC8qIHRvcCArIGxlZnQgc2V0IGluIG1lZGlhIHF1ZXJpZXMgKi9cblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVaKDFweCk7IC8qIGVuc3VyZSBDbG9zZSBCdXR0b24gKGxhYmVsID4gaSkgaXMgZGlzcGxheWVkIGluIGZyb250IG9mIEFubm91bmNlbWVudCBQb3B1cCAqL1xufVxuXG4uc2VjdGlvbi1hbm5vdW5jZW1lbnQgLnR5cGUtcG9wdXAgLmlubmVyIHtcblx0dG9wOiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnNlY3Rpb24tYW5ub3VuY2VtZW50IC50eXBlLXBvcHVwIC5wb3MtcmVsIHtcblx0cG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuXG4vKlx0QkFOTkVSIFNFQ1RJT04gLS0tLS0tLS0tLSAqL1xuXG4jYmFubmVyIC5sb2NvbW90aXZlLXNlY3Rpb24gPiBzcGFuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuI2Jhbm5lciAuYmFubmVyLXNsaWRlIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyogYWNjb3VudCBmb3IgLmJnLXNjYWxlICovXG59XG5cbiNiYW5uZXIgLmJhbm5lci1zbGlkZSAuYmctc2NhbGUge1xuXHR0b3A6IC01cHg7XG5cdGxlZnQ6IC01cHg7XG5cdHdpZHRoOiBjYWxjKDEwMCUgKyAxMHB4KTtcblx0aGVpZ2h0OiBjYWxjKDEwMCUgKyAxMHB4KTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xufVxuXG5cbi8qXHRHRU5FUkFMIENPTlRFTlQgU0VDVElPTiAtLS0tLS0tLS0tICovXG5cbm1haW4gPiAubG9jb21vdGl2ZS1zZWN0aW9ucyA+IHNlY3Rpb24ge1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvKiBlbnN1cmUgYmFja2dyb3VuZHMgd2l0aCBibHVyICsgc2NhbGUgYXBwbGllZCBkbyBub3Qgb3ZlcmZsb3cgdGhlIHNlY3Rpb24gKi9cbn1cblxuLypcdEVuc3VyZSBjb3JyZWN0IG1hcmdpbiBpZiBmaXJzdCBwYXJhZ3JhcGggb24gcGFnZSBpcyBub3QgcHJlY2VkZWQgYnkgYSBoZWFkaW5nICovXG5tYWluID4gLnNlY3Rpb24tcGFnZS1pbnRybyA+IC5pbm5lciA+IC53aWR0aC0xMDAgPiBwOmZpcnN0LWNoaWxkLFxubWFpbiA+IC5sb2NvbW90aXZlLXNlY3Rpb25zID4gc2VjdGlvbiA+IC5pbm5lciAud2lkdGgtMTAwID4gcDpmaXJzdC1jaGlsZCB7XG5cdG1hcmdpbi10b3A6IDMwcHg7XG59XG5cblxuLypcdFNFUEFSQVRPUiAtLS0gKi9cblxuLmxvY29tb3RpdmUtc2VjdGlvbnMgLnNlcGFyYXRvciB7XG5cdHBhZGRpbmc6IDE1cHggMCAhaW1wb3J0YW50O1xufVxuXG4ubG9jb21vdGl2ZS1zZWN0aW9ucyAuc2VwYXJhdG9yOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLmxvY29tb3RpdmUtc2VjdGlvbnMgLnNlcGFyYXRvcjpsYXN0LWNoaWxkIHtcblx0cGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLmxvY29tb3RpdmUtc2VjdGlvbnMgLnNlcGFyYXRvcjpvbmx5LWNoaWxkIHtcblx0cGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudDtcblx0cGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudDtcbn1cblxuLmxvY29tb3RpdmUtc2VjdGlvbnMgLnNlcGFyYXRvcjpub3QoOmZpcnN0LWNoaWxkKSA+ICo6bm90KGRpdik6Zmlyc3QtY2hpbGQge1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG5tYWluOm5vdCgjY29udGFjdCkgLm1lcmdlLnNlY3Rpb24tcGFnZS1pbnRybyArIC5sb2NvbW90aXZlLXNlY3Rpb25zID4gc2VjdGlvbjpmaXJzdC1jaGlsZCA+IC5pbm5lciA+IC5mbGV4LWNvbnRhaW5lcjpmaXJzdC1jaGlsZCA+IC53aWR0aC0xMDA6Zmlyc3QtY2hpbGQgPiAuc2VwYXJhdG9yOmZpcnN0LWNoaWxkID4gKjpub3QoZGl2KTpmaXJzdC1jaGlsZCB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cblxuLypcdFNFQ1RJT04gQkxPQ0sgU1RZTEVTIC0tLS0tLSAqL1xuXG4ubG9jb21vdGl2ZS1zZWN0aW9ucyBbY2xhc3MqPXdpZHRoLV0gPiBbY2xhc3MqPXdpZHRoLV0sXG4ubG9jb21vdGl2ZS1zZWN0aW9ucyBbY2xhc3MqPXdpZHRoLV0gPiAuc2VwYXJhdG9yID4gW2NsYXNzKj13aWR0aC1dIHtcblx0cGFkZGluZzogMDtcbn1cblxuLmxvY29tb3RpdmUtc2VjdGlvbnMgLmNlbnRlcltjbGFzcyo9d2lkdGgtXS5jZW50ZXIgPiAqLFxuLmxvY29tb3RpdmUtc2VjdGlvbnMgLmNlbnRlcltjbGFzcyo9ZmxleC1iYXNpcy1dLmNlbnRlciA+ICoge1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ubG9jb21vdGl2ZS1zZWN0aW9ucyAucmlnaHRbY2xhc3MqPXdpZHRoLV0ucmlnaHQgPiAqLFxuLmxvY29tb3RpdmUtc2VjdGlvbnMgLnJpZ2h0W2NsYXNzKj1mbGV4LWJhc2lzLV0ucmlnaHQgPiAqIHtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cblxuLypcdEJBQ0tHUk9VTkQgLS0tICovXG5cbi5iZy13aGl0ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cblxuLypcdFRFWFQgLS0tICovXG5cbi50eHQtd2hpdGUsXG4udHh0LXdoaXRlICoge1xuXHRjb2xvcjogI2ZmZjtcbn1cblxuLnR4dC13aGl0ZSBhIHtcblx0Y29sb3I6IGluaXRpYWw7XG59XG5cbi50eHQtd2hpdGUgLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcblx0Y29sb3I6ICNmZmY7XG59XG5cbi50eHQtaW5pdGlhbCxcbi50eHQtaW5pdGlhbCAqIHtcblx0Y29sb3I6IGluaXRpYWwgIWltcG9ydGFudDtcbn1cblxuLnR4dC1zaGFkb3cgOm5vdCgucC1idXR0b24pIHtcblx0dGV4dC1zaGFkb3c6IDAgMCAwLjI1ZW0gcmdiYSgwLDAsMCwwLjc1KTtcbn1cblxuLnR4dC1zaGFkb3cgLmxpbmstYnV0dG9uIHtcblx0Ym94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgwLDAsMCwwLjUpO1xuXHR0ZXh0LXNoYWRvdzogaW5pdGlhbDtcbn1cblxuLnR4dC1zaGFkb3ctZGlzYWJsZWQsXG4udHh0LXNoYWRvdy1kaXNhYmxlZCAqIHtcblx0dGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG4vKlx0SU1BR0UgLS0tICovXG5cbi5sb2NvbW90aXZlLXNlY3Rpb25zIC5pbWctYmxvY2std3JhcDpmaXJzdC1jaGlsZCBpbWcge1xuXHRtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG5pbWcucm91bmQge1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cblxuLypcdExPR08gLS0tICovXG5cbi50eHQtc2hhZG93IHBpY3R1cmUgPiAqIHtcblx0ZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMTVweCByZ2JhKDAsIDAsIDAsIDAuNzUpKTtcbn1cblxuXG4vKlx0UEFHRSBJTlRSTyBTRUNUSU9OIC0tLS0tLS0tLS0gKi9cblxuLyogaGlkZSBwYWdlIGludHJvIGNvbnRlbnQgd2hlbiBiYW5uZXIgaXMgZW5hYmxlZCAqL1xuLyogaGlkZSBwYWdlIGludHJvIGNvbnRlbnQgd2hlbiBiYW5uZXIgaXMgbm90IGVuYWJsZWQgKi9cbm1haW4gc2VjdGlvbjpoYXMoI2Jhbm5lci1pbnQtd3JhcCksXG4jYmFubmVyLmludGVybmFsIHNlY3Rpb246bm90KDpoYXMoI2Jhbm5lci1pbnQtd3JhcCkpIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWVyZ2UgPiAuaW5uZXIsXG4ubWVyZ2UgPiAuaW5uZXIgPiAud2lkdGgtMTAwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4vKlx0UmVtb3ZlIHNwYWNlIGJldHdlZW4gU2VjdGlvbnMgKi9cbi5tZXJnZSArICosXG4ubWVyZ2UgKyAqID4gZGl2OmZpcnN0LWNoaWxkLFxuLm1lcmdlICsgc2VjdGlvbiA+IC5pbm5lcixcbi5tZXJnZSArIHNlY3Rpb24gPiAuaW5uZXIgPiBkaXY6Zmlyc3QtY2hpbGQsXG4ubWVyZ2UgKyBzZWN0aW9uID4gLmlubmVyID4gLmZsZXgtY29udGFpbmVyID4gZGl2OmZpcnN0LWNoaWxkLFxuLypcdFJlbW92ZSBzcGFjZSBiZXR3ZWVuIFBhZ2UgSW50cm8gU2VjdGlvbiBhbmQgZm9sbG93aW5nIGNvbnRlbnQgKi9cbi5tZXJnZS5zZWN0aW9uLXBhZ2UtaW50cm8gKyAubG9jb21vdGl2ZS1zZWN0aW9ucyA+IHNlY3Rpb246Zmlyc3QtY2hpbGQgPiAuaW5uZXIsXG4ubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvICsgLmxvY29tb3RpdmUtc2VjdGlvbnMgPiBzZWN0aW9uOmZpcnN0LWNoaWxkID4gLmlubmVyID4gZGl2OmZpcnN0LWNoaWxkLFxuLm1lcmdlLnNlY3Rpb24tcGFnZS1pbnRybyArIC5sb2NvbW90aXZlLXNlY3Rpb25zID4gc2VjdGlvbjpmaXJzdC1jaGlsZCA+IC5pbm5lciA+IC5mbGV4LWNvbnRhaW5lciA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuXG4vKiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0SU5ESUUuV0VCIFNUQU5EQVJEIFNFQ1RJT05TIE1FRElBIFFVRVJJRVNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gICovXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMjQwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aCA6IDI0MHB4KSB7XG5cblx0LypcdEFOTk9VTkNFTUVOVCBTRUNUSU9OIC0tLS0tLSAqL1xuXG5cdC8qXHRQT1BVUCAtLS0gKi9cblxuXHQuc2VjdGlvbi1hbm5vdW5jZW1lbnQgLnR5cGUtcG9wdXAgfiBsYWJlbCBpIHtcblx0XHR0b3A6IDcuNXB4O1xuXHRcdHJpZ2h0OiA3LjVweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAyNDBweCAtIDY0MHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGggOiAyNDBweClcbmFuZCAobWF4LXdpZHRoIDogNjQwcHgpIHtcblxuXHQvKlx0QU5OT1VOQ0VNRU5UIFNFQ1RJT04gLS0tLS0tICovXG5cblx0LypcdFBPUFVQIC0tLSAqL1xuXG5cdC5zZWN0aW9uLWFubm91bmNlbWVudCAudHlwZS1wb3B1cCB+IGxhYmVsIGkge1xuXHRcdHRvcDogMjIuNXB4O1xuXHRcdHJpZ2h0OiAyMi41cHg7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMjQwcHggLSA0ODBweCAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWluLXdpZHRoIDogMjQwcHgpXG5hbmQgKG1heC13aWR0aCA6IDQ4MHB4KSB7XG5cblx0LypcdEFOTk9VTkNFTUVOVCBTRUNUSU9OIC0tLS0tLSAqL1xuXG5cdC8qXHRQT1BVUCAtLS0gKi9cblxuXHQuc2VjdGlvbi1hbm5vdW5jZW1lbnQgLnR5cGUtcG9wdXAgLnBvcy1yZWwge1xuXHRcdHBhZGRpbmc6IDAgMTVweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA0ODBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGggOiA0ODBweCkge1xuXG5cdC8qXHRBTk5PVU5DRU1FTlQgU0VDVElPTiAtLS0tLS0gKi9cblxuXHQvKlx0UE9QVVAgLS0tICovXG5cblx0LnNlY3Rpb24tYW5ub3VuY2VtZW50IC50eXBlLXBvcHVwIC5wb3MtcmVsIHtcblx0XHRwYWRkaW5nOiAxNXB4IDMwcHg7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgNjQwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aCA6IDY0MHB4KSB7XG5cblx0LypcdEdFTkVSQUwgLS0tLS0tLS0tLSAqL1xuXG5cdC5mbG9hdC1jb250YWluZXIuaW50LXdyYXAuc2VwYXJhdG9yID4gZGl2OmZpcnN0LWNoaWxkIHtcblx0XHRwYWRkaW5nLXRvcDogMTVweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA2NDBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGggOiA2NDBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuXHQuZmxvYXQtY29udGFpbmVyLmludC13cmFwLnNlcGFyYXRvciA+IGRpdiB7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdH1cblxuXHQuc2VjdGlvbi1hbm5vdW5jZW1lbnQgLnR5cGUtcG9wdXAgfiBsYWJlbCBpIHtcblx0XHR0b3A6IDMwcHg7XG5cdFx0cmlnaHQ6IDMwcHg7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMTIwMHB4IC0gMTM2MHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGggOiAxMjAwcHgpXG5hbmQgKG1heC13aWR0aCA6IDEzNjBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuXHRtYWluOm5vdCgjY29udGFjdCkgLm1lcmdlLnNlY3Rpb24tcGFnZS1pbnRybyBwOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1ib3R0b206IDQ1cHg7XG5cdH1cbi8qXG5cdG1haW46bm90KCNjb250YWN0KSAubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvOm5vdCguaGVhZGluZy1vbmx5KSArIC5sb2NvbW90aXZlLXNlY3Rpb25zID4gc2VjdGlvbjpmaXJzdC1jaGlsZCA+IC5pbm5lciA+IGRpdjpmaXJzdC1jaGlsZCA+ICo6bm90KGRpdik6Zmlyc3QtY2hpbGQsXG5cdG1haW46bm90KCNjb250YWN0KSAubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvOm5vdCguaGVhZGluZy1vbmx5KSArIC5sb2NvbW90aXZlLXNlY3Rpb25zID4gc2VjdGlvbjpmaXJzdC1jaGlsZCA+IC5pbm5lciA+IC5mbGV4LWNvbnRhaW5lcjpmaXJzdC1jaGlsZCA+IC53aWR0aC0xMDA6Zmlyc3QtY2hpbGQgPiAqOm5vdChkaXYpOmZpcnN0LWNoaWxkLFxuXHRtYWluOm5vdCgjY29udGFjdCkgLm1lcmdlLnNlY3Rpb24tcGFnZS1pbnRybzpub3QoLmhlYWRpbmctb25seSkgKyAuaW5uZXIgPiBkaXY6Zmlyc3QtY2hpbGQgPiAqOm5vdChkaXYpOmZpcnN0LWNoaWxkICB7XG5cdFx0bWFyZ2luLXRvcDogLTE1cHg7XG5cdH1cbiovXG5cdG1haW46bm90KCNjb250YWN0KSAubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvOm5vdCguaGVhZGluZy1vbmx5KSArIC5sb2NvbW90aXZlLXNlY3Rpb25zID4gc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogLTE1cHg7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMTM2MHB4IC0gMTUyMHB4IC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGggOiAxMzYwcHgpXG5hbmQgKG1heC13aWR0aCA6IDE1MjBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuXHRtYWluOm5vdCgjY29udGFjdCkgLm1lcmdlLnNlY3Rpb24tcGFnZS1pbnRybyBwOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1ib3R0b206IDYwcHg7XG5cdH1cbi8qXG5cdG1haW46bm90KCNjb250YWN0KSAubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvOm5vdCguaGVhZGluZy1vbmx5KSArIC5sb2NvbW90aXZlLXNlY3Rpb25zID4gc2VjdGlvbjpmaXJzdC1jaGlsZCA+IC5pbm5lciA+IGRpdjpmaXJzdC1jaGlsZCA+ICo6bm90KGRpdik6Zmlyc3QtY2hpbGQsXG5cdG1haW46bm90KCNjb250YWN0KSAubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvOm5vdCguaGVhZGluZy1vbmx5KSArIC5sb2NvbW90aXZlLXNlY3Rpb25zID4gc2VjdGlvbjpmaXJzdC1jaGlsZCA+IC5pbm5lciA+IC5mbGV4LWNvbnRhaW5lcjpmaXJzdC1jaGlsZCA+IC53aWR0aC0xMDA6Zmlyc3QtY2hpbGQgPiAqOm5vdChkaXYpOmZpcnN0LWNoaWxkLFxuXHRtYWluOm5vdCgjY29udGFjdCkgLm1lcmdlLnNlY3Rpb24tcGFnZS1pbnRybzpub3QoLmhlYWRpbmctb25seSkgKyAuaW5uZXIgPiBkaXY6Zmlyc3QtY2hpbGQgPiAqOm5vdChkaXYpOmZpcnN0LWNoaWxkICB7XG5cdFx0bWFyZ2luLXRvcDogLTMwcHg7XG5cdH1cbiovXG5cdG1haW46bm90KCNjb250YWN0KSAubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvOm5vdCguaGVhZGluZy1vbmx5KSArIC5sb2NvbW90aXZlLXNlY3Rpb25zID4gc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogLTMwcHg7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMTUyMHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aCA6IDE1MjBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblxuXHRtYWluOm5vdCgjY29udGFjdCkgLm1lcmdlLnNlY3Rpb24tcGFnZS1pbnRybyBwOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1ib3R0b206IDc1cHg7XG5cdH1cbi8qXG5cdG1haW46bm90KCNjb250YWN0KSAubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvOm5vdCguaGVhZGluZy1vbmx5KSArIC5sb2NvbW90aXZlLXNlY3Rpb25zID4gc2VjdGlvbjpmaXJzdC1jaGlsZCA+IC5pbm5lciA+IGRpdjpmaXJzdC1jaGlsZCA+ICo6bm90KGRpdik6Zmlyc3QtY2hpbGQsXG5cdG1haW46bm90KCNjb250YWN0KSAubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvOm5vdCguaGVhZGluZy1vbmx5KSArIC5sb2NvbW90aXZlLXNlY3Rpb25zID4gc2VjdGlvbjpmaXJzdC1jaGlsZCA+IC5pbm5lciA+IC5mbGV4LWNvbnRhaW5lcjpmaXJzdC1jaGlsZCA+IC53aWR0aC0xMDA6Zmlyc3QtY2hpbGQgPiAqOm5vdChkaXYpOmZpcnN0LWNoaWxkLFxuXHRtYWluOm5vdCgjY29udGFjdCkgLm1lcmdlLnNlY3Rpb24tcGFnZS1pbnRybzpub3QoLmhlYWRpbmctb25seSkgKyAuaW5uZXIgPiBkaXY6Zmlyc3QtY2hpbGQgPiAqOm5vdChkaXYpOmZpcnN0LWNoaWxkICB7XG5cdFx0bWFyZ2luLXRvcDogLTQ1cHg7XG5cdH1cbiovXG5cdG1haW46bm90KCNjb250YWN0KSAubWVyZ2Uuc2VjdGlvbi1wYWdlLWludHJvOm5vdCguaGVhZGluZy1vbmx5KSArIC5sb2NvbW90aXZlLXNlY3Rpb25zID4gc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogLTQ1cHg7XG5cdH1cblxufSIsIi8qXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRJTkRJRS5XRUIgVEVTVElNT05JQUxTIE1PRFVMRSBTVFlMRVNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRlc3RpbW9uaWFsLXdyYXAge1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxucC5hdHRlc3RhbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbn1cblxuLyogXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRJTkRJRS5XRUIgVEVTVElNT05JQUxTIE1PRFVMRSBNRURJQSBRVUVSSUVTXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAqL1xuXG4vKlx0U2NyZWVuIFNpemVzIDMyMHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWF4LXdpZHRoIDogMzIwcHgpIHtcblxuXHQvKlx0R0VORVJBTCAtLS0tLS0tLS0tICovXG5cdFx0XG5cdHAuYXR0ZXN0YW50IHtcblx0XHRtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuXHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0fVxuXG59IiwiLyogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdElORElFLldFQiBDVVNUT00gU1RZTEVTXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAqL1xuXG4vKiAgR0VORVJBTCAtLS0tLS0tLS0tICovXG5cbmh0bWwge1xuXHRmb250LWZhbWlseTogR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRjb2xvcjogI2ZmZjtcbn1cblxuOjotbW96LXNlbGVjdGlvbiB7XG5cdGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG59XG5cbjo6c2VsZWN0aW9uIHtcblx0YmFja2dyb3VuZDogI2IzZDRmYztcbn1cblxuLmZsZXgtY29udGFpbmVyID4gaW1nIHtcblx0LW1zLWdyaWQtcm93LWFsaWduOiBjZW50ZXI7XG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuW2NsYXNzKj0nd2lkdGgtJ10uaW50LXdyYXAge1xuXHRtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuYm9keSA+IC5iZy13cmFwIHtcblx0ei1pbmRleDogLTEwMDA7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYmcvYmctdGlsZS1wdXJwbGUuanBnKTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiBhdXRvO1xufVxuXG4vKlxuLmJveC13cmFwIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDA7XG5cdHBhZGRpbmctYm90dG9tOiAxMDAlO1xufVxuXG4uc2hhZG93IHtcblx0Ym94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgwLDAsMCwwLjI1KTtcbn1cblxuLnNoYWRvdzpob3ZlciB7XG5cdGJveC1zaGFkb3c6IDAgMCAxNXB4IHJnYmEoMCwwLDAsMC41KTtcbn1cblxuLmltZy13cmFwIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0cmlnaHQ6IDA7XG5cdGxlZnQ6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pbWctd3JhcCBpbWcge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogMTAwJTtcblx0LW8tb2JqZWN0LWZpdDogY292ZXI7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xuXHQtby1vYmplY3QtcG9zaXRpb246IDUwJSAwO1xuXHRvYmplY3QtcG9zaXRpb246IDUwJSAwO1xufVxuXG4vKlx0RmF1eCBUYWJsZSAtLS0gKi9cbi8qXG4uZmF1eC10YWJsZSB7XG5cdGZvbnQtc2l6ZTogMC44NzVlbTtcbn1cblxuLmZhdXgtcm93IHtcblx0d2lkdGg6IDEwMCU7XG5cblx0LyogYm9yZGVycyBvbiByb3dzIChvbmx5KTogKi9cbi8qXHRtYXJnaW46IC0xcHggMDsgLyogY29sbGFwc2UgdG9wL2JvdHRvbSBib3JkZXJzICovXG4vKlx0Ym9yZGVyOiAxcHggc29saWQgIzsgKi8gLypcbn1cblxuLmZhdXgtcm93IGRpdiB7XG5cdG1pbi1oZWlnaHQ6IDQ1cHg7XG5cblx0LyogYm9yZGVycyBvbiBjZWxscyAob25seSk6ICovXG4vKlx0Ym9yZGVyOiAxcHggc29saWQgIzsgKi8gLypcblx0cGFkZGluZzogMTIuNXB4IDE1cHg7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuXG4uZmF1eC10YWJsZSAuaGVhZCB7XG5cdGhlaWdodDogNDVweDtcblx0YmFja2dyb3VuZDogO1xuXHRmb250LXdlaWdodDogO1xuXHRjb2xvcjogO1xuXHR0ZXh0LXRyYW5zZm9ybTogO1xufVxuKi9cblxuLypcdFJlc3BvbnNpdmUgVmlkZW8gLS0tICovXG5cbi5yZXNwb25zaXZlLXZpZGVvIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAwO1xuXHRwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuXG4ucmVzcG9uc2l2ZS12aWRlbyBpZnJhbWUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0Ym9yZGVyOiBub25lO1xufVxuXG5cbi8qXHRURVhUIFNUWUxFUyAtLS0tLS0gKi9cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcblx0bWFyZ2luOiAzMHB4IDA7XG5cdGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmgxLFxuLmgxIHtcblx0Zm9udC1mYW1pbHk6ICdHaWxkYSBEaXNwbGF5Jywgc2VyaWY7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbn1cblxuaDIsXG4uaDIsXG5oMyxcbi5oMyB7XG5cdGZvbnQtZmFtaWx5OiAnVGFuZ2VyaW5lJywgY3Vyc2l2ZTtcbn1cblxuc3Bhbi5oMSxcbnNwYW4uaDIsXG5zcGFuLmgzLFxuc3Bhbi5oNCxcbnNwYW4uaDUsXG5zcGFuLmg2IHtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcbn1cblxucCB7XG5cdG1hcmdpbjogMTVweCAwO1xufVxuXG5tYWluIHVsLFxubWFpbiBvbCB7XG5cdG1hcmdpbjogMTVweCAwO1xufVxuXG5tYWluIHA6bGFzdC1jaGlsZCxcbm1haW4gdWw6bGFzdC1jaGlsZCxcbm1haW4gb2w6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbm1haW4gbGkge1xuXHRtYXJnaW46IDcuNXB4IDA7XG59XG5cbmJsb2NrcXVvdGUge1xuXHRtYXJnaW46IDMwcHg7XG5cdGJvcmRlci1sZWZ0OiA1cHggc29saWQgLyojY29sb3VyICovO1xuXHRwYWRkaW5nLWxlZnQ6IDMwcHg7XG59XG5cbnNwYW4ubGlnaHQsXG5zcGFuLm5vcm1hbCB7XG4vKlx0Zm9udC13ZWlnaHQ6IDsgKi9cbn1cblxuYixcbnN0cm9uZyxcbnNwYW4uc2VtaWJvbGQsXG5zcGFuLmJvbGQge1xuLypcdGZvbnQtd2VpZ2h0OiA7ICovXG59XG5cbmhyIHtcblx0bWFyZ2luOiAxNXB4IDA7XG4vKlx0Ym9yZGVyLXRvcC1jb2xvcjogOyAqL1xufVxuXG4ubm8taXRhbGljIHtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5cbi8qXHRMSU5LIFNUWUxFUyAtLS0tLS0gKi9cblxuLypcdEdMT0JBTCAtLS0gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyLFxuYTpsaW5rLFxuYTp2aXNpdGVkIHtcblx0Y29sb3I6ICNmZmY7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5hOmhvdmVyOm5vdCgubGluay1idXR0b24pIHtcblx0YmFja2dyb3VuZDpcblx0XHQtd2Via2l0LWxpbmVhci1ncmFkaWVudChcblx0XHRcdDMxNWRlZyxcblx0XHRcdCNmZjZmZWUgMCUsXG5cdFx0XHQjMzY4Y2ZmIDEwMCVcblx0XHQpO1xuXHRiYWNrZ3JvdW5kOlxuXHRcdGxpbmVhci1ncmFkaWVudChcblx0XHRcdDEzNWRlZyxcblx0XHRcdCNmZjZmZWUgMCUsXG5cdFx0XHQjMzY4Y2ZmIDEwMCVcblx0XHQpO1xuXHQtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcblx0LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5hLmxpbmstYnV0dG9uOmFjdGl2ZSxcbmEubGluay1idXR0b246aG92ZXIsXG5hLmxpbmstYnV0dG9uOmxpbmssXG5hLmxpbmstYnV0dG9uOnZpc2l0ZWQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWluLWhlaWdodDogNDVweDtcblx0cGFkZGluZzogMTBweCAzMHB4O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGNvbG9yOiAjNWYyZDg2O1xuXHQtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogIzVmMmQ4Njtcbn1cblxuYS5saW5rLWJ1dHRvbiAqIHtcblx0Y29sb3I6ICNmZmY7XG59XG5cbmEubGluay1idXR0b246YmVmb3JlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdHotaW5kZXg6IC0xO1xuXHRjb250ZW50OiAnJztcblx0YmFja2dyb3VuZDpcblx0XHQtd2Via2l0LWxpbmVhci1ncmFkaWVudChcblx0XHRcdDMxNWRlZyxcblx0XHRcdCNmZjZmZWUgMCUsXG5cdFx0XHQjMzY4Y2ZmIDEwMCVcblx0XHQpO1xuXHRiYWNrZ3JvdW5kOlxuXHRcdGxpbmVhci1ncmFkaWVudChcblx0XHRcdDEzNWRlZyxcblx0XHRcdCNmZjZmZWUgMCUsXG5cdFx0XHQjMzY4Y2ZmIDEwMCVcblx0XHQpO1xuXHRvcGFjaXR5OiAwO1xufVxuXG5hLmxpbmstYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbmEubGluay1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiA7XG5cdGNvbG9yOiAjZmZmO1xuXHQtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogI2ZmZjtcbn1cblxuLnRvbGwtZnJlZS1udW1iZXIge1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5cbi8qXHRTRUNUSU9OUyAtLS0tLS0tLS0tICovXG5cbi8qXHRCYWNrZ3JvdW5kIExpZ2h0IC0tLS0tLSAqL1xuXG4uYmctbGlnaHQge1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsXG5cdFx0cmdiYSgzMywxNSw0NiwwLjc1KSAwJSxcblx0XHRyZ2JhKDIyLDEwLDMxLDAuOSkgNTAlLFxuXHRcdHJnYmEoMzMsMTUsNDYsMC43NSkgMTAwJVxuXHQpO1xuXHRjb2xvcjogO1xufVxuXG4uYmctbGlnaHQgKiB7XG5cdGNvbG9yOiA7XG59XG5cbi5iZy1saWdodCBhOmFjdGl2ZSxcbi5iZy1saWdodCBhOmhvdmVyLFxuLmJnLWxpZ2h0IGE6bGluayxcbi5iZy1saWdodCBhOnZpc2l0ZWQge1xuXHRjb2xvcjogO1xuXHR0ZXh0LWRlY29yYXRpb246IDtcbn1cblxuLmJnLWxpZ2h0IGE6aG92ZXIge1xuXHRjb2xvcjogO1xufVxuXG5cbi8qXHRCYWNrZ3JvdW5kIERhcmsgLS0tLS0tICovXG5cbi5iZy1kYXJrIHtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LFxuXHRcdHJnYmEoMTIsNiwxNywwLjc1KSAwJSxcblx0XHRyZ2JhKDEyLDYsMTcsMC45KSA1MCUsXG5cdFx0cmdiYSgxMiw2LDE3LDAuNzUpIDEwMCVcblx0KTtcblx0Y29sb3I6IDtcbn1cblxuLmJnLWRhcmsgKiB7XG5cdGNvbG9yOiA7XG59XG5cbi5iZy1kYXJrIGE6YWN0aXZlLFxuLmJnLWRhcmsgYTpob3Zlcixcbi5iZy1kYXJrIGE6bGluayxcbi5iZy1kYXJrIGE6dmlzaXRlZCB7XG5cdGNvbG9yOiA7XG5cdHRleHQtZGVjb3JhdGlvbjogO1xufVxuXG4uYmctZGFyayBhOmhvdmVyIHtcblx0Y29sb3I6IDtcbn1cblxuXG4vKlx0QmFja2dyb3VuZCBJbWFnZSAtLS0tLS0gKi9cblxuLmJnLXdyYXAge1xuXHR6LWluZGV4OiAtMTsgLyogZW5zdXJlIHBhcmFsbGF4IGltYWdlcyB3aXRoIGJsdXIgZG8gbm90IGJsZWVkIGludG8gYWRqYWNlbnQgc2VjdGlvbnMgKi9cblx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbn1cblxuLypcdFBhcmFsbGF4IFNjcm9sbGluZyAtLS0gKi9cblxuc2VjdGlvbjpoYXMoLnBhcmFsbGF4LXdpbmRvdykge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucGFyYWxsYXgtd2luZG93OmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IC0yMDA7IC8qIGVuc3VyZSBwc2V1ZG8gZWxlbWVudCBkb2VzIG5vdCBvdmVybGF5IHBhcmFsbGF4IGltYWdlICovXG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDsgXG5cdG92ZXJmbG93OiBoaWRkZW47XG4vKlx0YmFja2dyb3VuZC1jb2xvcjogOyBpbiBjYXNlIGltYWdlIGZhaWxzIHRvIGxvYWQgLSB0aGlzIG92ZXJyaWRlcyBwYXJhbGxheCBpbWFnZSBvbiBtb2JpbGUgLSByZW1vdmUgZW50aXJlbHk/ICovXG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cblxuLypcdEhFQURFUiAtLS0tLS0tLS0tICovXG5cbi8qXHROQVYgLS0tLS0tICovXG5cbiNuYXYtbWFpbi1jb250YWluZXIubGlnaHQsXG4jbmF2LWNvbGxhcHNlLFxubmF2IGxpIHVsIHtcblx0YmFja2dyb3VuZDpcblx0XHRsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHR0byByaWdodCxcblx0XHRcdHJnYmEoMzMsMTUsNDYsMC43NSkgMCUsXG5cdFx0XHRyZ2JhKDIyLDEwLDMxLDAuOSkgNTAlLFxuXHRcdFx0cmdiYSgzMywxNSw0NiwwLjc1KSAxMDAlXG5cdFx0KSxcblx0XHR1cmwoL2ltYWdlcy9iZy9iZy10aWxlLXB1cnBsZS5qcGcpIGNlbnRlciB0b3A7XG59XG5cbiNuYXYtbWFpbi1jb250YWluZXIuZGFyayB7XG5cdGJhY2tncm91bmQ6XG5cdFx0bGluZWFyLWdyYWRpZW50KFxuXHRcdFx0dG8gcmlnaHQsXG5cdFx0XHRyZ2JhKDEyLDYsMTcsMC43NSkgMCUsXG5cdFx0XHRyZ2JhKDEyLDYsMTcsMC45KSA1MCUsXG5cdFx0XHRyZ2JhKDEyLDYsMTcsMC43NSkgMTAwJVxuXHRcdCksXG5cdFx0dXJsKC9pbWFnZXMvYmcvYmctdGlsZS1wdXJwbGUuanBnKSBjZW50ZXIgdG9wO1xufVxuXG4jbmF2LW1haW4tY29udGFpbmVyIHtcbi8qXHRib3gtc2hhZG93OiAwIDAgMTVweCByZ2JhKDAsMCwwLDAuNSk7ICovXG59XG5cbiNuYXYtaWNvbiBzcGFuLFxuI25hdi1pY29uIHNwYW46YmVmb3JlLFxuI25hdi1pY29uIHNwYW46YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG5uYXYgYTpsaW5rLFxubmF2IGE6dmlzaXRlZCxcbm5hdiBhOmhvdmVyLFxubmF2IGE6YWN0aXZlLFxuI25hdi1tYWluLWNvbnRhaW5lciBbaWRePXBob25lXSB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y29sb3I6ICNmZmY7XG5cdGZvbnQtZmFtaWx5OiAnVGFuZ2VyaW5lJywgY3Vyc2l2ZTtcblx0Zm9udC1zaXplOiAxLjc1cmVtICFpbXBvcnRhbnQ7IC8qIG92ZXJyaWRlIG1lZGlhIHF1ZXJ5IHJ1bGVzICovXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdHRleHQtdHJhbnNmb3JtOiA7XG5cdGxldHRlci1zcGFjaW5nOiA7XG59XG5cbm5hdiBhOmhvdmVyLFxubmF2IC5zZWxlY3RlZD5hLFxuI25hdi1tYWluLWNvbnRhaW5lciBbaWRePXBob25lXTpob3ZlciB7XG5cdGNvbG9yOiA7XG59XG5cblxuLypcdEJBTk5FUiAtLS0tLS0gKi9cblxuI2Jhbm5lciB7XG5cdG1hcmdpbi10b3A6IDA7IC8qIG92ZXJyaWRlIGJhbm5lci5jc3MgKi9cbn1cblxuI2Jhbm5lcjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kOiA7IC8qIGluIGNhc2UgaW1hZ2UgZmFpbHMgdG8gbG9hZCAqL1xufVxuXG4jYmFubmVyIHNwYW4ge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4jYmFubmVyIC5zbGljay1hcnJvdzpob3ZlcixcbiNiYW5uZXIgLnNsaWNrLWRvdHMgYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDpcblx0XHQtd2Via2l0LWxpbmVhci1ncmFkaWVudChcblx0XHRcdDMxNWRlZyxcblx0XHRcdCNmZjZmZWUgMjAlLFxuXHRcdFx0IzM2OGNmZiA4MCVcblx0XHQpO1xuXHRiYWNrZ3JvdW5kOlxuXHRcdGxpbmVhci1ncmFkaWVudChcblx0XHRcdDEzNWRlZyxcblx0XHRcdCNmZjZmZWUgMjAlLFxuXHRcdFx0IzM2OGNmZiA4MCVcblx0XHQpO1xuXHQtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcblx0LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4jYmFubmVyIC5zbGljay1hcnJvdyxcbiNiYW5uZXIgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG5cdHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbiNiYW5uZXIgLmxpbmstYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogO1xuXHRjb2xvcjogO1xufVxuXG4jYmFubmVyIC5saW5rLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IDtcblx0Y29sb3I6IDtcbn1cblxuXG4vKlx0Rk9PVEVSIC0tLS0tLS0tLS0gKi9cblxuLypcdEZPT1RFUiBUT1AgLS0tLS0tICovXG4vKlxuI2Zvb3Rlci10b3Age1xuXHRiYWNrZ3JvdW5kOiA7XG5cdGNvbG9yOiA7XG59XG5cbiNmb290ZXItdG9wIGgzIHtcblx0Y29sb3I6IDtcbn1cblxuI2Zvb3Rlci10b3AgYTphY3RpdmUsXG4jZm9vdGVyLXRvcCBhOmhvdmVyLFxuI2Zvb3Rlci10b3AgYTpsaW5rLFxuI2Zvb3Rlci10b3AgYTp2aXNpdGVkIHtcblx0Y29sb3I6IDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jZm9vdGVyLXRvcCBhOmhvdmVyIHtcblx0Y29sb3I6IDtcbn1cbiovXG4jZm9vdGVyLWxvZ28ge1xuLypcdG1heC13aWR0aDogOyAqL1xuXHRtYXJnaW46IDMwcHggMDtcbn1cblxuI2Zvb3Rlci10b3AgI3NvY2lhbCB7XG5cdG1hcmdpbi10b3A6IC0xNXB4O1xufVxuXG4vKiBUTyBETyAtLS0gKi9cbi8qIFRoZSBiZWxvdyBzb2NpYWwgc3R5bGVzIHNob3VsZCBiZSBzaW1wbGlmaWVkIGFuZCB0aGUgVGVtcGxhdGUgc2hvdWxkIHNpbXBseSB1c2UgLnNvY2lhbCB3cmFwIGFzIHBlciB0aGUgU3RhbmRhcmQgU2VjdGlvbnMgbW9kdWxlIC0tLSAqL1xuI3NvY2lhbCxcbi5zb2NpYWwtd3JhcCB7XG5cdG1hcmdpbi1sZWZ0OiAtMTVweDtcblx0bWFyZ2luLXJpZ2h0OiAtMTVweDtcbn1cbiNzb2NpYWwgYSxcbi5zb2NpYWwtd3JhcCBhIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAxNXB4O1xufVxuI3NvY2lhbCBhIGksXG4uc29jaWFsLXdyYXAgYSBpIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcbi8qXHRwYWRkaW5nOiAxNXB4OyovXG59XG4vKiAtLS0gKi9cbnVsLmNvbnRhY3QtaW5mbyB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0cGFkZGluZzogMDtcbn1cblxudWwuY29udGFjdC1pbmZvIGxpIHtcblx0bWFyZ2luOiAzMHB4IDA7XG59XG5cbnVsLmNvbnRhY3QtaW5mbyBpIHtcblx0cGFkZGluZy1yaWdodDogMTVweDtcbn1cblxudWwuY29udGFjdC1pbmZvIGEge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbiNmb290ZXItdG9wIC50b2xsLWZyZWUtbnVtYmVyIHtcblx0Zm9udC1zaXplOiAwLjc1ZW07XG59XG5cblxuLypcdEZPT1RFUiBCT1RUT00gLS0tLS0tICovXG5cbiNmb290ZXItYm90dG9tIGEge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuLyogIEZPUk1TIC0tLS0tLS0tLS0gKi9cblxuaW5wdXRbdHlwZT1kYXRlXSxcbmlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLFxuaW5wdXRbdHlwZT1lbWFpbF0sXG5pbnB1dFt0eXBlPW1vbnRoXSxcbmlucHV0W3R5cGU9bnVtYmVyXSxcbmlucHV0W3R5cGU9cGFzc3dvcmRdLFxuaW5wdXRbdHlwZT1zZWFyY2hdLFxuaW5wdXRbdHlwZT10ZWxdLFxuaW5wdXRbdHlwZT10ZXh0XSxcbmlucHV0W3R5cGU9dGltZV0sXG5pbnB1dFt0eXBlPXVybF0sXG5pbnB1dFt0eXBlPXdlZWtdLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRiYWNrZ3JvdW5kOiAjZjVmNWY1OyAvKiBkZWZhdWx0ICNmNWY1ZjUgYWxzbyBmb3VuZCBpbiBmb3JtLXN1Ym1pdC5qcyAqL1xufVxuXG5idXR0b25bdHlwZT1idXR0b25dLFxuYnV0dG9uW3R5cGU9J3Jlc2V0J10sXG5idXR0b25bdHlwZT1zdWJtaXRdLFxuXG5pbnB1dFt0eXBlPWJ1dHRvbl0sXG5pbnB1dFt0eXBlPWZpbGVdLFxuaW5wdXRbdHlwZT0ncmVzZXQnXSxcbmlucHV0W3R5cGU9c3VibWl0XSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0Y29sb3I6ICM1ZjJkODY7XG5cdGZvbnQtd2VpZ2h0OiA7XG5cdHRleHQtdHJhbnNmb3JtOiA7XG5cdGxldHRlci1zcGFjaW5nOiA7XG59XG5cbmJ1dHRvblt0eXBlPWJ1dHRvbl06bm90KC5zbGljay1kb3RzIGJ1dHRvbiwgLnNsaWNrLWFycm93KTpiZWZvcmUsXG5idXR0b25bdHlwZT0ncmVzZXQnXTpiZWZvcmUsXG5idXR0b25bdHlwZT1zdWJtaXRdOmJlZm9yZSxcblxuaW5wdXRbdHlwZT1idXR0b25dOmJlZm9yZSxcbmlucHV0W3R5cGU9ZmlsZV06YmVmb3JlLFxuaW5wdXRbdHlwZT0ncmVzZXQnXTpiZWZvcmUsXG5pbnB1dFt0eXBlPXN1Ym1pdF06YmVmb3JlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdHotaW5kZXg6IC0xO1xuXHRjb250ZW50OiAnJztcblx0YmFja2dyb3VuZDpcblx0XHQtd2Via2l0LWxpbmVhci1ncmFkaWVudChcblx0XHRcdDMxNWRlZyxcblx0XHRcdCNmZjZmZWUgMCUsXG5cdFx0XHQjMzY4Y2ZmIDEwMCVcblx0XHQpO1xuXHRiYWNrZ3JvdW5kOlxuXHRcdGxpbmVhci1ncmFkaWVudChcblx0XHRcdDEzNWRlZyxcblx0XHRcdCNmZjZmZWUgMCUsXG5cdFx0XHQjMzY4Y2ZmIDEwMCVcblx0XHQpO1xuXHRvcGFjaXR5OiAwO1xufVxuXG5idXR0b25bdHlwZT1idXR0b25dOm5vdCguc2xpY2stZG90cyBidXR0b24sIC5zbGljay1hcnJvdyk6aG92ZXI6YmVmb3JlLFxuYnV0dG9uW3R5cGU9J3Jlc2V0J106aG92ZXI6YmVmb3JlLFxuYnV0dG9uW3R5cGU9c3VibWl0XTpob3ZlcjpiZWZvcmUsXG5cbmlucHV0W3R5cGU9YnV0dG9uXTpob3ZlcjpiZWZvcmUsXG5pbnB1dFt0eXBlPWZpbGVdOmhvdmVyOmJlZm9yZSxcbmlucHV0W3R5cGU9J3Jlc2V0J106aG92ZXI6YmVmb3JlLFxuaW5wdXRbdHlwZT1zdWJtaXRdOmhvdmVyOmJlZm9yZSB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbmJ1dHRvblt0eXBlPWJ1dHRvbl06bm90KC5zbGljay1kb3RzIGJ1dHRvbiwgLnNsaWNrLWFycm93KTpob3ZlcixcbmJ1dHRvblt0eXBlPSdyZXNldCddOmhvdmVyLFxuYnV0dG9uW3R5cGU9c3VibWl0XTpob3ZlcixcblxuaW5wdXRbdHlwZT1idXR0b25dOmhvdmVyLFxuaW5wdXRbdHlwZT1maWxlXTpob3ZlcixcbmlucHV0W3R5cGU9J3Jlc2V0J106aG92ZXIsXG5pbnB1dFt0eXBlPXN1Ym1pdF06aG92ZXIge1xuXHRjb2xvcjogI2ZmZjtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiAgRk9STSBCUk9XU0VSIFJFU0VUUyAtLS0tLS0gKi9cblxuLypcdGN1c3RvbWlzZSBDaHJvbWUgZm9ybS1maWVsZCBmb2N1cyBvdXRsaW5lICovXG5pbnB1dDpmb2N1cyxcbnNlbGVjdDpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcblx0b3V0bGluZTogIzIyMiAxcHggc29saWQgIWltcG9ydGFudDtcbn1cbi8qICovXG5cblxuLyogIFBMQUNFSE9MREVSUyAtLS0tLS0gKi9cblxuLyogIFBsYWNlaG9sZGVycyAoU3RhbmRhcmQpIC0tLSAqL1xuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuXHRjb2xvcjogI2I4YjhiODtcblx0b3BhY2l0eTogMTtcbn1cbjotbW96LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICNiOGI4Yjg7XG5cdG9wYWNpdHk6IDE7XG59XG46Oi1tb3otcGxhY2Vob2xkZXIge1xuXHRjb2xvcjogI2I4YjhiODtcblx0b3BhY2l0eTogMTtcbn1cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuXHRjb2xvcjogI2I4YjhiODtcbn1cbjpwbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAjYjhiOGI4O1xufVxuXG4vKiAgUGxhY2Vob2xkZXJzIDpmb2N1cyAtLS0gKi9cblxuOmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICM5OTk7XG59XG46Zm9jdXM6LW1vei1wbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAjOTk5O1xufVxuOmZvY3VzOjotbW96LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICM5OTk7XG59XG46Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICM5OTk7XG59XG46cGxhY2Vob2xkZXIge1xuXHRjb2xvcjogIzk5OTtcbn1cblxuXG4vKlx0Rk9STSBFUlJPUlMgLS0tLS0tICovXG5cbmlucHV0LmVycm9yLFxuLnN1Ym1pdHRlZCBpbnB1dDpyZXF1aXJlZDppbnZhbGlkLFxuc2VsZWN0LmVycm9yLFxuLnN1Ym1pdHRlZCBzZWxlY3Q6cmVxdWlyZWQ6aW52YWxpZCxcbnRleHRhcmVhLmVycm9yLFxuLnN1Ym1pdHRlZCB0ZXh0YXJlYTpyZXF1aXJlZDppbnZhbGlkIHtcblx0YmFja2dyb3VuZDogI2ZmZWJlYjtcbn1cblxuc2VsZWN0LmVycm9yLFxuLnN1Ym1pdHRlZCBzZWxlY3QuZXJyb3Ige1xuXHRjb2xvcjogI2ZmM2IzYjtcbn1cblxuLyogIFBsYWNlaG9sZGVycyAoRXJyb3IpIC0tLSAqL1xuXG4uZXJyb3I6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4uc3VibWl0dGVkIC5lcnJvcjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAjZmY3Njc2O1xuXHRvcGFjaXR5OiAxO1xufVxuLmVycm9yOi1tb3otcGxhY2Vob2xkZXIsXG4uc3VibWl0dGVkIC5lcnJvcjotbW96LXBsYWNlaG9sZGVyICB7XG5cdGNvbG9yOiAjZmY3Njc2O1xuXHRvcGFjaXR5OiAxO1xufVxuLmVycm9yOjotbW96LXBsYWNlaG9sZGVyLFxuLnN1Ym1pdHRlZCAuZXJyb3I6Oi1tb3otcGxhY2Vob2xkZXIge1xuXHRjb2xvcjogI2ZmNzY3Njtcblx0b3BhY2l0eTogMTtcbn1cbi5lcnJvcjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4uc3VibWl0dGVkIC5lcnJvcjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuXHRjb2xvcjogI2ZmNzY3Njtcbn1cbi5lcnJvcjpwbGFjZWhvbGRlcixcbi5zdWJtaXR0ZWQgLmVycm9yOnBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICNmZjc2NzY7XG59XG5cbi8qICBQbGFjZWhvbGRlcnMgKEVycm9yKSA6Zm9jdXMgLS0tICovXG5cbi5lcnJvcjpmb2N1czo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbi5zdWJtaXR0ZWQgLmVycm9yOmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICNmZjNiM2I7XG59XG4uZXJyb3I6Zm9jdXM6LW1vei1wbGFjZWhvbGRlcixcbi5zdWJtaXR0ZWQgLmVycm9yOmZvY3VzOi1tb3otcGxhY2Vob2xkZXIge1xuXHRjb2xvcjogI2ZmM2IzYjtcbn1cbi5lcnJvcjpmb2N1czo6LW1vei1wbGFjZWhvbGRlcixcbi5zdWJtaXR0ZWQgLmVycm9yOmZvY3VzOjotbW96LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICNmZjNiM2I7XG59XG4uZXJyb3I6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuLnN1Ym1pdHRlZCAuZXJyb3I6Zm9jdXM6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICNmZjNiM2I7XG59XG4uZXJyb3I6cGxhY2Vob2xkZXIsXG4uc3VibWl0dGVkIC5lcnJvcjpwbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAjZmYzYjNiO1xufVxuXG5cbi8qXHRDU1MgVFJBTlNJVElPTlMgLS0tLS0tLS0tLSAqL1xuXG5hOmxpbmssXG5hOnZpc2l0ZWQsXG5hOmhvdmVyLFxuYTphY3RpdmUsXG5cbmE6YmVmb3JlLFxuXG5idXR0b24sXG5idXR0b246aG92ZXIsXG5pbnB1dCxcbmlucHV0OmhvdmVyIHtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLCBjb2xvciAwLjI1cyBlYXNlLCBvcGFjaXR5IDAuMjVzIGVhc2U7XG59XG5cblxuLyogIFBBR0VTIC0tLS0tLS0tLS0gKi9cblxuLypcdExPQ0sgU0NSRUVOIC0tLS0tLSAqL1xuXG4jbG9jay1zY3JlZW4sXG4jbG9jay1zY3JlZW4gYm9keSxcbiNsb2NrLXNjcmVlbiAuaW5uZXIsXG4jbG9jay1zY3JlZW4gLmlubmVyID4gZGl2IHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4jbG9jay1zY3JlZW4gLmxvZ2luLXdyYXAge1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG4jbG9jay1zY3JlZW4gaW1nIHtcblx0bWF4LXdpZHRoOiAxNTBweDtcbn1cblxuI2xvY2stc2NyZWVuIGZvcm0ge1xuXHRtYXJnaW46IDAgYXV0bztcbn1cblxuI2xvY2stc2NyZWVuIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10ge1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG4jbG9jay1zY3JlZW4gaW5wdXQge1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5cbi8qXHRIT01FIC0tLS0tLSAqL1xuXG4vKlx0U29uZyBMaXN0IC0tLSAqL1xuXG4jc29uZy1saXN0IC5zb25nLWxpc3Qtd3JhcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jc29uZy1saXN0IC53aWR0aC0xMDA6bGFzdC1jaGlsZCA+IGRpdiB7XG5cdG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuI3NvbmctbGlzdCAuc29uZy1saXN0LXdyYXAgPiBkaXY6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbiNzb25nLWxpc3QgI2xvYWRlciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogNDVweDtcblx0bWFyZ2luOiAxNXB4IGF1dG87XG59XG5cbi8qXHRUZXN0aW1vbmlhbHMgLS0tICovXG5cbi50ZXN0aW1vbmlhbC1ibG9jayBibG9ja3F1b3RlIHAge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGZvbnQtc2l6ZTogMS4xMjVlbTtcbn1cblxuLnRlc3RpbW9uaWFsLWJsb2NrIHAuYXR0ZXN0YW50IHtcblx0bWFyZ2luLXRvcDogMDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qXHRQYWdlciAqL1xuXG4uY2Fyb3VzZWwtY29udGFpbmVyIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4uY2Fyb3VzZWwtY29udGFpbmVyIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICBjb2xvcjogIzIyMjtcbn1cblxuLmNhcm91c2VsLWNvbnRhaW5lciAuc2xpY2stZG90cyBsaTpob3ZlciBidXR0b246YmVmb3JlIHtcblx0XHRiYWNrZ3JvdW5kOlxuXHRcdC13ZWJraXQtbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0MzE1ZGVnLFxuXHRcdFx0I2ZmNmZlZSAwJSxcblx0XHRcdCMzNjhjZmYgMTAwJVxuXHRcdCk7XG5cdGJhY2tncm91bmQ6XG5cdFx0bGluZWFyLWdyYWRpZW50KFxuXHRcdFx0MTM1ZGVnLFxuXHRcdFx0I2ZmNmZlZSAwJSxcblx0XHRcdCMzNjhjZmYgMTAwJVxuXHRcdCk7XG5cdC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuXHQtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qICBDT05UQUNUIC0tLS0tLSAqL1xuLypcbiNnb29nbGUtbWFwIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAwO1xuXHRwYWRkaW5nLWJvdHRvbTogMjUlO1xufVxuXG4jZ29vZ2xlLW1hcCBpZnJhbWUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0Ym9yZGVyOiAwO1xufVxuKi9cblxuLyogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdElORElFLldFQiBDVVNUT00gTUVESUEgUVVFUklFU1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAgKi9cblxuLypcdFNjcmVlbiBTaXplcyAyNDBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1heC13aWR0aCA6IDI0MHB4KSB7XG5cblx0LypcdEhFQURFUiAtLS0tLS0tLS0tICovXG5cblx0LypcdEJBTk5FUiAtLS0tLS0gKi9cblxuXHQjYmFubmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyAvKiBtYXRjaCBwYWdlIGJhY2tncm91bmQgY29sb3IgZm9yIG1vYmlsZSAqL1xuXHR9XG5cblx0LypcdENhcm91c2VsIC0tLSAqL1xuXG5cdC5zbGljay1hcnJvdyB7XG5cdFx0cGFkZGluZzogMCAxNXB4O1xuXHR9XG5cblx0LypcdFBhZ2VyICovXG5cdC8qXHRTdHlsZXMgZm9yIGJvdGggZG90IG92ZXIgcGFnZSBhbmQgZG90IG92ZXIgYmFubmVyIHRvIGFjY291bnQgZm9yIDwyNDBweCBhbmQgPTI0MHB4LCByZXNwZWN0aXZlbHkgKi9cblxuXHQjYmFubmVyIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuXHRcdGNvbG9yOiAjZmZmOyAvKiBkb3QgY29sb3Igb3ZlciBwYWdlICovXG5cdH1cblx0I2Jhbm5lciAuc2xpY2stZG90cy5wb3MtYWJzIGxpIGJ1dHRvbjpiZWZvcmUge1xuXHRcdGNvbG9yOiAjZmZmOyAvKiBkb3QgY29sb3Igb3ZlciBiYW5uZXIgKi9cblx0fVxuXHRcblx0I2Jhbm5lciAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG5cdFx0Y29sb3I6ICM1ZjJkODY7IC8qIGFjdGl2ZSBkb3QgY29sb3Igb3ZlciBwYWdlICovXG5cdH1cblx0I2Jhbm5lciAuc2xpY2stZG90cy5wb3MtYWJzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcblx0XHRjb2xvcjogIzVmMmQ4NjsgLyogYWN0aXZlIGRvdCBjb2xvciBvdmVyIGJhbm5lciAqL1xuXHR9XG59XG5cblxuLypcdFNjcmVlbiBTaXplcyAyNDBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWluLXdpZHRoIDogMjQwcHgpIHtcblxuXHQvKlx0SEVBREVSIC0tLS0tLS0tLS0gKi9cblx0XG5cdC8qXHRCQU5ORVIgLS0tLS0tICovXG5cblx0LypcdENhcm91c2VsIC0tLSAqL1xuXG5cdC5zbGljay1hcnJvdyB7XG5cdFx0cGFkZGluZzogMCAzMHB4O1xuXHR9XG5cblx0LypcdFBhZ2VyICovXG5cblx0I2Jhbm5lciAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcblx0XHRjb2xvcjogI2ZmZjsgLyogZG90IGNvbG9yIG92ZXIgYmFubmVyICovXG5cdH1cblx0XG5cdCNiYW5uZXIgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuXHRcdGNvbG9yOiAjNWYyZDg2OyAvKiBhY3RpdmUgZG90IGNvbG9yIG92ZXIgYmFubmVyICovXG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgMzIwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtYXgtd2lkdGggOiAzMjBweCkge1xuXG5cdC8qXHRHRU5FUkFMIC0tLS0tLS0tLS0gKi9cblx0XHRcblx0YmxvY2txdW90ZSB7XG5cdFx0bWFyZ2luOiAxNXB4O1xuXHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0fVxuXG5cblx0LypcdFBBR0VTIC0tLS0tLS0tLS0gKi9cblxuXHQvKiAgQ09OVEFDVCAtLS0tLS0gKi9cbi8qXG5cdCNnb29nbGUtbWFwIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMTAwJTtcblx0fVxuKi9cbn1cblxuXG4vKiBTY3JlZW4gU2l6ZXNcdDMyMHB4IC0gNTYwcHhcdFx0LS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDMyMHB4KVxuYW5kIChtYXgtd2lkdGggOiA1NjBweCkge1xuXG5cdC8qXHRQQUdFUyAtLS0tLS0tLS0tICovXG5cblx0LyogIENPTlRBQ1QgLS0tLS0tICovXG4vKlxuXHQjZ29vZ2xlLW1hcCB7XG5cdFx0cGFkZGluZy1ib3R0b206IDUwJTtcblx0fVxuKi9cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDQwMHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWF4LXdpZHRoIDogNDAwcHgpIHtcblxuXHQvKlx0TUFJTiAtLS0tLS0tLS0tICovXG5cblx0bWFpbiB1bC5jb250YWN0LWluZm8ge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXHRcblxuXHQvKlx0Rk9PVEVSIC0tLS0tLS0tLS0gKi9cblxuXHQjZm9vdGVyLXRvcCAuaW5uZXIgPiBkaXY6bnRoLWNoaWxkKDIpIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHQjc29jaWFsIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXG5cdCNmb290ZXItdG9wIC5pbm5lciA+IGRpdjpsYXN0LWNoaWxkIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHQjZm9vdGVyLXRvcCB1bC5jb250YWN0LWluZm8gLmZsZXgtY29udGFpbmVyIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXG5cdC8qXHRBZmZlY3RzIENvbnRhY3QgcGFnZSBpbmZvIGFsc28gKi9cblx0dWwuY29udGFjdC1pbmZvIC5mbGV4LWNvbnRhaW5lciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdHVsLmNvbnRhY3QtaW5mbyBpIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHR9XG5cblx0Lmljb24td3JhcCB7XG5cdFx0bWFyZ2luOiA3LjVweCAwO1xuXHR9XG5cbn1cblxuXG4vKiBTY3JlZW4gc2l6ZXMgNDAwcHggYW5kIGxhcmdlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDQwMHB4KSB7XG5cblx0LypcdEZPT1RFUiAtLS0tLS0tLS0tICovXG5cblx0LypcdEZPT1RFUiBUT1AgLS0tLS0tICovXG5cblx0I2Zvb3Rlci10b3AgLmNvbnRhY3QtaW5mbyAuaWNvbi13cmFwIGkge1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgNDAwcHggLSA2NDBweCAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDQwMHB4KVxuYW5kIChtYXgtd2lkdGggOiA2NDBweCkge1xuXG5cdC8qXHRIRUFERVIgLS0tLS0tLS0tLSAqL1xuXG5cdC8qXHRCQU5ORVIgLS0tLS0tICovXG5cblx0I2Jhbm5lciAubGluay1idXR0b246bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogMzBweDtcblx0fVxuXG5cblx0LypcdEZPT1RFUiAtLS0tLS0tLS0tICovXG5cblx0I2Zvb3Rlci10b3AgLmlubmVyID4gZGl2Om50aC1jaGlsZCgyKSB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuXG5cdCNmb290ZXItdG9wICNzb2NpYWwge1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0fVxuXG5cdCNmb290ZXItdG9wIC5pbm5lciA+IGRpdjpsYXN0LWNoaWxkIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cblx0I2Zvb3Rlci10b3AgdWwuY29udGFjdC1pbmZvIC5mbGV4LWNvbnRhaW5lciB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDQ4MHB4IGFuZCBzbWFsbGVyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBcbmFuZCAobWF4LXdpZHRoIDogNDgwcHgpIHtcblxuXHQvKlx0VEVYVCBTVFlMRVMgLS0tLS0tICovXG5cblx0OnJvb3Qge1xuXHRcdC0tZ2lsZGEtZGlzcGxheS1zY2FsZTogMi41OyAvKiBTY2FsZSBHaWxkYSBEaXNwbGF5ICovXG5cdFx0LS10YW5nZXJpbmUtc2NhbGU6IDIuNTsgLyogU2NhbGUgVGFuZ2VyaW5lICovXG5cdH1cblxufVxuXG5cbi8qXHRTY3JlZW4gU2l6ZXMgNDgwcHggLSA2NDBweCAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1pbi13aWR0aCA6IDQ4MHB4KVxuYW5kIChtYXgtd2lkdGggOiA2NDBweCkge1xuXG5cdC8qXHRURVhUIFNUWUxFUyAtLS0tLS0gKi9cblxuXHQ6cm9vdCB7XG5cdFx0LS1naWxkYS1kaXNwbGF5LXNjYWxlOiAzLjA7IC8qIFNjYWxlIEdpbGRhIERpc3BsYXkgKi9cblx0XHQtLXRhbmdlcmluZS1zY2FsZTogMy4wOyAvKiBTY2FsZSBUYW5nZXJpbmUgKi9cblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA1NjBweCBhbmQgc21hbGxlciAtLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gXG5hbmQgKG1heC13aWR0aCA6IDU2MHB4KSB7XG5cblx0LypcdEhFQURFUiAtLS0tLS0tLS0tICovXG5cblx0LypcdE5BViAtLS0tLS0gKi9cblxuXHQjbmF2LW1haW4tY29udGFpbmVyOmhhcygjbmF2LXRvZ2dsZTpjaGVja2VkKSB7XG5cdFx0YmFja2dyb3VuZDpcblx0XHRcdGxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0dG8gcmlnaHQsXG5cdFx0XHRcdHJnYmEoMzMsMTUsNDYsMC43NSkgMCUsXG5cdFx0XHRcdHJnYmEoMjIsMTAsMzEsMC45KSA1MCUsXG5cdFx0XHRcdHJnYmEoMzMsMTUsNDYsMC43NSkgMTAwJVxuXHRcdFx0KSxcblx0XHRcdHVybCgvaW1hZ2VzL2JnL2JnLXRpbGUtcHVycGxlLmpwZykgY2VudGVyIDYwcHg7XG5cdH1cblxuXHQvKlx0QkFOTkVSIC0tLS0tLSAqL1xuXG5cdCNiYW5uZXIsXG5cdCNiYW5uZXI6bm90KC5pbnRlcm5hbCkgI2Jhbm5lci1pbnQtd3JhcCxcblx0I2Jhbm5lciAuYmFubmVyLXNsaWRlIHtcblx0XHRtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoLyogLSA2MHB4Ki8pO1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDU2MHB4IC0gODAwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA1NjBweClcbmFuZCAobWF4LXdpZHRoIDogODAwcHgpIHtcblxuXHQvKlx0SEVBREVSIC0tLS0tLS0tLS0gKi9cblxuXHQvKlx0TkFWIC0tLS0tLSAqL1xuXG5cdCNuYXYtbWFpbi1jb250YWluZXI6aGFzKCNuYXYtdG9nZ2xlOmNoZWNrZWQpIHtcblx0XHRiYWNrZ3JvdW5kOlxuXHRcdFx0bGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHR0byByaWdodCxcblx0XHRcdFx0cmdiYSgzMywxNSw0NiwwLjc1KSAwJSxcblx0XHRcdFx0cmdiYSgyMiwxMCwzMSwwLjkpIDUwJSxcblx0XHRcdFx0cmdiYSgzMywxNSw0NiwwLjc1KSAxMDAlXG5cdFx0XHQpLFxuXHRcdFx0dXJsKC9pbWFnZXMvYmcvYmctdGlsZS1wdXJwbGUuanBnKSBjZW50ZXIgNjBweDtcblx0fVxuXG5cdC8qXHRCQU5ORVIgLS0tLS0tICovXG5cblx0I2Jhbm5lcixcblx0I2Jhbm5lcjpub3QoLmludGVybmFsKSAjYmFubmVyLWludC13cmFwLFxuXHQjYmFubmVyIC5iYW5uZXItc2xpZGUge1xuXHRcdG1heC1oZWlnaHQ6IGNhbGMoMTAwdmgvKiAtIDc1cHgqLyk7XG5cdH1cblxuXG5cdC8qXHRQQUdFUyAtLS0tLS0tLS0tICovXG5cblx0LyogIENPTlRBQ1QgLS0tLS0tICovXG4vKlxuXHQjZ29vZ2xlLW1hcCB7XG5cdFx0cGFkZGluZy1ib3R0b206IDMzLjMzMzMlO1xuXHR9XG4qL1xufVxuXG5cbi8qXHRTY3JlZW4gc2l6ZXMgNjQwcHggYW5kIHNtYWxsZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtYXgtd2lkdGggOiA2NDBweCkge1xuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA2NDBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGggOiA2NDBweCkge1xuXG5cdC8qXHRGT09URVIgLS0tLS0tLS0tLSAqL1xuXG5cdCNmb290ZXItdG9wIC5pbm5lciA+IGRpdjpudGgtY2hpbGQoMikge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdCNzb2NpYWwge1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0fVxuXG5cdCNmb290ZXItdG9wIC5pbm5lciA+IGRpdjpsYXN0LWNoaWxkIHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxuXG5cdCNmb290ZXItdG9wIHVsLmNvbnRhY3QtaW5mbyAuZmxleC1jb250YWluZXIge1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdH1cblxuXHQjZm9vdGVyLXRvcCBmb3JtIHAge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXHR9XG5cblx0I2Zvb3Rlci10b3AgZm9ybSBidXR0b25bdHlwZT1zdWJtaXRdIHtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0fVxuXG5cdC8qXHRQQUdFUyAtLS0tLS0tLS0tICovXG5cblx0LypcdEhPTUUgLS0tLS0tICovXG5cblx0LypcdFNvbmcgTGlzdCAtLS0gKi9cblxuXHQjc29uZy1saXN0IC5zb25nLWxpc3Qtd3JhcCA+IGRpdjpmaXJzdC1jaGlsZCB7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cblxuXHQjc29uZy1saXN0IC5zb25nLWxpc3Qtd3JhcCA+IGRpdjpsYXN0LWNoaWxkIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDY0MHB4IC0gODAwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA2NDBweClcbmFuZCAobWF4LXdpZHRoIDogODAwcHgpIHtcblxuXHQvKlx0VEVYVCBTVFlMRVMgLS0tLS0tICovXG5cblx0OnJvb3Qge1xuXHRcdC0tZ2lsZGEtZGlzcGxheS1zY2FsZTogMy41OyAvKiBTY2FsZSBHaWxkYSBEaXNwbGF5ICovXG5cdFx0LS10YW5nZXJpbmUtc2NhbGU6IDMuNTsgLyogU2NhbGUgVGFuZ2VyaW5lICovXG5cdH1cblxuXG5cdC8qXHRIRUFERVIgLS0tLS0tLS0tLSAqL1xuXG5cdC8qXHRCQU5ORVIgLS0tLS0tICovXG5cblx0I2Jhbm5lciAubGluay1idXR0b246bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogNDVweDtcblx0fVxuXG59XG5cblxuLypcdFNjcmVlbiBTaXplcyA4MDBweCBhbmQgbGFyZ2VyIC0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGggOiA4MDBweCkge1xuXG5cdC8qXHRIRUFERVIgLS0tLS0tLS0tLSAqL1xuXG5cdC8qXHROQVYgLS0tLS0tICovXG5cblx0Lyogc3ViLW5hdiBsaXN0ICovXG4vKlx0LnN1Yi1uYXYtYm94LXNoYWRvdyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgwLDAsMCwwLjUpO1xuXHRcdGNsaXA6IHJlY3QoMHB4LCA2MDBweCwgMTIwMHB4LCAtMTVweCk7IC8qIDYwMHB4IGFuZCAxMjAwcHggZXNzZW50aWFsbHkgc2V0IHRoZSBtYXhpbXVtIHdpZHRoIGFuZCBoZWlnaHQgKHJlc3BlY3RpdmVseSkgb2YgdGhlIHN1Yi1uYXYgZWxlbWVudCAqLyAvKlxuXHRcdC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCgwIC0xNXB4IC0xNXB4IC0xNXB4KTtcblx0XHRjbGlwLXBhdGg6IGluc2V0KDAgLTE1cHggLTE1cHggLTE1cHgpO1xuXHR9XG4qL1xuXG5cdC8qXHRCQU5ORVIgLS0tLS0tICovXG5cblx0I2Jhbm5lcixcblx0I2Jhbm5lcjpub3QoLmludGVybmFsKSAjYmFubmVyLWludC13cmFwLFxuXHQjYmFubmVyIC5iYW5uZXItc2xpZGUge1xuXHRcdG1heC1oZWlnaHQ6IGNhbGMoMTAwdmgvKiAtIDkwcHgqLyk7XG5cdH1cblxuXHQjYmFubmVyIC5saW5rLWJ1dHRvbjpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tdG9wOiA2MHB4O1xuXHR9XG5cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDgwMHB4IC0gOTYwcHggLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIFxuYW5kIChtaW4td2lkdGggOiA4MDBweClcbmFuZCAobWF4LXdpZHRoIDogOTYwcHgpIHtcblxuXHQvKlx0VEVYVCBTVFlMRVMgLS0tLS0tICovXG5cblx0OnJvb3Qge1xuXHRcdC0tZ2lsZGEtZGlzcGxheS1zY2FsZTogNC41OyAvKiBTY2FsZSBHaWxkYSBEaXNwbGF5ICovXG5cdFx0LS10YW5nZXJpbmUtc2NhbGU6IDQuNTsgLyogU2NhbGUgVGFuZ2VyaW5lICovXG5cdH1cblxuXHQvKlx0SEVBREVSIC0tLS0tLS0tLS0gKi9cblxuXHQvKlx0TkFWIC0tLS0tLSAqL1xuXG5cdC8qIHByb3ZpZGUgbW9yZSByb29tIGZvciBuYXYgaXRlbXMgKi9cbi8qXHQjcGhvbmUtbmF2LWV4dCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuKi9cbn1cblxuXG4vKlx0U2NyZWVuIFNpemVzIDk2MHB4IGFuZCBsYXJnZXIgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aCA6IDk2MHB4KSB7XG5cblx0LypcdFRFWFQgU1RZTEVTIC0tLS0tLSAqL1xuXHRcblx0OnJvb3Qge1xuXHRcdC0tZ2lsZGEtZGlzcGxheS1zY2FsZTogNTsgLyogU2NhbGUgR2lsZGEgRGlzcGxheSAqL1xuXHRcdC0tdGFuZ2VyaW5lLXNjYWxlOiA1OyAvKiBTY2FsZSBUYW5nZXJpbmUgKi9cblx0fVxuXG5cblx0LypcdFBBR0VTIC0tLS0tLS0tLSAqL1xuXG5cdC8qXHRIT01FIC0tLS0tLSAqL1xuXG5cdC8qXHRUZXN0aW1vbmlhbHMgLS0tICovXG5cblx0LnNlY3Rpb24tdGVzdGltb25pYWwgLnRlc3RpbW9uaWFsLXdyYXAge1xuXHRcdHBhZGRpbmc6IDE1cHggMzBweDtcblx0fVxuXG59XG5cblxuLyogRm9udC1zcGVjaWZpYyBzY2FsaW5nIGFkanVzdG1lbnRzICovXG4jYmFubmVyIC5oMSB7XG5cdGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1naWxkYS1kaXNwbGF5LXNjYWxlKSAqIDEuMjVlbSk7XG59XG5cbmgyLFxuLmgyLFxuaDMsXG4uaDM6bm90KGkpIHtcblx0Zm9udC1zaXplOiBjYWxjKHZhcigtLXRhbmdlcmluZS1zY2FsZSkgKiAxZW0pO1xufSJdLCJzb3VyY2VSb290IjoiIn0=*/